From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from Galois.linutronix.de ([146.0.238.70]:59918 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754162AbeFTLBh (ORCPT ); Wed, 20 Jun 2018 07:01:37 -0400 From: Sebastian Andrzej Siewior To: linux-media@vger.kernel.org Cc: Mauro Carvalho Chehab , linux-usb@vger.kernel.org, tglx@linutronix.de, Sebastian Andrzej Siewior , Hans Verkuil Subject: [PATCH 16/27] media: pwc: use usb_fill_int_urb() Date: Wed, 20 Jun 2018 13:00:54 +0200 Message-Id: <20180620110105.19955-17-bigeasy@linutronix.de> In-Reply-To: <20180620110105.19955-1-bigeasy@linutronix.de> References: <20180620110105.19955-1-bigeasy@linutronix.de> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: linux-media-owner@vger.kernel.org List-ID: 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. Cc: Hans Verkuil Cc: Mauro Carvalho Chehab Signed-off-by: Sebastian Andrzej Siewior --- drivers/media/usb/pwc/pwc-if.c | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/drivers/media/usb/pwc/pwc-if.c b/drivers/media/usb/pwc/pwc-if.c index 54b036d39c5b..8af72b0a607e 100644 --- a/drivers/media/usb/pwc/pwc-if.c +++ b/drivers/media/usb/pwc/pwc-if.c @@ -409,6 +409,8 @@ static int pwc_isoc_init(struct pwc_device *pdev) =20 /* Allocate and init Isochronuous urbs */ for (i =3D 0; i < MAX_ISO_BUFS; i++) { + void *buf; + urb =3D usb_alloc_urb(ISO_FRAMES_PER_DESC, GFP_KERNEL); if (urb =3D=3D NULL) { pwc_isoc_cleanup(pdev); @@ -416,23 +418,18 @@ static int pwc_isoc_init(struct pwc_device *pdev) } pdev->urbs[i] =3D urb; PWC_DEBUG_MEMORY("Allocated URB at 0x%p\n", urb); - - urb->interval =3D 1; // devik - urb->dev =3D udev; - urb->pipe =3D usb_rcvisocpipe(udev, pdev->vendpoint); urb->transfer_flags =3D URB_ISO_ASAP | URB_NO_TRANSFER_DMA_MAP; - urb->transfer_buffer =3D usb_alloc_coherent(udev, - ISO_BUFFER_SIZE, - GFP_KERNEL, - &urb->transfer_dma); - if (urb->transfer_buffer =3D=3D NULL) { + buf =3D usb_alloc_coherent(udev, ISO_BUFFER_SIZE, GFP_KERNEL, + &urb->transfer_dma); + if (buf =3D=3D NULL) { PWC_ERROR("Failed to allocate urb buffer %d\n", i); pwc_isoc_cleanup(pdev); return -ENOMEM; } - urb->transfer_buffer_length =3D ISO_BUFFER_SIZE; - urb->complete =3D pwc_isoc_handler; - urb->context =3D pdev; + usb_fill_int_urb(urb, udev, + usb_rcvisocpipe(udev, pdev->vendpoint), + buf, ISO_BUFFER_SIZE, pwc_isoc_handler, pdev, 1); + urb->start_frame =3D 0; urb->number_of_packets =3D ISO_FRAMES_PER_DESC; for (j =3D 0; j < ISO_FRAMES_PER_DESC; j++) { --=20 2.17.1 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: [16/27] media: pwc: use usb_fill_int_urb() From: Sebastian Andrzej Siewior Message-Id: <20180620110105.19955-17-bigeasy@linutronix.de> Date: Wed, 20 Jun 2018 13:00:54 +0200 To: linux-media@vger.kernel.org Cc: Mauro Carvalho Chehab , linux-usb@vger.kernel.org, tglx@linutronix.de, Sebastian Andrzej Siewior , Hans Verkuil List-ID: VXNpbmcgdXNiX2ZpbGxfaW50X3VyYigpIGhlbHBzIHRvIGZpbmQgY29kZSB3aGljaCBpbml0aWFs aXplcyBhbiBVUkIuIEEKZ3JlcCBmb3IgbWVtYmVycyBvZiB0aGUgc3RydWN0IChsaWtlIC0+Y29t cGxldGUpIHJldmVhbCBsb3RzIG9mIG90aGVyCnRoaW5ncywgdG9vLgoKQ2M6IEhhbnMgVmVya3Vp bCA8aHZlcmt1aWxAeHM0YWxsLm5sPgpDYzogTWF1cm8gQ2FydmFsaG8gQ2hlaGFiIDxtY2hlaGFi QGtlcm5lbC5vcmc+ClNpZ25lZC1vZmYtYnk6IFNlYmFzdGlhbiBBbmRyemVqIFNpZXdpb3IgPGJp Z2Vhc3lAbGludXRyb25peC5kZT4KLS0tCiBkcml2ZXJzL21lZGlhL3VzYi9wd2MvcHdjLWlmLmMg fCAyMSArKysrKysrKystLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMo KyksIDEyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvdXNiL3B3Yy9w d2MtaWYuYyBiL2RyaXZlcnMvbWVkaWEvdXNiL3B3Yy9wd2MtaWYuYwppbmRleCA1NGIwMzZkMzlj NWIuLjhhZjcyYjBhNjA3ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS91c2IvcHdjL3B3Yy1p Zi5jCisrKyBiL2RyaXZlcnMvbWVkaWEvdXNiL3B3Yy9wd2MtaWYuYwpAQCAtNDA5LDYgKzQwOSw4 IEBAIHN0YXRpYyBpbnQgcHdjX2lzb2NfaW5pdChzdHJ1Y3QgcHdjX2RldmljZSAqcGRldikKIAog CS8qIEFsbG9jYXRlIGFuZCBpbml0IElzb2Nocm9udW91cyB1cmJzICovCiAJZm9yIChpID0gMDsg aSA8IE1BWF9JU09fQlVGUzsgaSsrKSB7CisJCXZvaWQgKmJ1ZjsKKwogCQl1cmIgPSB1c2JfYWxs b2NfdXJiKElTT19GUkFNRVNfUEVSX0RFU0MsIEdGUF9LRVJORUwpOwogCQlpZiAodXJiID09IE5V TEwpIHsKIAkJCXB3Y19pc29jX2NsZWFudXAocGRldik7CkBAIC00MTYsMjMgKzQxOCwxOCBAQCBz dGF0aWMgaW50IHB3Y19pc29jX2luaXQoc3RydWN0IHB3Y19kZXZpY2UgKnBkZXYpCiAJCX0KIAkJ cGRldi0+dXJic1tpXSA9IHVyYjsKIAkJUFdDX0RFQlVHX01FTU9SWSgiQWxsb2NhdGVkIFVSQiBh dCAweCVwXG4iLCB1cmIpOwotCi0JCXVyYi0+aW50ZXJ2YWwgPSAxOyAvLyBkZXZpawotCQl1cmIt PmRldiA9IHVkZXY7Ci0JCXVyYi0+cGlwZSA9IHVzYl9yY3Zpc29jcGlwZSh1ZGV2LCBwZGV2LT52 ZW5kcG9pbnQpOwogCQl1cmItPnRyYW5zZmVyX2ZsYWdzID0gVVJCX0lTT19BU0FQIHwgVVJCX05P X1RSQU5TRkVSX0RNQV9NQVA7Ci0JCXVyYi0+dHJhbnNmZXJfYnVmZmVyID0gdXNiX2FsbG9jX2Nv aGVyZW50KHVkZXYsCi0JCQkJCQkJICBJU09fQlVGRkVSX1NJWkUsCi0JCQkJCQkJICBHRlBfS0VS TkVMLAotCQkJCQkJCSAgJnVyYi0+dHJhbnNmZXJfZG1hKTsKLQkJaWYgKHVyYi0+dHJhbnNmZXJf YnVmZmVyID09IE5VTEwpIHsKKwkJYnVmID0gdXNiX2FsbG9jX2NvaGVyZW50KHVkZXYsIElTT19C VUZGRVJfU0laRSwgR0ZQX0tFUk5FTCwKKwkJCQkJICZ1cmItPnRyYW5zZmVyX2RtYSk7CisJCWlm IChidWYgPT0gTlVMTCkgewogCQkJUFdDX0VSUk9SKCJGYWlsZWQgdG8gYWxsb2NhdGUgdXJiIGJ1 ZmZlciAlZFxuIiwgaSk7CiAJCQlwd2NfaXNvY19jbGVhbnVwKHBkZXYpOwogCQkJcmV0dXJuIC1F Tk9NRU07CiAJCX0KLQkJdXJiLT50cmFuc2Zlcl9idWZmZXJfbGVuZ3RoID0gSVNPX0JVRkZFUl9T SVpFOwotCQl1cmItPmNvbXBsZXRlID0gcHdjX2lzb2NfaGFuZGxlcjsKLQkJdXJiLT5jb250ZXh0 ID0gcGRldjsKKwkJdXNiX2ZpbGxfaW50X3VyYih1cmIsIHVkZXYsCisJCQl1c2JfcmN2aXNvY3Bp cGUodWRldiwgcGRldi0+dmVuZHBvaW50KSwKKwkJCWJ1ZiwgSVNPX0JVRkZFUl9TSVpFLCBwd2Nf aXNvY19oYW5kbGVyLCBwZGV2LCAxKTsKKwogCQl1cmItPnN0YXJ0X2ZyYW1lID0gMDsKIAkJdXJi LT5udW1iZXJfb2ZfcGFja2V0cyA9IElTT19GUkFNRVNfUEVSX0RFU0M7CiAJCWZvciAoaiA9IDA7 IGogPCBJU09fRlJBTUVTX1BFUl9ERVNDOyBqKyspIHsK