> -----Original Message----- > From: Mark Brown [mailto:broonie@xxxxxxxxxx] > Sent: Saturday, October 29, 2016 2:47 AM > To: mengdong.lin@xxxxxxxxxxxxxxx > Cc: alsa-devel@xxxxxxxxxxxxxxxx; tiwai@xxxxxxx; > liam.r.girdwood@xxxxxxxxxxxxxxx; Shah, Hardik T <hardik.t.shah@xxxxxxxxx>; > Singh, Guneshwor O <guneshwor.o.singh@xxxxxxxxx>; Koul, Vinod > <vinod.koul@xxxxxxxxx>; Ughreja, Rakesh A <rakesh.a.ughreja@xxxxxxxxx>; > Lin, Mengdong <mengdong.lin@xxxxxxxxx> > Subject: Re: [PATCH v6 01/11] ASoC: topology: Make manifest backward > compatible from ABI v4 > > On Tue, Oct 11, 2016 at 02:36:42PM +0800, mengdong.lin@xxxxxxxxxxxxxxx > wrote: > > > +static int manifest_new_ver(struct soc_tplg *tplg, > > + struct snd_soc_tplg_manifest *src, > > + struct snd_soc_tplg_manifest **manifest) { > > + struct snd_soc_tplg_manifest *dest; > > + struct snd_soc_tplg_manifest_v4 *src_v4; > > + > > + *manifest = NULL; > > + > > + if (src->size != sizeof(*src_v4)) { > > + dev_err(tplg->dev, "ASoC: invalid manifest size\n"); > > + return -EINVAL; > > + } > > + > > + dev_warn(tplg->dev, "ASoC: old version of manifest\n"); > > The way this function is written it's not going to scale to any future ABI > churn, it's not set up to handle multiple versions at all. If future ABI change affects this manifest struct, we'll extend this function to map all old versions to the latest one. Since we already add some reserved fields in the manifest, so we can use those reserved fields to assure backward compatibility and there could be no change on this function. Thanks Mengdong _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel