Re: why does x86 "make defconfig" build a single, lonely module?

From: Satyam Sharma
Date: Mon May 14 2007 - 05:35:49 EST


Hi,

On 5/13/07, James Bottomley <James.Bottomley@xxxxxxxxxxxx> wrote:
On Sun, 2007-05-13 at 11:10 -0500, James Bottomley wrote:
> > - depends on SCSI
> > + depends on SCSI_SCAN_ASYNC

This is incorrect, alright, but not because of any of the reasons James
mentions below.

The only reason why some module (or Kconfig option) should _depend_
on some other Kconfig option is if (*and only if*) it re-uses _code_
exported by said dependency.

In this particular case, SCSI_SCAN_ASYNC=y/n only controls the
default value of some variable somewhere in SCSI, so no other code
can meaningfully "depend" on it.

> No. SCSI_SCAN_ASYNC is a bool ... if you depend on it, you'll force the
> wait scan to be built in, which isn't the idea at all.

Umm, this isn't true, actually.

Plus SCSI_SCAN_ASYNC only sets the *default* for async scanning. You
can alter this at boot time, so you could need the wait scan module even
with it set to N.

I think the _correct_ way to handle this situation (and which would make
everyone happy here; Robert can get his module-free builds with defconfig,
James gets his SCSI_WAIT_SCAN module even if nobody asked for it
explicitly) would be as follows:

---

Clean up Kconfig entry for CONFIG_SCSI_WAIT_SCAN.

Signed-off-by: Satyam Sharma <satyam.sharma@xxxxxxxxx>

---

drivers/scsi/Kconfig | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)

---

diff -ruNp a/drivers/scsi/Kconfig b/drivers/scsi/Kconfig
--- a/drivers/scsi/Kconfig 2007-05-10 23:19:32.000000000 +0530
+++ b/drivers/scsi/Kconfig 2007-05-14 15:12:46.000000000 +0530
@@ -243,9 +243,8 @@ config SCSI_SCAN_ASYNC

config SCSI_WAIT_SCAN
tristate
- default m
- depends on SCSI
- depends on MODULES
+ default m if SCSI=m
+ default n

menu "SCSI Transports"
depends on SCSI
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/