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 <[email protected]>
Signed-off-by: Niklas Schnelle <[email protected]>
---
sound/drivers/Kconfig | 5 ++++
sound/isa/Kconfig | 44 ++++++++++++++---------------
sound/pci/Kconfig | 64 +++++++++++++++++++++++++++++--------------
3 files changed, 70 insertions(+), 43 deletions(-)
diff --git a/sound/drivers/Kconfig b/sound/drivers/Kconfig
index ca4cdf666f82..4d250e619786 100644
--- a/sound/drivers/Kconfig
+++ b/sound/drivers/Kconfig
@@ -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
diff --git a/sound/isa/Kconfig b/sound/isa/Kconfig
index 570b88e0b201..072265429f39 100644
--- a/sound/isa/Kconfig
+++ b/sound/isa/Kconfig
@@ -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
diff --git a/sound/pci/Kconfig b/sound/pci/Kconfig
index a55836225401..c9fd973a7893 100644
--- a/sound/pci/Kconfig
+++ b/sound/pci/Kconfig
@@ -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
--
2.32.0
On Mon, May 9, 2022 at 10:53 AM Takashi Iwai <[email protected]> wrote:
> On Fri, 29 Apr 2022 15:50:54 +0200, Niklas Schnelle wrote:
> >
> > config SND_OPL3_LIB
> > tristate
> > + depends on HAS_IOPPORT
> > select SND_TIMER
> > select SND_HWDEP
> > select SND_SEQ_DEVICE if SND_SEQUENCER != n
>
> Both of those are the items to be reverse-selected, so cannot fulfill
> the dependency with depends-on. That is, the items that select those
> should have the dependency on HAS_IOPORT instead.
>
> That is, a change like below:
>
> > --- a/sound/isa/Kconfig
> > +++ b/sound/isa/Kconfig
> > @@ -31,7 +31,7 @@ if SND_ISA
> >
> > config SND_ADLIB
> > tristate "AdLib FM card"
> > - select SND_OPL3_LIB
> > + depends on SND_OPL3_LIB
>
> ... won't work. CONFIG_SND_OPL3_LIB is not enabled by itself but only
> to be selected.
Right, I missed that in my review. Not sure if this was a mistake in
my original patch or if it started in a later version.
I think for the ISA drivers, I would still add 'depends on HAS_IOPORT'
to both CONFIG_SND_ISA and CONFIG_SND_OPL3_LIB if only to
make it easier to understand, even though CONFIG_ISA requires
HAS_IOPORT already, and CONFIG_SND_OPL3_LIB cannot be
selected by itself.
For the PCI drivers, I think we need to add the same dependency
on anything that either selects SND_OPL3_LIB or calls inb()/outb()
directly.
Arnd
On Fri, 29 Apr 2022 15:50:54 +0200,
Niklas Schnelle wrote:
>
> 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 <[email protected]>
> Signed-off-by: Niklas Schnelle <[email protected]>
> ---
> sound/drivers/Kconfig | 5 ++++
> sound/isa/Kconfig | 44 ++++++++++++++---------------
> sound/pci/Kconfig | 64 +++++++++++++++++++++++++++++--------------
> 3 files changed, 70 insertions(+), 43 deletions(-)
>
> diff --git a/sound/drivers/Kconfig b/sound/drivers/Kconfig
> index ca4cdf666f82..4d250e619786 100644
> --- a/sound/drivers/Kconfig
> +++ b/sound/drivers/Kconfig
> @@ -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
Both of those are the items to be reverse-selected, so cannot fulfill
the dependency with depends-on. That is, the items that select those
should have the dependency on HAS_IOPORT instead.
That is, a change like below:
> --- a/sound/isa/Kconfig
> +++ b/sound/isa/Kconfig
> @@ -31,7 +31,7 @@ if SND_ISA
>
> config SND_ADLIB
> tristate "AdLib FM card"
> - select SND_OPL3_LIB
> + depends on SND_OPL3_LIB
... won't work. CONFIG_SND_OPL3_LIB is not enabled by itself but only
to be selected.
thanks,
Takashi
On Mon, 09 May 2022 11:20:33 +0200,
Arnd Bergmann wrote:
>
> On Mon, May 9, 2022 at 10:53 AM Takashi Iwai <[email protected]> wrote:
> > On Fri, 29 Apr 2022 15:50:54 +0200, Niklas Schnelle wrote:
>
> > >
> > > config SND_OPL3_LIB
> > > tristate
> > > + depends on HAS_IOPPORT
> > > select SND_TIMER
> > > select SND_HWDEP
> > > select SND_SEQ_DEVICE if SND_SEQUENCER != n
> >
> > Both of those are the items to be reverse-selected, so cannot fulfill
> > the dependency with depends-on. That is, the items that select those
> > should have the dependency on HAS_IOPORT instead.
> >
> > That is, a change like below:
> >
> > > --- a/sound/isa/Kconfig
> > > +++ b/sound/isa/Kconfig
> > > @@ -31,7 +31,7 @@ if SND_ISA
> > >
> > > config SND_ADLIB
> > > tristate "AdLib FM card"
> > > - select SND_OPL3_LIB
> > > + depends on SND_OPL3_LIB
> >
> > ... won't work. CONFIG_SND_OPL3_LIB is not enabled by itself but only
> > to be selected.
>
> Right, I missed that in my review. Not sure if this was a mistake in
> my original patch or if it started in a later version.
>
> I think for the ISA drivers, I would still add 'depends on HAS_IOPORT'
> to both CONFIG_SND_ISA and CONFIG_SND_OPL3_LIB if only to
> make it easier to understand, even though CONFIG_ISA requires
> HAS_IOPORT already, and CONFIG_SND_OPL3_LIB cannot be
> selected by itself.
Yes, that makes sense.
> For the PCI drivers, I think we need to add the same dependency
> on anything that either selects SND_OPL3_LIB or calls inb()/outb()
> directly.
Agreed.
thanks,
Takashi
On Mon, 2022-05-09 at 12:07 +0200, Takashi Iwai wrote:
> On Mon, 09 May 2022 11:20:33 +0200,
> Arnd Bergmann wrote:
> > On Mon, May 9, 2022 at 10:53 AM Takashi Iwai <[email protected]> wrote:
> > > On Fri, 29 Apr 2022 15:50:54 +0200, Niklas Schnelle wrote:
> > > > config SND_OPL3_LIB
> > > > tristate
> > > > + depends on HAS_IOPPORT
> > > > select SND_TIMER
> > > > select SND_HWDEP
> > > > select SND_SEQ_DEVICE if SND_SEQUENCER != n
> > >
> > > Both of those are the items to be reverse-selected, so cannot fulfill
> > > the dependency with depends-on. That is, the items that select those
> > > should have the dependency on HAS_IOPORT instead.
> > >
> > > That is, a change like below:
> > >
> > > > --- a/sound/isa/Kconfig
> > > > +++ b/sound/isa/Kconfig
> > > > @@ -31,7 +31,7 @@ if SND_ISA
> > > >
> > > > config SND_ADLIB
> > > > tristate "AdLib FM card"
> > > > - select SND_OPL3_LIB
> > > > + depends on SND_OPL3_LIB
> > >
> > > ... won't work. CONFIG_SND_OPL3_LIB is not enabled by itself but only
> > > to be selected.
> >
> > Right, I missed that in my review. Not sure if this was a mistake in
> > my original patch or if it started in a later version.
I added this part recently I think even after your review so the fault
is entirely mine.
> >
> > I think for the ISA drivers, I would still add 'depends on HAS_IOPORT'
> > to both CONFIG_SND_ISA and CONFIG_SND_OPL3_LIB if only to
> > make it easier to understand, even though CONFIG_ISA requires
> > HAS_IOPORT already, and CONFIG_SND_OPL3_LIB cannot be
> > selected by itself.
>
> Yes, that makes sense.
Good, incorporating this now and it looks like this works.
>
> > For the PCI drivers, I think we need to add the same dependency
> > on anything that either selects SND_OPL3_LIB or calls inb()/outb()
> > directly.
>
> Agreed.
Same as above and thanks for spotting my mistake.