[alsa-devel] [PATCH] ASoC: dmaengine: Correct Makefile when sound is built as module

Mark Brown broonie at opensource.wolfsonmicro.com
Wed Oct 10 03:48:35 CEST 2012


On Tue, Oct 09, 2012 at 03:16:15PM +0200, Péter Ujfalusi wrote:
> On 10/09/2012 11:08 AM, Mark Brown wrote:

> > What makes you believe that this is due to the code not being part of
> > the core module?

> the linker tells me.

No it doesn't.

> Without this patch with mainline kernel from today (I used tegra to see if it
> happens there as well):

> [sound/soc/tegra/snd-soc-tegra-pcm.ko] undefined!
> ERROR: "snd_dmaengine_pcm_pointer" [sound/soc/tegra/snd-soc-tegra-pcm.ko]
> undefined!

> I guess it was due to the Kconfig/Makefile related to soc-dmaengine:

All the above is telling you is that if you make this change the error
goes away.  It doesn't explain what the problem is or why this change
fixes it.

> config SND_SOC_DMAENGINE_PCM
> 	bool

> snd-soc-dmaengine-pcm-objs := soc-dmaengine-pcm.o
> obj-$(CONFIG_SND_SOC_DMAENGINE_PCM) += snd-soc-dmaengine-pcm.o

> My guess is that in this way the soc-dmaengine-pcm.o would want itself to be
> built in to the kernel but since the sound is in modules there is no place to
> link this part of the code.
> If I change the Kconfig from bool to tristate it will build

Indeed, so this is getting warmer.  The problem is that the way Kconfig
is set up is causing CONFIG_SND_SOC_DMAENGINE_PCM to come out as
something that doesn't get built as it's a bool selected by a module and
as you say one fix here is to make the dmaengine code a module by itself.

> snd-soc-dmaengine-pcm.ko but since the soc-dmaengine-pcm.c does not have
> module_init it is not really going to load.
> I might be wrong.

No, why would module_init() have anything to do with this?  Is there
something that needs to be run at startup for soc-dmaengine?


More information about the Alsa-devel mailing list