LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Linus Torvalds <torvalds@linux-foundation.org>
To: Alan <alan@lxorguk.ukuu.org.uk>
Cc: David Woodhouse <dwmw2@infradead.org>,
	Ingo Molnar <mingo@elte.hu>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [patch] MTD: fix DOC2000/2001/2001PLUS build error
Date: Mon, 5 Feb 2007 14:35:00 -0800 (PST)	[thread overview]
Message-ID: <Pine.LNX.4.64.0702051424020.8424@woody.linux-foundation.org> (raw)
In-Reply-To: <20070205222123.16a51fe6@localhost.localdomain>



On Mon, 5 Feb 2007, Alan wrote:
> 
> It works both ways. If I don't need to know that I must select SCSI then
> it turns on easily. If I want to turn SCSI off then it causes mayhem. Two
> sides of the same coin.

They are not really symmetric, though.

There's two big issues:

 - tuning things "on" is more likely to cause a working kernel.

   This is pretty fundamental. It's almost always simply more correct to 
   add features than remove them. At worst, it won't be used.

   This argues that you should have to "work less" to turn something on, 
   and in particular, you should need to _know_ less. To turn something 
   off, you not only need to know how to turn it off, you fundamentally 
   need to know something much bigger: you need to know that you 
   really don't need it in the first place.

   The interaction of CONFIG_ATA/CONFIG_SCSI is an example of the latter. 
   You really *do* need to know more to turn off SCSI - because you need 
   to know that the ATA layer depends on it.

   So in the absense of knowledge, turning things on is better.

 - A developer who really wants to turn things off, and knows enough that 
   that is actually safe, can really just do a "grep" for it. If you're 
   _extremely_ knowledgeable, you can do something like

	git grep 'select.*\<SCSI\>' -- '*onfig*'

   and that easily finds you the (currently single) place that turns on 
   SCSI (and yes, you can try it with I2C too, and try to recursively 
   figure out what it is that turns on I2C even though you *tried* to turn 
   it off. I2C - the option that just wouldn't die! ;)

So I agree that they are two facets of the same coin, but I claim that 
there's a huge reason why they are not mirror-images - there are often 
reasons to prefer one over the other.

That said: I really don't think "depends on" should just always be 
"select" either. There's a balance:

 - you use "depends on" when you can ask a simple question like "what kind 
   of machine do you have" or "do you want to support USB" or "do you have 
   SCSI devices". 

   But even then, you might end up having some devices that are 
   *technically* USB, but people don't think of them that way (for 
   example, some laptop add-ons are literally USB devices that are "built 
   into" the laptop - you might well decide to show those choices even if 
   somebody said "no USB", and if he then says "yeah, I have one of those 
   things", you just know he wasn't clueful enough, and you enable USB 
   behind his back _anyway_. Exact same thing as with SATA support)

 - you use "select" when the question more naturally went the other way 
   (because the infrastructure isn't obvious)

So they are two similar things, and which one to choose mainly depends on 
how you want to phrase the question - not on technical issues per se.

So neither is "wrong". They both have their downsides. 

		Linus

  reply	other threads:[~2007-02-05 22:35 UTC|newest]

Thread overview: 95+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-02-04 19:10 Super Kernel Sunday! Linus Torvalds
2007-02-04 19:40 ` Bauke Jan Douma
2007-02-04 21:00   ` Gene Heskett
2007-02-04 21:11   ` Kevin K
2007-02-04 19:56 ` Alessandro Suardi
2007-02-05  8:39 ` Jonathan Sambrook
2007-02-05  8:45 ` [patch] MTD: fix DOC2000/2001/2001PLUS build error Ingo Molnar
2007-02-05 13:06   ` Josh Boyer
2007-02-05 13:34   ` David Woodhouse
2007-02-05 15:56     ` Ingo Molnar
2007-02-05 16:08       ` Arjan van de Ven
2007-02-05 16:12       ` Russell King
2007-02-05 16:17         ` Ingo Molnar
2007-02-05 16:22       ` David Woodhouse
2007-02-05 16:26         ` Ingo Molnar
2007-02-05 16:31           ` Ingo Molnar
2007-02-05 16:58             ` Linus Torvalds
2007-02-05 17:05               ` Ingo Molnar
2007-02-05 17:08               ` Russell King
2007-02-05 21:15               ` Ingo Oeser
2007-02-06 13:32                 ` Gerhard Mack
2007-02-05 21:17               ` David Woodhouse
2007-02-05 21:28                 ` Linus Torvalds
2007-02-05 21:39                   ` David Woodhouse
2007-02-05 21:49                     ` Linus Torvalds
2007-02-05 21:53                       ` David Woodhouse
2007-02-05 22:21                         ` Linus Torvalds
2007-02-05 22:31                           ` Randy Dunlap
2007-02-05 23:09                             ` Linus Torvalds
2007-02-05 23:21                               ` David Woodhouse
2007-02-05 23:32                                 ` Linus Torvalds
2007-02-06  0:04                                   ` Mark Rustad
2007-02-06 15:55                                     ` Bill Davidsen
2007-02-06 16:20                                       ` Mark Rustad
2007-02-06  9:45                                   ` David Woodhouse
2007-02-06 15:51                                     ` Bill Davidsen
2007-02-06 16:53                                     ` Linus Torvalds
2007-02-06 22:38                                       ` David Woodhouse
2007-02-06 22:39                                         ` Randy Dunlap
2007-02-06 23:11                                           ` Linus Torvalds
2007-02-06 23:15                                             ` Linus Torvalds
2007-02-06 23:18                                             ` David Woodhouse
2007-02-06 23:49                                               ` Linus Torvalds
2007-02-06 22:53                                         ` Linus Torvalds
2007-02-06 23:11                                           ` David Woodhouse
2007-02-06 23:28                                             ` Linus Torvalds
2007-02-06 23:36                                               ` David Woodhouse
2007-02-06 23:41                                                 ` Randy Dunlap
2007-02-06 23:49                                                   ` David Woodhouse
2007-02-06 23:52                                                   ` Robert P. J. Day
2007-02-06 23:55                                                 ` Linus Torvalds
2007-02-07  0:03                                                   ` David Woodhouse
2007-02-07  0:21                                                     ` Linus Torvalds
2007-02-07  0:30                                                       ` Randy Dunlap
2007-02-07  0:37                                                       ` David Woodhouse
2007-02-07  2:09                                                         ` Linus Torvalds
2007-02-07 13:51                                                       ` Sunil Naidu
2007-02-06  1:09                                 ` Theodore Tso
2007-02-06  6:09                                   ` Matt Mackall
2007-02-06 16:04                                     ` Bill Davidsen
2007-02-06 16:41                                       ` Matt Mackall
2007-02-06 18:03                                         ` Bill Davidsen
2007-02-06  0:00                               ` Jeff Garzik
2007-02-06 13:52                               ` Jörn Engel
2007-02-06 15:16                               ` Mark Lord
2007-02-08  8:18                                 ` David Lang
2007-02-08  9:44                                 ` Jörn Engel
2007-02-06 15:41                           ` Bill Davidsen
2007-02-05 22:21                       ` Alan
2007-02-05 22:35                         ` Linus Torvalds [this message]
2007-02-05 21:50                 ` Alan
2007-02-05 21:41                   ` David Woodhouse
2007-02-06  5:46                 ` Matt Mackall
2007-02-06 15:34                   ` Paul Mundt
2007-02-06 22:39                   ` Haavard Skinnemoen
2007-02-06 22:51                     ` Linus Torvalds
2007-02-05 16:33           ` David Woodhouse
2007-02-05 16:46           ` Russell King
2007-02-05 16:52             ` Ingo Molnar
2007-02-05 17:04               ` Russell King
2007-02-05 16:32     ` Linus Torvalds
2007-02-05 16:50       ` Russell King
2007-02-05 16:52       ` David Woodhouse
2007-02-05 17:58 ` Super Kernel Sunday! Jan Engelhardt
2007-02-05 18:07   ` Kevin Fox
2007-02-06 19:02   ` Stephen Hemminger
2007-02-05 21:27 ` [2.6.20] Regression in dmfe driver Thomas Bächler
2007-02-06  9:38   ` Thierry Vignaud
2007-02-06 22:40     ` Thomas Bächler
2007-02-27 13:58 ` [PATA] Failed to set xfermode on LITE-ON LTR-48246S Philipp Matthias Hahn
2007-03-05  4:10   ` Tejun Heo
2007-03-05 10:38     ` Philipp Matthias Hahn
2007-03-05 15:46       ` Tejun Heo
2007-03-06  9:23         ` Philipp Matthias Hahn
2007-03-09 12:50           ` Tejun Heo

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=Pine.LNX.4.64.0702051424020.8424@woody.linux-foundation.org \
    --to=torvalds@linux-foundation.org \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=dwmw2@infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --subject='Re: [patch] MTD: fix DOC2000/2001/2001PLUS build error' \
    /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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).