Hi Sylwester > > +int asoc_simple_card_parse_dailink_name(struct device *dev, > > + struct snd_soc_dai_link *dai_link) > > +{ > > + char *name = NULL; > > + int ret = -ENOMEM; > > + > > + if (dai_link->dynamic && dai_link->cpu_dai_name) { > > + name = devm_kzalloc(dev, > > + strlen(dai_link->cpu_dai_name) + 4, > > + GFP_KERNEL); > > + if (name) > > + sprintf(name, "fe.%s", dai_link->cpu_dai_name); > > + > > + } else if (dai_link->no_pcm && dai_link->codec_dai_name) { > > + name = devm_kzalloc(dev, > > + strlen(dai_link->codec_dai_name) + 4, > > + GFP_KERNEL); > > + if (name) > > + sprintf(name, "be.%s", dai_link->codec_dai_name); > > + } else if (dai_link->cpu_dai_name && dai_link->codec_dai_name) { > > + name = devm_kzalloc(dev, > > + strlen(dai_link->cpu_dai_name) + > > + strlen(dai_link->codec_dai_name) + 2, > > + GFP_KERNEL); > > + if (name) { > > + sprintf(name, "%s-%s", > > + dai_link->cpu_dai_name, > > + dai_link->codec_dai_name); > > + } > > + } > > This could be simplified by using devm_kasprintf(). Thanks. I didn't know this function. I will replace above, but it will be incremental patch (?) (Based on Mark's patch control)