select SND_PCM
        select SND_AC97_CODEC
        select SND_OPL3_LIB
-       depends on ZONE_DMA
+       depends on ZONE_DMA && HAS_IOPORT
        help
          Say 'Y' or 'M' to include support for Avance Logic ALS300/ALS300+
 
 config SND_ALS4000
        tristate "Avance Logic ALS4000"
        depends on ISA_DMA_API
+       depends on HAS_IOPORT
        select SND_OPL3_LIB
        select SND_MPU401_UART
        select SND_PCM
        tristate "ALi M5451 PCI Audio Controller"
        select SND_MPU401_UART
        select SND_AC97_CODEC
-       depends on ZONE_DMA
+       depends on ZONE_DMA && HAS_IOPORT
        help
          Say Y here to include support for the integrated AC97 sound
          device on motherboards using the ALi M5451 Audio Controller
 
 config SND_AU8810
        tristate "Aureal Advantage"
+       depends on HAS_IOPORT
        select SND_MPU401_UART
        select SND_AC97_CODEC
        help
 
 config SND_AU8820
        tristate "Aureal Vortex"
+       depends on HAS_IOPORT
        select SND_MPU401_UART
        select SND_AC97_CODEC
        help
 
 config SND_AU8830
        tristate "Aureal Vortex 2"
+       depends on HAS_IOPORT
        select SND_MPU401_UART
        select SND_AC97_CODEC
        help
        select SND_RAWMIDI
        select SND_AC97_CODEC
        select SND_TIMER
-       depends on ZONE_DMA
+       depends on ZONE_DMA && HAS_IOPORT
        help
          Say Y here to include support for Aztech AZF3328 (PCI168)
          soundcards.
 
 config SND_CA0106
        tristate "SB Audigy LS / Live 24bit"
+       depends on HAS_IOPORT
        select SND_AC97_CODEC
        select SND_RAWMIDI
        select SND_VMASTER
 
 config SND_CMIPCI
        tristate "C-Media 8338, 8738, 8768, 8770"
+       depends on HAS_IOPORT
        select SND_OPL3_LIB
        select SND_MPU401_UART
        select SND_PCM
 
 config SND_OXYGEN
        tristate "C-Media 8786, 8787, 8788 (Oxygen)"
+       depends on HAS_IOPORT
        select SND_OXYGEN_LIB
        select SND_PCM
        select SND_MPU401_UART
 
 config SND_CS4281
        tristate "Cirrus Logic (Sound Fusion) CS4281"
+       depends on HAS_IOPORT
        select SND_OPL3_LIB
        select SND_RAWMIDI
        select SND_AC97_CODEC
 
 config SND_CS46XX
        tristate "Cirrus Logic (Sound Fusion) CS4280/CS461x/CS462x/CS463x"
+       depends on HAS_IOPORT
        select SND_RAWMIDI
        select SND_AC97_CODEC
        select FW_LOADER
 config SND_CS5535AUDIO
        tristate "CS5535/CS5536 Audio"
        depends on X86_32 || MIPS || COMPILE_TEST
+       depends on HAS_IOPORT
        select SND_PCM
        select SND_AC97_CODEC
        help
 
 config SND_CTXFI
        tristate "Creative Sound Blaster X-Fi"
+       depends on HAS_IOPORT
        select SND_PCM
        help
          If you want to use soundcards based on Creative Sound Blastr X-Fi
        select SND_AC97_CODEC
        select SND_TIMER
        select SND_SEQ_DEVICE if SND_SEQUENCER != n
-       depends on ZONE_DMA
+       depends on ZONE_DMA && HAS_IOPORT
        help
          Say Y to include support for Sound Blaster PCI 512, Live!,
          Audigy and E-MU APS/0404/1010/1212/1616/1820 soundcards.
        tristate "Emu10k1X (Dell OEM Version)"
        select SND_AC97_CODEC
        select SND_RAWMIDI
-       depends on ZONE_DMA
+       depends on ZONE_DMA && HAS_IOPORT
        help
          Say Y here to include support for the Dell OEM version of the
          Sound Blaster Live!.
 
 config SND_ENS1370
        tristate "(Creative) Ensoniq AudioPCI 1370"
+       depends on HAS_IOPORT
        select SND_RAWMIDI
        select SND_PCM
        help
 
 config SND_ENS1371
        tristate "(Creative) Ensoniq AudioPCI 1371/1373"
+       depends on HAS_IOPORT
        select SND_RAWMIDI
        select SND_AC97_CODEC
        help
        select SND_OPL3_LIB
        select SND_MPU401_UART
        select SND_AC97_CODEC
-       depends on ZONE_DMA
+       depends on ZONE_DMA && HAS_IOPORT
        help
          Say Y here to include support for soundcards based on ESS Solo-1
          (ES1938, ES1946, ES1969) chips.
        tristate "ESS ES1968/1978 (Maestro-1/2/2E)"
        select SND_MPU401_UART
        select SND_AC97_CODEC
-       depends on ZONE_DMA
+       depends on ZONE_DMA && HAS_IOPORT
        help
          Say Y here to include support for soundcards based on ESS Maestro
          1/2/2E chips.
 
 config SND_FM801
        tristate "ForteMedia FM801"
+       depends on HAS_IOPORT
        select SND_OPL3_LIB
        select SND_MPU401_UART
        select SND_AC97_CODEC
        select SND_MPU401_UART
        select SND_AC97_CODEC
        select BITREVERSE
-       depends on ZONE_DMA
+       depends on ZONE_DMA && HAS_IOPORT
        help
          Say Y here to include support for soundcards based on the
          ICE1712 (Envy24) chip.
 
 config SND_ICE1724
        tristate "ICE/VT1724/1720 (Envy24HT/PT)"
+       depends on HAS_IOPORT
        select SND_RAWMIDI
        select SND_AC97_CODEC
        select SND_VMASTER
 config SND_MAESTRO3
        tristate "ESS Allegro/Maestro3"
        select SND_AC97_CODEC
-       depends on ZONE_DMA
+       depends on ZONE_DMA && HAS_IOPORT
        help
          Say Y here to include support for soundcards based on ESS Maestro 3
          (Allegro) chips.
 
 config SND_PCXHR
        tristate "Digigram PCXHR"
+       depends on HAS_IOPORT
        select FW_LOADER
        select SND_PCM
        select SND_HWDEP
 
 config SND_RIPTIDE
        tristate "Conexant Riptide"
+       depends on HAS_IOPORT
        select FW_LOADER
        select SND_OPL3_LIB
        select SND_MPU401_UART
 config SND_SE6X
        tristate "Studio Evolution SE6X"
        depends on SND_OXYGEN=n && SND_VIRTUOSO=n  # PCI ID conflict
+       depends on HAS_IOPORT
        select SND_OXYGEN_LIB
        select SND_PCM
        select SND_MPU401_UART
        select SND_OPL3_LIB
        select SND_MPU401_UART
        select SND_AC97_CODEC
-       depends on ZONE_DMA
+       depends on ZONE_DMA && HAS_IOPORT
        help
          Say Y here to include support for soundcards based on the S3
          SonicVibes chip.
        tristate "Trident 4D-Wave DX/NX; SiS 7018"
        select SND_MPU401_UART
        select SND_AC97_CODEC
-       depends on ZONE_DMA
+       depends on ZONE_DMA && HAS_IOPORT
        help
          Say Y here to include support for soundcards based on Trident
          4D-Wave DX/NX or SiS 7018 chips.
 
 config SND_VIA82XX
        tristate "VIA 82C686A/B, 8233/8235 AC97 Controller"
+       depends on HAS_IOPORT
        select SND_MPU401_UART
        select SND_AC97_CODEC
        help
 
 config SND_VIA82XX_MODEM
        tristate "VIA 82C686A/B, 8233 based Modems"
+       depends on HAS_IOPORT
        select SND_AC97_CODEC
        help
          Say Y here to include support for the integrated MC97 modem on
 
 config SND_VIRTUOSO
        tristate "Asus Virtuoso 66/100/200 (Xonar)"
+       depends on HAS_IOPORT
        select SND_OXYGEN_LIB
        select SND_PCM
        select SND_MPU401_UART
 
 config SND_VX222
        tristate "Digigram VX222"
+       depends on HAS_IOPORT
        select SND_VX_LIB
        help
          Say Y here to include support for Digigram VX222 soundcards.
 
 config SND_YMFPCI
        tristate "Yamaha YMF724/740/744/754"
+       depends on HAS_IOPORT
        select SND_OPL3_LIB
        select SND_MPU401_UART
        select SND_AC97_CODEC