OSDN Git Service

ASoC: soc-ops: use snd_soc_card_get_kcontrol() at snd_soc_limit_volume()
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Wed, 2 Oct 2019 05:23:14 +0000 (14:23 +0900)
committerMark Brown <broonie@kernel.org>
Thu, 3 Oct 2019 13:37:20 +0000 (14:37 +0100)
snd_soc_limit_volume() is finding snd_kcontrol by using original coding,
but we already have snd_soc_card_get_kcontrol().
Let's use existing function.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87y2y3afgd.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/soc-ops.c

index f4dc3d4..652657d 100644 (file)
@@ -592,23 +592,16 @@ EXPORT_SYMBOL_GPL(snd_soc_get_volsw_range);
 int snd_soc_limit_volume(struct snd_soc_card *card,
        const char *name, int max)
 {
-       struct snd_card *snd_card = card->snd_card;
        struct snd_kcontrol *kctl;
        struct soc_mixer_control *mc;
-       int found = 0;
        int ret = -EINVAL;
 
        /* Sanity check for name and max */
        if (unlikely(!name || max <= 0))
                return -EINVAL;
 
-       list_for_each_entry(kctl, &snd_card->controls, list) {
-               if (!strncmp(kctl->id.name, name, sizeof(kctl->id.name))) {
-                       found = 1;
-                       break;
-               }
-       }
-       if (found) {
+       kctl = snd_soc_card_get_kcontrol(card, name);
+       if (kctl) {
                mc = (struct soc_mixer_control *)kctl->private_value;
                if (max <= mc->max) {
                        mc->platform_max = max;