Re: [PATCH 00/11] drm: Restore helper usability

From: Geert Uytterhoeven
Date: Mon Apr 22 2024 - 14:02:39 EST


Hi Jani,

On Mon, Apr 22, 2024 at 7:15 PM Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx> wrote:
> On Mon, 22 Apr 2024, Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote:
> > On Mon, Apr 22, 2024 at 3:55 PM Arnd Bergmann <arnd@xxxxxxxx> wrote:
> >> I'm not sure where this misunderstanding comes from, as you
> >> seem to be repeating the same incorrect assumption about
> >> how select works that Maxime wrote in his changelog. To clarify,
> >> this works exactly as one would expect:
> >>
> >> config HELPER_A
> >> tristate
> >>
> >> config HELPER_B
> >> tristate
> >> select HELPER_A
> >>
> >> config DRIVER
> >> tristate "Turn on the driver and the helpers it uses"
> >> select HELPER_B # this recursively selects HELPER_A
> >>
> >> Whereas this one is broken:
> >>
> >> config FEATURE_A
> >> tristate "user visible if I2C is enabled"
> >> depends on I2C
> >>
> >> config HELPER_B
> >> tristate # hidden
> >> select FEATURE_A
> >>
> >> config DRIVER
> >> tristate "This driver is broken if I2C is disabled"
> >> select HELPER_B
> >
> > So the DRIVER section should gain a "depends on I2C" statement.
>
> Why should DRIVER have to care that HELPER_B needs either FEATURE_A or
> I2C? It should only have to care about HELPER_B. And if the dependencies
> of FEATURE_A or HELPER_B later change, that's their business, not
> DRIVER's.

That's correct. But currently the dependency on I2C is not handled
automatically.

> > Yamada-san: would it be difficult to modify Kconfig to ignore symbols
> > like DRIVER that select other symbols with unmet dependencies?
> > Currently it already warns about that.
> >
> > Handling this implicitly (instead of the current explict "depends
> > on") would have the disadvantage though: a user who is not aware of
> > the implicit dependency may wonder why DRIVER is invisible in his
> > config interface.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68korg

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds