diff options
author | David Ellingsworth <david@identd.dyndns.org> | 2008-09-21 07:12:03 (GMT) |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2008-10-12 11:37:08 (GMT) |
commit | 4aaec3ea41addf6fe4fe029aa535f3c019ee0e6d (patch) | |
tree | caa372c064a2dacea481c0fd15ea28bf188e05fe /drivers/media/video/stk-webcam.h | |
parent | 714b9a1e0ae3224728d1d96d77150ceea7487a61 (diff) | |
download | linux-4aaec3ea41addf6fe4fe029aa535f3c019ee0e6d.tar.xz |
V4L/DVB (9034): With the recent patch to v4l2 titled "v4l2: use register_chrdev_region
instead of register_chrdev", the internal reference count is no longer
necessary in order to free the internal stk_webcam struct. This patch
removes the reference counter from the stk_webcam struct and frees the
struct via the video_device release callback. It also fixes an
associated bug in stk_camera_probe which could result from
video_unregister_device being called before video_register_device.
Lastly, it simplifies access to the stk_webcam struct in several
places. This patch should apply cleanly against the "working" branch
of the v4l-dvb git repository.
This patch is identical to the patch I sent a couple of months back
titled "stk-webcam: Fix video_device handling" except that it has been
rebased against current modifications to stk-webcam and it no longer
depends on any other outstanding patches.
Acked-by: Jaime Velasco Juan <jsagarribay@gmail.com>
Signed-off-by: David Ellingsworth <david@identd.dyndns.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/stk-webcam.h')
-rw-r--r-- | drivers/media/video/stk-webcam.h | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/drivers/media/video/stk-webcam.h b/drivers/media/video/stk-webcam.h index df4dfef..084a85b 100644 --- a/drivers/media/video/stk-webcam.h +++ b/drivers/media/video/stk-webcam.h @@ -99,7 +99,6 @@ struct stk_camera { u8 isoc_ep; - struct kref kref; /* Not sure if this is right */ atomic_t urbs_used; @@ -121,7 +120,6 @@ struct stk_camera { unsigned sequence; }; -#define to_stk_camera(d) container_of(d, struct stk_camera, kref) #define vdev_to_camera(d) container_of(d, struct stk_camera, vdev) void stk_camera_delete(struct kref *); |