usb: dwc3: make glue layers selectable
authorFelipe Balbi <balbi@ti.com>
Wed, 26 Jun 2013 12:14:06 +0000 (15:14 +0300)
committerFelipe Balbi <balbi@ti.com>
Mon, 29 Jul 2013 10:53:25 +0000 (13:53 +0300)
Glue layers are starting to have separate
requirements. For example, OMAP's glue layer
is starting to use extcon framework which
no one else needs.

In order to make it clear the proper dependencies,
we are now allowing glue layers to be selectable
so that each glue layer can list their own dependencies
without messing with the core IP driver.

Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/dwc3/Kconfig
drivers/usb/dwc3/Makefile

index 2378958ea63e01426edbda87183674256a4334ff..3e225d5846f68a6a14e96964acf96e68d6e9511c 100644 (file)
@@ -40,6 +40,38 @@ config USB_DWC3_DUAL_ROLE
 
 endchoice
 
+comment "Platform Glue Driver Support"
+
+config USB_DWC3_OMAP
+       tristate "Texas Instruments OMAP5 and similar Platforms"
+       depends on EXTCON
+       default USB_DWC3
+       help
+         Some platforms from Texas Instruments like OMAP5, DRA7xxx and
+         AM437x use this IP for USB2/3 functionality.
+
+         Say 'Y' or 'M' here if you have one such device
+
+config USB_DWC3_EXYNOS
+       tristate "Samsung Exynos Platform"
+       default USB_DWC3
+       help
+         Recent Exynos5 SoCs ship with one DesignWare Core USB3 IP inside,
+         say 'Y' or 'M' if you have one such device.
+
+config USB_DWC3_PCI
+       tristate "PCIe-based Platforms"
+       depends on PCI
+       default USB_DWC3
+       help
+         If you're using the DesignWare Core IP with a PCIe, please say
+         'Y' or 'M' here.
+
+         One such PCIe-based platform is Synopsys' PCIe HAPS model of
+         this IP.
+
+comment "Debugging features"
+
 config USB_DWC3_DEBUG
        bool "Enable Debugging Messages"
        help
index 0c7ac92582be4807dc93861174427be30b8fef36..dd1760145c469f3f5e578319060d3ce498b5e06e 100644 (file)
@@ -27,15 +27,8 @@ endif
 # the entire driver (with all its glue layers) on several architectures
 # and make sure it compiles fine. This will also help with allmodconfig
 # and allyesconfig builds.
-#
-# The only exception is the PCI glue layer, but that's only because
-# PCI doesn't provide nops if CONFIG_PCI isn't enabled.
 ##
 
-obj-$(CONFIG_USB_DWC3)         += dwc3-omap.o
-obj-$(CONFIG_USB_DWC3)         += dwc3-exynos.o
-
-ifneq ($(CONFIG_PCI),)
-       obj-$(CONFIG_USB_DWC3)          += dwc3-pci.o
-endif
-
+obj-$(CONFIG_USB_DWC3_OMAP)            += dwc3-omap.o
+obj-$(CONFIG_USB_DWC3_EXYNOS)          += dwc3-exynos.o
+obj-$(CONFIG_USB_DWC3_PCI)             += dwc3-pci.o