[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