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.regn...@gmail.com> --- 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 -- 2.17.0