On Fri, Jun 24, 2011 at 10:26:13AM +0200, Takashi Iwai wrote:
Hrm... I still don't understand why ES18XX or others were selected at the first place. Isn't it covered by the conditional in sound/isa/Kconfig like below?
================================================================ menuconfig SND_ISA bool "ISA sound devices" depends on ISA && ISA_DMA_API ... if SND_ISA ... config SND_ES18XX tristate "Generic ESS ES18xx driver" ... endif # SND_ISA ================================================================
Isn't SND_ISA=n in your case although ISA_DMA_API=n?
The answer is hidden in this Kconfig warning:
warning: (RADIO_MIROPCM20) selects SND_ISA which has unmet direct dependencies (SOUND && !M68K && SND && ISA && ISA_DMA_API)
This is due to the following in drivers/media/radio/Kconfig:
config RADIO_MIROPCM20 tristate "miroSOUND PCM20 radio" depends on ISA && VIDEO_V4L2 && SND select SND_ISA select SND_MIRO
So SND_ISA gets forced on even though the dependency on ISA_DMA_API is not fulfilled. That's solved by adding the dependency on ISA_DMA_API to RADIO_MIROPCM20.
Also, adlib driver is really only for ISA, so I see no big reason to allow this built for non-ISA.
With the patch applied:
[...] menuconfig SND_ISA bool "ISA sound devices" depends on ISA [...]
if SND_ISA
config SND_ADLIB tristate "AdLib FM card" select SND_OPL3_LIB [...]
So the Adlib driver will still only be built with ISA enabled. The only thing that makes the Adlib driver different from all the others in the ifdef SND_ISA ... endif bracket is that it does not directly or indirectly use the ISA DMA API and that's in the end the reason why sound/isa/Kconfig needs to be changed.
I originally approach this a different way but now that I'm explaining the details I notice that it probably makes sense to split this patch into two:
o The drivers/media/radio/Kconfig part should be applied for 3.0 and maybe -stable. o The sound/isa/Kconfig part is basically only fixing the dependency for the Adlib driver allowing it to be built on non-ISA_DMA_API system and is material for the next release after 3.0.
If you agree I'm going to repost the patch with aproprite log messages.
Ralf