Daniel > Subject: [PATCH v2 09/11] usb: musb: re-introduce musb->port_mode > > Define MUSB_PORT_MODE_{HOST,GADGET,DUAL_ROLE} and store the > platform-specified value in struct musb. > > Note that MUSB_PORT_MODE_HOST has to be set to 1 in order to match > existing device tree bindings which are already documented but in fact > unusued. > > Signed-off-by: Daniel Mack <zonque@xxxxxxxxx> > --- > drivers/usb/musb/musb_core.c | 1 + > drivers/usb/musb/musb_core.h | 7 +++++++ > 2 files changed, 8 insertions(+) > > diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c > index fbcf5cb..2640d25 100644 > --- a/drivers/usb/musb/musb_core.c > +++ b/drivers/usb/musb/musb_core.c > @@ -1821,6 +1821,7 @@ musb_init_controller(struct device *dev, int nIrq, > void __iomem *ctrl) > musb->board_set_power = plat->set_power; > musb->min_power = plat->min_power; > musb->ops = plat->platform_ops; > + musb->port_mode = plat->mode; I assume plat->mode is fetched from DT. You may need to over-ride mode field from DT for host-only or gadget-only configuration through menuconfig. Some thing like or better than this +#ifdef CONFIG_MUSB_DUAL_ROLE + Musb->port_mode = plat->mode; +#else Force it to host or gadget only configuration #endif > > /* The musb_platform_init() call: > * - adjusts musb->mregs > diff --git a/drivers/usb/musb/musb_core.h b/drivers/usb/musb/musb_core.h > index 6b65847..174c097 100644 > --- a/drivers/usb/musb/musb_core.h > +++ b/drivers/usb/musb/musb_core.h > @@ -77,6 +77,12 @@ struct musb_ep; > #define is_peripheral_active(m) (!(m)->is_host) > #define is_host_active(m) ((m)->is_host) > > +enum { > + MUSB_PORT_MODE_HOST = 1, > + MUSB_PORT_MODE_GADGET, > + MUSB_PORT_MODE_DUAL_ROLE, > +}; > + > #ifdef CONFIG_PROC_FS > #include <linux/fs.h> > #define MUSB_CONFIG_PROC_FS > @@ -356,6 +362,7 @@ struct musb { > > u8 min_power; /* vbus for periph, in mA/2 */ > > + int port_mode; /* MUSB_PORT_MODE_* */ > bool is_host; > > int a_wait_bcon; /* VBUS timeout in msecs */ > -- > 1.8.1.4 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-usb" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html