diff options
Diffstat (limited to 'target/linux/imx6/patches-3.10/0001-usb-chipidea-improve-kconfig.patch')
-rw-r--r-- | target/linux/imx6/patches-3.10/0001-usb-chipidea-improve-kconfig.patch | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/target/linux/imx6/patches-3.10/0001-usb-chipidea-improve-kconfig.patch b/target/linux/imx6/patches-3.10/0001-usb-chipidea-improve-kconfig.patch deleted file mode 100644 index f8229d06b1..0000000000 --- a/target/linux/imx6/patches-3.10/0001-usb-chipidea-improve-kconfig.patch +++ /dev/null @@ -1,80 +0,0 @@ -From: Peter Chen <peter.chen@freescale.com> -Subject: [PATCH] usb: chipidea: improve kconfig - -Randy Dunlap <rdunlap@infradead.org> reported this problem -on i386: - -> drivers/built-in.o: In function `ci_hdrc_host_init': -> (.text+0x2ce75c): undefined reference to `ehci_init_driver' -> -> When USB_EHCI_HCD=m and USB_CHIPIDEA=y. - -In fact, this problem is existed on all platforms which are using -chipidea driver. The root cause of this problem is the chipidea host -uses symbol exported from ehci-hcd, but chipidea core -does not depends on USB_EHCI_HCD. So, chipidea driver -will not be compiled as module if USB_EHCI_HCD=m. - -It is very hard to give a perfect solution since chipidea core -depends on USB || USB_GADGET, and chipdiea host depends on -both USB_EHCI_HCD and USB_CHIPIDEA, the same problem exists for -gadget. - -To fix this problem, we had to have below assumptions: - -- If USB_EHCI_HCD=y && USB_GADGET=y, USB_CHIPIDEA can be 'y'. - -- If USB_EHCI_HCD=m && USB_GADGET=y, USB_CHIPIDEA=m -or USB_CHIPIDEA_HOST can't be seen if USB_CHIPIDEA=y. -It will cause compile error due to no glue layer for ehci: - -> error: #error "missing bus glue for ehci-hcd" - -So, we had to compile USB_CHIPIDEA=m if USB_EHCI_HCD=m, -current ehci hcd core guarantee it. - -- If USB_EHCI_HCD=y && USB_GADGET=m, USB_CHIPIDEA=m -or USB_CHIPIDEA_UDC can't be seen if USB_CHIPIDEA=y. -Of cos, the gadget will out of working at this situation, -so the user had to compile USB_CHIPIDEA=m. - -- USB_EHCI_HCD=m && USB_GADGET=m, we can't see -USB_CHIPIDEA_HOST and USB_CHIPIDEA_UDC unless -USB_CHIPIDEA=m. - -The reason why it has above assumptions: -- If both ehci core and gadget core build as module, -the chipidea has to build as module. -- If one of ehci core or gadget core is built in, another -is built as module, we can only enable the function which -is built in, or enable both roles as modules (USB_CHIPIDEA=m), -since chipidea core driver takes care of both host and device roles. - -Signed-off-by: Peter Chen <peter.chen@freescale.com> -Signed-off-by: Alexander Shishkin <alexander.shishkin@linux.intel.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> ---- - drivers/usb/chipidea/Kconfig | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - ---- a/drivers/usb/chipidea/Kconfig -+++ b/drivers/usb/chipidea/Kconfig -@@ -12,15 +12,15 @@ if USB_CHIPIDEA - - config USB_CHIPIDEA_UDC - bool "ChipIdea device controller" -- depends on USB_GADGET=y || USB_GADGET=USB_CHIPIDEA -+ depends on USB_GADGET=y || USB_CHIPIDEA=m - help - Say Y here to enable device controller functionality of the - ChipIdea driver. - - config USB_CHIPIDEA_HOST - bool "ChipIdea host controller" -- depends on USB=y || USB=USB_CHIPIDEA -- depends on USB_EHCI_HCD=y -+ depends on USB=y -+ depends on USB_EHCI_HCD=y || USB_CHIPIDEA=m - select USB_EHCI_ROOT_HUB_TT - help - Say Y here to enable host controller functionality of the |