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 <[email protected]>
> ---
> 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 [email protected]
> 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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html