Re: RFC: kconfig select warnings bogus?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 5/20/07, Adrian Bunk <[email protected]> wrote:
On Sun, May 20, 2007 at 05:25:24AM +0530, Satyam Sharma wrote:
> On 5/20/07, Adrian Bunk <[email protected]> wrote:
>> On Sun, May 20, 2007 at 05:06:33AM +0530, Satyam Sharma wrote:
>> > On 5/20/07, Adrian Bunk <[email protected]> wrote:
>> >>...
>> >> Consider ATARI_KBD_CORE was used by 20 drivers.
>> >>
>> >> Using select for such not user visible helper variables is a really
>> nice
>> >> thing, and much more readable (and therefore much less likely to
>> contain
>> >> bugs) than dependencies with tons of "||"'s.
>> >
>> > Well, the "default .. if .." kind of idiom is fairly common (I could say
>> > almost standard), in arch/.../config's. It's been used for some time,
>> > and for several symbols over there. But you're right that if 20 drivers
>> > used ATARI_KBD_CORE, we'd get tons of ugly "||"'s there, so
>> > perhaps we do need some kind of fix for this.
>>
>> And the fix is to use select.
>>
>> Compare the handling of options like IRQ_CPU in arch/mips/Kconfig in
>> current kernels with the handling in kernel 2.6.0 .
>>
>> Or as an exercise, change drivers/net/Kconfig to no longer use
>> "select MII". When you are finished, ensure that you are handling it
>> properly although the option is user visible...
>
> "config MII" and "select MII" are _not_ equivalent to the case at hand.
> MII is defined in drivers/net/Kconfig itself so does not print any "symbol
> unknown kind of warnings" ... so clearly no probs in "select" for it ...

Then move the "config MII" to arch/i386/Kconfig and assume all drivers
select'ing it would depend on X86_32.

Why should we do that?

>> There are cases where "default .. if .." is the right idiom, but there
>> are also cases where "select" is the right idiom. And for helper code
>> like ATARI_KBD_CORE, "select" is the right idiom.
>
> ATARI_KBD_CORE, unlike MII, is defined only by some archs. And the
> correct (most widely used or standard, in any case) idiom for that is
> "default .. if ..". Or perhaps you can convert those helper code options in
> arch/.../config's over to select too, as an exercise? :-)

Perhaps not as an exercise, but actually for real.

We had "fixed" such warnings in the past similar to your patch, but that
was actually a mistake.

And "correct" can easily be the opposite of "most widely used or standard"
if you discover that you did it wrong in the past.

In that case the correct approach here too would be to _shift_
ATARI_KBD_CORE from arch/m68k/Kconfig to drivers/input/Kconfig
and *then* use "select" from the config options that require it in
drivers/input/keyboard/Kconfig and drivers/input/mouse/Kconfig

(and repeat for other such cases in arch/...)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux