]> git.karo-electronics.de Git - linux-beck.git/commitdiff
Merge tag 'asoc-fix-v4.2-rc3' into asoc-fix-topology
authorMark Brown <broonie@kernel.org>
Thu, 6 Aug 2015 11:34:41 +0000 (12:34 +0100)
committerMark Brown <broonie@kernel.org>
Thu, 6 Aug 2015 11:34:41 +0000 (12:34 +0100)
ASoC: Fixes for v4.2

A lot of small fixes here, a few to the core:

 - Fix for binding DAPM stream widgets on devices with prefixes assigned
   to them
 - Minor fixes for the newly added topology interfaces
 - Locking and memory leak fixes for DAPM
 - Driver specific fixes

include/uapi/sound/asoc.h
sound/soc/soc-topology.c

index 785c5ca0994b5ab41e43fcfe6553197f6633dd06..2819fc1f8458c5ce063b7faf2c3eb5eb1f5a720f 100644 (file)
@@ -238,6 +238,7 @@ struct snd_soc_tplg_manifest {
        __le32 graph_elems;     /* number of graph elements */
        __le32 dai_elems;       /* number of DAI elements */
        __le32 dai_link_elems;  /* number of DAI link elements */
+       struct snd_soc_tplg_private priv;
 } __attribute__((packed));
 
 /*
@@ -347,6 +348,7 @@ struct snd_soc_tplg_dapm_widget {
        __le32 reg;             /* negative reg = no direct dapm */
        __le32 shift;           /* bits to shift */
        __le32 mask;            /* non-shifted mask */
+       __le32 subseq;          /* sort within widget type */
        __u32 invert;           /* invert the power bit */
        __u32 ignore_suspend;   /* kept enabled over suspend */
        __u16 event_flags;
index 59ac211f8fe7c273c84dcd67ac94bb27cb760564..2c70f30d2d78b41e259afa3f3702229c25a1c2ef 100644 (file)
@@ -534,7 +534,7 @@ static int soc_tplg_kcontrol_bind_io(struct snd_soc_tplg_ctl_hdr *hdr,
                        k->put = bops[i].put;
                if (k->get == NULL && bops[i].id == hdr->ops.get)
                        k->get = bops[i].get;
-               if (k->info == NULL && ops[i].id == hdr->ops.info)
+               if (k->info == NULL && bops[i].id == hdr->ops.info)
                        k->info = bops[i].info;
        }
 
@@ -1350,6 +1350,7 @@ static int soc_tplg_dapm_widget_create(struct soc_tplg *tplg,
        template.reg = w->reg;
        template.shift = w->shift;
        template.mask = w->mask;
+       template.subseq = w->subseq;
        template.on_val = w->invert ? 0 : 1;
        template.off_val = w->invert ? 1 : 0;
        template.ignore_suspend = w->ignore_suspend;