From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [2/9] ALSA: line6: use usb_fill_int_urb() From: Sebastian Andrzej Siewior Message-Id: <20180619215521.13688-3-bigeasy@linutronix.de> Date: Tue, 19 Jun 2018 23:55:14 +0200 To: alsa-devel@alsa-project.org Cc: linux-usb@vger.kernel.org, tglx@linutronix.de, Takashi Iwai , Jaroslav Kysela , Sebastian Andrzej Siewior List-ID: VXNpbmcgdXNiX2ZpbGxfaW50X3VyYigpIGhlbHBzIHRvIGZpbmQgY29kZSB3aGljaCBpbml0aWFs aXplcyBhbgpVUkIuIEEgZ3JlcCBmb3IgbWVtYmVycyBvZiB0aGUgc3RydWN0IChsaWtlIC0+Y29t cGxldGUpIHJldmVhbCBsb3RzCm9mIG90aGVyIHRoaW5ncywgdG9vLgpEYXRhIHBvaW50ZXIgJiBz aXplIGlzIGZpbGxlZCBvdXQgbGF0ZXIgc28gdGhleSBhcmUgbm90IGNvbnNpZGVyZWQuCgpDYzog SmFyb3NsYXYgS3lzZWxhIDxwZXJleEBwZXJleC5jej4KQ2M6IFRha2FzaGkgSXdhaSA8dGl3YWlA c3VzZS5jb20+ClNpZ25lZC1vZmYtYnk6IFNlYmFzdGlhbiBBbmRyemVqIFNpZXdpb3IgPGJpZ2Vh c3lAbGludXRyb25peC5kZT4KLS0tCiBzb3VuZC91c2IvbGluZTYvY2FwdHVyZS5jICB8IDE2ICsr KysrKy0tLS0tLS0tLS0KIHNvdW5kL3VzYi9saW5lNi9wbGF5YmFjay5jIHwgMTYgKysrKysrLS0t LS0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspLCAyMCBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9zb3VuZC91c2IvbGluZTYvY2FwdHVyZS5jIGIvc291bmQvdXNiL2xp bmU2L2NhcHR1cmUuYwppbmRleCBkOGExNGQ3NjlmNDguLjRlZTU0YmE0MzZkZiAxMDA2NDQKLS0t IGEvc291bmQvdXNiL2xpbmU2L2NhcHR1cmUuYworKysgYi9zb3VuZC91c2IvbGluZTYvY2FwdHVy ZS5jCkBAIC01Miw3ICs1Miw2IEBAIHN0YXRpYyBpbnQgc3VibWl0X2F1ZGlvX2luX3VyYihzdHJ1 Y3Qgc25kX2xpbmU2X3BjbSAqbGluZTZwY20pCiAJICAgIGxpbmU2cGNtLT5pbi5idWZmZXIgKwog CSAgICBpbmRleCAqIExJTkU2X0lTT19QQUNLRVRTICogbGluZTZwY20tPm1heF9wYWNrZXRfc2l6 ZV9pbjsKIAl1cmJfaW4tPnRyYW5zZmVyX2J1ZmZlcl9sZW5ndGggPSB1cmJfc2l6ZTsKLQl1cmJf aW4tPmNvbnRleHQgPSBsaW5lNnBjbTsKIAogCXJldCA9IHVzYl9zdWJtaXRfdXJiKHVyYl9pbiwg R0ZQX0FUT01JQyk7CiAKQEAgLTI4MCwxNyArMjc5LDE0IEBAIGludCBsaW5lNl9jcmVhdGVfYXVk aW9faW5fdXJicyhzdHJ1Y3Qgc25kX2xpbmU2X3BjbSAqbGluZTZwY20pCiAJCWlmICh1cmIgPT0g TlVMTCkKIAkJCXJldHVybiAtRU5PTUVNOwogCi0JCXVyYi0+ZGV2ID0gbGluZTYtPnVzYmRldjsK LQkJdXJiLT5waXBlID0KLQkJICAgIHVzYl9yY3Zpc29jcGlwZShsaW5lNi0+dXNiZGV2LAotCQkJ CSAgICBsaW5lNi0+cHJvcGVydGllcy0+ZXBfYXVkaW9fciAmCi0JCQkJICAgIFVTQl9FTkRQT0lO VF9OVU1CRVJfTUFTSyk7CisJCXVzYl9maWxsX2ludF91cmIodXJiLCBsaW5lNi0+dXNiZGV2LAor CQkJCSB1c2JfcmN2aXNvY3BpcGUobGluZTYtPnVzYmRldiwKKwkJCQkJCSBsaW5lNi0+cHJvcGVy dGllcy0+ZXBfYXVkaW9fciAmCisJCQkJCQkgVVNCX0VORFBPSU5UX05VTUJFUl9NQVNLKSwKKwkJ CQkgTlVMTCwgMCwgYXVkaW9faW5fY2FsbGJhY2ssIGxpbmU2cGNtLAorCQkJCSBMSU5FNl9JU09f SU5URVJWQUwpOwogCQl1cmItPnRyYW5zZmVyX2ZsYWdzID0gVVJCX0lTT19BU0FQOwotCQl1cmIt PnN0YXJ0X2ZyYW1lID0gLTE7CiAJCXVyYi0+bnVtYmVyX29mX3BhY2tldHMgPSBMSU5FNl9JU09f UEFDS0VUUzsKLQkJdXJiLT5pbnRlcnZhbCA9IExJTkU2X0lTT19JTlRFUlZBTDsKLQkJdXJiLT5l cnJvcl9jb3VudCA9IDA7Ci0JCXVyYi0+Y29tcGxldGUgPSBhdWRpb19pbl9jYWxsYmFjazsKIAl9 CiAKIAlyZXR1cm4gMDsKZGlmZiAtLWdpdCBhL3NvdW5kL3VzYi9saW5lNi9wbGF5YmFjay5jIGIv c291bmQvdXNiL2xpbmU2L3BsYXliYWNrLmMKaW5kZXggZGVjODlkMmJlYjU3Li5hZjFjYTA5YzI2 MGUgMTAwNjQ0Ci0tLSBhL3NvdW5kL3VzYi9saW5lNi9wbGF5YmFjay5jCisrKyBiL3NvdW5kL3Vz Yi9saW5lNi9wbGF5YmFjay5jCkBAIC0yMDIsNyArMjAyLDYgQEAgc3RhdGljIGludCBzdWJtaXRf YXVkaW9fb3V0X3VyYihzdHJ1Y3Qgc25kX2xpbmU2X3BjbSAqbGluZTZwY20pCiAJICAgIGxpbmU2 cGNtLT5vdXQuYnVmZmVyICsKIAkgICAgaW5kZXggKiBMSU5FNl9JU09fUEFDS0VUUyAqIGxpbmU2 cGNtLT5tYXhfcGFja2V0X3NpemVfb3V0OwogCXVyYl9vdXQtPnRyYW5zZmVyX2J1ZmZlcl9sZW5n dGggPSB1cmJfc2l6ZTsKLQl1cmJfb3V0LT5jb250ZXh0ID0gbGluZTZwY207CiAKIAlpZiAodGVz dF9iaXQoTElORTZfU1RSRUFNX1BDTSwgJmxpbmU2cGNtLT5vdXQucnVubmluZykgJiYKIAkgICAg IXRlc3RfYml0KExJTkU2X0ZMQUdfUEFVU0VfUExBWUJBQ0ssICZsaW5lNnBjbS0+ZmxhZ3MpKSB7 CkBAIC00MjUsMTcgKzQyNCwxNCBAQCBpbnQgbGluZTZfY3JlYXRlX2F1ZGlvX291dF91cmJzKHN0 cnVjdCBzbmRfbGluZTZfcGNtICpsaW5lNnBjbSkKIAkJaWYgKHVyYiA9PSBOVUxMKQogCQkJcmV0 dXJuIC1FTk9NRU07CiAKLQkJdXJiLT5kZXYgPSBsaW5lNi0+dXNiZGV2OwotCQl1cmItPnBpcGUg PQotCQkgICAgdXNiX3NuZGlzb2NwaXBlKGxpbmU2LT51c2JkZXYsCi0JCQkJICAgIGxpbmU2LT5w cm9wZXJ0aWVzLT5lcF9hdWRpb193ICYKLQkJCQkgICAgVVNCX0VORFBPSU5UX05VTUJFUl9NQVNL KTsKKwkJdXNiX2ZpbGxfaW50X3VyYih1cmIsIGxpbmU2LT51c2JkZXYsCisJCQkJIHVzYl9zbmRp c29jcGlwZShsaW5lNi0+dXNiZGV2LAorCQkJCQkJIGxpbmU2LT5wcm9wZXJ0aWVzLT5lcF9hdWRp b193ICYKKwkJCQkJCSBVU0JfRU5EUE9JTlRfTlVNQkVSX01BU0spLAorCQkJCSBOVUxMLCAwLCBh dWRpb19vdXRfY2FsbGJhY2ssIGxpbmU2cGNtLAorCQkJCSBMSU5FNl9JU09fSU5URVJWQUwpOwog CQl1cmItPnRyYW5zZmVyX2ZsYWdzID0gVVJCX0lTT19BU0FQOwotCQl1cmItPnN0YXJ0X2ZyYW1l ID0gLTE7CiAJCXVyYi0+bnVtYmVyX29mX3BhY2tldHMgPSBMSU5FNl9JU09fUEFDS0VUUzsKLQkJ dXJiLT5pbnRlcnZhbCA9IExJTkU2X0lTT19JTlRFUlZBTDsKLQkJdXJiLT5lcnJvcl9jb3VudCA9 IDA7Ci0JCXVyYi0+Y29tcGxldGUgPSBhdWRpb19vdXRfY2FsbGJhY2s7CiAJfQogCiAJcmV0dXJu IDA7Cg== From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sebastian Andrzej Siewior Subject: [PATCH 2/9] ALSA: line6: use usb_fill_int_urb() Date: Tue, 19 Jun 2018 23:55:14 +0200 Message-ID: <20180619215521.13688-3-bigeasy@linutronix.de> References: <20180619215521.13688-1-bigeasy@linutronix.de> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from Galois.linutronix.de (galois.linutronix.de [146.0.238.70]) by alsa0.perex.cz (Postfix) with ESMTP id 95F1D2675EC for ; Tue, 19 Jun 2018 23:55:31 +0200 (CEST) In-Reply-To: <20180619215521.13688-1-bigeasy@linutronix.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org To: alsa-devel@alsa-project.org Cc: tglx@linutronix.de, linux-usb@vger.kernel.org, Takashi Iwai , Sebastian Andrzej Siewior List-Id: alsa-devel@alsa-project.org Using usb_fill_int_urb() helps to find code which initializes an URB. A grep for members of the struct (like ->complete) reveal lots of other things, too. Data pointer & size is filled out later so they are not considered. Cc: Jaroslav Kysela Cc: Takashi Iwai Signed-off-by: Sebastian Andrzej Siewior --- sound/usb/line6/capture.c | 16 ++++++---------- sound/usb/line6/playback.c | 16 ++++++---------- 2 files changed, 12 insertions(+), 20 deletions(-) diff --git a/sound/usb/line6/capture.c b/sound/usb/line6/capture.c index d8a14d769f48..4ee54ba436df 100644 --- a/sound/usb/line6/capture.c +++ b/sound/usb/line6/capture.c @@ -52,7 +52,6 @@ static int submit_audio_in_urb(struct snd_line6_pcm *line6pcm) line6pcm->in.buffer + index * LINE6_ISO_PACKETS * line6pcm->max_packet_size_in; urb_in->transfer_buffer_length = urb_size; - urb_in->context = line6pcm; ret = usb_submit_urb(urb_in, GFP_ATOMIC); @@ -280,17 +279,14 @@ int line6_create_audio_in_urbs(struct snd_line6_pcm *line6pcm) if (urb == NULL) return -ENOMEM; - urb->dev = line6->usbdev; - urb->pipe = - usb_rcvisocpipe(line6->usbdev, - line6->properties->ep_audio_r & - USB_ENDPOINT_NUMBER_MASK); + usb_fill_int_urb(urb, line6->usbdev, + usb_rcvisocpipe(line6->usbdev, + line6->properties->ep_audio_r & + USB_ENDPOINT_NUMBER_MASK), + NULL, 0, audio_in_callback, line6pcm, + LINE6_ISO_INTERVAL); urb->transfer_flags = URB_ISO_ASAP; - urb->start_frame = -1; urb->number_of_packets = LINE6_ISO_PACKETS; - urb->interval = LINE6_ISO_INTERVAL; - urb->error_count = 0; - urb->complete = audio_in_callback; } return 0; diff --git a/sound/usb/line6/playback.c b/sound/usb/line6/playback.c index dec89d2beb57..af1ca09c260e 100644 --- a/sound/usb/line6/playback.c +++ b/sound/usb/line6/playback.c @@ -202,7 +202,6 @@ static int submit_audio_out_urb(struct snd_line6_pcm *line6pcm) line6pcm->out.buffer + index * LINE6_ISO_PACKETS * line6pcm->max_packet_size_out; urb_out->transfer_buffer_length = urb_size; - urb_out->context = line6pcm; if (test_bit(LINE6_STREAM_PCM, &line6pcm->out.running) && !test_bit(LINE6_FLAG_PAUSE_PLAYBACK, &line6pcm->flags)) { @@ -425,17 +424,14 @@ int line6_create_audio_out_urbs(struct snd_line6_pcm *line6pcm) if (urb == NULL) return -ENOMEM; - urb->dev = line6->usbdev; - urb->pipe = - usb_sndisocpipe(line6->usbdev, - line6->properties->ep_audio_w & - USB_ENDPOINT_NUMBER_MASK); + usb_fill_int_urb(urb, line6->usbdev, + usb_sndisocpipe(line6->usbdev, + line6->properties->ep_audio_w & + USB_ENDPOINT_NUMBER_MASK), + NULL, 0, audio_out_callback, line6pcm, + LINE6_ISO_INTERVAL); urb->transfer_flags = URB_ISO_ASAP; - urb->start_frame = -1; urb->number_of_packets = LINE6_ISO_PACKETS; - urb->interval = LINE6_ISO_INTERVAL; - urb->error_count = 0; - urb->complete = audio_out_callback; } return 0; -- 2.17.1