Re: [PATCH] i2c: mlxbf: Allow build with COMPILE_TEST

Nathan Chancellor
2025-05-10T19:50:52Z

> Extend the Kconfig dependency to include COMPILE_TEST so the
> Mellanox BlueField I2C driver can be built on non-ARM64 platforms
> for compile testing purposes.
>
> Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
> Cc: Khalil Blaiech <kblaiech@nvidia.com>
> Cc: Asmaa Mnebhi <asmaa@nvidia.com>
> ---
> drivers/i2c/busses/Kconfig | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
> index adb2910525b1..9f216d5db91d 100644
> --- a/drivers/i2c/busses/Kconfig
> +++ b/drivers/i2c/busses/Kconfig
> @@ -855,7 +855,7 @@ config I2C_LS2X
>
> config I2C_MLXBF
> tristate "Mellanox BlueField I2C controller"
> - depends on MELLANOX_PLATFORM && ARM64
> + depends on (MELLANOX_PLATFORM && ARM64) || COMPILE_TEST
> depends on ACPI
> select I2C_SLAVE
> help
> --
> 2.49.0
>

There are 64-bit divides in several places within this driver so this
patch breaks the build on 32-bit platforms when compile testing now:

i386-linux-ld: drivers/i2c/busses/i2c-mlxbf.o: in function `mlxbf_i2c_calculate_freq_from_tyu':
i2c-mlxbf.c:(.text+0x3e): undefined reference to `__udivdi3'
i386-linux-ld: drivers/i2c/busses/i2c-mlxbf.o: in function `mlxbf_i2c_calculate_freq_from_yu':
i2c-mlxbf.c:(.text+0x8e): undefined reference to `__udivdi3'
i386-linux-ld: drivers/i2c/busses/i2c-mlxbf.o: in function `mlxbf_i2c_probe':
i2c-mlxbf.c:(.text+0x1749): undefined reference to `__udivdi3'
i386-linux-ld: i2c-mlxbf.c:(.text+0x1769): undefined reference to `__udivdi3'
i386-linux-ld: i2c-mlxbf.c:(.text+0x17c0): undefined reference to `__udivdi3'
i386-linux-ld: drivers/i2c/busses/i2c-mlxbf.o:i2c-mlxbf.c:(.text+0x17e6): more undefined references to `__udivdi3' follow

Cheers,
Nathan