Re: [PATCH v2 6/9] ASoC: soc-dapm.h: Add a helper to build a DAPM widget dynamically

From: Herve Codina
Date: Mon Jun 05 2023 - 04:54:17 EST


On Sat, 3 Jun 2023 17:07:43 +0300
andy.shevchenko@xxxxxxxxx wrote:

> Tue, May 23, 2023 at 05:12:20PM +0200, Herve Codina kirjoitti:
> > The SND_SOC_DAPM_* helpers family are used to build widgets array in a
> > static way.
> >
> > Introduce SND_SOC_DAPM_WIDGET() in order to use the SND_SOC_DAPM_*
> > helpers family in a dynamic way. The different SND_SOC_DAPM_* parameters
> > can be computed by the code and the widget can be built based on this
> > parameter computation.
> > For instance:
> > static int create_widget(char *input_name)
> > {
> > struct snd_soc_dapm_widget widget;
> > char name*;
> > ...
> > name = input_name;
> > if (!name)
> > name = "default";
> >
> > widget = SND_SOC_DAPM_WIDGET(SND_SOC_DAPM_INPUT(name));
> > ...
> > }
>
> Maybe instead of adding a helper, simply convert those macros to provide
> a compaund literal? (See, for example,
> https://elixir.bootlin.com/linux/v6.4-rc4/source/include/linux/pinctrl/pinctrl.h#L42)
>

Indeed, I will convert macros and remove the helper in the next iteration.

Thanks for the review,
Hervé