Re: [PATCH 07/10] pinctrl: sx150x: enable building modules with COMPILE_TEST=y

From: Nathan Chancellor
Date: Wed Apr 16 2025 - 18:37:27 EST


Hi Bartosz,

On Tue, Apr 08, 2025 at 09:17:44AM +0200, Bartosz Golaszewski wrote:
> From: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx>
>
> Increase the build coverage by enabling the sx150x modules with
> COMPILE_TEST=y.
>
> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx>
> ---
> drivers/pinctrl/Kconfig | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/pinctrl/Kconfig b/drivers/pinctrl/Kconfig
> index 464cc9aca157..94eb41bb9cf2 100644
> --- a/drivers/pinctrl/Kconfig
> +++ b/drivers/pinctrl/Kconfig
> @@ -541,7 +541,7 @@ config PINCTRL_STMFX
>
> config PINCTRL_SX150X
> bool "Semtech SX150x I2C GPIO expander pinctrl driver"
> - depends on I2C=y
> + depends on I2C=y || COMPILE_TEST
> select PINMUX
> select PINCONF
> select GENERIC_PINCONF
>
> --
> 2.45.2
>

This appears to break allmodconfig with

ld.lld: error: undefined symbol: i2c_get_match_data
>>> referenced by pinctrl-sx150x.c
>>> drivers/pinctrl/pinctrl-sx150x.o:(sx150x_probe) in archive vmlinux.a

ld.lld: error: undefined symbol: i2c_smbus_write_byte_data
>>> referenced by pinctrl-sx150x.c
>>> drivers/pinctrl/pinctrl-sx150x.o:(sx150x_probe) in archive vmlinux.a
>>> referenced by pinctrl-sx150x.c
>>> drivers/pinctrl/pinctrl-sx150x.o:(sx150x_probe) in archive vmlinux.a
>>> referenced by pinctrl-sx150x.c
>>> drivers/pinctrl/pinctrl-sx150x.o:(sx150x_regmap_reg_write) in archive vmlinux.a

ld.lld: error: undefined symbol: i2c_smbus_read_byte_data
>>> referenced by pinctrl-sx150x.c
>>> drivers/pinctrl/pinctrl-sx150x.o:(sx150x_regmap_reg_read) in archive vmlinux.a

ld.lld: error: undefined symbol: i2c_register_driver
>>> referenced by pinctrl-sx150x.c
>>> drivers/pinctrl/pinctrl-sx150x.o:(sx150x_init) in archive vmlinux.a
make[4]: *** [scripts/Makefile.vmlinux:91: vmlinux] Error 1

I don't think this change makes much sense in light of this error,
unless the driver was converted to tristate.

Cheers,
Nathan