Signed-off-by: Danny Milosavljevic dannym@scratchpost.org --- 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),