writing an alsa driver
diff mbox

Message ID 20150619075439.GI28601@localhost
State New
Headers show

Commit Message

Vinod Koul June 19, 2015, 7:54 a.m. UTC
On Thu, Jun 18, 2015 at 08:47:40PM +0200, Michele Curti wrote:
> 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@asus linux-next]$ grep BYTCR_RT5640 .config
> > > CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH=m
> > > [zio@asus linux-next]$ grep SND_SST_MFLD_PLATFORM .config
> > > CONFIG_SND_SST_MFLD_PLATFORM=m
> > > [zio@asus linux-next]$ 
> > > 
> > > But when I do a make the driver don't compile
> > > 
> > > [zio@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 :)
Yes you are right, that does cause the issue, we need to get the board to
get included, so I am able to reproduce this.

Also I saw you patch, I dont this we need to add a new symbol as boards is
the one where one should select the machine and allow other symbold to be
auto selected, so better to do this


With thhis machine compiles, can you please verify at your end. Also I think
we should remove the prompt for SND_SOC_INTEL_SST, this should be selected
by respective driver

I will send patches to fix all these

Thanks for reporting

Comments

Michele Curti June 19, 2015, 8:12 a.m. UTC | #1
On Fri, Jun 19, 2015 at 01:24:39PM +0530, Vinod Koul wrote:
> On Thu, Jun 18, 2015 at 08:47:40PM +0200, Michele Curti wrote:
> > # 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 :)
> Yes you are right, that does cause the issue, we need to get the board to
> get included, so I am able to reproduce this.
> 
> Also I saw you patch, I dont this we need to add a new symbol as boards is
> the one where one should select the machine and allow other symbold to be
> auto selected, so better to do this

Yes, much better than mine :p

> 
> diff --git a/sound/soc/intel/Makefile b/sound/soc/intel/Makefile
> index 3853ec2ddbc7..6de5d5cd3280 100644
> --- a/sound/soc/intel/Makefile
> +++ b/sound/soc/intel/Makefile
> @@ -7,4 +7,4 @@ obj-$(CONFIG_SND_SOC_INTEL_BAYTRAIL) += baytrail/
>  obj-$(CONFIG_SND_SST_MFLD_PLATFORM) += atom/
> 
>  # Machine support
> -obj-$(CONFIG_SND_SOC_INTEL_SST) += boards/
> +obj-$(CONFIG_SND_SOC) += boards/
> 
> With thhis machine compiles, can you please verify at your end. Also I think

Yes, it works, thank you ;)

> we should remove the prompt for SND_SOC_INTEL_SST, this should be selected
> by respective driver
> 
> I will send patches to fix all these
> 
> Thanks for reporting
> 
> -- 
> ~Vinod
>

Patch
diff mbox

diff --git a/sound/soc/intel/Makefile b/sound/soc/intel/Makefile
index 3853ec2ddbc7..6de5d5cd3280 100644
--- a/sound/soc/intel/Makefile
+++ b/sound/soc/intel/Makefile
@@ -7,4 +7,4 @@  obj-$(CONFIG_SND_SOC_INTEL_BAYTRAIL) += baytrail/
 obj-$(CONFIG_SND_SST_MFLD_PLATFORM) += atom/

 # Machine support
-obj-$(CONFIG_SND_SOC_INTEL_SST) += boards/
+obj-$(CONFIG_SND_SOC) += boards/