[git patch] libata fix

From: Jeff Garzik
Date: Sun Jul 31 2005 - 18:35:47 EST


Please pull from the 'upstream-fixes' branch of
rsync://rsync.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev.git

to obtain the damnable-annoying[1] fix described in the attached diffstat/changelog/patch.

Jeff


[1] the option is truly a boolean, that enables or disables a menu (not any code). But it won't work as a boolean apparently :/ Roman doesn't have any better suggestions, so oh well.

drivers/scsi/Kconfig | 2 +-
1 files changed, 1 insertion(+), 1 deletion(-)


commit faa725332f39329288f52b7f872ffda866ba5b09
Author: Adrian Bunk <bunk@xxxxxxxxx>
Date: Wed Jul 27 01:06:35 2005 -0700

[PATCH] SCSI_SATA has to be a tristate

SCSI=m must disallow static drivers.

The problem is that all the SATA drivers depend on SCSI_SATA.

With SCSI=m and SCSI_SATA=y this allows the static enabling of the SATA
drivers with unwanted effects, e.g.:
- SCSI=m, SCSI_SATA=y, SCSI_ATA_ADMA=y
-> SCSI_ATA_ADMA is built statically but scsi/built-in.o is not linked
into the kernel
- SCSI=m, SCSI_SATA=y, SCSI_ATA_ADMA=y, SCSI_SATA_AHCI=m
-> SCSI_ATA_ADMA and libata are built statically but
scsi/built-in.o is not linked into the kernel,
SCSI_SATA_AHCI is built modular (unresolved symbols due to missing
libata)

Signed-off-by: Adrian Bunk <bunk@xxxxxxxxx>
Cc: Jeff Garzik <jgarzik@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxx>
Signed-off-by: Jeff Garzik <jgarzik@xxxxxxxxx>


diff --git a/drivers/scsi/Kconfig b/drivers/scsi/Kconfig
--- a/drivers/scsi/Kconfig
+++ b/drivers/scsi/Kconfig
@@ -424,7 +424,7 @@ config SCSI_IN2000
source "drivers/scsi/megaraid/Kconfig.megaraid"

config SCSI_SATA
- bool "Serial ATA (SATA) support"
+ tristate "Serial ATA (SATA) support"
depends on SCSI
help
This driver family supports Serial ATA host controllers