[alsa-devel] [PATCH] ASoC: topology: Update ABI with improvements for TLV, operations and private data.
Liam Girdwood
liam.r.girdwood at linux.intel.com
Wed Aug 5 13:43:02 CEST 2015
On Wed, 2015-08-05 at 12:29 +0100, Mark Brown wrote:
> On Wed, Aug 05, 2015 at 11:11:07AM +0100, Liam Girdwood wrote:
> > From: Mengdong Lin <mengdong.lin at intel.com>
> >
> > This is the kernel patch - a corresponding alsa-lib patch has also been sent.
>
> This patch introduces multiple changes and should really have been sent
> separately. Please also try to keep your commit messages and especially
> subject lines under 80 colummns so that they are legible.
>
The concern with multiple patches is that it's more likely to break
runtime bisection/alignment with userspace (but I guess we have that
anyway now), hence the squashing into a single patch for userspace and
kernel.
I'll rework into six patches (three kernel and three userspace).
> > Removed the following fields from topology TLV struct:
> > - size/count: type can decide the size.
>
> > struct snd_soc_tplg_ctl_tlv {
> > - __le32 size; /* in bytes aligned to 4 */
> > - __le32 numid; /* control element numeric identification */
> > - __le32 count; /* number of elem in data array */
> > - __le32 data[SND_SOC_TPLG_TLV_SIZE];
> > + __le32 size; /* in bytes of this structure */
> > + __le32 type; /* SNDRV_CTL_TLVT_*, type of TLV */
> > + union {
> > + struct snd_soc_tplg_tlv_dbscale scale;
> > + };
>
> The combination of removing size fromm the struct and not having data
> means that we can't in the future add a new type which has a larger size
> than the current one without confusing older systems (Rather than just
> having them drop the TLV information). I'm not sure how likely that
> really is but it's a consideration.
Oh, data should have still been in there. Size just had it's comment
fixed to match the other size usage in the other structures.
Liam
More information about the Alsa-devel
mailing list