summaryrefslogtreecommitdiff
path: root/drivers/staging/go7007/go7007-usb.c
diff options
context:
space:
mode:
authorPete Eberlein <pete@sensoray.com>2009-11-16 18:07:42 (GMT)
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-12-05 20:42:00 (GMT)
commit0b398f4f124e2b4b03f9acf726370c8459610c5c (patch)
treee391f4794df042eb50f228663d9df720adc1db60 /drivers/staging/go7007/go7007-usb.c
parent76dd272b56cd1c7fa013ef5d7eb28c4d319e322b (diff)
downloadlinux-fsl-qoriq-0b398f4f124e2b4b03f9acf726370c8459610c5c.tar.xz
V4L/DVB (13455): go7007: Add struct v4l2_device.
This adds a struct v4l2_device to the go7007 device struct and registers it during v4l2 initialization. The v4l2_device registration overwrites the go->dev device_data, which is a struct usb_interface with intfdata set to the struct go7007. This changes intfdata to point to the struct v4l2_device inside struct go7007, which is what v4l2_device_register will also set it to (and warn about non-null drvdata on register.) Since usb disconnect can happen any time, this intfdata should always be present. Signed-off-by: Pete Eberlein <pete@sensoray.com> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/staging/go7007/go7007-usb.c')
-rw-r--r--drivers/staging/go7007/go7007-usb.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/staging/go7007/go7007-usb.c b/drivers/staging/go7007/go7007-usb.c
index ecaa3c9..f17e7b3 100644
--- a/drivers/staging/go7007/go7007-usb.c
+++ b/drivers/staging/go7007/go7007-usb.c
@@ -1057,7 +1057,7 @@ static int go7007_usb_probe(struct usb_interface *intf,
usb_rcvintpipe(usb->usbdev, 4),
usb->intr_urb->transfer_buffer, 2*sizeof(u16),
go7007_usb_readinterrupt_complete, go, 8);
- usb_set_intfdata(intf, go);
+ usb_set_intfdata(intf, &go->v4l2_dev);
/* Boot the GO7007 */
if (go7007_boot_encoder(go, go->board_info->flags &
@@ -1233,7 +1233,7 @@ allocfail:
static void go7007_usb_disconnect(struct usb_interface *intf)
{
- struct go7007 *go = usb_get_intfdata(intf);
+ struct go7007 *go = to_go7007(usb_get_intfdata(intf));
struct go7007_usb *usb = go->hpi_context;
struct urb *vurb, *aurb;
int i;