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
 
 # 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