Hi all, here are some patches to separate the HCD and gadget part of the musb driver so they can be deselected in Kconfig. They also make the driver keep track of the configured port mode that is set from DT, so the actual runtime configuration can be selected dynamically. One thing that is still broken is that once pm_suspend() was called on a musb device on a USB disconnect, the port won't wake up again when a device is plugged back in. I doubt this is related to my patches, but I might be wrong. If that effect rings a bell to anyone, please let me know. Thanks, Daniel Changes from v1: * fixed some typos in commit logs * factor out musb_host_resume_root_hub and musb_host_poke_root_hub() * split some changes into separate patches * some minor cosmetics fixed Daniel Mack (11): usb: gadget: drop unused USB_GADGET_MUSB_HDRC usb: musb: move function declarations to musb_{host,gadget}.h usb: musb: factor some host-specific functions usb: musb: gadget: remove hcd initialization usb: musb: move musb_start to musb_virthub.c usb: musb: factor out hcd initalization usb: musb: add Kconfig options for HOST, GAGDET or DUAL_ROLE modes usb: musb: add musb_host_setup() and musb_host_cleanup() usb: musb: re-introduce musb->port_mode usb: musb: use musb->port_mode usb: musb: eliminate musb_to_hcd drivers/usb/gadget/Kconfig | 8 --- drivers/usb/musb/Kconfig | 29 +++++++++ drivers/usb/musb/Makefile | 10 +++- drivers/usb/musb/musb_core.c | 127 +++++++++++++++------------------------- drivers/usb/musb/musb_core.h | 26 +++----- drivers/usb/musb/musb_gadget.c | 10 ---- drivers/usb/musb/musb_gadget.h | 38 ++++++++++-- drivers/usb/musb/musb_host.c | 90 +++++++++++++++++++++++++--- drivers/usb/musb/musb_host.h | 57 ++++++++++++++---- drivers/usb/musb/musb_virthub.c | 51 +++++++++++++++- 10 files changed, 300 insertions(+), 146 deletions(-) -- 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