ALSA: usb-audio: scarlett2: Move info lookup out of init function
authorGeoffrey D. Bennett <g@b4.vu>
Mon, 21 Jun 2021 18:09:33 +0000 (03:39 +0930)
committerTakashi Iwai <tiwai@suse.de>
Tue, 22 Jun 2021 19:36:03 +0000 (21:36 +0200)
The info variable is not used by snd_scarlett_gen2_init() except to
pass it to snd_scarlett_gen2_controls_create(), so move the lookup
into that function.

Signed-off-by: Geoffrey D. Bennett <g@b4.vu>
Link: https://lore.kernel.org/r/c4b6d17708e104503d9a2b88f9b3320bb9904cfa.1624294591.git.g@b4.vu
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/usb/mixer_scarlett_gen2.c

index 481ebdd1a0dfdabbc11dcb356e1a1bca4c9b000c..5cc4296944f5b0dfb4b3b27e69d8b5b62941a78c 100644 (file)
@@ -2249,13 +2249,19 @@ static int scarlett2_init_notify(struct usb_mixer_interface *mixer)
        return usb_submit_urb(mixer->urb, GFP_KERNEL);
 }
 
-static int snd_scarlett_gen2_controls_create(struct usb_mixer_interface *mixer,
-                                            const struct scarlett2_device_info *info)
+static int snd_scarlett_gen2_controls_create(struct usb_mixer_interface *mixer)
 {
+       const struct scarlett2_device_info **info = scarlett2_devices;
        int err;
 
+       /* Find device in scarlett2_devices */
+       while (*info && (*info)->usb_id != mixer->chip->usb_id)
+               info++;
+       if (!*info)
+               return -EINVAL;
+
        /* Initialise private data */
-       err = scarlett2_init_private(mixer, info);
+       err = scarlett2_init_private(mixer, *info);
        if (err < 0)
                return err;
 
@@ -2310,19 +2316,12 @@ static int snd_scarlett_gen2_controls_create(struct usb_mixer_interface *mixer,
 int snd_scarlett_gen2_init(struct usb_mixer_interface *mixer)
 {
        struct snd_usb_audio *chip = mixer->chip;
-       const struct scarlett2_device_info **info = scarlett2_devices;
        int err;
 
        /* only use UAC_VERSION_2 */
        if (!mixer->protocol)
                return 0;
 
-       /* find device in scarlett2_devices */
-       while (*info && (*info)->usb_id != chip->usb_id)
-               info++;
-       if (!*info)
-               return -EINVAL;
-
        if (!(chip->setup & SCARLETT2_ENABLE)) {
                usb_audio_info(chip,
                        "Focusrite Scarlett Gen 2 Mixer Driver disabled; "
@@ -2338,7 +2337,7 @@ int snd_scarlett_gen2_init(struct usb_mixer_interface *mixer)
                "Focusrite Scarlett Gen 2 Mixer Driver enabled pid=0x%04x",
                USB_ID_PRODUCT(chip->usb_id));
 
-       err = snd_scarlett_gen2_controls_create(mixer, *info);
+       err = snd_scarlett_gen2_controls_create(mixer);
        if (err < 0)
                usb_audio_err(mixer->chip,
                              "Error initialising Scarlett Mixer Driver: %d",