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:
tristate "miroSOUND PCM20 radio"
depends on ISA && VIDEO_V4L2 && SND
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
> 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:
bool "ISA sound devices"
depends on ISA
tristate "AdLib FM card"
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
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.