public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Adrian Bunk <bunk@stusta.de>
To: Satyam Sharma <satyam.sharma@gmail.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	Sam Ravnborg <sam@ravnborg.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Roman Zippel <zippel@linux-m68k.org>,
	Kumar Gala <galak@kernel.crashing.org>,
	Simon Horman <horms@verge.net.au>
Subject: Re: RFC: kconfig select warnings bogus?
Date: Sun, 20 May 2007 02:13:35 +0200	[thread overview]
Message-ID: <20070520001335.GQ6291@stusta.de> (raw)
In-Reply-To: <a781481a0705191655t8e305aage47fb063c55ab86a@mail.gmail.com>

On Sun, May 20, 2007 at 05:25:24AM +0530, Satyam Sharma wrote:
> On 5/20/07, Adrian Bunk <bunk@stusta.de> wrote:
>> On Sun, May 20, 2007 at 05:06:33AM +0530, Satyam Sharma wrote:
>> > On 5/20/07, Adrian Bunk <bunk@stusta.de> 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.

This is not a problem in the kernel sources, it is an example for you to 
see why select is the correct idiom in such cases.

Please try it if you want to understand the problem you are talking 
about.

>> 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.

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


  reply	other threads:[~2007-05-20  0:13 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-19 15:15 RFC: kconfig select warnings bogus? Sam Ravnborg
2007-05-19 18:09 ` Andrew Morton
2007-05-19 22:17   ` Satyam Sharma
2007-05-19 22:49     ` Satyam Sharma
2007-05-19 23:09       ` Adrian Bunk
2007-05-19 23:17         ` Satyam Sharma
2007-05-19 23:25           ` Adrian Bunk
2007-05-19 23:36             ` Satyam Sharma
2007-05-19 23:41               ` Satyam Sharma
2007-05-19 23:51                 ` Adrian Bunk
2007-05-20  0:02                   ` Satyam Sharma
2007-05-19 23:48               ` Adrian Bunk
2007-05-19 23:55                 ` Satyam Sharma
2007-05-20  0:13                   ` Adrian Bunk [this message]
2007-05-20  0:19                     ` Satyam Sharma
2007-05-20  9:52                       ` Trent Piepho
2007-05-20 10:58                         ` Stefan Richter
2007-05-20 11:23                           ` Trent Piepho
2007-05-20 11:44                             ` Stefan Richter
2007-05-20 19:57                               ` Trent Piepho
2007-05-20 20:12                                 ` Stefan Richter
2007-05-20 20:41                                   ` Trent Piepho
2007-05-22 15:13                                     ` Satyam Sharma
2007-05-20 18:30                         ` Adrian Bunk
2007-05-20  0:46       ` Stefan Richter
2007-05-20  0:53         ` Satyam Sharma
2007-05-20  1:04           ` Satyam Sharma
2007-05-20  8:31             ` Stefan Richter
2007-05-20 11:38               ` Satyam Sharma
2007-05-20 11:47                 ` Stefan Richter
2007-05-20 11:57                   ` Satyam Sharma
2007-05-20 13:09                     ` Stefan Richter
2007-05-20 13:50                       ` Satyam Sharma
2007-05-20 14:39                         ` Stefan Richter
2007-05-22 14:53                           ` Satyam Sharma
2007-05-22 17:03                             ` Stefan Richter
2007-05-22 17:13                               ` Satyam Sharma
2007-05-22 17:38                                 ` Stefan Richter
2007-05-22 17:46                                   ` Satyam Sharma
2007-05-22 17:54                                     ` Stefan Richter
2007-05-22 17:59                                       ` Satyam Sharma
2007-05-20 18:23                       ` Adrian Bunk
2007-05-19 23:05   ` Adrian Bunk
2007-05-19 23:17     ` Satyam Sharma
2007-05-19 23:21       ` Satyam Sharma
2007-05-19 23:29         ` Adrian Bunk
2007-05-19 23:32           ` Satyam Sharma
2007-05-19 23:23       ` Adrian Bunk
2007-05-19 23:22     ` Andrew Morton
2007-05-20  0:02       ` Adrian Bunk
2007-05-20  0:11         ` Satyam Sharma
2007-05-20  9:43         ` Russell King
2007-05-20  9:40       ` Russell King
2007-05-20 10:17         ` Sam Ravnborg
2007-05-20 11:07         ` Geert Uytterhoeven
2007-05-21  0:25 ` Roman Zippel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20070520001335.GQ6291@stusta.de \
    --to=bunk@stusta.de \
    --cc=akpm@linux-foundation.org \
    --cc=galak@kernel.crashing.org \
    --cc=horms@verge.net.au \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sam@ravnborg.org \
    --cc=satyam.sharma@gmail.com \
    --cc=zippel@linux-m68k.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox