ASoC: ak4118: Update to use new component control notify helper
authorCharles Keepax <ckeepax@opensource.cirrus.com>
Fri, 12 May 2023 12:28:31 +0000 (13:28 +0100)
committerMark Brown <broonie@kernel.org>
Mon, 15 May 2023 11:11:17 +0000 (20:11 +0900)
Update the driver to use the new ASoC core control notify helper.
This also fixes a bug where the control would not be found if the
CODEC was given a name prefix.

Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com
Link: https://lore.kernel.org/r/20230512122838.243002-4-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org
sound/soc/codecs/ak4118.c

index ebcdc41..e34e553 100644 (file)
@@ -264,8 +264,6 @@ static irqreturn_t ak4118_irq_handler(int irq, void *data)
        struct ak4118_priv *ak4118 = data;
        struct snd_soc_component *component = ak4118->component;
        struct snd_kcontrol_new *kctl_new;
-       struct snd_kcontrol *kctl;
-       struct snd_ctl_elem_id *id;
        unsigned int i;
 
        if (!component)
@@ -273,13 +271,8 @@ static irqreturn_t ak4118_irq_handler(int irq, void *data)
 
        for (i = 0; i < ARRAY_SIZE(ak4118_iec958_controls); i++) {
                kctl_new = &ak4118_iec958_controls[i];
-               kctl = snd_soc_card_get_kcontrol(component->card,
-                                                kctl_new->name);
-               if (!kctl)
-                       continue;
-               id = &kctl->id;
-               snd_ctl_notify(component->card->snd_card,
-                              SNDRV_CTL_EVENT_MASK_VALUE, id);
+
+               snd_soc_component_notify_control(component, kctl_new->name);
        }
 
        return IRQ_HANDLED;