match_string() returns the index of an array for a matching string,
which can be used instead of open coded variant.

Cc: Clemens Ladisch <clem...@ladisch.de>
Cc: Jaroslav Kysela <pe...@perex.cz>
Cc: Takashi Iwai <ti...@suse.com>
Cc: alsa-de...@alsa-project.org
Signed-off-by: Yisheng Xie <xieyishe...@huawei.com>
---
v2:
 - do not change the type of i - per Andy

 sound/pci/oxygen/oxygen_mixer.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/sound/pci/oxygen/oxygen_mixer.c b/sound/pci/oxygen/oxygen_mixer.c
index 4ca1266..81af21a 100644
--- a/sound/pci/oxygen/oxygen_mixer.c
+++ b/sound/pci/oxygen/oxygen_mixer.c
@@ -1052,10 +1052,10 @@ static int add_controls(struct oxygen *chip,
                [CONTROL_CD_CAPTURE_SWITCH] = "CD Capture Switch",
                [CONTROL_AUX_CAPTURE_SWITCH] = "Aux Capture Switch",
        };
-       unsigned int i, j;
+       unsigned int i;
        struct snd_kcontrol_new template;
        struct snd_kcontrol *ctl;
-       int err;
+       int j, err;
 
        for (i = 0; i < count; ++i) {
                template = controls[i];
@@ -1086,11 +1086,11 @@ static int add_controls(struct oxygen *chip,
                err = snd_ctl_add(chip->card, ctl);
                if (err < 0)
                        return err;
-               for (j = 0; j < CONTROL_COUNT; ++j)
-                       if (!strcmp(ctl->id.name, known_ctl_names[j])) {
-                               chip->controls[j] = ctl;
-                               ctl->private_free = oxygen_any_ctl_free;
-                       }
+               j = match_string(known_ctl_names, CONTROL_COUNT, ctl->id.name);
+               if (j >= 0) {
+                       chip->controls[j] = ctl;
+                       ctl->private_free = oxygen_any_ctl_free;
+               }
        }
        return 0;
 }
-- 
1.7.12.4

Reply via email to