commit 62a56dcd4aaa57b73c7f123327f0a19b281b463a
parent 87d9f562ec17c01fb2eaee0637bcfdbd46471cbd
Author: alex <alex@022568fa-442e-4ef8-a3e8-54dcafdb011a>
Date: Wed, 12 Mar 2008 21:28:55 +0000
* Bump version to 0.11.1-SVN
* Add new control ID list for 1812 device.
* Make sure we write it out as being UVC not WDM.
* use _NOFW rather than _1 to define the difference between 1812 and 1810.
git-svn-id: http://svn.mediati.org/svn/r5u870/trunk@62 022568fa-442e-4ef8-a3e8-54dcafdb011a
Diffstat:
M | r5u870.c | | | 33 | ++++++++++++++++++++++++--------- |
1 file changed, 24 insertions(+), 9 deletions(-)
diff --git a/r5u870.c b/r5u870.c
@@ -4,7 +4,7 @@
* Copyright (c) 2008 Alexander Hixon <hixon.alexander@mediati.org>
*
* Check out README for additional credits.
- * Version 0.11.0
+ * Version 0.11.1
*
* This driver is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -69,8 +69,8 @@
#define r5u_err(RV, FMT...) usbcam_err((RV)->vh_parent, FMT)
#define r5u_dbg(RV, SUBSYS, FMT...) usbcam_dbg((RV)->vh_parent, SUBSYS, FMT)
-#define R5U870_VERSION KERNEL_VERSION(0,11,0)
-#define R5U870_VERSION_EXTRA ""
+#define R5U870_VERSION KERNEL_VERSION(0,11,1)
+#define R5U870_VERSION_EXTRA "SVN"
struct r5u870_resolution {
@@ -2519,7 +2519,7 @@ static struct usbcam_dev_ops r5u870_usbcam_dev_ops = {
.disconnect = r5u870_usbcam_disconnect,
.release = r5u870_usbcam_release,
.suspend = r5u870_usbcam_suspend,
- .resume = r5u870_usbcam_resume,
+ .resume = r5u870_usbcam_resume,
.try_format = r5u870_usbcam_try_format,
.set_format = r5u870_usbcam_set_format,
.cap_start = r5u870_usbcam_cap_start,
@@ -2633,6 +2633,21 @@ static const int r5u870_1870_ctrls[] = {
* Even the UVC models do not express all of their controls in the UVC
* descriptor tables, and get sets of hard-coded vendor controls
*/
+
+// FIXME: This device still has a bunch of unknown control IDs.
+static const int r5u870_1812_ctrls[] = {
+ R5U870_WDM_CTRL_BRIGHTNESS,
+ R5U870_WDM_CTRL_CONTRAST,
+ R5U870_WDM_CTRL_HUE,
+ R5U870_WDM_CTRL_WB_RED,
+ R5U870_WDM_CTRL_WB_GREEN,
+ R5U870_WDM_CTRL_WB_BLUE,
+ R5U870_WDM_CTRL_WB_AUTO,
+ R5U870_WDM_CTRL_VFLIP,
+ R5U870_WDM_CTRL_HFLIP,
+ R5U870_WDM_CTRL_PRIVACY,
+ R5U870_WDM_CTRL_LAST,
+};
static const int r5u870_1835_ctrls[] = {
R5U870_WDM_CTRL_WB_RED,
R5U870_WDM_CTRL_WB_GREEN,
@@ -2776,7 +2791,7 @@ enum {
R5U870_DI_HP_WEBCAM1K,
R5U870_DI_HP_PAVWC_WDM,
R5U870_DI_HP_PAVWC_UVC,
- R5U870_DI_HP_PAVWC_UVC_1,
+ R5U870_DI_HP_PAVWC_UVC_NOFW,
R5U870_DI_GENERIC_UVC,
R5U870_DI_FUJITSU,
};
@@ -2889,9 +2904,9 @@ static const struct r5u870_model r5u870_models[] = {
.rm_uvc = 1,
.rm_no_ctrl_reload = 1,
},
- [R5U870_DI_HP_PAVWC_UVC_1] = {
- .rm_name = "HP Pavilion Webcam (WDM - NO FW)",
- .rm_wdm_ctrlids = r5u870_1810_1836_ctrls,
+ [R5U870_DI_HP_PAVWC_UVC_NOFW] = {
+ .rm_name = "HP Pavilion Webcam (UVC - NO FW)",
+ .rm_wdm_ctrlids = r5u870_1812_ctrls,
.rm_uvc = 1,
.rm_no_ctrl_reload = 1,
},
@@ -2965,7 +2980,7 @@ static const struct usb_device_id id_table[] = {
{ USB_DEVICE(0x05CA, 0x1870), .driver_info = R5U870_DI_HP_PAVWC_WDM },
{ R5U870_DEVICE_UVC(0x05CA, 0x1810, R5U870_DI_HP_PAVWC_UVC) },
- { R5U870_DEVICE_UVC(0x05CA, 0x1812, R5U870_DI_HP_PAVWC_UVC_1) },
+ { R5U870_DEVICE_UVC(0x05CA, 0x1812, R5U870_DI_HP_PAVWC_UVC_NOFW) },
{ R5U870_DEVICE_UVC(0x05CA, 0x1835, R5U870_DI_VGP_VCC5) },
{ R5U870_DEVICE_UVC(0x05CA, 0x1836, R5U870_DI_VGP_VCC4) },
{ R5U870_DEVICE_UVC(0x05CA, 0x1837, R5U870_DI_VGP_VCC4_VFLIP) },