@@ -689,16 +689,11 @@ static int submit_urbs(struct camera_data *cam)
}
cam->sbuf[i].urb = urb;
- urb->dev = cam->dev;
+ usb_fill_int_urb(urb, cam->dev, usb_rcvisocpipe(cam->dev, 1),
+ cam->sbuf[i].data, FRAME_SIZE_PER_DESC *
+ FRAMES_PER_DESC, cpia2_usb_complete, cam, 1);
urb->context = cam;
- urb->pipe = usb_rcvisocpipe(cam->dev, 1 /*ISOC endpoint*/);
urb->transfer_flags = URB_ISO_ASAP;
- urb->transfer_buffer = cam->sbuf[i].data;
- urb->complete = cpia2_usb_complete;
- urb->number_of_packets = FRAMES_PER_DESC;
- urb->interval = 1;
- urb->transfer_buffer_length =
- FRAME_SIZE_PER_DESC * FRAMES_PER_DESC;
for (fx = 0; fx < FRAMES_PER_DESC; fx++) {
urb->iso_frame_desc[fx].offset =
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: Mauro Carvalho Chehab <mchehab@kernel.org> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> --- drivers/media/usb/cpia2/cpia2_usb.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-)