usb: ohci-da8xx can only be built-in
authorArnd Bergmann <arnd@arndb.de>
Thu, 8 May 2014 13:52:21 +0000 (15:52 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 27 May 2014 22:53:00 +0000 (15:53 -0700)
The PHY setup code of the TI DaVinci DA8xx OHCI controller
uses ad-hoc register access using a pointer that is meant to
be used only by the DaVinci platform implementation and that
is intentionally not exported to loadable modules. This results
in a link error on configurations that use a modular OHCI
code on this platform.

While the proper solution for this problem would be to
implement a real PHY driver shared by ohci-da8xx and musb-da8xx,
this patch for now just works around the build error by
only allowing the ohci-da8xx code to be built-in.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/Kconfig
drivers/usb/host/ohci-hcd.c

index 22b5062..363fc21 100644 (file)
@@ -435,6 +435,16 @@ config USB_OHCI_HCD_OMAP3
          Enables support for the on-chip OHCI controller on
          OMAP3 and later chips.
 
+config USB_OHCI_HCD_DAVINCI
+       bool "OHCI support for TI DaVinci DA8xx"
+       depends on ARCH_DAVINCI_DA8XX
+       depends on USB_OHCI_HCD=y
+       default y
+       help
+         Enables support for the DaVinci DA8xx integrated OHCI
+         controller. This driver cannot currently be a loadable
+         module because it lacks a proper PHY abstraction.
+
 config USB_OHCI_ATH79
        bool "USB OHCI support for the Atheros AR71XX/AR7240 SoCs (DEPRECATED)"
        depends on (SOC_AR71XX || SOC_AR724X)
index 3586460..f98d03f 100644 (file)
@@ -1178,7 +1178,7 @@ MODULE_LICENSE ("GPL");
 #define SA1111_DRIVER          ohci_hcd_sa1111_driver
 #endif
 
-#ifdef CONFIG_ARCH_DAVINCI_DA8XX
+#ifdef CONFIG_USB_OHCI_HCD_DAVINCI
 #include "ohci-da8xx.c"
 #define DAVINCI_PLATFORM_DRIVER        ohci_hcd_da8xx_driver
 #endif