ALSA: oxygen: use match_string() helper
authorYisheng Xie <xieyisheng1@huawei.com>
Thu, 31 May 2018 11:11:20 +0000 (19:11 +0800)
committerTakashi Iwai <tiwai@suse.de>
Thu, 31 May 2018 17:42:48 +0000 (19:42 +0200)
match_string() returns the index of an array for a matching string,
which can be used instead of open coded variant.

Signed-off-by: Yisheng Xie <xieyisheng1@huawei.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/oxygen/oxygen_mixer.c

index 4ca12665ff730c6980e2a4366dd195e47f94aecd..81af21ac14395b0888793ebbf60653dda7d7d577 100644 (file)
@@ -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;
 }