Re: [PATCH] media: i2c: mt9m114: add CONFIG_COMMON_CLK dependency

From: Sakari Ailus
Date: Wed Dec 13 2023 - 03:09:14 EST


Hi Arnd,

On Tue, Dec 12, 2023 at 10:18:04PM +0100, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@xxxxxxxx>
>
> With clang-16, building without COMMON_CLK triggers a range check on
> udelay() because of a constant division-by-zero calculation:
>
> ld.lld: error: undefined symbol: __bad_udelay
> >>> referenced by mt9m114.c
> >>> drivers/media/i2c/mt9m114.o:(mt9m114_power_on) in archive vmlinux.a
>
> Avoid this by adding a Kconfig dependency that avoids the broken build.

This sounds like an odd way to fix an issue with udelay(). On which arch
does it happen? Wouldn't it be better to fix the udelay() problem in the
source?

A quick check reveals there are about 2400 files using udelay.

>
> Fixes: 24d756e914fc ("media: i2c: Add driver for onsemi MT9M114 camera sensor")
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> ---
> drivers/media/i2c/Kconfig | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/media/i2c/Kconfig b/drivers/media/i2c/Kconfig
> index aae05142e191..b224c37bfd77 100644
> --- a/drivers/media/i2c/Kconfig
> +++ b/drivers/media/i2c/Kconfig
> @@ -228,6 +228,7 @@ config VIDEO_MT9M111
>
> config VIDEO_MT9M114
> tristate "onsemi MT9M114 sensor support"
> + depends on COMMON_CLK
> select V4L2_CCI_I2C
> help
> This is a Video4Linux2 sensor-level driver for the onsemi MT9M114

--
Regards,

Sakari Ailus