Re: [PATCH v11 06/12] sun4i-codec: Add support for extra controls to struct sun4i_codec_quirks and use them.

From: Chen-Yu Tsai
Date: Fri Jun 09 2017 - 03:47:54 EST


On Fri, Jun 9, 2017 at 2:22 PM, Danny Milosavljevic
<dannym@xxxxxxxxxxxxxxx> wrote:

Again, why?

> Signed-off-by: Danny Milosavljevic <dannym@xxxxxxxxxxxxxxx>
> ---
> sound/soc/sunxi/sun4i-codec.c | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
>
> diff --git a/sound/soc/sunxi/sun4i-codec.c b/sound/soc/sunxi/sun4i-codec.c
> index f56a59ad..b1da14d1 100644
> --- a/sound/soc/sunxi/sun4i-codec.c
> +++ b/sound/soc/sunxi/sun4i-codec.c
> @@ -897,9 +897,22 @@ struct sun4i_codec_quirks {
> unsigned int reg_dac_txdata; /* TX FIFO offset for DMA config */
> unsigned int reg_adc_rxdata; /* RX FIFO offset for DMA config */
> bool has_reset;
> + const struct snd_kcontrol_new *controls;
> + unsigned int num_controls;
> };
>
> +static int sun4i_codec_codec_probe(struct snd_soc_codec *scodec)
> +{
> + const struct sun4i_codec_quirks *quirks;
> +
> + quirks = of_device_get_match_data(scodec->dev);
> + return snd_soc_add_codec_controls(scodec,
> + quirks->controls,
> + quirks->num_controls);
> +}
> +
> static struct snd_soc_codec_driver sun4i_codec_codec = {
> + .probe = sun4i_codec_codec_probe,
> .component_driver = {
> .controls = sun4i_codec_controls,
> .num_controls = ARRAY_SIZE(sun4i_codec_controls),