extcon: usbc-tusb320: add USB_ROLE_SWITCH dependency

Message ID 20230322111708.1042312-1-arnd@kernel.org
State New
Headers
Series extcon: usbc-tusb320: add USB_ROLE_SWITCH dependency |

Commit Message

Arnd Bergmann March 22, 2023, 11:16 a.m. UTC
  From: Arnd Bergmann <arnd@arndb.de>

When CONFIG_USB_ROLE_SWITCH=m, tusb320 cannot be built-in:

ld.lld: error: undefined symbol: fwnode_usb_role_switch_get
>>> referenced by extcon-usbc-tusb320.c
>>>               drivers/extcon/extcon-usbc-tusb320.o:(tusb320_probe) in archive vmlinux.a
ld.lld: error: undefined symbol: usb_role_switch_set_role
>>> referenced by extcon-usbc-tusb320.c
>>>               drivers/extcon/extcon-usbc-tusb320.o:(tusb320_state_update_handler) in archive vmlinux.a

Add the appropriate Kconfig dependency to prevent this
configuration but still allow the driver to be built-in
when USB_ROLE_SWITCH is disabled.

Fixes: 19685ae43489 ("extcon: usbc-tusb320: add usb_role_switch support")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/extcon/Kconfig | 1 +
 1 file changed, 1 insertion(+)
  

Comments

Alvin Šipraga March 22, 2023, 1:05 p.m. UTC | #1
On Wed, Mar 22, 2023 at 12:16:51PM +0100, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> When CONFIG_USB_ROLE_SWITCH=m, tusb320 cannot be built-in:
> 
> ld.lld: error: undefined symbol: fwnode_usb_role_switch_get
> >>> referenced by extcon-usbc-tusb320.c
> >>>               drivers/extcon/extcon-usbc-tusb320.o:(tusb320_probe) in archive vmlinux.a
> ld.lld: error: undefined symbol: usb_role_switch_set_role
> >>> referenced by extcon-usbc-tusb320.c
> >>>               drivers/extcon/extcon-usbc-tusb320.o:(tusb320_state_update_handler) in archive vmlinux.a
> 
> Add the appropriate Kconfig dependency to prevent this
> configuration but still allow the driver to be built-in
> when USB_ROLE_SWITCH is disabled.
> 
> Fixes: 19685ae43489 ("extcon: usbc-tusb320: add usb_role_switch support")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---

I overlooked this possibility, my bad... Thanks Arnd for fixing!

Reviewed-by: Alvin Šipraga <alsi@bang-olufsen.dk>
  
Chanwoo Choi March 23, 2023, 2:19 p.m. UTC | #2
On 23. 3. 22. 20:16, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> When CONFIG_USB_ROLE_SWITCH=m, tusb320 cannot be built-in:
> 
> ld.lld: error: undefined symbol: fwnode_usb_role_switch_get
>>>> referenced by extcon-usbc-tusb320.c
>>>>               drivers/extcon/extcon-usbc-tusb320.o:(tusb320_probe) in archive vmlinux.a
> ld.lld: error: undefined symbol: usb_role_switch_set_role
>>>> referenced by extcon-usbc-tusb320.c
>>>>               drivers/extcon/extcon-usbc-tusb320.o:(tusb320_state_update_handler) in archive vmlinux.a
> 
> Add the appropriate Kconfig dependency to prevent this
> configuration but still allow the driver to be built-in
> when USB_ROLE_SWITCH is disabled.
> 
> Fixes: 19685ae43489 ("extcon: usbc-tusb320: add usb_role_switch support")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
>  drivers/extcon/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/extcon/Kconfig b/drivers/extcon/Kconfig
> index 290186e44e6b..0ef1971d22bb 100644
> --- a/drivers/extcon/Kconfig
> +++ b/drivers/extcon/Kconfig
> @@ -185,6 +185,7 @@ config EXTCON_USBC_TUSB320
>  	tristate "TI TUSB320 USB-C extcon support"
>  	depends on I2C && TYPEC
>  	select REGMAP_I2C
> +	depends on USB_ROLE_SWITCH || !USB_ROLE_SWITCH
>  	help
>  	  Say Y here to enable support for USB Type C cable detection extcon
>  	  support using a TUSB320.

Applied it. Thanks.
  

Patch

diff --git a/drivers/extcon/Kconfig b/drivers/extcon/Kconfig
index 290186e44e6b..0ef1971d22bb 100644
--- a/drivers/extcon/Kconfig
+++ b/drivers/extcon/Kconfig
@@ -185,6 +185,7 @@  config EXTCON_USBC_TUSB320
 	tristate "TI TUSB320 USB-C extcon support"
 	depends on I2C && TYPEC
 	select REGMAP_I2C
+	depends on USB_ROLE_SWITCH || !USB_ROLE_SWITCH
 	help
 	  Say Y here to enable support for USB Type C cable detection extcon
 	  support using a TUSB320.