Re: [PATCH v3] usb: chipidea: fix and improve dependencies if usb host or gadget support is built as module

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux