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.shish...@linux.intel.com>
> Reviewed-by: Felipe Balbi <ba...@ti.com>
> Signed-off-by: Marc Kleine-Budde <m...@pengutronix.de>
> ---
> 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

Reply via email to