rpms/kernel/devel linux-2.6-v4l-dvb-rebase-gspca-to-latest.patch, 1.1, 1.2 config-generic, 1.352, 1.353 kernel.spec, 1.1931, 1.1932

Hans de Goede jwrdegoede at fedoraproject.org
Sun Feb 21 15:31:55 UTC 2010


Author: jwrdegoede

Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv30636

Modified Files:
	config-generic kernel.spec 
Added Files:
	linux-2.6-v4l-dvb-rebase-gspca-to-latest.patch 
Log Message:
* Sun Feb 21 2010 Hans de Goede <hdegoede at redhat.com>
- Rebase gspca usb webcam driver + sub drivers to latest upstream, this
  adds support for the following webcam bridge chipsets: benq, cpia1, sn9c2028;
  and support for new devices and many bugfixes in other gspca-subdrivers


linux-2.6-v4l-dvb-rebase-gspca-to-latest.patch:
 drivers/media/video/gspca/Kconfig                  |   46 
 drivers/media/video/gspca/Makefile                 |    8 
 drivers/media/video/gspca/benq.c                   |  322 +++
 drivers/media/video/gspca/coarse_expo_autogain.h   |  116 +
 drivers/media/video/gspca/conex.c                  |    4 
 drivers/media/video/gspca/cpia1.c                  | 2022 +++++++++++++++++++++
 drivers/media/video/gspca/etoms.c                  |   10 
 drivers/media/video/gspca/gl860/gl860.c            |   10 
 drivers/media/video/gspca/gspca.c                  |  252 ++
 drivers/media/video/gspca/gspca.h                  |   30 
 drivers/media/video/gspca/m5602/m5602_mt9m111.c    |   16 
 drivers/media/video/gspca/m5602/m5602_ov7660.c     |  102 +
 drivers/media/video/gspca/m5602/m5602_ov7660.h     |    2 
 drivers/media/video/gspca/m5602/m5602_ov9650.c     |    2 
 drivers/media/video/gspca/m5602/m5602_po1030.c     |   14 
 drivers/media/video/gspca/m5602/m5602_s5k4aa.c     |    2 
 drivers/media/video/gspca/m5602/m5602_s5k83a.c     |    2 
 drivers/media/video/gspca/mars.c                   |   40 
 drivers/media/video/gspca/mr97310a.c               |  226 ++
 drivers/media/video/gspca/ov519.c                  |  170 +
 drivers/media/video/gspca/ov534.c                  | 1253 +------------
 drivers/media/video/gspca/ov534_9.c                | 1477 +++++++++++++++
 drivers/media/video/gspca/pac207.c                 |   25 
 drivers/media/video/gspca/pac7302.c                |  432 ++--
 drivers/media/video/gspca/pac7311.c                |  272 +-
 drivers/media/video/gspca/pac_common.h             |    9 
 drivers/media/video/gspca/sn9c2028.c               |  757 +++++++
 drivers/media/video/gspca/sn9c2028.h               |   51 
 drivers/media/video/gspca/sn9c20x.c                |   33 
 drivers/media/video/gspca/sonixb.c                 |  481 +++-
 drivers/media/video/gspca/sonixj.c                 |  423 +++-
 drivers/media/video/gspca/spca500.c                |   21 
 drivers/media/video/gspca/spca501.c                |   27 
 drivers/media/video/gspca/spca505.c                |    2 
 drivers/media/video/gspca/spca506.c                |    4 
 drivers/media/video/gspca/spca508.c                |   48 
 drivers/media/video/gspca/spca561.c                |   35 
 drivers/media/video/gspca/sq905c.c                 |   45 
 drivers/media/video/gspca/stk014.c                 |    2 
 drivers/media/video/gspca/stv0680.c                |   36 
 drivers/media/video/gspca/stv06xx/stv06xx.c        |   32 
 drivers/media/video/gspca/stv06xx/stv06xx_pb0100.c |   22 
 drivers/media/video/gspca/sunplus.c                |   71 
 drivers/media/video/gspca/t613.c                   |  102 +
 drivers/media/video/gspca/tv8532.c                 |    8 
 drivers/media/video/gspca/vc032x.c                 | 1163 +++++++++++-
 drivers/media/video/gspca/zc3xx.c                  |  712 ++++---
 include/linux/videodev2.h                          |    3 
 48 files changed, 8692 insertions(+), 2250 deletions(-)

View full diff with command:
/usr/bin/cvs -n -f diff -kk -u -p -N -r 1.1 -r 1.2 linux-2.6-v4l-dvb-rebase-gspca-to-latest.patchIndex: linux-2.6-v4l-dvb-rebase-gspca-to-latest.patch
===================================================================
RCS file: linux-2.6-v4l-dvb-rebase-gspca-to-latest.patch
diff -N linux-2.6-v4l-dvb-rebase-gspca-to-latest.patch
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ linux-2.6-v4l-dvb-rebase-gspca-to-latest.patch	21 Feb 2010 15:31:54 -0000	1.2
@@ -0,0 +1,15965 @@
+From 1adf4b1e78d961522e4d598dd82456630458e617 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede at redhat.com>
+Date: Sat, 20 Feb 2010 21:40:38 +0100
+Subject: [PATCH] Rebase gspca webcamdrivers to latest upstream
+
+This adds drivers for benq, cpia1 and sn9c2028 bridges + support for
+more devices and many bugfixes in other drivers.
+
+This also adds support for the button found on most cameras in most
+gspca sub drivers.
+---
+ drivers/media/video/gspca/Kconfig                  |   46 +-
+ drivers/media/video/gspca/Makefile                 |    8 +
+ drivers/media/video/gspca/benq.c                   |  322 ++++
+ drivers/media/video/gspca/coarse_expo_autogain.h   |  116 ++
+ drivers/media/video/gspca/conex.c                  |    4 +-
+ drivers/media/video/gspca/cpia1.c                  | 2022 ++++++++++++++++++++
+ drivers/media/video/gspca/etoms.c                  |   10 +-
+ drivers/media/video/gspca/gl860/gl860.c            |   10 +-
+ drivers/media/video/gspca/gspca.c                  |  252 +++-
+ drivers/media/video/gspca/gspca.h                  |   30 +-
+ drivers/media/video/gspca/m5602/m5602_mt9m111.c    |   16 +-
+ drivers/media/video/gspca/m5602/m5602_ov7660.c     |  102 +-
+ drivers/media/video/gspca/m5602/m5602_ov7660.h     |    2 +-
+ drivers/media/video/gspca/m5602/m5602_ov9650.c     |    2 +-
+ drivers/media/video/gspca/m5602/m5602_po1030.c     |   14 +-
+ drivers/media/video/gspca/m5602/m5602_s5k4aa.c     |    2 +-
+ drivers/media/video/gspca/m5602/m5602_s5k83a.c     |    2 +-
+ drivers/media/video/gspca/mars.c                   |   40 +-
+ drivers/media/video/gspca/mr97310a.c               |  226 ++-
+ drivers/media/video/gspca/ov519.c                  |  170 ++-
+ drivers/media/video/gspca/ov534.c                  | 1253 ++-----------
+ drivers/media/video/gspca/ov534_9.c                | 1477 ++++++++++++++
+ drivers/media/video/gspca/pac207.c                 |   25 +-
+ drivers/media/video/gspca/pac7302.c                |  432 ++---
+ drivers/media/video/gspca/pac7311.c                |  272 ++--
+ drivers/media/video/gspca/pac_common.h             |    9 +-
+ drivers/media/video/gspca/sn9c2028.c               |  757 ++++++++
+ drivers/media/video/gspca/sn9c2028.h               |   51 +
+ drivers/media/video/gspca/sn9c20x.c                |   33 +-
+ drivers/media/video/gspca/sonixb.c                 |  481 ++++--
+ drivers/media/video/gspca/sonixj.c                 |  423 ++++-
+ drivers/media/video/gspca/spca500.c                |   21 +-
+ drivers/media/video/gspca/spca501.c                |   27 +-
+ drivers/media/video/gspca/spca505.c                |    2 +-
+ drivers/media/video/gspca/spca506.c                |    4 +-
+ drivers/media/video/gspca/spca508.c                |   48 +-
+ drivers/media/video/gspca/spca561.c                |   35 +-
+ drivers/media/video/gspca/sq905c.c                 |   45 +-
+ drivers/media/video/gspca/stk014.c                 |    2 +-
+ drivers/media/video/gspca/stv0680.c                |   36 +-
+ drivers/media/video/gspca/stv06xx/stv06xx.c        |   32 +-
+ drivers/media/video/gspca/stv06xx/stv06xx_pb0100.c |   22 +
+ drivers/media/video/gspca/sunplus.c                |   71 +-
+ drivers/media/video/gspca/t613.c                   |  102 +-
+ drivers/media/video/gspca/tv8532.c                 |    8 +-
+ drivers/media/video/gspca/vc032x.c                 | 1163 +++++++++++-
+ drivers/media/video/gspca/zc3xx.c                  |  712 ++++----
+ include/linux/videodev2.h                          |    2 +
+ 48 files changed, 8692 insertions(+), 2249 deletions(-)
+ create mode 100644 drivers/media/video/gspca/benq.c
+ create mode 100644 drivers/media/video/gspca/coarse_expo_autogain.h
+ create mode 100644 drivers/media/video/gspca/cpia1.c
+ create mode 100644 drivers/media/video/gspca/ov534_9.c
+ create mode 100644 drivers/media/video/gspca/sn9c2028.c
+ create mode 100644 drivers/media/video/gspca/sn9c2028.h
+
+diff --git a/drivers/media/video/gspca/Kconfig b/drivers/media/video/gspca/Kconfig
+index 609d65b..e0060c1 100644
+--- a/drivers/media/video/gspca/Kconfig
++++ b/drivers/media/video/gspca/Kconfig
+@@ -21,6 +21,15 @@ source "drivers/media/video/gspca/m5602/Kconfig"
+ source "drivers/media/video/gspca/stv06xx/Kconfig"
+ source "drivers/media/video/gspca/gl860/Kconfig"
+ 
++config USB_GSPCA_BENQ
++	tristate "Benq USB Camera Driver"
++	depends on VIDEO_V4L2 && USB_GSPCA
++	help
++	  Say Y here if you want support for the Benq DC E300 camera.
++
++	  To compile this driver as a module, choose M here: the
++	  module will be called gspca_benq.
++
+ config USB_GSPCA_CONEX
+ 	tristate "Conexant Camera Driver"
+ 	depends on VIDEO_V4L2 && USB_GSPCA
+@@ -30,6 +39,17 @@ config USB_GSPCA_CONEX
+ 	  To compile this driver as a module, choose M here: the
+ 	  module will be called gspca_conex.
+ 
++config USB_GSPCA_CPIA1
++	tristate "cpia CPiA (version 1) Camera Driver"
++	depends on VIDEO_V4L2 && USB_GSPCA
++	help
++	  Say Y here if you want support for USB cameras based on the cpia
++	  CPiA chip. Note that you need atleast version 0.6.4 of libv4l for
++	  applications to understand the videoformat generated by this driver.
++
++	  To compile this driver as a module, choose M here: the
++	  module will be called gspca_cpia1.
++
+ config USB_GSPCA_ETOMS
+ 	tristate "Etoms USB Camera Driver"
+ 	depends on VIDEO_V4L2 && USB_GSPCA
+@@ -86,15 +106,25 @@ config USB_GSPCA_OV519
+ 	  module will be called gspca_ov519.
+ 
+ config USB_GSPCA_OV534
+-	tristate "OV534 USB Camera Driver"
++	tristate "OV534 OV772x USB Camera Driver"
+ 	depends on VIDEO_V4L2 && USB_GSPCA
+ 	help
+-	  Say Y here if you want support for cameras based on the OV534 chip.
+-	  (e.g. Sony Playstation EYE)
++	  Say Y here if you want support for cameras based on the OV534 chip
++	  and sensor OV772x (e.g. Sony Playstation EYE)
+ 
+ 	  To compile this driver as a module, choose M here: the
+ 	  module will be called gspca_ov534.
+ 
++config USB_GSPCA_OV534_9
++	tristate "OV534 OV965x USB Camera Driver"
++	depends on VIDEO_V4L2 && USB_GSPCA
++	help
++	  Say Y here if you want support for cameras based on the OV534 chip
++	  and sensor OV965x (e.g. Hercules Dualpix)
++
++	  To compile this driver as a module, choose M here: the
++	  module will be called gspca_ov534_9.
++
+ config USB_GSPCA_PAC207
+ 	tristate "Pixart PAC207 USB Camera Driver"
+ 	depends on VIDEO_V4L2 && USB_GSPCA
+@@ -122,6 +152,16 @@ config USB_GSPCA_PAC7311
+ 	  To compile this driver as a module, choose M here: the
+ 	  module will be called gspca_pac7311.
+ 
++config USB_GSPCA_SN9C2028
++	tristate "SONIX Dual-Mode USB Camera Driver"
++	depends on VIDEO_V4L2 && USB_GSPCA
++	help
++	  Say Y here if you want streaming support for Sonix SN9C2028 cameras.
++	  These are supported as stillcams in libgphoto2/camlibs/sonix.
++
++	  To compile this driver as a module, choose M here: the
++	  module will be called gspca_sn9c2028.
++
+ config USB_GSPCA_SN9C20X
+ 	tristate "SN9C20X USB Camera Driver"
+ 	depends on VIDEO_V4L2 && USB_GSPCA
+diff --git a/drivers/media/video/gspca/Makefile b/drivers/media/video/gspca/Makefile
+index ff2c727..6e4cf1c 100644
+--- a/drivers/media/video/gspca/Makefile
++++ b/drivers/media/video/gspca/Makefile
+@@ -1,5 +1,7 @@
+ obj-$(CONFIG_USB_GSPCA)          += gspca_main.o
++obj-$(CONFIG_USB_GSPCA_BENQ)     += gspca_benq.o
+ obj-$(CONFIG_USB_GSPCA_CONEX)    += gspca_conex.o
++obj-$(CONFIG_USB_GSPCA_CPIA1)    += gspca_cpia1.o
+ obj-$(CONFIG_USB_GSPCA_ETOMS)    += gspca_etoms.o
+ obj-$(CONFIG_USB_GSPCA_FINEPIX)  += gspca_finepix.o
+ obj-$(CONFIG_USB_GSPCA_JEILINJ)  += gspca_jeilinj.o
+@@ -7,9 +9,11 @@ obj-$(CONFIG_USB_GSPCA_MARS)     += gspca_mars.o
+ obj-$(CONFIG_USB_GSPCA_MR97310A) += gspca_mr97310a.o
+ obj-$(CONFIG_USB_GSPCA_OV519)    += gspca_ov519.o
+ obj-$(CONFIG_USB_GSPCA_OV534)    += gspca_ov534.o
++obj-$(CONFIG_USB_GSPCA_OV534_9)  += gspca_ov534_9.o
+ obj-$(CONFIG_USB_GSPCA_PAC207)   += gspca_pac207.o
+ obj-$(CONFIG_USB_GSPCA_PAC7302)  += gspca_pac7302.o
+ obj-$(CONFIG_USB_GSPCA_PAC7311)  += gspca_pac7311.o
++obj-$(CONFIG_USB_GSPCA_SN9C2028) += gspca_sn9c2028.o
+ obj-$(CONFIG_USB_GSPCA_SN9C20X)  += gspca_sn9c20x.o
+ obj-$(CONFIG_USB_GSPCA_SONIXB)   += gspca_sonixb.o
+ obj-$(CONFIG_USB_GSPCA_SONIXJ)   += gspca_sonixj.o
+@@ -30,7 +34,9 @@ obj-$(CONFIG_USB_GSPCA_VC032X)   += gspca_vc032x.o
+ obj-$(CONFIG_USB_GSPCA_ZC3XX)    += gspca_zc3xx.o
+ 
+ gspca_main-objs     := gspca.o
++gspca_benq-objs     := benq.o
+ gspca_conex-objs    := conex.o
++gspca_cpia1-objs    := cpia1.o
+ gspca_etoms-objs    := etoms.o
+ gspca_finepix-objs  := finepix.o
+ gspca_jeilinj-objs  := jeilinj.o
+@@ -38,9 +44,11 @@ gspca_mars-objs     := mars.o
+ gspca_mr97310a-objs := mr97310a.o
+ gspca_ov519-objs    := ov519.o
+ gspca_ov534-objs    := ov534.o
++gspca_ov534_9-objs  := ov534_9.o
+ gspca_pac207-objs   := pac207.o
+ gspca_pac7302-objs  := pac7302.o
+ gspca_pac7311-objs  := pac7311.o
[...15572 lines suppressed...]
+-		cam->cam_mode = vga_mode;
+-		cam->nmodes = ARRAY_SIZE(vga_mode);
+-	} else {
++	switch (mode_tb[sd->sensor]) {
++	case 0:
+ 		cam->cam_mode = sif_mode;
+ 		cam->nmodes = ARRAY_SIZE(sif_mode);
++		break;
++	case 1:
++		cam->cam_mode = vga_mode;
++		cam->nmodes = ARRAY_SIZE(vga_mode);
++		break;
++	default:
++/*	case 2: */
++		cam->cam_mode = broken_vga_mode;
++		cam->nmodes = ARRAY_SIZE(broken_vga_mode);
++		break;
+ 	}
+-	sd->brightness = sd_ctrls[SD_BRIGHTNESS].qctrl.default_value;
+-	sd->contrast = sd_ctrls[SD_CONTRAST].qctrl.default_value;
+-	sd->gamma = gamma[(int) sd->sensor];
+-	sd->autogain = sd_ctrls[SD_AUTOGAIN].qctrl.default_value;
+-	sd->lightfreq = sd_ctrls[SD_FREQ].qctrl.default_value;
++	sd->brightness = BRIGHTNESS_DEF;
++	sd->contrast = CONTRAST_DEF;
++	sd->gamma = gamma[sd->sensor];
++	sd->autogain = AUTOGAIN_DEF;
++	sd->lightfreq = FREQ_DEF;
+ 	sd->quality = QUALITY_DEF;
+ 
+ 	switch (sd->sensor) {
+ 	case SENSOR_GC0305:
+ 	case SENSOR_OV7620:
++	case SENSOR_PAS202B:
+ 	case SENSOR_PO2030:
+ 		gspca_dev->ctrl_dis = (1 << BRIGHTNESS_IDX);
+ 		break;
+@@ -6805,14 +6846,13 @@ static int sd_config(struct gspca_dev *gspca_dev,
+ 		break;
+ 	}
+ 
+-	/* switch the led off */
+-	reg_w(gspca_dev->dev, 0x01, 0x0000);
+ 	return 0;
+ }
+ 
+ /* this function is called at probe and resume time */
+ static int sd_init(struct gspca_dev *gspca_dev)
+ {
++	/* switch off the led */
+ 	reg_w(gspca_dev->dev, 0x01, 0x0000);
+ 	return 0;
+ }
+@@ -6821,28 +6861,27 @@ static int sd_start(struct gspca_dev *gspca_dev)
+ {
+ 	struct sd *sd = (struct sd *) gspca_dev;
+ 	struct usb_device *dev = gspca_dev->dev;
+-	const struct usb_action *zc3_init;
+ 	int mode;
+ 	static const struct usb_action *init_tb[SENSOR_MAX][2] = {
+ 		{adcm2700_Initial, adcm2700_InitialScale},	/* 0 */
+-		{cs2102_InitialScale, cs2102_Initial},		/* 1 */
+-		{cs2102K_InitialScale, cs2102K_Initial},	/* 2 */
++		{cs2102_Initial, cs2102_InitialScale},		/* 1 */
++		{cs2102K_Initial, cs2102K_InitialScale},	/* 2 */
+ 		{gc0305_Initial, gc0305_InitialScale},		/* 3 */
+-		{hdcs2020xb_InitialScale, hdcs2020xb_Initial},	/* 4 */
+-		{hv7131bxx_InitialScale, hv7131bxx_Initial},	/* 5 */
+-		{hv7131cxx_InitialScale, hv7131cxx_Initial},	/* 6 */
+-		{icm105axx_InitialScale, icm105axx_Initial},	/* 7 */
+-		{MC501CB_InitialScale, MC501CB_Initial},	/* 8 */
++		{hdcs2020b_Initial, hdcs2020b_InitialScale},	/* 4 */
++		{hv7131b_Initial, hv7131b_InitialScale},	/* 5 */
++		{hv7131r_Initial, hv7131r_InitialScale},	/* 6 */
++		{icm105a_Initial, icm105a_InitialScale},	/* 7 */
++		{mc501cb_Initial, mc501cb_InitialScale},	/* 8 */
+ 		{mi0360soc_Initial, mi0360soc_InitialScale},	/* 9 */
+-		{OV7620_mode0, OV7620_mode1},			/* 10 */
+-		{ov7630c_InitialScale, ov7630c_Initial},	/* 11 */
+-		{pas106b_InitialScale, pas106b_Initial},	/* 12 */
++		{ov7620_Initial, ov7620_InitialScale},		/* 10 */
++		{ov7630c_Initial, ov7630c_InitialScale},	/* 11 */
++		{pas106b_Initial, pas106b_InitialScale},	/* 12 */
+ 		{pas202b_Initial, pas202b_InitialScale},	/* 13 */
+ 		{pb0330_Initial, pb0330_InitialScale},		/* 14 */
+-		{PO2030_mode0, PO2030_mode1},			/* 15 */
+-		{tas5130CK_InitialScale, tas5130CK_Initial},	/* 16 */
++		{po2030_Initial, po2030_InitialScale},		/* 15 */
++		{tas5130cK_Initial, tas5130cK_InitialScale},	/* 16 */
+ 		{tas5130cxx_Initial, tas5130cxx_InitialScale},	/* 17 */
+-		{tas5130c_vf0250_InitialScale, tas5130c_vf0250_Initial},
++		{tas5130c_vf0250_Initial, tas5130c_vf0250_InitialScale},
+ 								/* 18 */
+ 	};
+ 
+@@ -6854,8 +6893,7 @@ static int sd_start(struct gspca_dev *gspca_dev)
+ 			0x21);		/* JPEG 422 */
+ 	jpeg_set_qual(sd->jpeg_hdr, sd->quality);
+ 
+-	mode = gspca_dev->cam.cam_mode[(int) gspca_dev->curr_mode].priv;
+-	zc3_init = init_tb[(int) sd->sensor][mode];
++	mode = gspca_dev->cam.cam_mode[gspca_dev->curr_mode].priv;
+ 	switch (sd->sensor) {
+ 	case SENSOR_HV7131C:
+ 		zcxx_probeSensor(gspca_dev);
+@@ -6864,7 +6902,7 @@ static int sd_start(struct gspca_dev *gspca_dev)
+ 		usb_exchange(gspca_dev, pas106b_Initial_com);
+ 		break;
+ 	}
+-	usb_exchange(gspca_dev, zc3_init);
++	usb_exchange(gspca_dev, init_tb[sd->sensor][mode]);
+ 
+ 	switch (sd->sensor) {
+ 	case SENSOR_ADCM2700:
+@@ -6883,6 +6921,11 @@ static int sd_start(struct gspca_dev *gspca_dev)
+ 		reg_w(dev, 0x02, 0x003b);
+ 		reg_w(dev, 0x00, 0x0038);
+ 		break;
++	case SENSOR_PAS202B:
++		reg_w(dev, 0x03, 0x003b);
++		reg_w(dev, 0x0c, 0x003a);
++		reg_w(dev, 0x0b, 0x0039);
++		break;
+ 	}
+ 
+ 	setmatrix(gspca_dev);
+@@ -6961,13 +7004,13 @@ static int sd_start(struct gspca_dev *gspca_dev)
+ 	switch (sd->sensor) {
+ 	case SENSOR_PO2030:
+ 		msleep(50);
+-		reg_r(gspca_dev, 0x0008);
+-		reg_r(gspca_dev, 0x0007);
+-		/*fall thru*/
+-	case SENSOR_PAS202B:
+ 		reg_w(dev, 0x00, 0x0007);	/* (from win traces) */
+ 		reg_w(dev, 0x02, ZC3XX_R008_CLOCKSETTING);
+ 		break;
++	case SENSOR_PAS202B:
++		reg_w(dev, 0x32, 0x0007);	/* (from win traces) */
++		reg_w(dev, 0x02, ZC3XX_R008_CLOCKSETTING);
++		break;
+ 	}
+ 	return 0;
+ }
+@@ -7165,6 +7208,22 @@ static int sd_get_jcomp(struct gspca_dev *gspca_dev,
+ 	return 0;
+ }
+ 
++#ifdef CONFIG_INPUT
++static int sd_int_pkt_scan(struct gspca_dev *gspca_dev,
++			u8 *data,		/* interrupt packet data */
++			int len)		/* interrput packet length */
++{
++	if (len == 8 && data[4] == 1) {
++		input_report_key(gspca_dev->input_dev, KEY_CAMERA, 1);
++		input_sync(gspca_dev->input_dev);
++		input_report_key(gspca_dev->input_dev, KEY_CAMERA, 0);
++		input_sync(gspca_dev->input_dev);
++	}
++
++	return 0;
++}
++#endif
++
+ static const struct sd_desc sd_desc = {
+ 	.name = MODULE_NAME,
+ 	.ctrls = sd_ctrls,
+@@ -7177,6 +7236,9 @@ static const struct sd_desc sd_desc = {
+ 	.querymenu = sd_querymenu,
+ 	.get_jcomp = sd_get_jcomp,
+ 	.set_jcomp = sd_set_jcomp,
++#ifdef CONFIG_INPUT
++	.int_pkt_scan = sd_int_pkt_scan,
++#endif
+ };
+ 
+ static const __devinitdata struct usb_device_id device_table[] = {
+diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h
+index d4962a7..3793d16 100644
+--- a/include/linux/videodev2.h
++++ b/include/linux/videodev2.h
+@@ -350,6 +350,7 @@ struct v4l2_pix_format {
+ #define V4L2_PIX_FMT_MPEG     v4l2_fourcc('M', 'P', 'E', 'G') /* MPEG-1/2/4    */
+ 
+ /*  Vendor-specific formats   */
++#define V4L2_PIX_FMT_CPIA1    v4l2_fourcc('C', 'P', 'I', 'A') /* cpia1 YUV */
+ #define V4L2_PIX_FMT_WNVA     v4l2_fourcc('W', 'N', 'V', 'A') /* Winnov hw compress */
+ #define V4L2_PIX_FMT_SN9C10X  v4l2_fourcc('S', '9', '1', '0') /* SN9C10x compression */
+ #define V4L2_PIX_FMT_SN9C20X_I420 v4l2_fourcc('S', '9', '2', '0') /* SN9C20x YUV 4:2:0 */
+@@ -362,6 +363,7 @@ struct v4l2_pix_format {
+ #define V4L2_PIX_FMT_SPCA561  v4l2_fourcc('S', '5', '6', '1') /* compressed GBRG bayer */
+ #define V4L2_PIX_FMT_PAC207   v4l2_fourcc('P', '2', '0', '7') /* compressed BGGR bayer */
+ #define V4L2_PIX_FMT_MR97310A v4l2_fourcc('M', '3', '1', '0') /* compressed BGGR bayer */
++#define V4L2_PIX_FMT_SN9C2028 v4l2_fourcc('S', 'O', 'N', 'X') /* compressed GBRG bayer */
+ #define V4L2_PIX_FMT_SQ905C   v4l2_fourcc('9', '0', '5', 'C') /* compressed RGGB bayer */
+ #define V4L2_PIX_FMT_PJPG     v4l2_fourcc('P', 'J', 'P', 'G') /* Pixart 73xx JPEG */
+ #define V4L2_PIX_FMT_OV511    v4l2_fourcc('O', '5', '1', '1') /* ov511 JPEG */
+-- 
+1.7.0
+


Index: config-generic
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/config-generic,v
retrieving revision 1.352
retrieving revision 1.353
diff -u -p -r1.352 -r1.353
--- config-generic	4 Feb 2010 17:53:14 -0000	1.352
+++ config-generic	21 Feb 2010 15:31:54 -0000	1.353
@@ -2375,9 +2375,7 @@ CONFIG_VIDEO_BT848=m
 CONFIG_VIDEO_BT848_DVB=y
 CONFIG_VIDEO_BWQCAM=m
 # CONFIG_VIDEO_CAFE_CCIC is not set
-CONFIG_VIDEO_CPIA=m
-CONFIG_VIDEO_CPIA_PP=m
-CONFIG_VIDEO_CPIA_USB=m
+# CONFIG_VIDEO_CPIA is not set
 CONFIG_VIDEO_CPIA2=m
 CONFIG_VIDEO_CQCAM=m
 CONFIG_VIDEO_CX23885=m
@@ -2399,7 +2397,7 @@ CONFIG_VIDEO_HEXIUM_GEMINI=m
 CONFIG_VIDEO_IVTV=m
 CONFIG_VIDEO_MEYE=m
 CONFIG_VIDEO_MXB=m
-CONFIG_VIDEO_OVCAMCHIP=m
+# CONFIG_VIDEO_OVCAMCHIP is not set
 CONFIG_VIDEO_PVRUSB2_DVB=y
 CONFIG_VIDEO_HDPVR=m
 CONFIG_VIDEO_SAA5246A=m
@@ -2911,19 +2909,23 @@ CONFIG_USB_DABUSB=m
 
 CONFIG_USB_VICAM=m
 CONFIG_USB_DSBR=m
-CONFIG_USB_ET61X251=m
+# CONFIG_USB_ET61X251 is not set
 CONFIG_USB_M5602=m
 CONFIG_USB_STV06XX=m
 CONFIG_USB_GSPCA=m
 CONFIG_USB_GSPCA_MR97310A=m
+CONFIG_USB_GSPCA_BENQ=m
 CONFIG_USB_GSPCA_CONEX=m
+CONFIG_USB_GSPCA_CPIA1=m
 CONFIG_USB_GSPCA_ETOMS=m
 CONFIG_USB_GSPCA_FINEPIX=m
 CONFIG_USB_GSPCA_MARS=m
 CONFIG_USB_GSPCA_OV519=m
 CONFIG_USB_GSPCA_OV534=m
+CONFIG_USB_GSPCA_OV534_9=m
 CONFIG_USB_GSPCA_PAC207=m
 CONFIG_USB_GSPCA_PAC7311=m
+CONFIG_USB_GSPCA_SN9C2028=m
 CONFIG_USB_GSPCA_SN9C20X=m
 CONFIG_USB_GSPCA_SN9C20X_EVDEV=y
 CONFIG_USB_GSPCA_SONIXB=m
@@ -2953,8 +2955,8 @@ CONFIG_USB_KONICAWC=m
 CONFIG_USB_S2255=m
 CONFIG_USB_SE401=m
 # CONFIG_VIDEO_SH_MOBILE_CEU is not set
-CONFIG_USB_STV680=m
-CONFIG_USB_SN9C102=m
+# CONFIG_USB_STV680 is not set
+# CONFIG_USB_SN9C102 is not set
 CONFIG_USB_ZR364XX=m
 CONFIG_SOC_CAMERA=m
 CONFIG_SOC_CAMERA_MT9M001=m
@@ -3141,7 +3143,6 @@ CONFIG_USB_TRANCEVIBRATOR=m
 CONFIG_USB_U132_HCD=m
 CONFIG_USB_UEAGLEATM=m
 CONFIG_USB_UVCVIDEO=m
-CONFIG_USB_W9968CF=m
 CONFIG_USB_XUSBATM=m
 # CONFIG_USB_ZC0301 is not set
 CONFIG_USB_ZERO=m


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.1931
retrieving revision 1.1932
diff -u -p -r1.1931 -r1.1932
--- kernel.spec	19 Feb 2010 03:31:37 -0000	1.1931
+++ kernel.spec	21 Feb 2010 15:31:54 -0000	1.1932
@@ -705,6 +705,7 @@ Patch2899: linux-2.6-v4l-dvb-fixes.patch
 Patch2900: linux-2.6-v4l-dvb-update.patch
 Patch2901: linux-2.6-v4l-dvb-experimental.patch
 Patch2903: linux-2.6-revert-dvb-net-kabi-change.patch
+Patch2904: linux-2.6-v4l-dvb-rebase-gspca-to-latest.patch
 
 # fs fixes
 
@@ -1319,6 +1320,7 @@ ApplyPatch linux-2.6-silence-acpi-blackl
 #ApplyPatch linux-2.6-v4l-dvb-update.patch
 #ApplyPatch linux-2.6-v4l-dvb-experimental.patch
 #ApplyPatch linux-2.6-revert-dvb-net-kabi-change.patch
+ApplyPatch linux-2.6-v4l-dvb-rebase-gspca-to-latest.patch
 
 # Patches headed upstream
 ApplyPatch linux-2.6-rfkill-all.patch
@@ -1991,6 +1993,11 @@ fi
 #                 ||     ||
 
 %changelog
+* Sun Feb 21 2010 Hans de Goede <hdegoede at redhat.com>
+- Rebase gspca usb webcam driver + sub drivers to latest upstream, this
+  adds support for the following webcam bridge chipsets: benq, cpia1, sn9c2028;
+  and support for new devices and many bugfixes in other gspca-subdrivers
+
 * Fri Feb 19 2010 Ben Skeggs <bskeggs at redhat.com> 2.6.33-0.48.rc8.git1
 - nouveau: update to new interface version
 



More information about the scm-commits mailing list