diff mbox series

usb: select USB_COMMON for usb role switch config

Message ID 20180404122211.3309577-1-arnd@arndb.de
State Accepted
Commit 602f4fb71d2b4aa5a447d4ed25a58fd098df9058
Headers show
Series usb: select USB_COMMON for usb role switch config | expand

Commit Message

Arnd Bergmann April 4, 2018, 12:21 p.m. UTC
The new axp288 extcon driver has no dependency on USB itself but
calls the usb role switch helper functions. This causes a link error
when USB_COMMON is disabled, as that subdirectory never gets entered:

drivers/extcon/extcon-axp288.o: In function `axp288_usb_role_work':
extcon-axp288.c:(.text+0x47b): undefined reference to `usb_role_switch_set_role'
extcon-axp288.c:(.text+0x498): undefined reference to `usb_role_switch_get_role'
drivers/extcon/extcon-axp288.o: In function `axp288_extcon_probe':
extcon-axp288.c:(.text+0x675): undefined reference to `usb_role_switch_get'
extcon-axp288.c:(.text+0x6d1): undefined reference to `usb_role_switch_put'
drivers/extcon/extcon-axp288.o: In function `axp288_put_role_sw':
extcon-axp288.c:(.text+0x1c): undefined reference to `usb_role_switch_put'

There are multiple ways of fixing this, I chose to 'select USB_COMMON',
since that is how we solved the same problem for other helpers like
USB_LED_TRIG or PHY drivers.

Fixes: d54f063cdbe4 ("extcon: axp288: Set USB role where necessary")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

---
 drivers/usb/Kconfig | 1 +
 1 file changed, 1 insertion(+)

-- 
2.9.0

Comments

Hans de Goede April 4, 2018, 8:08 p.m. UTC | #1
Hi,

On 04-04-18 14:21, Arnd Bergmann wrote:
> The new axp288 extcon driver has no dependency on USB itself but

> calls the usb role switch helper functions. This causes a link error

> when USB_COMMON is disabled, as that subdirectory never gets entered:

> 

> drivers/extcon/extcon-axp288.o: In function `axp288_usb_role_work':

> extcon-axp288.c:(.text+0x47b): undefined reference to `usb_role_switch_set_role'

> extcon-axp288.c:(.text+0x498): undefined reference to `usb_role_switch_get_role'

> drivers/extcon/extcon-axp288.o: In function `axp288_extcon_probe':

> extcon-axp288.c:(.text+0x675): undefined reference to `usb_role_switch_get'

> extcon-axp288.c:(.text+0x6d1): undefined reference to `usb_role_switch_put'

> drivers/extcon/extcon-axp288.o: In function `axp288_put_role_sw':

> extcon-axp288.c:(.text+0x1c): undefined reference to `usb_role_switch_put'

> 

> There are multiple ways of fixing this, I chose to 'select USB_COMMON',

> since that is how we solved the same problem for other helpers like

> USB_LED_TRIG or PHY drivers.

> 

> Fixes: d54f063cdbe4 ("extcon: axp288: Set USB role where necessary")

> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Thanks.

I agree that this is the right way to fix this (matches the other
drivers/usb/Kconfig bits):

Reviewed-by: Hans de Goede <hdegoede@redhat.com>


Regards,

Hans



> ---

>   drivers/usb/Kconfig | 1 +

>   1 file changed, 1 insertion(+)

> 

> diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig

> index 75f7fb151f71..987fc5ba6321 100644

> --- a/drivers/usb/Kconfig

> +++ b/drivers/usb/Kconfig

> @@ -207,5 +207,6 @@ config USB_ULPI_BUS

>   

>   config USB_ROLE_SWITCH

>   	tristate

> +	select USB_COMMON

>   

>   endif # USB_SUPPORT

>
diff mbox series

Patch

diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig
index 75f7fb151f71..987fc5ba6321 100644
--- a/drivers/usb/Kconfig
+++ b/drivers/usb/Kconfig
@@ -207,5 +207,6 @@  config USB_ULPI_BUS
 
 config USB_ROLE_SWITCH
 	tristate
+	select USB_COMMON
 
 endif # USB_SUPPORT