commit d86c2d34113650f95cee3017d63bea2b0109c8da
parent 634557bf4dab7bf39eabc901184f3b8572bfb3d7
Author: alex <alex@022568fa-442e-4ef8-a3e8-54dcafdb011a>
Date: Wed, 16 Jan 2008 21:53:14 +0000
* Added support for 183b UVC camera.
* Empty out R5U870_VERSION_EXTRA value.
git-svn-id: http://svn.mediati.org/svn/r5u870/trunk@34 022568fa-442e-4ef8-a3e8-54dcafdb011a
Diffstat:
4 files changed, 31 insertions(+), 2 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -1,3 +1,9 @@
+2008-01-17 Alexander Hixon <hixon.alexander@mediati.org>
+ * r5u870.c, r5u870_183b.fw, Makefile: Added support for 183b UVC
+ camera. Still not sure about all the WDM controls it supports.
+ * r5u870.c: Remove R5U870_VERSION_EXTRA value, since we're at 0.11.0 -
+ original device driver never used this version.
+
2008-01-16 Alexander Hixon <hixon.alexander@mediati.org>
* ChangeLog: Reformat changelog style, and added missing entries.
* KBuild, usbcam/usbcam_priv.h, usbcam/usbcam.h, usbcam/usbcam_fops.c,
diff --git a/Makefile b/Makefile
@@ -26,7 +26,7 @@ FWDIR ?= /lib/firmware
# Old module name to detect and complain about when installing
OLD_MODULE_NM = ry5u870.ko
-FWFILES = r5u870_1830.fw r5u870_1832.fw r5u870_1833.fw r5u870_1834.fw r5u870_1835.fw r5u870_1836.fw r5u870_1870_1.fw r5u870_1870.fw r5u870_1810.fw r5u870_183a.fw
+FWFILES = r5u870_1830.fw r5u870_1832.fw r5u870_1833.fw r5u870_1834.fw r5u870_1835.fw r5u870_1836.fw r5u870_1870_1.fw r5u870_1870.fw r5u870_1810.fw r5u870_183a.fw r5u870_183b.fw
ifneq ($(KERNELRELEASE),)
include $(src)/Kbuild
diff --git a/r5u870.c b/r5u870.c
@@ -70,7 +70,7 @@
#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 "halex"
+#define R5U870_VERSION_EXTRA ""
struct r5u870_resolution {
@@ -867,6 +867,7 @@ enum {
static const char *r5u870_powerline_names[] = { "Off", "50Hz", "60Hz" };
+/* TODO: Use our own internal control IDs, instead of crap unmerged ones. */
static struct r5u870_ctrl r5u870_wdm_ctrls[] = {
[R5U870_WDM_CTRL_BRIGHTNESS] = {
@@ -2653,6 +2654,19 @@ static const int r5u870_1810_183a_ctrls[] = {
R5U870_WDM_CTRL_NIGHTMODE,
R5U870_WDM_CTRL_LAST,
};
+static const int r5u870_1810_183b_ctrls[] = {
+ /* TODO: Maybe there are more of these? I don't actually have a webcam
+ to test against the different WDM controls. */
+ 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_NIGHTMODE,
+ R5U870_WDM_CTRL_LAST,
+};
/*
@@ -2716,6 +2730,7 @@ enum {
R5U870_DI_VGP_VCC5,
R5U870_DI_VGP_VCC4,
R5U870_DI_VGP_VCC7,
+ R5U870_DI_VGP_VCC8,
R5U870_DI_HP_WEBCAM1K,
R5U870_DI_HP_PAVWC_WDM,
R5U870_DI_HP_PAVWC_UVC,
@@ -2777,6 +2792,13 @@ static const struct r5u870_model r5u870_models[] = {
.rm_wdm_ctrlids = r5u870_1810_183a_ctrls,
.rm_uvc = 1,
},
+ [R5U870_DI_VGP_VCC8] = {
+ .rm_name = "Sony VGP-VCC8",
+ .rm_ucode_file = "r5u870_183b.fw",
+ .rm_ucode_version = 0x0111,
+ .rm_wdm_ctrlids = r5u870_1810_183b_ctrls,
+ .rm_uvc = 1,
+ },
[R5U870_DI_HP_WEBCAM1K] = {
.rm_name = "HP Webcam 1000",
.rm_ucode_file = "r5u870_1870_1.fw",
@@ -2875,6 +2897,7 @@ static const struct usb_device_id id_table[] = {
{ R5U870_DEVICE_UVC(0x05CA, 0x1835, R5U870_DI_VGP_VCC5) },
{ R5U870_DEVICE_UVC(0x05CA, 0x1836, R5U870_DI_VGP_VCC4) },
{ R5U870_DEVICE_UVC(0x05CA, 0x183a, R5U870_DI_VGP_VCC7) },
+ { R5U870_DEVICE_UVC(0x05CA, 0x183b, R5U870_DI_VGP_VCC8) },
{ },
};
diff --git a/r5u870_183b.fw b/r5u870_183b.fw
Binary files differ.