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: [6/9] ALSA: usb: caiaq: use usb_fill_int_urb() From: Daniel Mack Message-Id: <2f8cbd9b-55ad-d543-d26a-c4452717b121@zonque.org> Date: Thu, 21 Jun 2018 22:19:32 +0200 To: Sebastian Andrzej Siewior , alsa-devel@alsa-project.org Cc: linux-usb@vger.kernel.org, tglx@linutronix.de, Takashi Iwai , Jaroslav Kysela List-ID: T24gVHVlc2RheSwgSnVuZSAxOSwgMjAxOCAxMTo1NSBQTSwgU2ViYXN0aWFuIEFuZHJ6ZWogU2ll d2lvciB3cm90ZToKPiBVc2luZyB1c2JfZmlsbF9pbnRfdXJiKCkgaGVscHMgdG8gZmluZCBjb2Rl IHdoaWNoIGluaXRpYWxpemVzIGFuCj4gVVJCLiBBIGdyZXAgZm9yIG1lbWJlcnMgb2YgdGhlIHN0 cnVjdCAobGlrZSAtPmNvbXBsZXRlKSByZXZlYWwgbG90cwo+IG9mIG90aGVyIHRoaW5ncywgdG9v LgoKQWNrZWQtYnk6IERhbmllbCBNYWNrIDx6b25xdWVAZ21haWwuY29tPgoKPiBDYzogSmFyb3Ns YXYgS3lzZWxhIDxwZXJleEBwZXJleC5jej4KPiBDYzogVGFrYXNoaSBJd2FpIDx0aXdhaUBzdXNl LmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBTZWJhc3RpYW4gQW5kcnplaiBTaWV3aW9yIDxiaWdlYXN5 QGxpbnV0cm9uaXguZGU+Cj4gLS0tCj4gICBzb3VuZC91c2IvY2FpYXEvYXVkaW8uYyB8IDIzICsr KysrKysrKysrLS0tLS0tLS0tLS0tCj4gICAxIGZpbGUgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygr KSwgMTIgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL3NvdW5kL3VzYi9jYWlhcS9hdWRp by5jIGIvc291bmQvdXNiL2NhaWFxL2F1ZGlvLmMKPiBpbmRleCAxNTM0NGQzOWE2Y2QuLmUxMGQ1 NzkwMDk5ZiAxMDA2NDQKPiAtLS0gYS9zb3VuZC91c2IvY2FpYXEvYXVkaW8uYwo+ICsrKyBiL3Nv dW5kL3VzYi9jYWlhcS9hdWRpby5jCj4gQEAgLTczNiwxNiArNzM2LDE3IEBAIHN0YXRpYyBzdHJ1 Y3QgdXJiICoqYWxsb2NfdXJicyhzdHJ1Y3Qgc25kX3VzYl9jYWlhcWRldiAqY2RldiwgaW50IGRp ciwgaW50ICpyZXQpCj4gICAJfQo+ICAgCj4gICAJZm9yIChpID0gMDsgaSA8IE5fVVJCUzsgaSsr KSB7Cj4gKwkJdm9pZCAqYnVmOwo+ICsKPiAgIAkJdXJic1tpXSA9IHVzYl9hbGxvY191cmIoRlJB TUVTX1BFUl9VUkIsIEdGUF9LRVJORUwpOwo+ICAgCQlpZiAoIXVyYnNbaV0pIHsKPiAgIAkJCSpy ZXQgPSAtRU5PTUVNOwo+ICAgCQkJcmV0dXJuIHVyYnM7Cj4gICAJCX0KPiAgIAo+IC0JCXVyYnNb aV0tPnRyYW5zZmVyX2J1ZmZlciA9Cj4gLQkJCWttYWxsb2NfYXJyYXkoQllURVNfUEVSX0ZSQU1F LCBGUkFNRVNfUEVSX1VSQiwKPiAtCQkJCSAgICAgIEdGUF9LRVJORUwpOwo+IC0JCWlmICghdXJi c1tpXS0+dHJhbnNmZXJfYnVmZmVyKSB7Cj4gKwkJYnVmID0ga21hbGxvY19hcnJheShCWVRFU19Q RVJfRlJBTUUsIEZSQU1FU19QRVJfVVJCLAo+ICsJCQkJICAgIEdGUF9LRVJORUwpOwo+ICsJCWlm ICghYnVmKSB7Cj4gICAJCQkqcmV0ID0gLUVOT01FTTsKPiAgIAkJCXJldHVybiB1cmJzOwo+ICAg CQl9Cj4gQEAgLTc1OCwxNSArNzU5LDEzIEBAIHN0YXRpYyBzdHJ1Y3QgdXJiICoqYWxsb2NfdXJi cyhzdHJ1Y3Qgc25kX3VzYl9jYWlhcWRldiAqY2RldiwgaW50IGRpciwgaW50ICpyZXQpCj4gICAJ CQlpc28tPmxlbmd0aCA9IEJZVEVTX1BFUl9GUkFNRTsKPiAgIAkJfQo+ICAgCj4gLQkJdXJic1tp XS0+ZGV2ID0gdXNiX2RldjsKPiAtCQl1cmJzW2ldLT5waXBlID0gcGlwZTsKPiAtCQl1cmJzW2ld LT50cmFuc2Zlcl9idWZmZXJfbGVuZ3RoID0gRlJBTUVTX1BFUl9VUkIKPiAtCQkJCQkJKiBCWVRF U19QRVJfRlJBTUU7Cj4gLQkJdXJic1tpXS0+Y29udGV4dCA9ICZjZGV2LT5kYXRhX2NiX2luZm9b aV07Cj4gLQkJdXJic1tpXS0+aW50ZXJ2YWwgPSAxOwo+ICsJCXVzYl9maWxsX2ludF91cmIodXJi c1tpXSwgdXNiX2RldiwgcGlwZSwgYnVmLAo+ICsJCQkJIEZSQU1FU19QRVJfVVJCICogQllURVNf UEVSX0ZSQU1FLAo+ICsJCQkJIChkaXIgPT0gU05EUlZfUENNX1NUUkVBTV9DQVBUVVJFKSA/Cj4g KwkJCQkgcmVhZF9jb21wbGV0ZWQgOiB3cml0ZV9jb21wbGV0ZWQsCj4gKwkJCQkgJmNkZXYtPmRh dGFfY2JfaW5mb1tpXSwgMSk7Cj4gKwo+ICAgCQl1cmJzW2ldLT5udW1iZXJfb2ZfcGFja2V0cyA9 IEZSQU1FU19QRVJfVVJCOwo+IC0JCXVyYnNbaV0tPmNvbXBsZXRlID0gKGRpciA9PSBTTkRSVl9Q Q01fU1RSRUFNX0NBUFRVUkUpID8KPiAtCQkJCQlyZWFkX2NvbXBsZXRlZCA6IHdyaXRlX2NvbXBs ZXRlZDsKPiAgIAl9Cj4gICAKPiAgIAkqcmV0ID0gMDsKPgotLS0KVG8gdW5zdWJzY3JpYmUgZnJv bSB0aGlzIGxpc3Q6IHNlbmQgdGhlIGxpbmUgInVuc3Vic2NyaWJlIGxpbnV4LXVzYiIgaW4KdGhl IGJvZHkgb2YgYSBtZXNzYWdlIHRvIG1ham9yZG9tb0B2Z2VyLmtlcm5lbC5vcmcKTW9yZSBtYWpv cmRvbW8gaW5mbyBhdCAgaHR0cDovL3ZnZXIua2VybmVsLm9yZy9tYWpvcmRvbW8taW5mby5odG1s Cg== From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Mack Subject: Re: [PATCH 6/9] ALSA: usb: caiaq: use usb_fill_int_urb() Date: Thu, 21 Jun 2018 22:19:32 +0200 Message-ID: <2f8cbd9b-55ad-d543-d26a-c4452717b121@zonque.org> References: <20180619215521.13688-1-bigeasy@linutronix.de> <20180619215521.13688-7-bigeasy@linutronix.de> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: Received: from mail.bugwerft.de (mail.bugwerft.de [46.23.86.59]) by alsa0.perex.cz (Postfix) with ESMTP id 5A4D4267610 for ; Thu, 21 Jun 2018 22:19:37 +0200 (CEST) In-Reply-To: <20180619215521.13688-7-bigeasy@linutronix.de> Content-Language: en-US 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: Sebastian Andrzej Siewior , alsa-devel@alsa-project.org Cc: tglx@linutronix.de, linux-usb@vger.kernel.org, Takashi Iwai List-Id: alsa-devel@alsa-project.org On Tuesday, June 19, 2018 11:55 PM, Sebastian Andrzej Siewior wrote: > 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. Acked-by: Daniel Mack > Cc: Jaroslav Kysela > Cc: Takashi Iwai > Signed-off-by: Sebastian Andrzej Siewior > --- > sound/usb/caiaq/audio.c | 23 +++++++++++------------ > 1 file changed, 11 insertions(+), 12 deletions(-) > > diff --git a/sound/usb/caiaq/audio.c b/sound/usb/caiaq/audio.c > index 15344d39a6cd..e10d5790099f 100644 > --- a/sound/usb/caiaq/audio.c > +++ b/sound/usb/caiaq/audio.c > @@ -736,16 +736,17 @@ static struct urb **alloc_urbs(struct snd_usb_caiaqdev *cdev, int dir, int *ret) > } > > for (i = 0; i < N_URBS; i++) { > + void *buf; > + > urbs[i] = usb_alloc_urb(FRAMES_PER_URB, GFP_KERNEL); > if (!urbs[i]) { > *ret = -ENOMEM; > return urbs; > } > > - urbs[i]->transfer_buffer = > - kmalloc_array(BYTES_PER_FRAME, FRAMES_PER_URB, > - GFP_KERNEL); > - if (!urbs[i]->transfer_buffer) { > + buf = kmalloc_array(BYTES_PER_FRAME, FRAMES_PER_URB, > + GFP_KERNEL); > + if (!buf) { > *ret = -ENOMEM; > return urbs; > } > @@ -758,15 +759,13 @@ static struct urb **alloc_urbs(struct snd_usb_caiaqdev *cdev, int dir, int *ret) > iso->length = BYTES_PER_FRAME; > } > > - urbs[i]->dev = usb_dev; > - urbs[i]->pipe = pipe; > - urbs[i]->transfer_buffer_length = FRAMES_PER_URB > - * BYTES_PER_FRAME; > - urbs[i]->context = &cdev->data_cb_info[i]; > - urbs[i]->interval = 1; > + usb_fill_int_urb(urbs[i], usb_dev, pipe, buf, > + FRAMES_PER_URB * BYTES_PER_FRAME, > + (dir == SNDRV_PCM_STREAM_CAPTURE) ? > + read_completed : write_completed, > + &cdev->data_cb_info[i], 1); > + > urbs[i]->number_of_packets = FRAMES_PER_URB; > - urbs[i]->complete = (dir == SNDRV_PCM_STREAM_CAPTURE) ? > - read_completed : write_completed; > } > > *ret = 0; >