On Fri, 2014-08-01 at 20:42 +0000, Paul Zimmerman wrote: > > From: linux-usb-owner@xxxxxxxxxxxxxxx [mailto:linux-usb-owner@xxxxxxxxxxxxxxx] On Behalf Of dinguyen@xxxxxxxxxx > > Sent: Wednesday, July 30, 2014 8:21 AM > > > > Update DWC2 kconfig and makefile to support dual-role mode. The platform > > file will always get compiled for the case where the controller is directly > > connected to the CPU. So for loadable modules, only dwc2.ko is needed. > > > > Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxx> > > --- > > v2: Remove reference to dwc2_gadget > > --- > > drivers/usb/dwc2/Kconfig | 59 +++++++++++++++++++++++++-------------------- > > drivers/usb/dwc2/Makefile | 21 ++++++++-------- > > 2 files changed, 44 insertions(+), 36 deletions(-) > > > > diff --git a/drivers/usb/dwc2/Kconfig b/drivers/usb/dwc2/Kconfig > > index f93807b..3d69928 100644 > > --- a/drivers/usb/dwc2/Kconfig > > +++ b/drivers/usb/dwc2/Kconfig > > @@ -1,40 +1,29 @@ > > config USB_DWC2 > > - bool "DesignWare USB2 DRD Core Support" > > + tristate "DesignWare USB2 DRD Core Support" > > depends on USB > > help > > Say Y here if your system has a Dual Role Hi-Speed USB > > controller based on the DesignWare HSOTG IP Core. > > > > - For host mode, if you choose to build the driver as dynamically > > - linked modules, the core module will be called dwc2.ko, the PCI > > - bus interface module (if you have a PCI bus system) will be > > - called dwc2_pci.ko, and the platform interface module (for > > - controllers directly connected to the CPU) will be called > > - dwc2_platform.ko. For gadget mode, there will be a single > > - module called dwc2_gadget.ko. > > - > > - NOTE: The s3c-hsotg driver is now renamed to dwc2_gadget. The > > - host and gadget drivers are still currently separate drivers. > > - There are plans to merge the dwc2_gadget driver with the dwc2 > > - host driver in the near future to create a dual-role driver. > > + If you choose to build the driver as dynamically > > + linked modules, a single dwc2.ko(regardless of mode of operation) > > + will get built for both platform IPs and PCI. > > > > if USB_DWC2 > > > > +choice > > + bool "DWC2 Mode Selection" > > + default USB_DWC2_DUAL_ROLE if (USB && USB_GADGET) > > + default USB_DWC2_HOST if (USB && !USB_GADGET) > > + default USB_DWC2_PERIPHERAL if (!USB && USB_GADGET) > > + > > config USB_DWC2_HOST > > - tristate "Host only mode" > > + bool "Host only mode" > > depends on USB > > help > > The Designware USB2.0 high-speed host controller > > - integrated into many SoCs. > > - > > -config USB_DWC2_PLATFORM > > - bool "DWC2 Platform" > > - depends on USB_DWC2_HOST > > - default USB_DWC2_HOST > > - help > > - The Designware USB2.0 platform interface module for > > - controllers directly connected to the CPU. This is only > > - used for host mode. > > + integrated into many SoCs. Select this option if you want the > > + driver to operate in Host-only mode. > > > > config USB_DWC2_PCI > > bool "DWC2 PCI" > > @@ -47,11 +36,29 @@ config USB_DWC2_PCI > > comment "Gadget mode requires USB Gadget support to be enabled" > > > > config USB_DWC2_PERIPHERAL > > - tristate "Gadget only mode" > > + bool "Gadget only mode" > > depends on USB_GADGET > > help > > The Designware USB2.0 high-speed gadget controller > > - integrated into many SoCs. > > + integrated into many SoCs. Select this option if you want the > > + driver to operate in Peripheral-only mode. > > + > > +config USB_DWC2_DUAL_ROLE > > + bool "Dual Role mode" > > + depends on ((USB=y || USB=USB_DWC2) && (USB_GADGET=y)) > > Hi Dinh, > > I just noticed that for dual-role mode, you are not allowing USB_GADGET > to be modular. Is there a reason for that? If so, please mention it in > the commit message. It should also be explained in the help text. Or > maybe add another comment line saying "Dual-role mode requires USB Gadget > = y" or something like that. > I think it was an oversight on my part and there's not reason why USB_GADGET can't be modular. Dinh -- 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