[v3,30/38] sound: add HAS_IOPORT dependencies

Message ID 20230314121216.413434-31-schnelle@linux.ibm.com
State New
Headers
Series Kconfig: Introduce HAS_IOPORT config option |

Commit Message

Niklas Schnelle March 14, 2023, 12:12 p.m. UTC
  In a future patch HAS_IOPORT=n will result in inb()/outb() and friends
not being declared. We thus need to add HAS_IOPORT as dependency for
those drivers using them.

Co-developed-by: Arnd Bergmann <arnd@kernel.org>
Signed-off-by: Niklas Schnelle <schnelle@linux.ibm.com>
---
 sound/drivers/Kconfig |  3 +++
 sound/isa/Kconfig     | 31 ++++++++++++++++++++++++++---
 sound/pci/Kconfig     | 45 ++++++++++++++++++++++++++++++++-----------
 sound/pcmcia/Kconfig  |  2 ++
 4 files changed, 67 insertions(+), 14 deletions(-)
  

Comments

Takashi Iwai March 14, 2023, 12:33 p.m. UTC | #1
On Tue, 14 Mar 2023 13:12:08 +0100,
Niklas Schnelle wrote:
> --- a/sound/isa/Kconfig
> +++ b/sound/isa/Kconfig
> @@ -23,6 +23,7 @@ menuconfig SND_ISA
>  	bool "ISA sound devices"
>  	depends on ISA || COMPILE_TEST
>  	depends on ISA_DMA_API
> +	depends on HAS_IOPORT
>  	default y
>  	help
>  	  Support for sound devices connected via the ISA bus.

With this dependency, ...

> @@ -31,6 +32,7 @@ if SND_ISA
>  
>  config SND_ADLIB
>  	tristate "AdLib FM card"
> +	depends on HAS_IOPORT
>  	select SND_OPL3_LIB
>  	help
>  	  Say Y here to include support for AdLib FM cards.

... this and lots of other similar changes become redundant, as they
already depend on CONFIG_SND_ISA.

> --- a/sound/pcmcia/Kconfig
> +++ b/sound/pcmcia/Kconfig
> @@ -13,6 +13,7 @@ if SND_PCMCIA && PCMCIA
>  config SND_VXPOCKET
>  	tristate "Digigram VXpocket"
>  	select SND_VX_LIB
> +	depends on HAS_IOPORT
>  	help
>  	  Say Y here to include support for Digigram VXpocket and
>  	  VXpocket 440 soundcards.
> @@ -22,6 +23,7 @@ config SND_VXPOCKET
>  
>  config SND_PDAUDIOCF
>  	tristate "Sound Core PDAudioCF"
> +	depends on HAS_IOPORT
>  	select SND_PCM
>  	help
>  	  Say Y here to include support for Sound Core PDAudioCF

I guess it's easier to make CONFIG_SND_PCMCIA depending on
CONFIG_HAS_IOPORT (like done for CONFIG_SND_ISA).


thanks,

Takashi
  
Niklas Schnelle May 8, 2023, 4:41 p.m. UTC | #2
On Tue, 2023-03-14 at 13:33 +0100, Takashi Iwai wrote:
> On Tue, 14 Mar 2023 13:12:08 +0100,
> Niklas Schnelle wrote:
> > --- a/sound/isa/Kconfig
> > +++ b/sound/isa/Kconfig
> > @@ -23,6 +23,7 @@ menuconfig SND_ISA
> >  	bool "ISA sound devices"
> >  	depends on ISA || COMPILE_TEST
> >  	depends on ISA_DMA_API
> > +	depends on HAS_IOPORT
> >  	default y
> >  	help
> >  	  Support for sound devices connected via the ISA bus.
> 
> With this dependency, ...
> 
> > @@ -31,6 +32,7 @@ if SND_ISA
> >  
> >  config SND_ADLIB
> >  	tristate "AdLib FM card"
> > +	depends on HAS_IOPORT
> >  	select SND_OPL3_LIB
> >  	help
> >  	  Say Y here to include support for AdLib FM cards.
> 
> ... this and lots of other similar changes become redundant, as they
> already depend on CONFIG_SND_ISA.
> 

Good point and semantically it makes sense too since ISA is closely
associated with I/O ports.

> > --- a/sound/pcmcia/Kconfig
> > +++ b/sound/pcmcia/Kconfig
> > @@ -13,6 +13,7 @@ if SND_PCMCIA && PCMCIA
> >  config SND_VXPOCKET
> >  	tristate "Digigram VXpocket"
> >  	select SND_VX_LIB
> > +	depends on HAS_IOPORT
> >  	help
> >  	  Say Y here to include support for Digigram VXpocket and
> >  	  VXpocket 440 soundcards.
> > @@ -22,6 +23,7 @@ config SND_VXPOCKET
> >  
> >  config SND_PDAUDIOCF
> >  	tristate "Sound Core PDAudioCF"
> > +	depends on HAS_IOPORT
> >  	select SND_PCM
> >  	help
> >  	  Say Y here to include support for Sound Core PDAudioCF
> 
> I guess it's easier to make CONFIG_SND_PCMCIA depending on
> CONFIG_HAS_IOPORT (like done for CONFIG_SND_ISA).
> 

In principle I think there could be a MMIO based PCMCIA sound card but
it appears there is none currently supported and I doubt someone adds
one so yeah that makes sense even if it isn't as clear cut as with
CONFIG_SND_ISA.

I've changed both vor v4. Thanks!
  

Patch

diff --git a/sound/drivers/Kconfig b/sound/drivers/Kconfig
index be3009746f3a..864991d8776d 100644
--- a/sound/drivers/Kconfig
+++ b/sound/drivers/Kconfig
@@ -128,6 +128,7 @@  config SND_VIRMIDI
 
 config SND_MTPAV
 	tristate "MOTU MidiTimePiece AV multiport MIDI"
+	depends on HAS_IOPORT
 	select SND_RAWMIDI
 	help
 	  To use a MOTU MidiTimePiece AV multiport MIDI adapter
@@ -152,6 +153,7 @@  config SND_MTS64
 
 config SND_SERIAL_U16550
 	tristate "UART16550 serial MIDI driver"
+	depends on HAS_IOPORT
 	select SND_RAWMIDI
 	help
 	  To include support for MIDI serial port interfaces, say Y here
@@ -185,6 +187,7 @@  config SND_SERIAL_GENERIC
 
 config SND_MPU401
 	tristate "Generic MPU-401 UART driver"
+	depends on HAS_IOPORT
 	select SND_MPU401_UART
 	help
 	  Say Y here to include support for MIDI ports compatible with
diff --git a/sound/isa/Kconfig b/sound/isa/Kconfig
index 6ffa48dd5983..c7cef1e656fa 100644
--- a/sound/isa/Kconfig
+++ b/sound/isa/Kconfig
@@ -23,6 +23,7 @@  menuconfig SND_ISA
 	bool "ISA sound devices"
 	depends on ISA || COMPILE_TEST
 	depends on ISA_DMA_API
+	depends on HAS_IOPORT
 	default y
 	help
 	  Support for sound devices connected via the ISA bus.
@@ -31,6 +32,7 @@  if SND_ISA
 
 config SND_ADLIB
 	tristate "AdLib FM card"
+	depends on HAS_IOPORT
 	select SND_OPL3_LIB
 	help
 	  Say Y here to include support for AdLib FM cards.
@@ -41,6 +43,7 @@  config SND_ADLIB
 config SND_AD1816A
 	tristate "Analog Devices SoundPort AD1816A"
 	depends on PNP
+	depends on HAS_IOPORT
 	select ISAPNP
 	select SND_OPL3_LIB
 	select SND_MPU401_UART
@@ -69,6 +72,7 @@  config SND_AD1848
 config SND_ALS100
 	tristate "Diamond Tech. DT-019x and Avance Logic ALSxxx"
 	depends on PNP
+	depends on HAS_IOPORT
 	select ISAPNP
 	select SND_OPL3_LIB
 	select SND_MPU401_UART
@@ -84,6 +88,7 @@  config SND_ALS100
 config SND_AZT1605
 	tristate "Aztech AZT1605 Driver"
 	depends on SND
+	depends on HAS_IOPORT
 	select SND_WSS_LIB
 	select SND_MPU401_UART
 	select SND_OPL3_LIB
@@ -97,6 +102,7 @@  config SND_AZT1605
 config SND_AZT2316
 	tristate "Aztech AZT2316 Driver"
 	depends on SND
+	depends on HAS_IOPORT
 	select SND_WSS_LIB
 	select SND_MPU401_UART
 	select SND_OPL3_LIB
@@ -110,6 +116,7 @@  config SND_AZT2316
 config SND_AZT2320
 	tristate "Aztech Systems AZT2320"
 	depends on PNP
+	depends on HAS_IOPORT
 	select ISAPNP
 	select SND_OPL3_LIB
 	select SND_MPU401_UART
@@ -123,6 +130,7 @@  config SND_AZT2320
 
 config SND_CMI8328
 	tristate "C-Media CMI8328"
+	depends on HAS_IOPORT
 	select SND_WSS_LIB
 	select SND_OPL3_LIB
 	select SND_MPU401_UART
@@ -135,6 +143,7 @@  config SND_CMI8328
 
 config SND_CMI8330
 	tristate "C-Media CMI8330"
+	depends on HAS_IOPORT
 	select SND_WSS_LIB
 	select SND_SB16_DSP
 	select SND_OPL3_LIB
@@ -148,6 +157,7 @@  config SND_CMI8330
 
 config SND_CS4231
 	tristate "Generic Cirrus Logic CS4231 driver"
+	depends on HAS_IOPORT
 	select SND_MPU401_UART
 	select SND_WSS_LIB
 	help
@@ -159,6 +169,7 @@  config SND_CS4231
 
 config SND_CS4236
 	tristate "Generic Cirrus Logic CS4232/CS4236+ driver"
+	depends on HAS_IOPORT
 	select SND_OPL3_LIB
 	select SND_MPU401_UART
 	select SND_WSS_LIB
@@ -172,6 +183,7 @@  config SND_CS4236
 
 config SND_ES1688
 	tristate "Generic ESS ES688/ES1688 and ES968 PnP driver"
+	depends on HAS_IOPORT
 	select SND_OPL3_LIB
 	select SND_MPU401_UART
 	select SND_PCM
@@ -184,6 +196,7 @@  config SND_ES1688
 
 config SND_ES18XX
 	tristate "Generic ESS ES18xx driver"
+	depends on HAS_IOPORT
 	select SND_OPL3_LIB
 	select SND_MPU401_UART
 	select SND_PCM
@@ -195,7 +208,7 @@  config SND_ES18XX
 
 config SND_SC6000
 	tristate "Gallant SC-6000/6600/7000 and Audio Excel DSP 16"
-	depends on HAS_IOPORT_MAP
+	depends on HAS_IOPORT_MAP && HAS_IOPORT
 	select SND_WSS_LIB
 	select SND_OPL3_LIB
 	select SND_MPU401_UART
@@ -223,6 +236,7 @@  config SND_GUSCLASSIC
 
 config SND_GUSEXTREME
 	tristate "Gravis UltraSound Extreme"
+	depends on HAS_IOPORT
 	select SND_OPL3_LIB
 	select SND_MPU401_UART
 	select SND_PCM
@@ -273,6 +287,7 @@  config SND_INTERWAVE_STB
 
 config SND_JAZZ16
 	tristate "Media Vision Jazz16 card and compatibles"
+	depends on HAS_IOPORT
 	select SND_OPL3_LIB
 	select SND_MPU401_UART
 	select SND_SB8_DSP
@@ -289,6 +304,7 @@  config SND_JAZZ16
 
 config SND_OPL3SA2
 	tristate "Yamaha OPL3-SA2/SA3"
+	depends on HAS_IOPORT
 	select SND_OPL3_LIB
 	select SND_MPU401_UART
 	select SND_WSS_LIB
@@ -301,6 +317,7 @@  config SND_OPL3SA2
 
 config SND_OPTI92X_AD1848
 	tristate "OPTi 82C92x - AD1848"
+	depends on HAS_IOPORT
 	select SND_OPL3_LIB
 	select SND_OPL4_LIB
 	select SND_MPU401_UART
@@ -314,6 +331,7 @@  config SND_OPTI92X_AD1848
 
 config SND_OPTI92X_CS4231
 	tristate "OPTi 82C92x - CS4231"
+	depends on HAS_IOPORT
 	select SND_OPL3_LIB
 	select SND_OPL4_LIB
 	select SND_MPU401_UART
@@ -327,6 +345,7 @@  config SND_OPTI92X_CS4231
 
 config SND_OPTI93X
 	tristate "OPTi 82C93x"
+	depends on HAS_IOPORT
 	select SND_OPL3_LIB
 	select SND_MPU401_UART
 	select SND_WSS_LIB
@@ -339,6 +358,7 @@  config SND_OPTI93X
 
 config SND_MIRO
 	tristate "Miro miroSOUND PCM1pro/PCM12/PCM20radio driver"
+	depends on HAS_IOPORT
 	select SND_OPL4_LIB
 	select SND_WSS_LIB
 	select SND_MPU401_UART
@@ -352,6 +372,7 @@  config SND_MIRO
 
 config SND_SB8
 	tristate "Sound Blaster 1.0/2.0/Pro (8-bit)"
+	depends on HAS_IOPORT
 	select SND_OPL3_LIB
 	select SND_RAWMIDI
 	select SND_SB8_DSP
@@ -364,6 +385,7 @@  config SND_SB8
 
 config SND_SB16
 	tristate "Sound Blaster 16 (PnP)"
+	depends on HAS_IOPORT
 	select SND_OPL3_LIB
 	select SND_MPU401_UART
 	select SND_SB16_DSP
@@ -376,6 +398,7 @@  config SND_SB16
 
 config SND_SBAWE
 	tristate "Sound Blaster AWE (32,64) (PnP)"
+	depends on HAS_IOPORT
 	select SND_OPL3_LIB
 	select SND_MPU401_UART
 	select SND_SB16_DSP
@@ -405,6 +428,7 @@  config SND_SB16_CSP
 
 config SND_SSCAPE
 	tristate "Ensoniq SoundScape driver"
+	depends on HAS_IOPORT
 	select SND_MPU401_UART
 	select SND_WSS_LIB
 	select FW_LOADER
@@ -426,6 +450,7 @@  config SND_SSCAPE
 
 config SND_WAVEFRONT
 	tristate "Turtle Beach Maui,Tropez,Tropez+ (Wavefront)"
+	depends on HAS_IOPORT
 	select FW_LOADER
 	select SND_OPL3_LIB
 	select SND_MPU401_UART
@@ -439,7 +464,7 @@  config SND_WAVEFRONT
 
 config SND_MSND_PINNACLE
 	tristate "Turtle Beach MultiSound Pinnacle/Fiji driver"
-	depends on X86
+	depends on X86 && HAS_IOPORT
 	select FW_LOADER
 	select SND_MPU401_UART
 	select SND_PCM
@@ -452,7 +477,7 @@  config SND_MSND_PINNACLE
 
 config SND_MSND_CLASSIC
 	tristate "Support for Turtle Beach MultiSound Classic, Tahiti, Monterey"
-	depends on X86
+	depends on X86 && HAS_IOPORT
 	select FW_LOADER
 	select SND_MPU401_UART
 	select SND_PCM
diff --git a/sound/pci/Kconfig b/sound/pci/Kconfig
index a55836225401..e8780bade58f 100644
--- a/sound/pci/Kconfig
+++ b/sound/pci/Kconfig
@@ -26,7 +26,7 @@  config SND_ALS300
 	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+
 
@@ -36,6 +36,7 @@  config SND_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
@@ -51,7 +52,7 @@  config SND_ALI5451
 	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
@@ -96,6 +97,7 @@  config SND_ATIIXP_MODEM
 
 config SND_AU8810
 	tristate "Aureal Advantage"
+	depends on HAS_IOPORT
 	select SND_MPU401_UART
 	select SND_AC97_CODEC
 	help
@@ -110,6 +112,7 @@  config SND_AU8810
 
 config SND_AU8820
 	tristate "Aureal Vortex"
+	depends on HAS_IOPORT
 	select SND_MPU401_UART
 	select SND_AC97_CODEC
 	help
@@ -123,6 +126,7 @@  config SND_AU8820
 
 config SND_AU8830
 	tristate "Aureal Vortex 2"
+	depends on HAS_IOPORT
 	select SND_MPU401_UART
 	select SND_AC97_CODEC
 	help
@@ -157,7 +161,7 @@  config SND_AZT3328
 	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.
@@ -193,6 +197,7 @@  config SND_BT87X_OVERCLOCK
 
 config SND_CA0106
 	tristate "SB Audigy LS / Live 24bit"
+	depends on HAS_IOPORT
 	select SND_AC97_CODEC
 	select SND_RAWMIDI
 	select SND_VMASTER
@@ -205,6 +210,7 @@  config SND_CA0106
 
 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
@@ -221,6 +227,7 @@  config SND_OXYGEN_LIB
 
 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
@@ -246,6 +253,7 @@  config SND_OXYGEN
 
 config SND_CS4281
 	tristate "Cirrus Logic (Sound Fusion) CS4281"
+	depends on HAS_IOPORT
 	select SND_OPL3_LIB
 	select SND_RAWMIDI
 	select SND_AC97_CODEC
@@ -257,6 +265,7 @@  config SND_CS4281
 
 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
@@ -290,6 +299,7 @@  config SND_CS5530
 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
@@ -307,6 +317,7 @@  config SND_CS5535AUDIO
 
 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
@@ -468,7 +479,7 @@  config SND_EMU10K1
 	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 (partially supported) soundcards.
@@ -491,7 +502,7 @@  config SND_EMU10K1X
 	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!.
@@ -501,6 +512,7 @@  config SND_EMU10K1X
 
 config SND_ENS1370
 	tristate "(Creative) Ensoniq AudioPCI 1370"
+	depends on HAS_IOPORT
 	select SND_RAWMIDI
 	select SND_PCM
 	help
@@ -511,6 +523,7 @@  config SND_ENS1370
 
 config SND_ENS1371
 	tristate "(Creative) Ensoniq AudioPCI 1371/1373"
+	depends on HAS_IOPORT
 	select SND_RAWMIDI
 	select SND_AC97_CODEC
 	help
@@ -525,7 +538,7 @@  config SND_ES1938
 	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.
@@ -537,7 +550,7 @@  config SND_ES1968
 	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.
@@ -569,6 +582,7 @@  config SND_ES1968_RADIO
 
 config SND_FM801
 	tristate "ForteMedia FM801"
+	depends on HAS_IOPORT
 	select SND_OPL3_LIB
 	select SND_MPU401_UART
 	select SND_AC97_CODEC
@@ -624,7 +638,7 @@  config SND_ICE1712
 	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.
@@ -640,6 +654,7 @@  config SND_ICE1712
 
 config SND_ICE1724
 	tristate "ICE/VT1724/1720 (Envy24HT/PT)"
+	depends on HAS_IOPORT
 	select SND_RAWMIDI
 	select SND_AC97_CODEC
 	select SND_VMASTER
@@ -712,7 +727,7 @@  config SND_LX6464ES
 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.
@@ -753,6 +768,7 @@  config SND_NM256
 
 config SND_PCXHR
 	tristate "Digigram PCXHR"
+	depends on HAS_IOPORT
 	select FW_LOADER
 	select SND_PCM
 	select SND_HWDEP
@@ -764,6 +780,7 @@  config SND_PCXHR
 
 config SND_RIPTIDE
 	tristate "Conexant Riptide"
+	depends on HAS_IOPORT
 	select FW_LOADER
 	select SND_OPL3_LIB
 	select SND_MPU401_UART
@@ -808,6 +825,7 @@  config SND_RME9652
 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
@@ -830,7 +848,7 @@  config SND_SONICVIBES
 	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.
@@ -842,7 +860,7 @@  config SND_TRIDENT
 	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.
@@ -852,6 +870,7 @@  config SND_TRIDENT
 
 config SND_VIA82XX
 	tristate "VIA 82C686A/B, 8233/8235 AC97 Controller"
+	depends on HAS_IOPORT
 	select SND_MPU401_UART
 	select SND_AC97_CODEC
 	help
@@ -863,6 +882,7 @@  config SND_VIA82XX
 
 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
@@ -873,6 +893,7 @@  config SND_VIA82XX_MODEM
 
 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
@@ -889,6 +910,7 @@  config SND_VIRTUOSO
 
 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.
@@ -898,6 +920,7 @@  config SND_VX222
 
 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
diff --git a/sound/pcmcia/Kconfig b/sound/pcmcia/Kconfig
index 10291c43cb18..b133ad423f84 100644
--- a/sound/pcmcia/Kconfig
+++ b/sound/pcmcia/Kconfig
@@ -13,6 +13,7 @@  if SND_PCMCIA && PCMCIA
 config SND_VXPOCKET
 	tristate "Digigram VXpocket"
 	select SND_VX_LIB
+	depends on HAS_IOPORT
 	help
 	  Say Y here to include support for Digigram VXpocket and
 	  VXpocket 440 soundcards.
@@ -22,6 +23,7 @@  config SND_VXPOCKET
 
 config SND_PDAUDIOCF
 	tristate "Sound Core PDAudioCF"
+	depends on HAS_IOPORT
 	select SND_PCM
 	help
 	  Say Y here to include support for Sound Core PDAudioCF