On 07/20/2012 09:33 AM, Marc Kleine-Budde wrote: > Since commit "5e0aa49 usb: chipidea: use generic map/unmap routines", > the udc part of the chipidea driver needs the generic usb gadget helper > functions. If the chipidea driver with udc support is built into the > kernel and usb gadget is built a module, the linking of the kernel > fails with: > > drivers/built-in.o: In function `_hardware_dequeue': > drivers/usb/chipidea/udc.c:527: > undefined reference to `usb_gadget_unmap_request' > drivers/usb/chipidea/udc.c:1269: > undefined reference to `usb_gadget_unmap_request' > drivers/usb/chipidea/udc.c:1821: > undefined reference to `usb_del_gadget_udc' > drivers/usb/chipidea/udc.c:443: > undefined reference to `usb_gadget_map_request' > drivers/usb/chipidea/udc.c:1774: > undefined reference to `usb_add_gadget_udc' > > This patch changes the dependencies, so that udc support can only be > activated if the linux gadget support (USB_GADGET) is builtin or both > chipidea driver and USB_GADGET are modular. Same dependencies for the > chipidea host support and the linux host side USB support (USB). > > While there, fix the indention of chipidea the help text. > > Cc: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> > Reviewed-by: Felipe Balbi <balbi@xxxxxx> > Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> > --- > Hello Greg, > > rebased to your usb-next tree. ping Marc > > Marc > > Changes since v1 > - Do not depend on USB host support anymore (tnx Felipe for the input) > - Fix help text indention > > Changes since v2 > - rebased to Greg's usb-next > > drivers/usb/chipidea/Kconfig | 9 +++++---- > 1 file changed, 5 insertions(+), 4 deletions(-) > > diff --git a/drivers/usb/chipidea/Kconfig b/drivers/usb/chipidea/Kconfig > index 8337fb5..47e499c 100644 > --- a/drivers/usb/chipidea/Kconfig > +++ b/drivers/usb/chipidea/Kconfig > @@ -1,9 +1,9 @@ > config USB_CHIPIDEA > tristate "ChipIdea Highspeed Dual Role Controller" > - depends on USB > + depends on USB || USB_GADGET > help > - Say Y here if your system has a dual role high speed USB > - controller based on ChipIdea silicon IP. Currently, only the > + Say Y here if your system has a dual role high speed USB > + controller based on ChipIdea silicon IP. Currently, only the > peripheral mode is supported. > > When compiled dynamically, the module will be called ci-hdrc.ko. > @@ -12,7 +12,7 @@ if USB_CHIPIDEA > > config USB_CHIPIDEA_UDC > bool "ChipIdea device controller" > - depends on USB_GADGET > + depends on USB_GADGET=y || USB_GADGET=USB_CHIPIDEA > select USB_GADGET_DUALSPEED > help > Say Y here to enable device controller functionality of the > @@ -20,6 +20,7 @@ config USB_CHIPIDEA_UDC > > config USB_CHIPIDEA_HOST > bool "ChipIdea host controller" > + depends on USB=y || USB=USB_CHIPIDEA > select USB_EHCI_ROOT_HUB_TT > help > Say Y here to enable host controller functionality of the > -- Pengutronix e.K. | Marc Kleine-Budde | Industrial Linux Solutions | Phone: +49-231-2826-924 | Vertretung West/Dortmund | Fax: +49-5121-206917-5555 | Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de |
Attachment:
signature.asc
Description: OpenPGP digital signature