mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-10 15:19:51 +00:00
[PATCH] USB: ZC0301 driver bugfix
ZC0301 driver bugfix. Use correct PID/VID USB entries. Signed-off-by: Luca Risolia <luca.risolia@studio.unibo.it> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
2e56222ed5
commit
6e0755a4b2
@ -201,14 +201,14 @@ devices mounting the ZC0301 Image Processor and Control Chips:
|
|||||||
|
|
||||||
Vendor ID Product ID
|
Vendor ID Product ID
|
||||||
--------- ----------
|
--------- ----------
|
||||||
0x10fd 0x8050
|
0x041e 0x4017
|
||||||
0x041e 0x0417
|
0x041e 0x401c
|
||||||
0x041e 0x041e
|
0x041e 0x401e
|
||||||
0x041e 0x081c
|
0x041e 0x4034
|
||||||
0x041e 0x0834
|
0x041e 0x4035
|
||||||
0x041e 0x0835
|
|
||||||
0x046d 0x08ae
|
0x046d 0x08ae
|
||||||
0x0ac8 0x0301
|
0x0ac8 0x0301
|
||||||
|
0x10fd 0x8050
|
||||||
|
|
||||||
The list above does not imply that all those devices work with this driver: up
|
The list above does not imply that all those devices work with this driver: up
|
||||||
until now only the ones that mount the following image sensors are supported;
|
until now only the ones that mount the following image sensors are supported;
|
||||||
|
@ -134,10 +134,7 @@ struct zc0301_device {
|
|||||||
struct zc0301_device*
|
struct zc0301_device*
|
||||||
zc0301_match_id(struct zc0301_device* cam, const struct usb_device_id *id)
|
zc0301_match_id(struct zc0301_device* cam, const struct usb_device_id *id)
|
||||||
{
|
{
|
||||||
if (usb_match_id(usb_ifnum_to_if(cam->usbdev, 0), id))
|
return usb_match_id(usb_ifnum_to_if(cam->usbdev, 0), id) ? cam : NULL;
|
||||||
return cam;
|
|
||||||
|
|
||||||
return NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -52,8 +52,8 @@
|
|||||||
#define ZC0301_MODULE_AUTHOR "(C) 2006 Luca Risolia"
|
#define ZC0301_MODULE_AUTHOR "(C) 2006 Luca Risolia"
|
||||||
#define ZC0301_AUTHOR_EMAIL "<luca.risolia@studio.unibo.it>"
|
#define ZC0301_AUTHOR_EMAIL "<luca.risolia@studio.unibo.it>"
|
||||||
#define ZC0301_MODULE_LICENSE "GPL"
|
#define ZC0301_MODULE_LICENSE "GPL"
|
||||||
#define ZC0301_MODULE_VERSION "1:1.02"
|
#define ZC0301_MODULE_VERSION "1:1.03"
|
||||||
#define ZC0301_MODULE_VERSION_CODE KERNEL_VERSION(1, 0, 2)
|
#define ZC0301_MODULE_VERSION_CODE KERNEL_VERSION(1, 0, 3)
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
@ -637,7 +637,6 @@ static void zc0301_release_resources(struct zc0301_device* cam)
|
|||||||
DBG(2, "V4L2 device /dev/video%d deregistered", cam->v4ldev->minor);
|
DBG(2, "V4L2 device /dev/video%d deregistered", cam->v4ldev->minor);
|
||||||
video_set_drvdata(cam->v4ldev, NULL);
|
video_set_drvdata(cam->v4ldev, NULL);
|
||||||
video_unregister_device(cam->v4ldev);
|
video_unregister_device(cam->v4ldev);
|
||||||
usb_put_dev(cam->usbdev);
|
|
||||||
kfree(cam->control_buffer);
|
kfree(cam->control_buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -727,6 +726,7 @@ static int zc0301_release(struct inode* inode, struct file* filp)
|
|||||||
|
|
||||||
if (cam->state & DEV_DISCONNECTED) {
|
if (cam->state & DEV_DISCONNECTED) {
|
||||||
zc0301_release_resources(cam);
|
zc0301_release_resources(cam);
|
||||||
|
usb_put_dev(cam->usbdev);
|
||||||
mutex_unlock(&cam->dev_mutex);
|
mutex_unlock(&cam->dev_mutex);
|
||||||
kfree(cam);
|
kfree(cam);
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -58,14 +58,14 @@ zc0301_attach_sensor(struct zc0301_device* cam, struct zc0301_sensor* sensor);
|
|||||||
|
|
||||||
#define ZC0301_ID_TABLE \
|
#define ZC0301_ID_TABLE \
|
||||||
static const struct usb_device_id zc0301_id_table[] = { \
|
static const struct usb_device_id zc0301_id_table[] = { \
|
||||||
{ ZC0301_USB_DEVICE(0x10fd, 0x8050, 0xff), }, /* TAS5130D */ \
|
{ ZC0301_USB_DEVICE(0x041e, 0x4017, 0xff), }, \
|
||||||
{ ZC0301_USB_DEVICE(0x041e, 0x0417, 0xff), }, \
|
{ ZC0301_USB_DEVICE(0x041e, 0x401c, 0xff), }, /* PAS106 */ \
|
||||||
{ ZC0301_USB_DEVICE(0x041e, 0x041e, 0xff), }, /* HV7131B */ \
|
{ ZC0301_USB_DEVICE(0x041e, 0x401e, 0xff), }, /* HV7131B */ \
|
||||||
{ ZC0301_USB_DEVICE(0x041e, 0x081c, 0xff), }, /* PAS106 */ \
|
{ ZC0301_USB_DEVICE(0x041e, 0x4034, 0xff), }, /* PAS106 */ \
|
||||||
{ ZC0301_USB_DEVICE(0x041e, 0x0834, 0xff), }, /* PAS106 */ \
|
{ ZC0301_USB_DEVICE(0x041e, 0x4035, 0xff), }, /* PAS106 */ \
|
||||||
{ ZC0301_USB_DEVICE(0x041e, 0x0835, 0xff), }, /* PAS106 */ \
|
|
||||||
{ ZC0301_USB_DEVICE(0x046d, 0x08ae, 0xff), }, /* PAS202BCB */ \
|
{ ZC0301_USB_DEVICE(0x046d, 0x08ae, 0xff), }, /* PAS202BCB */ \
|
||||||
{ ZC0301_USB_DEVICE(0x0ac8, 0x0301, 0xff), }, \
|
{ ZC0301_USB_DEVICE(0x0ac8, 0x0301, 0xff), }, \
|
||||||
|
{ ZC0301_USB_DEVICE(0x10fd, 0x8050, 0xff), }, /* TAS5130D */ \
|
||||||
{ } \
|
{ } \
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user