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

Marek Vasut marex at denx.de
Tue Feb 6 14:39:18 UTC 2018


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 at 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
> 


-- 
Best regards,
Marek Vasut


More information about the U-Boot mailing list