ALSA: usb-audio: Simplify snd_usb_init_pitch() arguments
authorTakashi Iwai <tiwai@suse.de>
Mon, 23 Nov 2020 08:53:26 +0000 (09:53 +0100)
committerTakashi Iwai <tiwai@suse.de>
Mon, 23 Nov 2020 14:14:27 +0000 (15:14 +0100)
A preliminary change for the later big changes.  This is a minor code
refactoring to drop the unnecessary arguments that can be retrieved in
a different way.

Tested-by: Keith Milner <kamilner@superlative.org>
Tested-by: Dylan Robinson <dylan_robinson@motu.com>
Link: https://lore.kernel.org/r/20201123085347.19667-21-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/usb/pcm.c
sound/usb/pcm.h
sound/usb/quirks.c
sound/usb/stream.c

index 38b461b..0998be1 100644 (file)
@@ -146,8 +146,7 @@ static struct audioformat *find_substream_format(struct snd_usb_substream *subs)
                           subs->channels, subs);
 }
 
-static int init_pitch_v1(struct snd_usb_audio *chip, int iface,
-                        struct usb_host_interface *alts,
+static int init_pitch_v1(struct snd_usb_audio *chip,
                         struct audioformat *fmt)
 {
        struct usb_device *dev = chip->dev;
@@ -155,9 +154,7 @@ static int init_pitch_v1(struct snd_usb_audio *chip, int iface,
        unsigned char data[1];
        int err;
 
-       if (get_iface_desc(alts)->bNumEndpoints < 1)
-               return -EINVAL;
-       ep = get_endpoint(alts, 0)->bEndpointAddress;
+       ep = fmt->endpoint;
 
        data[0] = 1;
        err = snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), UAC_SET_CUR,
@@ -166,15 +163,14 @@ static int init_pitch_v1(struct snd_usb_audio *chip, int iface,
                              data, sizeof(data));
        if (err < 0) {
                usb_audio_err(chip, "%d:%d: cannot set enable PITCH\n",
-                             iface, ep);
+                             fmt->iface, ep);
                return err;
        }
 
        return 0;
 }
 
-static int init_pitch_v2(struct snd_usb_audio *chip, int iface,
-                        struct usb_host_interface *alts,
+static int init_pitch_v2(struct snd_usb_audio *chip,
                         struct audioformat *fmt)
 {
        struct usb_device *dev = chip->dev;
@@ -188,7 +184,7 @@ static int init_pitch_v2(struct snd_usb_audio *chip, int iface,
                              data, sizeof(data));
        if (err < 0) {
                usb_audio_err(chip, "%d:%d: cannot set enable PITCH (v2)\n",
-                             iface, fmt->altsetting);
+                             fmt->iface, fmt->altsetting);
                return err;
        }
 
@@ -198,8 +194,7 @@ static int init_pitch_v2(struct snd_usb_audio *chip, int iface,
 /*
  * initialize the pitch control and sample rate
  */
-int snd_usb_init_pitch(struct snd_usb_audio *chip, int iface,
-                      struct usb_host_interface *alts,
+int snd_usb_init_pitch(struct snd_usb_audio *chip,
                       struct audioformat *fmt)
 {
        /* if endpoint doesn't have pitch control, bail out */
@@ -209,10 +204,10 @@ int snd_usb_init_pitch(struct snd_usb_audio *chip, int iface,
        switch (fmt->protocol) {
        case UAC_VERSION_1:
        default:
-               return init_pitch_v1(chip, iface, alts, fmt);
+               return init_pitch_v1(chip, fmt);
 
        case UAC_VERSION_2:
-               return init_pitch_v2(chip, iface, alts, fmt);
+               return init_pitch_v2(chip, fmt);
        }
 }
 
@@ -682,7 +677,7 @@ static int set_format(struct snd_usb_substream *subs, struct audioformat *fmt)
                return err;
 
        if (subs->need_setup_ep) {
-               err = snd_usb_init_pitch(chip, fmt->iface, alts, fmt);
+               err = snd_usb_init_pitch(chip, fmt);
                if (err < 0)
                        return err;
        }
index 362782c..a4f7842 100644 (file)
@@ -9,8 +9,7 @@ void snd_usb_set_pcm_ops(struct snd_pcm *pcm, int stream);
 int snd_usb_pcm_suspend(struct snd_usb_stream *as);
 int snd_usb_pcm_resume(struct snd_usb_stream *as);
 
-int snd_usb_init_pitch(struct snd_usb_audio *chip, int iface,
-                      struct usb_host_interface *alts,
+int snd_usb_init_pitch(struct snd_usb_audio *chip,
                       struct audioformat *fmt);
 void snd_usb_preallocate_buffer(struct snd_usb_substream *subs);
 
index 018c6f2..013ab93 100644 (file)
@@ -177,7 +177,7 @@ static int create_fixed_stream_quirk(struct snd_usb_audio *chip,
        if (fp->maxpacksize == 0)
                fp->maxpacksize = le16_to_cpu(get_endpoint(alts, 0)->wMaxPacketSize);
        usb_set_interface(chip->dev, fp->iface, 0);
-       snd_usb_init_pitch(chip, fp->iface, alts, fp);
+       snd_usb_init_pitch(chip, fp);
        snd_usb_init_sample_rate(chip, fp, fp->rate_max);
        return 0;
 
index 23e8819..7f58c76 100644 (file)
@@ -1224,7 +1224,7 @@ static int __snd_usb_parse_audio_interface(struct snd_usb_audio *chip,
 
                /* try to set the interface... */
                usb_set_interface(chip->dev, iface_no, 0);
-               snd_usb_init_pitch(chip, iface_no, alts, fp);
+               snd_usb_init_pitch(chip, fp);
                snd_usb_init_sample_rate(chip, fp, fp->rate_max);
                usb_set_interface(chip->dev, iface_no, altno);
        }