Skip to contentSkip to conversation

Actually hide x86 IDE chipsets on !CONFIG_X86

PATCH In review Tom Rini 3 participants 6 messages Mar 14, 2002

lore
Share & tools
lore

Tom Rini

author
#0 lore raw

PATCH 1/1 Actually hide x86 IDE chipsets on !CONFIG_X86

Hello. The following actually hides x86-specific drivers on !CONFIG_X86. The problem is that dep_bool '...' CONFIG_FOO $CONFIG_BAR doesn't have the desired effect if CONFIG_BAR isn't set.

Signature · 51 lines
Tom Rini (TR1265)
http://gate.crashing.org/~trini/

===== drivers/ide/Config.in 1.11 vs edited =====
--- 1.11/drivers/ide/Config.in	Wed Mar 13 06:36:45 2002
+++ edited/drivers/ide/Config.in	Thu Mar 14 09:47:19 2002
@@ -9,7 +9,9 @@
 dep_tristate 'Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support' CONFIG_BLK_DEV_IDE $CONFIG_IDE
 comment 'Please see Documentation/ide.txt for help/info on IDE drives'
 if [ "$CONFIG_BLK_DEV_IDE" != "n" ]; then
-   dep_bool '  Use old disk-only driver on primary interface' CONFIG_BLK_DEV_HD_IDE $CONFIG_X86
+   if [ "$CONFIG_X86" = "y" ]; then
+      bool '  Use old disk-only driver on primary interface' CONFIG_BLK_DEV_HD_IDE
+   fi
    define_bool CONFIG_BLK_DEV_HD $CONFIG_BLK_DEV_HD_IDE
 
    dep_tristate '  Include IDE/ATA-2 DISK support' CONFIG_BLK_DEV_IDEDISK $CONFIG_BLK_DEV_IDE
@@ -34,11 +36,15 @@
    dep_tristate '  SCSI emulation support' CONFIG_BLK_DEV_IDESCSI $CONFIG_BLK_DEV_IDE $CONFIG_SCSI
 
    comment 'IDE chipset support'
-   dep_bool '  CMD640 chipset bugfix/support' CONFIG_BLK_DEV_CMD640 $CONFIG_X86
-   dep_bool '    CMD640 enhanced support' CONFIG_BLK_DEV_CMD640_ENHANCED $CONFIG_BLK_DEV_CMD640
+   if [ "$CONFIG_X86" = "y" ]; then
+      bool '  CMD640 chipset bugfix/support' CONFIG_BLK_DEV_CMD640
+      dep_bool '    CMD640 enhanced support' CONFIG_BLK_DEV_CMD640_ENHANCED $CONFIG_BLK_DEV_CMD640
+   fi
    dep_bool '  ISA-PNP EIDE support' CONFIG_BLK_DEV_ISAPNP $CONFIG_ISAPNP
    if [ "$CONFIG_PCI" = "y" ]; then
-      dep_bool '  RZ1000 chipset bugfix/support' CONFIG_BLK_DEV_RZ1000 $CONFIG_X86
+      if [ "$CONFIG_X86" = "y" ]; then
+	 bool '  RZ1000 chipset bugfix/support' CONFIG_BLK_DEV_RZ1000
+      fi
       bool '  Generic PCI IDE chipset support' CONFIG_BLK_DEV_IDEPCI
       if [ "$CONFIG_BLK_DEV_IDEPCI" = "y" ]; then
 	 bool '    Boot off-board chipsets first support' CONFIG_BLK_DEV_OFFBOARD
@@ -75,9 +81,11 @@
 	 dep_bool '    PROMISE PDC202{46|62|65|67|68|69|70} support' CONFIG_BLK_DEV_PDC202XX $CONFIG_BLK_DEV_IDEDMA_PCI
 	 dep_bool '      Special UDMA Feature' CONFIG_PDC202XX_BURST $CONFIG_BLK_DEV_PDC202XX
 	 dep_bool '      Special FastTrak Feature' CONFIG_PDC202XX_FORCE $CONFIG_BLK_DEV_PDC202XX
-	 dep_bool '    ServerWorks OSB4/CSB5 chipsets support' CONFIG_BLK_DEV_SVWKS $CONFIG_BLK_DEV_IDEDMA_PCI $CONFIG_X86
-	 dep_bool '    SiS5513 chipset support' CONFIG_BLK_DEV_SIS5513 $CONFIG_BLK_DEV_IDEDMA_PCI $CONFIG_X86
-	 dep_bool '    SLC90E66 chipset support' CONFIG_BLK_DEV_SLC90E66 $CONFIG_BLK_DEV_IDEDMA_PCI $CONFIG_X86
+	 if [ "$CONFIG_X86" = "y" ]; then
+	    dep_bool '    ServerWorks OSB4/CSB5 chipsets support' CONFIG_BLK_DEV_SVWKS $CONFIG_BLK_DEV_IDEDMA_PCI
+	    dep_bool '    SiS5513 chipset support' CONFIG_BLK_DEV_SIS5513 $CONFIG_BLK_DEV_IDEDMA_PCI
+	    dep_bool '    SLC90E66 chipset support' CONFIG_BLK_DEV_SLC90E66 $CONFIG_BLK_DEV_IDEDMA_PCI
+	 fi
 	 dep_bool '    Tekram TRM290 chipset support (EXPERIMENTAL)' CONFIG_BLK_DEV_TRM290 $CONFIG_BLK_DEV_IDEDMA_PCI
 	 dep_bool '    VIA82CXXX chipset support' CONFIG_BLK_DEV_VIA82CXXX $CONFIG_BLK_DEV_IDEDMA_PCI
       fi
#1 lore raw

Review

Quoted 8 lines · Tom Rini

Hello. The following actually hides x86-specific drivers on !CONFIG_X86. The problem is that dep_bool '...' CONFIG_FOO $CONFIG_BAR doesn't have the desired effect if CONFIG_BAR isn't set.

(quoted diff) +4 -0
+   if [ "$CONFIG_X86" = "y" ]; then
+      bool '  CMD640 chipset bugfix/support' CONFIG_BLK_DEV_CMD640
+      dep_bool '    CMD640 enhanced support' CONFIG_BLK_DEV_CMD640_ENHANCED $CONFIG_BLK_DEV_CMD640
+   fi

I've a PCI card with one of these. It could in theory work on any arch with a PCI slot.

Signature · 2 lines
| Dave Jones.        http://www.codemonkey.org.uk
| SuSE Labs
author
#2 lore raw
In reply to Tom Rini
Quoted 5 lines · Dave Jones
Quoted 4 lines · Tom Rini

Hello. The following actually hides x86-specific drivers on !CONFIG_X86. The problem is that dep_bool '...' CONFIG_FOO $CONFIG_BAR doesn't have the desired effect if CONFIG_BAR isn't set.

Quoted 7 lines

Review

Quoted 4 lines
(quoted diff) +4 -0
+   if [ "$CONFIG_X86" = "y" ]; then
+      bool '  CMD640 chipset bugfix/support' CONFIG_BLK_DEV_CMD640
+      dep_bool '    CMD640 enhanced support' CONFIG_BLK_DEV_CMD640_ENHANCED $CONFIG_BLK_DEV_CMD640
+   fi

I've a PCI card with one of these. It could in theory work on any arch with a PCI slot.

A 640 and not a 646?

Signature · 2 lines
Tom Rini (TR1265)
http://gate.crashing.org/~trini/
#3 lore raw
In reply to Tom Rini
Quoted 11 lines · Tom Rini
Quoted 10 lines · Dave Jones
Quoted 8 lines · Tom Rini

Hello. The following actually hides x86-specific drivers on !CONFIG_X86. The problem is that dep_bool '...' CONFIG_FOO $CONFIG_BAR doesn't have the desired effect if CONFIG_BAR isn't set.

(quoted diff) +4 -0
+   if [ "$CONFIG_X86" = "y" ]; then
+      bool '  CMD640 chipset bugfix/support' CONFIG_BLK_DEV_CMD640
+      dep_bool '    CMD640 enhanced support' CONFIG_BLK_DEV_CMD640_ENHANCED $CONFIG_BLK_DEV_CMD640
+   fi
Quoted 4 lines
Quoted 2 lines

I've a PCI card with one of these. It could in theory work on any arch with a PCI slot.

A 640 and not a 646?

Yes, exactly. I have one on a card as well.

Signature · 2 lines
Vojtech Pavlik
SuSE Labs
author
#4 lore raw
In reply to Tom Rini
Quoted 12 lines · Vojtech Pavlik
Quoted 11 lines · Tom Rini
Quoted 10 lines · Dave Jones
Quoted 8 lines · Tom Rini

Hello. The following actually hides x86-specific drivers on !CONFIG_X86. The problem is that dep_bool '...' CONFIG_FOO $CONFIG_BAR doesn't have the desired effect if CONFIG_BAR isn't set.

(quoted diff) +4 -0
+   if [ "$CONFIG_X86" = "y" ]; then
+      bool '  CMD640 chipset bugfix/support' CONFIG_BLK_DEV_CMD640
+      dep_bool '    CMD640 enhanced support' CONFIG_BLK_DEV_CMD640_ENHANCED $CONFIG_BLK_DEV_CMD640
+   fi
Quoted 6 lines
Quoted 4 lines
Quoted 2 lines

I've a PCI card with one of these. It could in theory work on any arch with a PCI slot.

A 640 and not a 646?

Yes, exactly. I have one on a card as well.

Okay. I've attached a new version which removes the bogus dependancy. This is almost more explicit about setting CONFIG_BLK_DEV_HD, since config-language.txt doesn't mention how define_bool should act if not given a value.

Signature · 52 lines
Tom Rini (TR1265)
http://gate.crashing.org/~trini/

===== drivers/ide/Config.in 1.11 vs edited =====
--- 1.11/drivers/ide/Config.in	Wed Mar 13 06:36:45 2002
+++ edited/drivers/ide/Config.in	Thu Mar 14 11:53:35 2002
@@ -9,8 +9,12 @@
 dep_tristate 'Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support' CONFIG_BLK_DEV_IDE $CONFIG_IDE
 comment 'Please see Documentation/ide.txt for help/info on IDE drives'
 if [ "$CONFIG_BLK_DEV_IDE" != "n" ]; then
-   dep_bool '  Use old disk-only driver on primary interface' CONFIG_BLK_DEV_HD_IDE $CONFIG_X86
-   define_bool CONFIG_BLK_DEV_HD $CONFIG_BLK_DEV_HD_IDE
+   if [ "$CONFIG_X86" = "y" ]; then
+      bool '  Use old disk-only driver on primary interface' CONFIG_BLK_DEV_HD_IDE
+      define_bool CONFIG_BLK_DEV_HD $CONFIG_BLK_DEV_HD_IDE
+   else
+      define_bool CONFIG_BLK_DEV_HD n
+   fi
 
    dep_tristate '  Include IDE/ATA-2 DISK support' CONFIG_BLK_DEV_IDEDISK $CONFIG_BLK_DEV_IDE
    dep_mbool '    Use multi-mode by default' CONFIG_IDEDISK_MULTI_MODE $CONFIG_BLK_DEV_IDEDISK
@@ -34,11 +38,13 @@
    dep_tristate '  SCSI emulation support' CONFIG_BLK_DEV_IDESCSI $CONFIG_BLK_DEV_IDE $CONFIG_SCSI
 
    comment 'IDE chipset support'
-   dep_bool '  CMD640 chipset bugfix/support' CONFIG_BLK_DEV_CMD640 $CONFIG_X86
+   bool '  CMD640 chipset bugfix/support' CONFIG_BLK_DEV_CMD640
    dep_bool '    CMD640 enhanced support' CONFIG_BLK_DEV_CMD640_ENHANCED $CONFIG_BLK_DEV_CMD640
    dep_bool '  ISA-PNP EIDE support' CONFIG_BLK_DEV_ISAPNP $CONFIG_ISAPNP
    if [ "$CONFIG_PCI" = "y" ]; then
-      dep_bool '  RZ1000 chipset bugfix/support' CONFIG_BLK_DEV_RZ1000 $CONFIG_X86
+      if [ "$CONFIG_X86" = "y" ]; then
+	 bool '  RZ1000 chipset bugfix/support' CONFIG_BLK_DEV_RZ1000
+      fi
       bool '  Generic PCI IDE chipset support' CONFIG_BLK_DEV_IDEPCI
       if [ "$CONFIG_BLK_DEV_IDEPCI" = "y" ]; then
 	 bool '    Boot off-board chipsets first support' CONFIG_BLK_DEV_OFFBOARD
@@ -75,9 +81,11 @@
 	 dep_bool '    PROMISE PDC202{46|62|65|67|68|69|70} support' CONFIG_BLK_DEV_PDC202XX $CONFIG_BLK_DEV_IDEDMA_PCI
 	 dep_bool '      Special UDMA Feature' CONFIG_PDC202XX_BURST $CONFIG_BLK_DEV_PDC202XX
 	 dep_bool '      Special FastTrak Feature' CONFIG_PDC202XX_FORCE $CONFIG_BLK_DEV_PDC202XX
-	 dep_bool '    ServerWorks OSB4/CSB5 chipsets support' CONFIG_BLK_DEV_SVWKS $CONFIG_BLK_DEV_IDEDMA_PCI $CONFIG_X86
-	 dep_bool '    SiS5513 chipset support' CONFIG_BLK_DEV_SIS5513 $CONFIG_BLK_DEV_IDEDMA_PCI $CONFIG_X86
-	 dep_bool '    SLC90E66 chipset support' CONFIG_BLK_DEV_SLC90E66 $CONFIG_BLK_DEV_IDEDMA_PCI $CONFIG_X86
+	 if [ "$CONFIG_X86" = "y" ]; then
+	    dep_bool '    ServerWorks OSB4/CSB5 chipsets support' CONFIG_BLK_DEV_SVWKS $CONFIG_BLK_DEV_IDEDMA_PCI
+	    dep_bool '    SiS5513 chipset support' CONFIG_BLK_DEV_SIS5513 $CONFIG_BLK_DEV_IDEDMA_PCI
+	    dep_bool '    SLC90E66 chipset support' CONFIG_BLK_DEV_SLC90E66 $CONFIG_BLK_DEV_IDEDMA_PCI
+	 fi
 	 dep_bool '    Tekram TRM290 chipset support (EXPERIMENTAL)' CONFIG_BLK_DEV_TRM290 $CONFIG_BLK_DEV_IDEDMA_PCI
 	 dep_bool '    VIA82CXXX chipset support' CONFIG_BLK_DEV_VIA82CXXX $CONFIG_BLK_DEV_IDEDMA_PCI
       fi
#5 lore raw
In reply to Tom Rini
Quoted 3 lines · Tom Rini
Quoted 2 lines

I've a PCI card with one of these. It could in theory work on any arch with a PCI slot.

A 640 and not a 646?

Yup, though its too brain damaged to use.
I believe they also appeared in some Alphas too.

Signature · 2 lines
| Dave Jones.        http://www.codemonkey.org.uk
| SuSE Labs