The gadget case is, just depend on the ISP1301 instead of selecting it. The OHCI case is little more difficult. It is not possible to say select if and on top of it, the phy depends on USB which depends on OHCI. This started as a fix for: | drivers/usb/gadget/lpc32xx_udc.c: In function ‘isp1301_udc_configure’: | drivers/usb/gadget/lpc32xx_udc.c:606: error: implicit declaration of function ‘i2c_smbus_write_byte_data’ | drivers/usb/gadget/lpc32xx_udc.c:665: error: implicit declaration of function ‘i2c_smbus_read_word_data’ | drivers/usb/gadget/lpc32xx_udc.c: In function ‘vbus_work’: | drivers/usb/gadget/lpc32xx_udc.c:2959: error: implicit declaration of function ‘i2c_smbus_read_byte_data’ Cc: Alexandre Pereira da Silva <aletes.xgr@xxxxxxxxx> Cc: Roland Stigge <stigge@xxxxxxxxx> Cc: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> --- drivers/usb/gadget/Kconfig | 3 +-- drivers/usb/host/Kconfig | 10 +++++++++- drivers/usb/host/ohci-hcd.c | 2 +- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig index 51ab5fd..1494112 100644 --- a/drivers/usb/gadget/Kconfig +++ b/drivers/usb/gadget/Kconfig @@ -143,8 +143,7 @@ config USB_AT91 config USB_LPC32XX tristate "LPC32XX USB Peripheral Controller" - depends on ARCH_LPC32XX - select USB_ISP1301 + depends on ARCH_LPC32XX && USB_ISP1301 help This option selects the USB device controller in the LPC32xx SoC. diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig index c3f619b..cac3ee2 100644 --- a/drivers/usb/host/Kconfig +++ b/drivers/usb/host/Kconfig @@ -292,7 +292,6 @@ config USB_OHCI_HCD depends on USB && USB_ARCH_HAS_OHCI select ISP1301_OMAP if MACH_OMAP_H2 || MACH_OMAP_H3 select USB_OTG_UTILS if ARCH_OMAP - select USB_ISP1301 if ARCH_LPC32XX || ARCH_PNX4008 ---help--- The Open Host Controller Interface (OHCI) is a standard for accessing USB 1.1 host controller hardware. It does more in hardware than Intel's @@ -412,6 +411,15 @@ config USB_CNS3XXX_OHCI Enable support for the CNS3XXX SOC's on-chip OHCI controller. It is needed for low-speed USB 1.0 device support. +config USB_OHCI_LPC32XX_PNX4008 + bool "LPC32XX or PNX4008 OHCI Module" + depends on USB_OHCI_HCD + depends on USB_ISP1301 + ---help--- + Enable support for the LPC32XX or PNX4008 SOC's on-chip + OHCI controller. + It is needed for low-speed USB 1.0 device support. + config USB_OHCI_HCD_PLATFORM bool "Generic OHCI driver for a platform device" depends on USB_OHCI_HCD && EXPERIMENTAL diff --git a/drivers/usb/host/ohci-hcd.c b/drivers/usb/host/ohci-hcd.c index 2b1e8d8..95cb858 100644 --- a/drivers/usb/host/ohci-hcd.c +++ b/drivers/usb/host/ohci-hcd.c @@ -1049,7 +1049,7 @@ MODULE_LICENSE ("GPL"); #define PLATFORM_DRIVER ohci_hcd_at91_driver #endif -#if defined(CONFIG_ARCH_PNX4008) || defined(CONFIG_ARCH_LPC32XX) +#ifdef USB_OHCI_LPC32XX_PNX4008 #include "ohci-nxp.c" #define PLATFORM_DRIVER usb_hcd_nxp_driver #endif -- 1.7.10.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