[alsa-devel] writing an alsa driver
Michele Curti
michele.curti at gmail.com
Thu Jun 18 20:47:40 CEST 2015
On Thu, Jun 18, 2015 at 04:44:51PM +0530, Vinod Koul wrote:
> On Wed, Jun 17, 2015 at 11:34:10PM +0200, Michele Curti wrote:
> > On Wed, Jun 17, 2015 at 10:16:15AM +0100, Liam Girdwood wrote:
> > > On Tue, 2015-06-16 at 22:50 +0200, Michele Curti wrote:
> > > > A note, without enabling the config option SND_SOC_INTEL_SST the driver
> > > > will not compile/install but it seems strange because when doing a
> > > > menuconfig the machine driver option is available even if the
> > > > SND_SOC_INTEL_SST option is not selcted (I copied the Kconfig part
> > > > from the SND_SOC_INTEL_BYTCR_RT5640_MACH one).
> Only selecting the SND_SOC_INTEL_BYTCR_RT5640_MACH should do, rest is auto
> selected
>
> > >
> > > Is the BYTCR_RT5640 building for you ? This driver family uses the
> > > SND_SST_MFLD_PLATFORM instead of the SND_SOC_INTEL_SST platform.
> >
> > Mmmh.. indeed no.. I tried with a clean linux-next, doing a make clean and
> > selecting the SND_SOC_INTEL_BYTCR_RT5640_MACH option using menuconfig:
> >
> > [zio at asus linux-next]$ grep BYTCR_RT5640 .config
> > CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH=m
> > [zio at asus linux-next]$ grep SND_SST_MFLD_PLATFORM .config
> > CONFIG_SND_SST_MFLD_PLATFORM=m
> > [zio at asus linux-next]$
> >
> > But when I do a make the driver don't compile
> >
> > [zio at asus linux-next]$ ls sound/soc/intel/boards/*.o
> > ls: cannot access sound/soc/intel/boards/*.o: No such file or directory
> >
> > And when I do a make install the only (sound) installed modules are
> >
> > INSTALL sound/core/snd-compress.ko
> > INSTALL sound/core/snd-pcm.ko
> > INSTALL sound/core/snd-timer.ko
> > INSTALL sound/core/snd.ko
> > INSTALL sound/soc/codecs/snd-soc-rl6231.ko
> > INSTALL sound/soc/codecs/snd-soc-rt5640.ko
> > INSTALL sound/soc/intel/atom/snd-soc-sst-mfld-platform.ko
> > INSTALL sound/soc/intel/atom/sst/snd-intel-sst-acpi.ko
> > INSTALL sound/soc/intel/atom/sst/snd-intel-sst-core.ko
> > INSTALL sound/soc/snd-soc-core.ko
> > INSTALL sound/soundcore.ko
> > DEPMOD 4.1.0-rc8-next-20150617-asus
> I am using Marks next
>
> $ grep BYTCR_RT5640 .config
> CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH=m
> $ grep SND_SST_MFLD_PLATFORM .config
> CONFIG_SND_SST_MFLD_PLATFORM=m
> $ ls sound/soc/intel/boards/*.o
> sound/soc/intel/boards/built-in.o sound/soc/intel/boards/skl_rt286.o
> sound/soc/intel/boards/snd-soc-sst-bytcr-rt5640.o
> sound/soc/intel/boards/bytcr_rt5640.o
> sound/soc/intel/boards/snd-soc-skl_rt286.o
>
> So these did get built for me
>
Mh, maybe the CONFIG_SND_SOC_INTEL_SST is selected?
I'm looking at the sound/soc/intel/Makefile content:
# Core support
obj-$(CONFIG_SND_SOC_INTEL_SST) += common/
# Platform Support
obj-$(CONFIG_SND_SOC_INTEL_HASWELL) += haswell/
obj-$(CONFIG_SND_SOC_INTEL_BAYTRAIL) += baytrail/
obj-$(CONFIG_SND_SST_MFLD_PLATFORM) += atom/
# Machine support
obj-$(CONFIG_SND_SOC_INTEL_SST) += boards/
Does this last line mean that nothing under the 'boards' folder will
compile if the CONFIG_SND_SOC_INTEL_SST option is not enabled?
Tried to replace the line with
obj-$(CONFIG_SND_SST_MFLD_PLATFORM) += boards/
and the machine driver builds and installs
I'll try to add a CONFIG_SND_SOC_INTEL_BOARDS selected by both
CONFIG_SND_SOC_INTEL_SST and CONFIG_SND_SST_MFLD_PLATFORM :)
Thanks,
Michele
More information about the Alsa-devel
mailing list