All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ralf Baechle <ralf@linux-mips.org>
To: Takashi Iwai <tiwai@suse.de>
Cc: linux-mips@linux-mips.org, alsa-devel@alsa-project.org,
	linux-kernel@vger.kernel.org,
	Mauro Carvalho Chehab <mchehab@infradead.org>,
	linux-media@vger.kernel.org
Subject: Re: [PATCH] SOUND: Fix non-ISA_DMA_API build failure
Date: Fri, 24 Jun 2011 12:16:08 +0100	[thread overview]
Message-ID: <20110624111608.GA6327@linux-mips.org> (raw)
In-Reply-To: <s5hzkl7zlcq.wl%tiwai@suse.de>

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

WARNING: multiple messages have this Message-ID (diff)
From: Ralf Baechle <ralf@linux-mips.org>
To: Takashi Iwai <tiwai@suse.de>
Cc: Mauro Carvalho Chehab <mchehab@infradead.org>,
	Jaroslav Kysela <perex@perex.cz>,
	linux-media@vger.kernel.org, linux-kernel@vger.kernel.org,
	alsa-devel@alsa-project.org, linux-mips@linux-mips.org
Subject: Re: [PATCH] SOUND: Fix non-ISA_DMA_API build failure
Date: Fri, 24 Jun 2011 12:16:08 +0100	[thread overview]
Message-ID: <20110624111608.GA6327@linux-mips.org> (raw)
In-Reply-To: <s5hzkl7zlcq.wl%tiwai@suse.de>

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

  reply	other threads:[~2011-06-24 11:16 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-23 14:47 [PATCH] SOUND: Fix non-ISA_DMA_API build failure Ralf Baechle
2011-06-23 14:47 ` Ralf Baechle
2011-06-24  8:26 ` Takashi Iwai
2011-06-24 11:16   ` Ralf Baechle [this message]
2011-06-24 11:16     ` Ralf Baechle
2011-06-24 11:35     ` Mauro Carvalho Chehab
2011-06-24 11:35       ` Mauro Carvalho Chehab
2011-06-24 12:09       ` Ralf Baechle
2011-06-24 12:09         ` Ralf Baechle
2011-06-24 12:22     ` Takashi Iwai
2011-06-24 12:22       ` Takashi Iwai
2011-06-24 13:08       ` Ralf Baechle
2011-06-24 13:08         ` Ralf Baechle
2011-06-24 13:14         ` Takashi Iwai
2011-06-24 13:14           ` Takashi Iwai
2011-06-24 13:19 ` Arnd Bergmann
2011-06-24 13:36   ` Ralf Baechle
2011-06-24 13:36     ` Ralf Baechle

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20110624111608.GA6327@linux-mips.org \
    --to=ralf@linux-mips.org \
    --cc=alsa-devel@alsa-project.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-mips@linux-mips.org \
    --cc=mchehab@infradead.org \
    --cc=tiwai@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.