With CONFIG_AXP288=y and CONFIG_USB_COMMON=n there is the following link
error:
drivers/extcon/extcon-axp288.o: In function `axp288_put_role_sw':
extcon-axp288.c:(.text+0xa0): undefined reference to `usb_role_switch_put'
drivers/extcon/extcon-axp288.o: In function `axp288_usb_role_work':
extcon-axp288.c:(.text+0xec): undefined reference to `usb_role_switch_get_role'
extcon-axp288.c:(.text+0x12c): undefined reference to `usb_role_switch_set_role'
drivers/extcon/extcon-axp288.o: In function `axp288_extcon_probe':
extcon-axp288.c:(.text+0x59d): undefined reference to `usb_role_switch_get'
The above functions are defined in drivers/usb/common/roles.c, but the build
system only enters the common directory depending on CONFIG_USB_COMMON. Fix
this by selecting the USB_COMMON symbol.
Fixes: d54f063cdbe4 ("extcon: axp288: Set USB role where necessary")
Signed-off-by: Tobias Regnery <tobias.regnery@xxxxxxxxx>
---
Hi,
there is another solution for this problem: replace depends on USB_SUPPORT
with depends on USB, but since CONFIG_USB selects other symbols I went
with the minimal fix and select the USB_COMMON symbol.
---
drivers/extcon/Kconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/extcon/Kconfig b/drivers/extcon/Kconfig
index de15bf55895b..0897bee54c2b 100644
--- a/drivers/extcon/Kconfig
+++ b/drivers/extcon/Kconfig
@@ -31,6 +31,7 @@ config EXTCON_ARIZONA
config EXTCON_AXP288
tristate "X-Power AXP288 EXTCON support"
depends on MFD_AXP20X && USB_SUPPORT && X86
+ select USB_COMMON
select USB_ROLE_SWITCH
help
Say Y here to enable support for USB peripheral detection