Re: [PATCH] leds: rt8515: add V4L2_FLASH_LED_CLASS dependency

From: Linus Walleij
Date: Fri Feb 05 2021 - 04:21:01 EST


On Thu, Feb 4, 2021 at 4:39 PM Arnd Bergmann <arnd@xxxxxxxxxx> wrote:

> From: Arnd Bergmann <arnd@xxxxxxxx>
>
> The leds-rt8515 driver can optionall use the v4l2 flash led class,
> but it causes a link error when that class is in a loadable module
> and the rt8515 driver itself is built-in:
>
> ld.lld: error: undefined symbol: v4l2_flash_init
> >>> referenced by leds-rt8515.c
> >>> leds/flash/leds-rt8515.o:(rt8515_probe) in archive
> drivers/built-in.a
>
> Adding 'depends on V4L2_FLASH_LED_CLASS' in Kconfig would avoid that,
> but it would make it impossible to use the driver without the
> v4l2 support.
>
> Add the same dependency that the other users of this class have
> instead, which just prevents the broken configuration.
>
> Fixes: e1c6edcbea13 ("leds: rt8515: Add Richtek RT8515 LED driver")
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>

Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx>

> + depends on V4L2_FLASH_LED_CLASS || !V4L2_FLASH_LED_CLASS

This kind of thing that looks like a truism but isn't is one of the
most unintuitive
things about KConfig :/ no idea what to do about it though.

I remember making a program for the C64 in early 1990ies with joke input
such as y/n/m (yes/no/maybe), sadly in Kconfig this is no joke.

Yours,
Linus Walleij