r5u870

Ricoh R5U870 Linux Driver
git clone https://logand.com/git/r5u870.git/
Log | Files | Refs | README | LICENSE

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:
Mr5u870.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) },