At Fri, 24 Jun 2011 12:16:08 +0100, Ralf Baechle wrote: > > 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. Ah, yeah, I see now. > > 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. Yes, this will be good. > 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. Any serious reason that snd-adlib must be built even with ISA=n? As the device is really present only for ISA, it doesn't make much sense to build this even though the driver itself doesn't need ISA_DMA_API. thanks, Takashi