@@ -1,10 +1,12 @@
# SPDX-License-Identifier: GPL-2.0-only
config SND_MPU401_UART
tristate
+ depends on HAS_IOPORT
select SND_RAWMIDI
config SND_OPL3_LIB
tristate
+ depends on HAS_IOPPORT
select SND_TIMER
select SND_HWDEP
select SND_SEQ_DEVICE if SND_SEQUENCER != n
@@ -128,6 +130,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 +155,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
@@ -167,6 +171,7 @@ config SND_SERIAL_U16550
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
@@ -31,7 +31,7 @@ if SND_ISA
config SND_ADLIB
tristate "AdLib FM card"
- select SND_OPL3_LIB
+ depends on SND_OPL3_LIB
help
Say Y here to include support for AdLib FM cards.
@@ -42,7 +42,7 @@ config SND_AD1816A
tristate "Analog Devices SoundPort AD1816A"
depends on PNP
select ISAPNP
- select SND_OPL3_LIB
+ depends on SND_OPL3_LIB
select SND_MPU401_UART
select SND_PCM
select SND_TIMER
@@ -70,7 +70,7 @@ config SND_ALS100
tristate "Diamond Tech. DT-019x and Avance Logic ALSxxx"
depends on PNP
select ISAPNP
- select SND_OPL3_LIB
+ depends on SND_OPL3_LIB
select SND_MPU401_UART
select SND_SB16_DSP
help
@@ -86,7 +86,7 @@ config SND_AZT1605
depends on SND
select SND_WSS_LIB
select SND_MPU401_UART
- select SND_OPL3_LIB
+ depends on SND_OPL3_LIB
help
Say Y here to include support for Aztech Sound Galaxy cards
based on the AZT1605 chipset.
@@ -99,7 +99,7 @@ config SND_AZT2316
depends on SND
select SND_WSS_LIB
select SND_MPU401_UART
- select SND_OPL3_LIB
+ depends on SND_OPL3_LIB
help
Say Y here to include support for Aztech Sound Galaxy cards
based on the AZT2316 chipset.
@@ -111,7 +111,7 @@ config SND_AZT2320
tristate "Aztech Systems AZT2320"
depends on PNP
select ISAPNP
- select SND_OPL3_LIB
+ depends on SND_OPL3_LIB
select SND_MPU401_UART
select SND_WSS_LIB
help
@@ -124,7 +124,7 @@ config SND_AZT2320
config SND_CMI8328
tristate "C-Media CMI8328"
select SND_WSS_LIB
- select SND_OPL3_LIB
+ depends on SND_OPL3_LIB
select SND_MPU401_UART
help
Say Y here to include support for soundcards based on the
@@ -137,7 +137,7 @@ config SND_CMI8330
tristate "C-Media CMI8330"
select SND_WSS_LIB
select SND_SB16_DSP
- select SND_OPL3_LIB
+ depends on SND_OPL3_LIB
select SND_MPU401_UART
help
Say Y here to include support for soundcards based on the
@@ -159,7 +159,7 @@ config SND_CS4231
config SND_CS4236
tristate "Generic Cirrus Logic CS4232/CS4236+ driver"
- select SND_OPL3_LIB
+ depends on SND_OPL3_LIB
select SND_MPU401_UART
select SND_WSS_LIB
help
@@ -172,7 +172,7 @@ config SND_CS4236
config SND_ES1688
tristate "Generic ESS ES688/ES1688 and ES968 PnP driver"
- select SND_OPL3_LIB
+ depends on SND_OPL3_LIB
select SND_MPU401_UART
select SND_PCM
help
@@ -184,7 +184,7 @@ config SND_ES1688
config SND_ES18XX
tristate "Generic ESS ES18xx driver"
- select SND_OPL3_LIB
+ depends on SND_OPL3_LIB
select SND_MPU401_UART
select SND_PCM
help
@@ -197,7 +197,7 @@ config SND_SC6000
tristate "Gallant SC-6000/6600/7000 and Audio Excel DSP 16"
depends on HAS_IOPORT_MAP
select SND_WSS_LIB
- select SND_OPL3_LIB
+ depends on SND_OPL3_LIB
select SND_MPU401_UART
help
Say Y here to include support for Gallant SC-6000, SC-6600, SC-7000
@@ -223,7 +223,7 @@ config SND_GUSCLASSIC
config SND_GUSEXTREME
tristate "Gravis UltraSound Extreme"
- select SND_OPL3_LIB
+ depends on SND_OPL3_LIB
select SND_MPU401_UART
select SND_PCM
select SND_TIMER
@@ -273,7 +273,7 @@ config SND_INTERWAVE_STB
config SND_JAZZ16
tristate "Media Vision Jazz16 card and compatibles"
- select SND_OPL3_LIB
+ depends on SND_OPL3_LIB
select SND_MPU401_UART
select SND_SB8_DSP
help
@@ -289,7 +289,7 @@ config SND_JAZZ16
config SND_OPL3SA2
tristate "Yamaha OPL3-SA2/SA3"
- select SND_OPL3_LIB
+ depends on SND_OPL3_LIB
select SND_MPU401_UART
select SND_WSS_LIB
help
@@ -301,7 +301,7 @@ config SND_OPL3SA2
config SND_OPTI92X_AD1848
tristate "OPTi 82C92x - AD1848"
- select SND_OPL3_LIB
+ depends on SND_OPL3_LIB
select SND_OPL4_LIB
select SND_MPU401_UART
select SND_WSS_LIB
@@ -314,7 +314,7 @@ config SND_OPTI92X_AD1848
config SND_OPTI92X_CS4231
tristate "OPTi 82C92x - CS4231"
- select SND_OPL3_LIB
+ depends on SND_OPL3_LIB
select SND_OPL4_LIB
select SND_MPU401_UART
select SND_WSS_LIB
@@ -327,7 +327,7 @@ config SND_OPTI92X_CS4231
config SND_OPTI93X
tristate "OPTi 82C93x"
- select SND_OPL3_LIB
+ depends on SND_OPL3_LIB
select SND_MPU401_UART
select SND_WSS_LIB
help
@@ -352,7 +352,7 @@ config SND_MIRO
config SND_SB8
tristate "Sound Blaster 1.0/2.0/Pro (8-bit)"
- select SND_OPL3_LIB
+ depends on SND_OPL3_LIB
select SND_RAWMIDI
select SND_SB8_DSP
help
@@ -364,7 +364,7 @@ config SND_SB8
config SND_SB16
tristate "Sound Blaster 16 (PnP)"
- select SND_OPL3_LIB
+ depends on SND_OPL3_LIB
select SND_MPU401_UART
select SND_SB16_DSP
help
@@ -376,7 +376,7 @@ config SND_SB16
config SND_SBAWE
tristate "Sound Blaster AWE (32,64) (PnP)"
- select SND_OPL3_LIB
+ depends on SND_OPL3_LIB
select SND_MPU401_UART
select SND_SB16_DSP
select SND_SEQ_DEVICE if SND_SEQUENCER != n
@@ -427,7 +427,7 @@ config SND_SSCAPE
config SND_WAVEFRONT
tristate "Turtle Beach Maui,Tropez,Tropez+ (Wavefront)"
select FW_LOADER
- select SND_OPL3_LIB
+ depends on SND_OPL3_LIB
select SND_MPU401_UART
select SND_WSS_LIB
help
@@ -25,8 +25,8 @@ config SND_ALS300
tristate "Avance Logic ALS300/ALS300+"
select SND_PCM
select SND_AC97_CODEC
- select SND_OPL3_LIB
- depends on ZONE_DMA
+ depends on SND_OPL3_LIB
+ depends on ZONE_DMA && HAS_IOPORT
help
Say 'Y' or 'M' to include support for Avance Logic ALS300/ALS300+
@@ -36,7 +36,7 @@ config SND_ALS300
config SND_ALS4000
tristate "Avance Logic ALS4000"
depends on ISA_DMA_API
- select SND_OPL3_LIB
+ depends on SND_OPL3_LIB
select SND_MPU401_UART
select SND_PCM
select SND_SB_COMMON
@@ -51,7 +51,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 +96,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 +111,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 +125,7 @@ config SND_AU8820
config SND_AU8830
tristate "Aureal Vortex 2"
+ depends on HAS_IOPORT
select SND_MPU401_UART
select SND_AC97_CODEC
help
@@ -151,13 +154,13 @@ config SND_AW2
config SND_AZT3328
tristate "Aztech AZF3328 / PCI168"
- select SND_OPL3_LIB
+ depends on SND_OPL3_LIB
select SND_MPU401_UART
select SND_PCM
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 +196,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,7 +209,8 @@ config SND_CA0106
config SND_CMIPCI
tristate "C-Media 8338, 8738, 8768, 8770"
- select SND_OPL3_LIB
+ depends on HAS_IOPORT
+ depends on SND_OPL3_LIB
select SND_MPU401_UART
select SND_PCM
help
@@ -221,6 +226,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,7 +252,8 @@ config SND_OXYGEN
config SND_CS4281
tristate "Cirrus Logic (Sound Fusion) CS4281"
- select SND_OPL3_LIB
+ depends on HAS_IOPORT
+ depends on SND_OPL3_LIB
select SND_RAWMIDI
select SND_AC97_CODEC
help
@@ -257,6 +264,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 +298,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 +316,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 +478,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 +501,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 +511,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 +522,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
@@ -522,10 +534,10 @@ config SND_ENS1371
config SND_ES1938
tristate "ESS ES1938/1946/1969 (Solo-1)"
- select SND_OPL3_LIB
+ depends on 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 +549,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,7 +581,8 @@ config SND_ES1968_RADIO
config SND_FM801
tristate "ForteMedia FM801"
- select SND_OPL3_LIB
+ depends on HAS_IOPORT
+ depends on SND_OPL3_LIB
select SND_MPU401_UART
select SND_AC97_CODEC
help
@@ -624,7 +637,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 +653,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 +726,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 +767,7 @@ config SND_NM256
config SND_PCXHR
tristate "Digigram PCXHR"
+ depends on HAS_IOPORT
select FW_LOADER
select SND_PCM
select SND_HWDEP
@@ -764,8 +779,9 @@ config SND_PCXHR
config SND_RIPTIDE
tristate "Conexant Riptide"
+ depends on HAS_IOPORT
select FW_LOADER
- select SND_OPL3_LIB
+ depends on SND_OPL3_LIB
select SND_MPU401_UART
select SND_AC97_CODEC
help
@@ -808,6 +824,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
@@ -827,10 +844,10 @@ config SND_SIS7019
config SND_SONICVIBES
tristate "S3 SonicVibes"
- select SND_OPL3_LIB
+ depends on 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 +859,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 +869,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 +881,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 +892,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 +909,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,7 +919,8 @@ config SND_VX222
config SND_YMFPCI
tristate "Yamaha YMF724/740/744/754"
- select SND_OPL3_LIB
+ depends on HAS_IOPORT
+ depends on SND_OPL3_LIB
select SND_MPU401_UART
select SND_AC97_CODEC
select SND_TIMER
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. For SND_OPL3_LIB this adds its first dependency so drivers currently selecting it unconditionally need to depend on it instead. Co-developed-by: Arnd Bergmann <arnd@kernel.org> Signed-off-by: Niklas Schnelle <schnelle@linux.ibm.com> --- sound/drivers/Kconfig | 5 ++++ sound/isa/Kconfig | 44 ++++++++++++++--------------- sound/pci/Kconfig | 64 +++++++++++++++++++++++++++++-------------- 3 files changed, 70 insertions(+), 43 deletions(-)