diff mbox series

[U-Boot,v4,03/34] musb: sunxi: Use simple way to fill musb_hdrc pdata

Message ID 1517927164-18197-4-git-send-email-jagan@amarulasolutions.com
State Deferred
Delegated to: Marek Vasut
Headers show
Series phy: sunxi: Add Allwinner sun4i USB PHY | expand

Commit Message

Jagan Teki Feb. 6, 2018, 2:25 p.m. UTC
Filling musb_hdrc pdata using structure will unnecessary
add extra ifdefs, so fill them inside probe call for
better code understanding and get rid ifdefs using
devicetree compatible.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
---
 drivers/usb/musb-new/sunxi.c | 22 +++++++++-------------
 1 file changed, 9 insertions(+), 13 deletions(-)

Comments

Marek Vasut Feb. 6, 2018, 2:39 p.m. UTC | #1
On 02/06/2018 03:25 PM, Jagan Teki wrote:
> Filling musb_hdrc pdata using structure will unnecessary
> add extra ifdefs, so fill them inside probe call for
> better code understanding and get rid ifdefs using
> devicetree compatible.
> 
> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
> ---
>  drivers/usb/musb-new/sunxi.c | 22 +++++++++-------------
>  1 file changed, 9 insertions(+), 13 deletions(-)
> 
> diff --git a/drivers/usb/musb-new/sunxi.c b/drivers/usb/musb-new/sunxi.c
> index 3f3b898..0b7ff9f 100644
> --- a/drivers/usb/musb-new/sunxi.c
> +++ b/drivers/usb/musb-new/sunxi.c
> @@ -308,22 +308,12 @@ static struct musb_hdrc_config musb_config = {
>  	.ram_bits	= SUNXI_MUSB_RAM_BITS,
>  };
>  
> -static struct musb_hdrc_platform_data musb_plat = {
> -#if defined(CONFIG_USB_MUSB_HOST)
> -	.mode           = MUSB_HOST,
> -#else
> -	.mode		= MUSB_PERIPHERAL,
> -#endif
> -	.config         = &musb_config,
> -	.power          = 250,
> -	.platform_ops	= &sunxi_musb_ops,
> -};
> -
>  static int musb_usb_probe(struct udevice *dev)
>  {
>  	struct sunxi_glue *glue = dev_get_priv(dev);
>  	struct musb_host_data *host = &glue->mdata;
>  	struct usb_bus_priv *priv = dev_get_uclass_priv(dev);
> +	struct musb_hdrc_platform_data pdata;

Make this pdata = musb_plat and then tweak pdata down below to avoid
assigning all the values there.

>  	void *base = dev_read_addr_ptr(dev);
>  	int ret;
>  
> @@ -336,8 +326,13 @@ static int musb_usb_probe(struct udevice *dev)
>  
>  	priv->desc_before_addr = true;
>  
> +	pdata.power = 250;
> +	pdata.platform_ops = &sunxi_musb_ops;
> +	pdata.config = &musb_config;
> +
>  #ifdef CONFIG_USB_MUSB_HOST
> -	host->host = musb_init_controller(&musb_plat, &glue->dev, base);
> +	pdata.mode = MUSB_HOST;
> +	host->host = musb_init_controller(&pdata, &glue->dev, base);
>  	if (!host->host)
>  		return -EIO;
>  
> @@ -345,7 +340,8 @@ static int musb_usb_probe(struct udevice *dev)
>  	if (!ret)
>  		printf("Allwinner mUSB OTG (Host)\n");
>  #else
> -	ret = musb_register(&musb_plat, &glue->dev, base);
> +	pdata.mode = MUSB_PERIPHERAL;
> +	ret = musb_register(&pdata, &glue->dev, base);
>  	if (!ret)
>  		printf("Allwinner mUSB OTG (Peripheral)\n");
>  #endif
>
Jagan Teki Feb. 11, 2018, 10:44 a.m. UTC | #2
On Tue, Feb 6, 2018 at 8:09 PM, Marek Vasut <marex@denx.de> wrote:
> On 02/06/2018 03:25 PM, Jagan Teki wrote:
>> Filling musb_hdrc pdata using structure will unnecessary
>> add extra ifdefs, so fill them inside probe call for
>> better code understanding and get rid ifdefs using
>> devicetree compatible.
>>
>> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
>> ---
>>  drivers/usb/musb-new/sunxi.c | 22 +++++++++-------------
>>  1 file changed, 9 insertions(+), 13 deletions(-)
>>
>> diff --git a/drivers/usb/musb-new/sunxi.c b/drivers/usb/musb-new/sunxi.c
>> index 3f3b898..0b7ff9f 100644
>> --- a/drivers/usb/musb-new/sunxi.c
>> +++ b/drivers/usb/musb-new/sunxi.c
>> @@ -308,22 +308,12 @@ static struct musb_hdrc_config musb_config = {
>>       .ram_bits       = SUNXI_MUSB_RAM_BITS,
>>  };
>>
>> -static struct musb_hdrc_platform_data musb_plat = {
>> -#if defined(CONFIG_USB_MUSB_HOST)
>> -     .mode           = MUSB_HOST,
>> -#else
>> -     .mode           = MUSB_PERIPHERAL,
>> -#endif
>> -     .config         = &musb_config,
>> -     .power          = 250,
>> -     .platform_ops   = &sunxi_musb_ops,
>> -};
>> -
>>  static int musb_usb_probe(struct udevice *dev)
>>  {
>>       struct sunxi_glue *glue = dev_get_priv(dev);
>>       struct musb_host_data *host = &glue->mdata;
>>       struct usb_bus_priv *priv = dev_get_uclass_priv(dev);
>> +     struct musb_hdrc_platform_data pdata;
>
> Make this pdata = musb_plat and then tweak pdata down below to avoid
> assigning all the values there.

Thought the same, but we have hardly two members power and
platform_ops and reaming mode and other need to assign with SOC basic
and CONFIG_
Marek Vasut Feb. 11, 2018, 11:25 a.m. UTC | #3
On 02/11/2018 11:44 AM, Jagan Teki wrote:
> On Tue, Feb 6, 2018 at 8:09 PM, Marek Vasut <marex@denx.de> wrote:
>> On 02/06/2018 03:25 PM, Jagan Teki wrote:
>>> Filling musb_hdrc pdata using structure will unnecessary
>>> add extra ifdefs, so fill them inside probe call for
>>> better code understanding and get rid ifdefs using
>>> devicetree compatible.
>>>
>>> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
>>> ---
>>>  drivers/usb/musb-new/sunxi.c | 22 +++++++++-------------
>>>  1 file changed, 9 insertions(+), 13 deletions(-)
>>>
>>> diff --git a/drivers/usb/musb-new/sunxi.c b/drivers/usb/musb-new/sunxi.c
>>> index 3f3b898..0b7ff9f 100644
>>> --- a/drivers/usb/musb-new/sunxi.c
>>> +++ b/drivers/usb/musb-new/sunxi.c
>>> @@ -308,22 +308,12 @@ static struct musb_hdrc_config musb_config = {
>>>       .ram_bits       = SUNXI_MUSB_RAM_BITS,
>>>  };
>>>
>>> -static struct musb_hdrc_platform_data musb_plat = {
>>> -#if defined(CONFIG_USB_MUSB_HOST)
>>> -     .mode           = MUSB_HOST,
>>> -#else
>>> -     .mode           = MUSB_PERIPHERAL,
>>> -#endif
>>> -     .config         = &musb_config,
>>> -     .power          = 250,
>>> -     .platform_ops   = &sunxi_musb_ops,
>>> -};
>>> -
>>>  static int musb_usb_probe(struct udevice *dev)
>>>  {
>>>       struct sunxi_glue *glue = dev_get_priv(dev);
>>>       struct musb_host_data *host = &glue->mdata;
>>>       struct usb_bus_priv *priv = dev_get_uclass_priv(dev);
>>> +     struct musb_hdrc_platform_data pdata;
>>
>> Make this pdata = musb_plat and then tweak pdata down below to avoid
>> assigning all the values there.
> 
> Thought the same, but we have hardly two members power and
> platform_ops and reaming mode and other need to assign with SOC basic
> and CONFIG_

Three, but OK
diff mbox series

Patch

diff --git a/drivers/usb/musb-new/sunxi.c b/drivers/usb/musb-new/sunxi.c
index 3f3b898..0b7ff9f 100644
--- a/drivers/usb/musb-new/sunxi.c
+++ b/drivers/usb/musb-new/sunxi.c
@@ -308,22 +308,12 @@  static struct musb_hdrc_config musb_config = {
 	.ram_bits	= SUNXI_MUSB_RAM_BITS,
 };
 
-static struct musb_hdrc_platform_data musb_plat = {
-#if defined(CONFIG_USB_MUSB_HOST)
-	.mode           = MUSB_HOST,
-#else
-	.mode		= MUSB_PERIPHERAL,
-#endif
-	.config         = &musb_config,
-	.power          = 250,
-	.platform_ops	= &sunxi_musb_ops,
-};
-
 static int musb_usb_probe(struct udevice *dev)
 {
 	struct sunxi_glue *glue = dev_get_priv(dev);
 	struct musb_host_data *host = &glue->mdata;
 	struct usb_bus_priv *priv = dev_get_uclass_priv(dev);
+	struct musb_hdrc_platform_data pdata;
 	void *base = dev_read_addr_ptr(dev);
 	int ret;
 
@@ -336,8 +326,13 @@  static int musb_usb_probe(struct udevice *dev)
 
 	priv->desc_before_addr = true;
 
+	pdata.power = 250;
+	pdata.platform_ops = &sunxi_musb_ops;
+	pdata.config = &musb_config;
+
 #ifdef CONFIG_USB_MUSB_HOST
-	host->host = musb_init_controller(&musb_plat, &glue->dev, base);
+	pdata.mode = MUSB_HOST;
+	host->host = musb_init_controller(&pdata, &glue->dev, base);
 	if (!host->host)
 		return -EIO;
 
@@ -345,7 +340,8 @@  static int musb_usb_probe(struct udevice *dev)
 	if (!ret)
 		printf("Allwinner mUSB OTG (Host)\n");
 #else
-	ret = musb_register(&musb_plat, &glue->dev, base);
+	pdata.mode = MUSB_PERIPHERAL;
+	ret = musb_register(&pdata, &glue->dev, base);
 	if (!ret)
 		printf("Allwinner mUSB OTG (Peripheral)\n");
 #endif