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

From: andy . shevchenko
Date: Sat Jun 03 2023 - 10:07:52 EST


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)

--
With Best Regards,
Andy Shevchenko