Skip to contentSkip to conversation

CONFIG_ISA

PATCH In review Andi Kleen 11 participants 16 messages May 12, 2002 – May 15, 2002

Subsystems (4)
lore
Share & tools
lore

Andi Kleen

author
#0 lore raw

PATCH 1/1 CONFIG_ISA

This patch make CONFIG_ISA an configuration option for i386. This makes sense considering that most PCs do not ship with ISA slots anymore.

The ISA drivers are often old and unmaintained, this way one can easier ignore them.

It also makes some more drivers dependent on CONFIG_ISA, mostly in drivers/scsi and sound. I did this by looking at the source code and double checked the result with linux-kernel.

VLB only drivers are also included in CONFIG_ISA, under the assumption that VLB boxes always have ISA slots.

The configuration changes are not complete, some subsystems are missing like ISDN. I'm hoping the maintainers will add it there too.

The main motivation is that I can turn off CONFIG_ISA for x86-64 where no ISA slots exist. The ISA drivers are often not 64bit safe and compile with an incredible number of warnings only.

Patch for 2.5.15.

-Andi

drivers/char/Config.in +1 -1
diff -burpN -X ../../KDIFX -x *-o linux-vanilla/drivers/char/Config.in linux/drivers/char/Config.in
@@ -39,7 +39,7 @@ if [ "$CONFIG_SERIAL_NONSTANDARD" = "y" 
    if [ "$CONFIG_DIGIEPCA" = "n" ]; then
       tristate '  Digiboard PC/Xx Support' CONFIG_DIGI
    fi
-   tristate '  Hayes ESP serial port support' CONFIG_ESPSERIAL
+   dep_tristate '  Hayes ESP serial port support' CONFIG_ESPSERIAL CONFIG_ISA
    tristate '  Moxa Intellio support' CONFIG_MOXA_INTELLIO
    tristate '  Moxa SmartIO support' CONFIG_MOXA_SMARTIO
    if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
drivers/ide/Config.in +2 -1
diff -burpN -X ../../KDIFX -x *-o linux-vanilla/drivers/ide/Config.in linux/drivers/ide/Config.in
@@ -125,7 +125,8 @@ if [ "$CONFIG_BLK_DEV_IDE" != "n" ]; the
 	      EXT_DIRECT	CONFIG_IDE_EXT_DIRECT"	8xx_PCCARD
    fi
 
-   bool '  Other IDE chipset support' CONFIG_IDE_CHIPSETS
+   # assume no ISA -> also no VLB
+   dep_bool '  Other ISA/VLB IDE chipset support' CONFIG_IDE_CHIPSETS CONFIG_ISA
    if [ "$CONFIG_IDE_CHIPSETS" = "y" ]; then
       comment 'Note: most of these also require special kernel boot parameters'
       bool '    ALI M14xx support' CONFIG_BLK_DEV_ALI14XX
drivers/media/radio/Config.in +4 -0
diff -burpN -X ../../KDIFX -x *-o linux-vanilla/drivers/media/radio/Config.in linux/drivers/media/radio/Config.in
@@ -4,6 +4,7 @@
 mainmenu_option next_comment
 comment 'Radio Adapters'
 
+if [ "$CONFIG_ISA" = "y" ]; then
 dep_tristate '  ADS Cadet AM/FM Tuner' CONFIG_RADIO_CADET $CONFIG_VIDEO_DEV
 dep_tristate '  AIMSlab RadioTrack (aka RadioReveal) support' CONFIG_RADIO_RTRACK $CONFIG_VIDEO_DEV
 if [ "$CONFIG_RADIO_RTRACK" = "y" ]; then
@@ -21,9 +22,11 @@ dep_tristate '  GemTek Radio Card suppor
 if [ "$CONFIG_RADIO_GEMTEK" = "y" ]; then
    hex '    GemTek i/o port (0x20c, 0x30c, 0x24c or 0x34c)' CONFIG_RADIO_GEMTEK_PORT 34c
 fi
+fi
 dep_tristate '  GemTek PCI Radio Card support' CONFIG_RADIO_GEMTEK_PCI $CONFIG_VIDEO_DEV $CONFIG_PCI
 dep_tristate '  Guillemot MAXI Radio FM 2000 radio' CONFIG_RADIO_MAXIRADIO $CONFIG_VIDEO_DEV
 dep_tristate '  Maestro on board radio' CONFIG_RADIO_MAESTRO $CONFIG_VIDEO_DEV
+if [ "$CONFIG_ISA" = "y" ]; then
 dep_tristate '  miroSOUND PCM20 radio' CONFIG_RADIO_MIROPCM20 $CONFIG_VIDEO_DEV $CONFIG_SOUND_ACI_MIXER
 dep_tristate '    miroSOUND PCM20 radio RDS user interface (EXPERIMENTAL)' CONFIG_RADIO_MIROPCM20_RDS $CONFIG_RADIO_MIROPCM20 $CONFIG_EXPERIMENTAL
 dep_tristate '  SF16FMI Radio' CONFIG_RADIO_SF16FMI $CONFIG_VIDEO_DEV
@@ -48,6 +51,7 @@ fi
 dep_tristate '  Zoltrix Radio' CONFIG_RADIO_ZOLTRIX $CONFIG_VIDEO_DEV
 if [ "$CONFIG_RADIO_ZOLTRIX" = "y" ]; then
    hex '    ZOLTRIX I/O port (0x20c or 0x30c)' CONFIG_RADIO_ZOLTRIX_PORT 20c
+fi
 fi
 
 endmenu
drivers/net/hamradio/Config.in +4 -2
diff -burpN -X ../../KDIFX -x *-o linux-vanilla/drivers/net/hamradio/Config.in linux/drivers/net/hamradio/Config.in
@@ -4,8 +4,10 @@ dep_tristate 'Serial port KISS driver' C
 dep_tristate 'Serial port 6PACK driver' CONFIG_6PACK $CONFIG_AX25
 dep_tristate 'BPQ Ethernet driver' CONFIG_BPQETHER $CONFIG_AX25
     
-dep_tristate 'High-speed (DMA) SCC driver for AX.25' CONFIG_DMASCC $CONFIG_AX25
-dep_tristate 'Z8530 SCC driver' CONFIG_SCC $CONFIG_AX25
+if [ "$CONFIG_ISA" = "y" ]; then
+  dep_tristate 'High-speed (DMA) SCC driver for AX.25' CONFIG_DMASCC $CONFIG_AX25
+  dep_tristate 'Z8530 SCC driver' CONFIG_SCC $CONFIG_AX25
+fi
 if [ "$CONFIG_SCC" != "n" ]; then
    bool '  additional delay for PA0HZP OptoSCC compatible boards' CONFIG_SCC_DELAY
    bool '  support for TRX that feedback the tx signal to rx' CONFIG_SCC_TRXECHO
drivers/net/wan/Config.in +2 -1
diff -burpN -X ../../KDIFX -x *-o linux-vanilla/drivers/net/wan/Config.in linux/drivers/net/wan/Config.in
@@ -9,11 +9,12 @@ bool 'Wan interfaces support' CONFIG_WAN
 if [ "$CONFIG_WAN" = "y" ]; then
 # There is no way to detect a comtrol sv11 - force it modular for now.
 
+   if [ "$CONFIG_ISA" = "y" ]; then
    dep_tristate '  Comtrol Hostess SV-11 support' CONFIG_HOSTESS_SV11 m
-
 # The COSA/SRP driver has not been tested as non-modular yet.
 
    dep_tristate '  COSA/SRP sync serial boards support' CONFIG_COSA m
+   fi
 
 #
 # COMX drivers
drivers/scsi/Config.in +47 -18

117 lines not on this page · raw message

arch/i386/config.in +1 -1
@@ -5,7 +5,6 @@
 mainmenu_name "Linux Kernel Configuration"
 
 define_bool CONFIG_X86 y
-define_bool CONFIG_ISA y
 define_bool CONFIG_SBUS n
 
 define_bool CONFIG_UID16 y
@@ -238,6 +237,7 @@
          define_bool CONFIG_PCI_DIRECT y
       fi
    fi
+   bool 'ISA support' CONFIG_ISA
 fi
 
 source drivers/pci/Config.in
#1 lore raw

Hi Andi!

Isn't there a config option called CONFIG_EISA?
Which is about the same as ISA?

Sorry, if I got something wrong.

Regards,
Axel Siebenwirth

Andi Kleen schrieb am Sonntag, den 12. Mai 2002:

Quoted 264 lines

This patch make CONFIG_ISA an configuration option for i386. This makes sense considering that most PCs do not ship with ISA slots anymore.

The ISA drivers are often old and unmaintained, this way one can easier ignore them.

It also makes some more drivers dependent on CONFIG_ISA, mostly in drivers/scsi and sound. I did this by looking at the source code and double checked the result with linux-kernel.

VLB only drivers are also included in CONFIG_ISA, under the assumption that VLB boxes always have ISA slots.

The configuration changes are not complete, some subsystems are missing like ISDN. I'm hoping the maintainers will add it there too.

The main motivation is that I can turn off CONFIG_ISA for x86-64 where no ISA slots exist. The ISA drivers are often not 64bit safe and compile with an incredible number of warnings only.

Patch for 2.5.15.

-Andi

diff -burpN -X ../../KDIFX -x *-o linux-vanilla/drivers/char/Config.in linux/drivers/char/Config.in

drivers/char/Config.in +1 -1
@@ -39,7 +39,7 @@ if [ "$CONFIG_SERIAL_NONSTANDARD" = "y" 
    if [ "$CONFIG_DIGIEPCA" = "n" ]; then
       tristate '  Digiboard PC/Xx Support' CONFIG_DIGI
    fi
-   tristate '  Hayes ESP serial port support' CONFIG_ESPSERIAL
+   dep_tristate '  Hayes ESP serial port support' CONFIG_ESPSERIAL CONFIG_ISA
    tristate '  Moxa Intellio support' CONFIG_MOXA_INTELLIO
    tristate '  Moxa SmartIO support' CONFIG_MOXA_SMARTIO
    if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then

diff -burpN -X ../../KDIFX -x *-o linux-vanilla/drivers/ide/Config.in linux/drivers/ide/Config.in

drivers/ide/Config.in +2 -1
@@ -125,7 +125,8 @@ if [ "$CONFIG_BLK_DEV_IDE" != "n" ]; the
 	      EXT_DIRECT	CONFIG_IDE_EXT_DIRECT"	8xx_PCCARD
    fi
 
-   bool '  Other IDE chipset support' CONFIG_IDE_CHIPSETS
+   # assume no ISA -> also no VLB
+   dep_bool '  Other ISA/VLB IDE chipset support' CONFIG_IDE_CHIPSETS CONFIG_ISA
    if [ "$CONFIG_IDE_CHIPSETS" = "y" ]; then
       comment 'Note: most of these also require special kernel boot parameters'
       bool '    ALI M14xx support' CONFIG_BLK_DEV_ALI14XX

diff -burpN -X ../../KDIFX -x *-o linux-vanilla/drivers/media/radio/Config.in linux/drivers/media/radio/Config.in

drivers/media/radio/Config.in +4 -0
@@ -4,6 +4,7 @@
 mainmenu_option next_comment
 comment 'Radio Adapters'
 
+if [ "$CONFIG_ISA" = "y" ]; then
 dep_tristate '  ADS Cadet AM/FM Tuner' CONFIG_RADIO_CADET $CONFIG_VIDEO_DEV
 dep_tristate '  AIMSlab RadioTrack (aka RadioReveal) support' CONFIG_RADIO_RTRACK $CONFIG_VIDEO_DEV
 if [ "$CONFIG_RADIO_RTRACK" = "y" ]; then
@@ -21,9 +22,11 @@ dep_tristate '  GemTek Radio Card suppor
 if [ "$CONFIG_RADIO_GEMTEK" = "y" ]; then
    hex '    GemTek i/o port (0x20c, 0x30c, 0x24c or 0x34c)' CONFIG_RADIO_GEMTEK_PORT 34c
 fi
+fi
 dep_tristate '  GemTek PCI Radio Card support' CONFIG_RADIO_GEMTEK_PCI $CONFIG_VIDEO_DEV $CONFIG_PCI
 dep_tristate '  Guillemot MAXI Radio FM 2000 radio' CONFIG_RADIO_MAXIRADIO $CONFIG_VIDEO_DEV
 dep_tristate '  Maestro on board radio' CONFIG_RADIO_MAESTRO $CONFIG_VIDEO_DEV
+if [ "$CONFIG_ISA" = "y" ]; then
 dep_tristate '  miroSOUND PCM20 radio' CONFIG_RADIO_MIROPCM20 $CONFIG_VIDEO_DEV $CONFIG_SOUND_ACI_MIXER
 dep_tristate '    miroSOUND PCM20 radio RDS user interface (EXPERIMENTAL)' CONFIG_RADIO_MIROPCM20_RDS $CONFIG_RADIO_MIROPCM20 $CONFIG_EXPERIMENTAL
 dep_tristate '  SF16FMI Radio' CONFIG_RADIO_SF16FMI $CONFIG_VIDEO_DEV
@@ -48,6 +51,7 @@ fi
 dep_tristate '  Zoltrix Radio' CONFIG_RADIO_ZOLTRIX $CONFIG_VIDEO_DEV
 if [ "$CONFIG_RADIO_ZOLTRIX" = "y" ]; then
    hex '    ZOLTRIX I/O port (0x20c or 0x30c)' CONFIG_RADIO_ZOLTRIX_PORT 20c
+fi
 fi
 
 endmenu

diff -burpN -X ../../KDIFX -x *-o linux-vanilla/drivers/net/hamradio/Config.in linux/drivers/net/hamradio/Config.in

drivers/net/hamradio/Config.in +4 -2
@@ -4,8 +4,10 @@ dep_tristate 'Serial port KISS driver' C
 dep_tristate 'Serial port 6PACK driver' CONFIG_6PACK $CONFIG_AX25
 dep_tristate 'BPQ Ethernet driver' CONFIG_BPQETHER $CONFIG_AX25
 
-dep_tristate 'High-speed (DMA) SCC driver for AX.25' CONFIG_DMASCC $CONFIG_AX25
-dep_tristate 'Z8530 SCC driver' CONFIG_SCC $CONFIG_AX25
+if [ "$CONFIG_ISA" = "y" ]; then
+  dep_tristate 'High-speed (DMA) SCC driver for AX.25' CONFIG_DMASCC $CONFIG_AX25
+  dep_tristate 'Z8530 SCC driver' CONFIG_SCC $CONFIG_AX25
+fi
 if [ "$CONFIG_SCC" != "n" ]; then
    bool '  additional delay for PA0HZP OptoSCC compatible boards' CONFIG_SCC_DELAY
    bool '  support for TRX that feedback the tx signal to rx' CONFIG_SCC_TRXECHO

diff -burpN -X ../../KDIFX -x *-o linux-vanilla/drivers/net/wan/Config.in linux/drivers/net/wan/Config.in

drivers/net/wan/Config.in +2 -1
@@ -9,11 +9,12 @@ bool 'Wan interfaces support' CONFIG_WAN
 if [ "$CONFIG_WAN" = "y" ]; then
 # There is no way to detect a comtrol sv11 - force it modular for now.
 
+   if [ "$CONFIG_ISA" = "y" ]; then
    dep_tristate '  Comtrol Hostess SV-11 support' CONFIG_HOSTESS_SV11 m
-
 # The COSA/SRP driver has not been tested as non-modular yet.
 
    dep_tristate '  COSA/SRP sync serial boards support' CONFIG_COSA m
+   fi
 
 #
 # COMX drivers

diff -burpN -X ../../KDIFX -x *-o linux-vanilla/drivers/scsi/Config.in linux/drivers/scsi/Config.in

drivers/scsi/Config.in +47 -18
@@ -42,11 +42,17 @@ fi
 if [ "$CONFIG_PCI" = "y" ]; then
    dep_tristate '3ware Hardware ATA-RAID support' CONFIG_BLK_DEV_3W_XXXX_RAID $CONFIG_SCSI
 fi
-dep_tristate '7000FASST SCSI support' CONFIG_SCSI_7000FASST $CONFIG_SCSI
+if [ "$CONFIG_ISA" = "y" ]; then
+   dep_tristate '7000FASST SCSI support' CONFIG_SCSI_7000FASST $CONFIG_SCSI
+fi
 dep_tristate 'ACARD SCSI support' CONFIG_SCSI_ACARD $CONFIG_SCSI
-dep_tristate 'Adaptec AHA152X/2825 support' CONFIG_SCSI_AHA152X $CONFIG_SCSI
-dep_tristate 'Adaptec AHA1542 support' CONFIG_SCSI_AHA1542 $CONFIG_SCSI
-dep_tristate 'Adaptec AHA1740 support' CONFIG_SCSI_AHA1740 $CONFIG_SCSI
+if [ "$CONFIG_ISA" = "y" ]; then
+   dep_tristate 'Adaptec AHA152X/2825 support' CONFIG_SCSI_AHA152X $CONFIG_SCSI
+   dep_tristate 'Adaptec AHA1542 support' CONFIG_SCSI_AHA1542 $CONFIG_SCSI
+fi
+if [ "$CONFIG_EISA" = "y" ]; then
+  dep_tristate 'Adaptec AHA1740 support' CONFIG_SCSI_AHA1740 $CONFIG_SCSI
+fi
 source drivers/scsi/aic7xxx/Config.in
 if [ "$CONFIG_SCSI_AIC7XXX" != "y" ]; then
    dep_tristate 'Old Adaptec AIC7xxx support' CONFIG_SCSI_AIC7XXX_OLD $CONFIG_SCSI
@@ -56,10 +62,16 @@ if [ "$CONFIG_SCSI_AIC7XXX" != "y" ]; th
       bool '  Collect statistics to report in /proc' CONFIG_AIC7XXX_OLD_PROC_STATS
    fi
 fi
-dep_tristate 'Adaptec I2O RAID support ' CONFIG_SCSI_DPT_I2O $CONFIG_SCSI
+# All the I2O code and drivers do not seem to be 64bit safe.
+if [ "$CONFIG_X86_64" != "y" ]; then
+  dep_tristate 'Adaptec I2O RAID support ' CONFIG_SCSI_DPT_I2O $CONFIG_SCSI
+fi
 dep_tristate 'AdvanSys SCSI support' CONFIG_SCSI_ADVANSYS $CONFIG_SCSI
 dep_tristate 'Always IN2000 SCSI support' CONFIG_SCSI_IN2000 $CONFIG_SCSI
-dep_tristate 'AM53/79C974 PCI SCSI support' CONFIG_SCSI_AM53C974 $CONFIG_SCSI $CONFIG_PCI
+# does not use pci dma and seems to be isa/onboard only for old machines
+if [ "$CONFIG_X86_64" != "y" ]; then
+  dep_tristate 'AM53/79C974 PCI SCSI support' CONFIG_SCSI_AM53C974 $CONFIG_SCSI $CONFIG_PCI
+fi
 dep_tristate 'AMI MegaRAID support' CONFIG_SCSI_MEGARAID $CONFIG_SCSI
 
 dep_tristate 'BusLogic SCSI support' CONFIG_SCSI_BUSLOGIC $CONFIG_SCSI
@@ -70,7 +82,9 @@ if [ "$CONFIG_PCI" = "y" ]; then
    dep_tristate 'Compaq Fibre Channel 64-bit/66Mhz HBA support' CONFIG_SCSI_CPQFCTS $CONFIG_SCSI
 fi
 dep_tristate 'DMX3191D SCSI support' CONFIG_SCSI_DMX3191D $CONFIG_SCSI $CONFIG_PCI
-dep_tristate 'DTC3180/3280 SCSI support' CONFIG_SCSI_DTC3280 $CONFIG_SCSI
+if [ "$CONFIG_ISA" != "y" ]; then
+  dep_tristate 'DTC3180/3280 SCSI support' CONFIG_SCSI_DTC3280 $CONFIG_SCSI
+fi
 dep_tristate 'EATA ISA/EISA/PCI (DPT and generic EATA/DMA-compliant boards) support' CONFIG_SCSI_EATA $CONFIG_SCSI
 if [ "$CONFIG_SCSI_EATA" != "n" ]; then
    bool '  enable tagged command queueing' CONFIG_SCSI_EATA_TAGGED_QUEUE
@@ -111,7 +125,9 @@ if [ "$CONFIG_PARPORT" != "n" ]; then
       bool  '  ppa/imm option - Assume slow parport control register' CONFIG_SCSI_IZIP_SLOW_CTR
    fi
 fi
-dep_tristate 'NCR53c406a SCSI support' CONFIG_SCSI_NCR53C406A $CONFIG_SCSI
+if [ "$CONFIG_ISA" = "y" ]; then
+  dep_tristate 'NCR53c406a SCSI support' CONFIG_SCSI_NCR53C406A $CONFIG_SCSI
+fi
 if [ "$CONFIG_MCA" = "y" ]; then
    dep_tristate 'NCR Dual 700 MCA SCSI support' CONFIG_SCSI_NCR_D700 $CONFIG_SCSI
    if [ "$CONFIG_SCSI_NCR_D700" != "n" ]; then
@@ -164,11 +180,17 @@ fi
 if [ "$CONFIG_MCA" = "y" ]; then
    dep_tristate 'NCR MCA 53C9x SCSI support' CONFIG_SCSI_MCA_53C9X $CONFIG_SCSI
 fi
-dep_tristate 'PAS16 SCSI support' CONFIG_SCSI_PAS16 $CONFIG_SCSI
+if [ "$CONFIG_ISA" = "y" ]; then
+   dep_tristate 'PAS16 SCSI support' CONFIG_SCSI_PAS16 $CONFIG_SCSI
+fi
 dep_tristate 'PCI2000 support' CONFIG_SCSI_PCI2000 $CONFIG_SCSI
 dep_tristate 'PCI2220i support' CONFIG_SCSI_PCI2220I $CONFIG_SCSI
-dep_tristate 'PSI240i support' CONFIG_SCSI_PSI240I $CONFIG_SCSI
-dep_tristate 'Qlogic FAS SCSI support' CONFIG_SCSI_QLOGIC_FAS $CONFIG_SCSI
+if [ "$CONFIG_ISA" = "y" ]; then
+   dep_tristate 'PSI240i support' CONFIG_SCSI_PSI240I $CONFIG_SCSI
+fi
+if [ "$CONFIG_ISA" = "y" ]; then
+   dep_tristate 'Qlogic FAS SCSI support' CONFIG_SCSI_QLOGIC_FAS $CONFIG_SCSI
+fi
 if [ "$CONFIG_PCI" = "y" ]; then
    dep_tristate 'Qlogic ISP SCSI support' CONFIG_SCSI_QLOGIC_ISP $CONFIG_SCSI
    dep_tristate 'Qlogic ISP FC SCSI support' CONFIG_SCSI_QLOGIC_FC $CONFIG_SCSI
@@ -177,24 +199,31 @@ if [ "$CONFIG_PCI" = "y" ]; then
    fi
    dep_tristate 'Qlogic QLA 1280 SCSI support' CONFIG_SCSI_QLOGIC_1280 $CONFIG_SCSI
 fi
-if [ "$CONFIG_X86" = "y" ]; then
+if [ "$CONFIG_X86" = "y" -a "$CONFIG_ISA" = "y" ]; then
    dep_tristate 'Seagate ST-02 and Future Domain TMC-8xx SCSI support' CONFIG_SCSI_SEAGATE $CONFIG_SCSI
 fi
-dep_tristate 'Simple 53c710 SCSI support (Compaq, NCR machines)' CONFIG_SCSI_SIM710 $CONFIG_SCSI
-dep_tristate 'Symbios 53c416 SCSI support' CONFIG_SCSI_SYM53C416 $CONFIG_SCSI
+# definitely looks note 64bit safe:
+if [ "$CONFIG_ISA" = "y" -o "$CONFIG_MCA" = "y" -a "$CONFIG_X86_64" != "y" ]; then
+  dep_tristate 'Simple 53c710 SCSI support (Compaq, NCR machines)' CONFIG_SCSI_SIM710 $CONFIG_SCSI
+fi
+if [ "$CONFIG_ISA" = "y" ]; then
+  dep_tristate 'Symbios 53c416 SCSI support' CONFIG_SCSI_SYM53C416 $CONFIG_SCSI
+fi
 if [ "$CONFIG_PCI" = "y" ]; then
    dep_tristate 'Tekram DC390(T) and Am53/79C974 SCSI support' CONFIG_SCSI_DC390T $CONFIG_SCSI
    if [ "$CONFIG_SCSI_DC390T" != "n" ]; then
       bool '  _omit_ support for non-DC390 adapters' CONFIG_SCSI_DC390T_NOGENSUPP
    fi
 fi
-dep_tristate 'Trantor T128/T128F/T228 SCSI support' CONFIG_SCSI_T128 $CONFIG_SCSI
+if [ "$CONFIG_ISA" = "y" ]; then
+  dep_tristate 'Trantor T128/T128F/T228 SCSI support' CONFIG_SCSI_T128 $CONFIG_SCSI
+fi
 dep_tristate 'UltraStor 14F/34F support' CONFIG_SCSI_U14_34F $CONFIG_SCSI
-   if [ "$CONFIG_SCSI_U14_34F" != "n" ]; then
+if [ "$CONFIG_SCSI_U14_34F" != "n" ]; then
       bool '  enable elevator sorting' CONFIG_SCSI_U14_34F_LINKED_COMMANDS
       int  '  maximum number of queued commands' CONFIG_SCSI_U14_34F_MAX_TAGS 8
-   fi
-if [ "$CONFIG_X86" = "y" ]; then
+fi
+if [ "$CONFIG_X86" = "y" -a "$CONFIG_ISA" = "y" ]; then
    dep_tristate 'UltraStor SCSI support' CONFIG_SCSI_ULTRASTOR $CONFIG_SCSI
 fi
 #
arch/i386/config.in +1 -2
@@ -5,7 +5,6 @@
 mainmenu_name "Linux Kernel Configuration"
 
 define_bool CONFIG_X86 y
-define_bool CONFIG_ISA y
 define_bool CONFIG_SBUS n
 
 define_bool CONFIG_UID16 y
@@ -238,6 +237,7 @@
          define_bool CONFIG_PCI_DIRECT y
       fi
    fi
+   bool 'ISA support' CONFIG_ISA
 fi
 
 source drivers/pci/Config.in
-

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

#2 lore raw

Hi,

Quoted 1 line · Axel H. Siebenwirth

Isn't there a config option called CONFIG_EISA?

Indeed.

Quoted 1 line

Which is about the same as ISA?

Nope, it's for EISA stuff (enhanced industry standard arch). It differs somewhat from what we know as ISA. A computer can have ISA bus and no EISA, and vv.

Regards,
Thunder

Signature · 4 lines
Was it a black who passed anong in the sand?
Was it a white who left his footprints?
Was it an african? An indian?
Sand says, 'twas human.
#3 lore raw

"F wrote:"

Quoted 10 lines · Axel H. Siebenwirth
Quoted 1 line

Isn't there a config option called CONFIG_EISA?

Indeed.

Quoted 1 line

Which is about the same as ISA?

Nope, it's for EISA stuff (enhanced industry standard arch). It differs somewhat from what we know as ISA. A computer can have ISA bus and no EISA, and vv.

           ^^^^

I think that EISA support with no ISA support should not be assumed. AFAIK, EISA support provides ISA support as EISA is a superset of ISA.

so

CONFIG_EISA = "y"   should imply   CONFIG_ISA = "y"
CONFIG_ISA = "n"    should imply   CONFIG_EISA = "n"

Andrzej

Signature · 4 lines
=======================================================================
  Andrzej M. Krzysztofowicz               [email protected]
  phone (48)(58) 347 14 61
Faculty of Applied Phys. & Math.,   Technical University of Gdansk
author
#4 lore raw
In reply to Andi Kleen
Quoted 4 lines · Axel H. Siebenwirth

Hi Andi!

Isn't there a config option called CONFIG_EISA?
Which is about the same as ISA?

EISA is not the same as ISA, it is a superset.

Yes there is. But it is currently not used for driver configuration, only for some internal code. Of course if someone is motived it would make sense to mark all EISA drivers with CONFIG_EISA too.

-Andi

#5 lore raw
Quoted 3 lines · Andi Kleen

Yes there is. But it is currently not used for driver configuration, only for some internal code. Of course if someone is motived it would make sense to mark all EISA drivers with CONFIG_EISA too.

There are drivers that correctly depend on CONFIG_EISA.

Signature · 3 lines
+  Maciej W. Rozycki, Technical University of Gdansk, Poland   +
+--------------------------------------------------------------+
+        e-mail: [email protected], PGP key available        +
#6 lore raw
In reply to Andi Kleen
Quoted 3 lines · On Sun, 12 May 2002 20:36:15 +0200 Andi Kleen <[email protected]> escribió:

This patch make CONFIG_ISA an configuration option for i386. This makes sense considering that most PCs do not ship with ISA slots anymore.

Sorry for my ignorance, but the typical conectors: mouse, keyboard, /dev/ttyS0, /dev/ttyS1, /dev/lp0...aren't isa devices?

Quoted 21 lines

The ISA drivers are often old and unmaintained, this way one can easier ignore them.

It also makes some more drivers dependent on CONFIG_ISA, mostly in drivers/scsi and sound. I did this by looking at the source code and double checked the result with linux-kernel.

VLB only drivers are also included in CONFIG_ISA, under the assumption that VLB boxes always have ISA slots.

The configuration changes are not complete, some subsystems are missing like ISDN. I'm hoping the maintainers will add it there too.

The main motivation is that I can turn off CONFIG_ISA for x86-64 where no ISA slots exist. The ISA drivers are often not 64bit safe and compile with an incredible number of warnings only.

Patch for 2.5.15.

-Andi

#7 lore raw
Quoted 2 lines · Diego Calleja

Sorry for my ignorance, but the typical conectors: mouse, keyboard, /dev/ttyS0, /dev/ttyS1, /dev/lp0...aren't isa devices?

The PS/2 mouse and the keyboard (or the 8042, actually) are motherboard
devices using the 0x00-0xff range of I/O ports -- ISA is above that.

For serial and parallel ports it depends on their configuration.
Traditionally they are ISA devices, but PCI variations are manufactured these days as well.

Signature · 3 lines
+  Maciej W. Rozycki, Technical University of Gdansk, Poland   +
+--------------------------------------------------------------+
+        e-mail: [email protected], PGP key available        +
#8 lore raw
Quoted 5 lines
Quoted 2 lines

Sorry for my ignorance, but the typical conectors: mouse, keyboard, /dev/ttyS0, /dev/ttyS1, /dev/lp0...aren't isa devices?

The PS/2 mouse and the keyboard (or the 8042, actually) are motherboard
devices using the 0x00-0xff range of I/O ports -- ISA is above that.

Not neccessarily. The mobility chipset for example has a PS/2 mouse and keyboard port on a PCI card

#9 lore raw
Quoted 5 lines · Alan Cox
Quoted 2 lines

The PS/2 mouse and the keyboard (or the 8042, actually) are motherboard
devices using the 0x00-0xff range of I/O ports -- ISA is above that.

Not neccessarily. The mobility chipset for example has a PS/2 mouse and keyboard port on a PCI card

Nice to know. They can't use motherboard ports, though.

So the choice is between a motherboard and a PCI device. Neither is ISA.

Signature · 3 lines
+  Maciej W. Rozycki, Technical University of Gdansk, Poland   +
+--------------------------------------------------------------+
+        e-mail: [email protected], PGP key available        +
#10 lore raw
Quoted 5 lines
Quoted 2 lines

Not neccessarily. The mobility chipset for example has a PS/2 mouse and keyboard port on a PCI card

Nice to know. They can't use motherboard ports, though.
So the choice is between a motherboard and a PCI device. Neither is ISA.

There are "two user one PC" ISA cards around that put them on ISA addresses too. That may matter for 2.5 one day but those cards are somewhat old and uninteresting nowdays (dual 1Mb Cirrus Logic video)

The Mobility is -much- more fun because our current PC keyboard code does not support hot plugging of the keyboard and ps/2 drivers

#11 lore raw
In reply to Diego Calleja

Hi!

Quoted 5 lines
Quoted 2 lines

Sorry for my ignorance, but the typical conectors: mouse, keyboard, /dev/ttyS0, /dev/ttyS1, /dev/lp0...aren't isa devices?

The PS/2 mouse and the keyboard (or the 8042, actually) are motherboard
devices using the 0x00-0xff range of I/O ports -- ISA is above that.

outb to 0x80, and watch it go to ISA. Not all ports < 0x80 are mainboard.

Signature · 2 lines
Philips Velo 1: 1"x4"x8", 300gram, 60, 12MB, 40bogomips, linux, mutt,
details at http://atrey.karlin.mff.cuni.cz/~pavel/velo/index.html.
#12 lore raw
Quoted 2 lines · Pavel Machek

outb to 0x80, and watch it go to ISA. Not all ports < 0x80 are mainboard.

True and false. 0x0-0xff is specced for motherboard stuff, and you'r enot supposed to use them for add-in cards.

Anyway, add-in ISA cards are _supposed_ to all be in the 0x100-0x3ff IO port range. Anything else might be routed to the MB or over PCI.

But yes, motherboards generally do negative decoding for ISA, so anything that isn't claimed by anything else will just be sent out to the ISA bus.

In particular, PC's aren't really standardized, they are mostly a big heap of "existing practice".

Linus

#13 lore raw
In reply to Andi Kleen
Quoted 2 lines · Andi Kleen

This patch make CONFIG_ISA an configuration option for i386. This makes sense considering that most PCs do not ship with ISA slots anymore.

make xconfig
drivers/ide/Config.in: 129: can't handle dep_bool/dep_mbool/dep_tristate condition

Your dep_* conditions are wrong. The conditional fields require $CONFIG, not a bare CONFIG.

Always check config changes under both oldconfig and xconfig. xconfig is the only CML1 code that does a full syntax check, the other CML1 *config rules silently ignore many syntax errors.

author
#14 lore raw
In reply to Andi Kleen
Quoted 10 lines · Keith Owens
Quoted 2 lines · Andi Kleen

This patch make CONFIG_ISA an configuration option for i386. This makes sense considering that most PCs do not ship with ISA slots anymore.

make xconfig
drivers/ide/Config.in: 129: can't handle dep_bool/dep_mbool/dep_tristate condition

Your dep_* conditions are wrong. The conditional fields require $CONFIG, not a bare CONFIG.

Fixed now.

Linus, please consider applying.

-Andi

arch/i386/config.in +1 -1
diff -burp linux-vanilla/arch/i386/config.in linux/arch/i386/config.in
@@ -5,7 +5,6 @@
 mainmenu_name "Linux Kernel Configuration"
 
 define_bool CONFIG_X86 y
-define_bool CONFIG_ISA y
 define_bool CONFIG_SBUS n
 
 define_bool CONFIG_UID16 y
@@ -238,6 +237,7 @@ else
          define_bool CONFIG_PCI_DIRECT y
       fi
    fi
+   bool 'ISA support' CONFIG_ISA
 fi
 
 source drivers/pci/Config.in
drivers/char/Config.in +1 -1
diff -burp linux-vanilla/drivers/char/Config.in linux/drivers/char/Config.in
@@ -39,7 +39,7 @@ if [ "$CONFIG_SERIAL_NONSTANDARD" = "y" 
    if [ "$CONFIG_DIGIEPCA" = "n" ]; then
       tristate '  Digiboard PC/Xx Support' CONFIG_DIGI
    fi
-   tristate '  Hayes ESP serial port support' CONFIG_ESPSERIAL
+   dep_tristate '  Hayes ESP serial port support' CONFIG_ESPSERIAL $CONFIG_ISA
    tristate '  Moxa Intellio support' CONFIG_MOXA_INTELLIO
    tristate '  Moxa SmartIO support' CONFIG_MOXA_SMARTIO
    if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
drivers/ide/Config.in +2 -1
diff -burp linux-vanilla/drivers/ide/Config.in linux/drivers/ide/Config.in
@@ -125,7 +125,8 @@ if [ "$CONFIG_BLK_DEV_IDE" != "n" ]; the
 	      EXT_DIRECT	CONFIG_IDE_EXT_DIRECT"	8xx_PCCARD
    fi
 
-   bool '  Other IDE chipset support' CONFIG_IDE_CHIPSETS
+   # assume no ISA -> also no VLB
+   dep_bool '  Other ISA/VLB IDE chipset support' CONFIG_IDE_CHIPSETS $CONFIG_ISA
    if [ "$CONFIG_IDE_CHIPSETS" = "y" ]; then
       comment 'Note: most of these also require special kernel boot parameters'
       bool '    ALI M14xx support' CONFIG_BLK_DEV_ALI14XX
drivers/media/radio/Config.in +4 -0
diff -burp linux-vanilla/drivers/media/radio/Config.in linux/drivers/media/radio/Config.in
@@ -4,6 +4,7 @@
 mainmenu_option next_comment
 comment 'Radio Adapters'
 
+if [ "$CONFIG_ISA" = "y" ]; then
 dep_tristate '  ADS Cadet AM/FM Tuner' CONFIG_RADIO_CADET $CONFIG_VIDEO_DEV
 dep_tristate '  AIMSlab RadioTrack (aka RadioReveal) support' CONFIG_RADIO_RTRACK $CONFIG_VIDEO_DEV
 if [ "$CONFIG_RADIO_RTRACK" = "y" ]; then
@@ -21,9 +22,11 @@ dep_tristate '  GemTek Radio Card suppor
 if [ "$CONFIG_RADIO_GEMTEK" = "y" ]; then
    hex '    GemTek i/o port (0x20c, 0x30c, 0x24c or 0x34c)' CONFIG_RADIO_GEMTEK_PORT 34c
 fi
+fi
 dep_tristate '  GemTek PCI Radio Card support' CONFIG_RADIO_GEMTEK_PCI $CONFIG_VIDEO_DEV $CONFIG_PCI
 dep_tristate '  Guillemot MAXI Radio FM 2000 radio' CONFIG_RADIO_MAXIRADIO $CONFIG_VIDEO_DEV
 dep_tristate '  Maestro on board radio' CONFIG_RADIO_MAESTRO $CONFIG_VIDEO_DEV
+if [ "$CONFIG_ISA" = "y" ]; then
 dep_tristate '  miroSOUND PCM20 radio' CONFIG_RADIO_MIROPCM20 $CONFIG_VIDEO_DEV $CONFIG_SOUND_ACI_MIXER
 dep_tristate '    miroSOUND PCM20 radio RDS user interface (EXPERIMENTAL)' CONFIG_RADIO_MIROPCM20_RDS $CONFIG_RADIO_MIROPCM20 $CONFIG_EXPERIMENTAL
 dep_tristate '  SF16FMI Radio' CONFIG_RADIO_SF16FMI $CONFIG_VIDEO_DEV
@@ -48,6 +51,7 @@ fi
 dep_tristate '  Zoltrix Radio' CONFIG_RADIO_ZOLTRIX $CONFIG_VIDEO_DEV
 if [ "$CONFIG_RADIO_ZOLTRIX" = "y" ]; then
    hex '    ZOLTRIX I/O port (0x20c or 0x30c)' CONFIG_RADIO_ZOLTRIX_PORT 20c
+fi
 fi
 
 endmenu
drivers/net/hamradio/Config.in +4 -2
diff -burp linux-vanilla/drivers/net/hamradio/Config.in linux/drivers/net/hamradio/Config.in
@@ -4,8 +4,10 @@ dep_tristate 'Serial port KISS driver' C
 dep_tristate 'Serial port 6PACK driver' CONFIG_6PACK $CONFIG_AX25
 dep_tristate 'BPQ Ethernet driver' CONFIG_BPQETHER $CONFIG_AX25
     
-dep_tristate 'High-speed (DMA) SCC driver for AX.25' CONFIG_DMASCC $CONFIG_AX25
-dep_tristate 'Z8530 SCC driver' CONFIG_SCC $CONFIG_AX25
+if [ "$CONFIG_ISA" = "y" ]; then
+  dep_tristate 'High-speed (DMA) SCC driver for AX.25' CONFIG_DMASCC $CONFIG_AX25
+  dep_tristate 'Z8530 SCC driver' CONFIG_SCC $CONFIG_AX25
+fi
 if [ "$CONFIG_SCC" != "n" ]; then
    bool '  additional delay for PA0HZP OptoSCC compatible boards' CONFIG_SCC_DELAY
    bool '  support for TRX that feedback the tx signal to rx' CONFIG_SCC_TRXECHO
drivers/net/wan/Config.in +2 -1
diff -burp linux-vanilla/drivers/net/wan/Config.in linux/drivers/net/wan/Config.in
@@ -9,11 +9,12 @@ bool 'Wan interfaces support' CONFIG_WAN
 if [ "$CONFIG_WAN" = "y" ]; then
 # There is no way to detect a comtrol sv11 - force it modular for now.
 
+   if [ "$CONFIG_ISA" = "y" ]; then
    dep_tristate '  Comtrol Hostess SV-11 support' CONFIG_HOSTESS_SV11 m
-
 # The COSA/SRP driver has not been tested as non-modular yet.
 
    dep_tristate '  COSA/SRP sync serial boards support' CONFIG_COSA m
+   fi
 
 #
 # COMX drivers
drivers/scsi/Config.in +47 -18

117 lines not on this page · raw message

#15 lore raw
In reply to Andi Kleen
Quoted 11 lines · Andi Kleen
drivers/media/radio/Config.in +1 -0
@@ -4,6 +4,7 @@
 mainmenu_option next_comment
 comment 'Radio Adapters'
 
+if [ "$CONFIG_ISA" = "y" ]; then
 dep_tristate '  ADS Cadet AM/FM Tuner' CONFIG_RADIO_CADET $CONFIG_VIDEO_DEV
 dep_tristate '  AIMSlab RadioTrack (aka RadioReveal) support' CONFIG_RADIO_RTRACK $CONFIG_VIDEO_DEV
 if [ "$CONFIG_RADIO_RTRACK" = "y" ]; then

drivers/media/radio/Config.in dep_tristate ' GemTek Radio Card suppor · line 25

Quoted 4 lines
drivers/media/radio/Config.in +1 -0
@@ -21,9 +22,11 @@ dep_tristate '  GemTek Radio Card suppor
 if [ "$CONFIG_RADIO_GEMTEK" = "y" ]; then
    hex '    GemTek i/o port (0x20c, 0x30c, 0x24c or 0x34c)' CONFIG_RADIO_GEMTEK_PORT 34c
 fi
+fi

Could you please update the indentation?