[U-Boot] [PATCH v3 07/10] drivers: usb: musb: add ti musb peripheral driver with driver model support
Sjoerd Simons
sjoerd.simons at collabora.co.uk
Sun Mar 25 21:28:28 UTC 2018
On Sat, 2016-12-03 at 11:40 -0700, Simon Glass wrote:
> Hi Mugunthan,
>
> On 17 November 2016 at 02:08, Mugunthan V N <mugunthanvnm at ti.com>
> wrote:
> > Add a TI MUSB peripheral driver with driver model support and the
> > driver will be bound by the MUSB wrapper driver based on the
> > dr_mode device tree entry.
Seems like this never landed. Seems to works fine with some trivial
fixups though.
> > Signed-off-by: Mugunthan V N <mugunthanvnm at ti.com>
> > Reviewed-by: Simon Glass <sjg at chromium.org>
> > ---
> > drivers/usb/musb-new/musb_uboot.c | 2 +
> > drivers/usb/musb-new/ti-musb.c | 109
> > ++++++++++++++++++++++++++++++++++++++
> > 2 files changed, 111 insertions(+)
> >
> > diff --git a/drivers/usb/musb-new/musb_uboot.c b/drivers/usb/musb-
> > new/musb_uboot.c
> > index ea71f75947..46e3faeeaa 100644
> > --- a/drivers/usb/musb-new/musb_uboot.c
> > +++ b/drivers/usb/musb-new/musb_uboot.c
> > @@ -373,6 +373,7 @@ struct dm_usb_ops musb_usb_ops = {
> > #endif /* CONFIG_DM_USB */
> > #endif /* CONFIG_USB_MUSB_HOST */
> >
> > +#ifndef CONFIG_DM_USB
> > #ifdef CONFIG_USB_MUSB_GADGET
> > static struct musb *gadget;
> >
> > @@ -453,3 +454,4 @@ int musb_register(struct
> > musb_hdrc_platform_data *plat, void *bdata,
> >
> > return 0;
> > }
> > +#endif /* CONFIG_DM_USB */
> > diff --git a/drivers/usb/musb-new/ti-musb.c b/drivers/usb/musb-
> > new/ti-musb.c
> > index 1c15aa2a42..b8abc1dc58 100644
> > --- a/drivers/usb/musb-new/ti-musb.c
> > +++ b/drivers/usb/musb-new/ti-musb.c
> > @@ -14,6 +14,7 @@
> > #include <dm/device-internal.h>
> > #include <dm/lists.h>
> >
> > +#include <watchdog.h>
> > #include <asm/io.h>
> > #include <asm/omap_musb.h>
> > #include "musb_uboot.h"
> > @@ -142,6 +143,106 @@ static int ti_musb_ofdata_to_platdata(struct
> > udevice *dev)
> > return 0;
> > }
> >
> > +static struct musb *gadget;
>
> Can you please drop this static struct? We should not use this sort
> of
> thing with driver model.
>
> Let me know if you want ideas on how.
>From what i can tell; dropping that needs quite a bit refactoring of
the gadget framework such that it passes through a udevice with e.g.
usb_gadget_register_driver and usb_gadget_handle_interrupts.
Was that what you were pondering, or other suggestions ;)
--
Sjoerd Simons
Collabora Ltd.
More information about the U-Boot
mailing list