[kernel/f14/master] Your seemingly bi-weekly installment of IR updates

Jarod Wilson jwilson at fedoraproject.org
Tue Jan 25 04:12:53 UTC 2011


commit 1875248d2a7bb6288274afd353382d29a9543774
Author: Jarod Wilson <jarod at redhat.com>
Date:   Mon Jan 24 23:12:41 2011 -0500

    Your seemingly bi-weekly installment of IR updates
    
    Signed-off-by: Jarod Wilson <jarod at redhat.com>

 kernel.spec                    |    6 +-
 linux-2.6-v4l-dvb-fixes.patch  |  284 +-
 linux-2.6-v4l-dvb-update.patch |28004 ++++++++++++++++++++++++++--------------
 3 files changed, 18532 insertions(+), 9762 deletions(-)
---
diff --git a/kernel.spec b/kernel.spec
index f79c83a..1a148b7 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -48,7 +48,7 @@ Summary: The Linux kernel
 # reset this by hand to 1 (or to 0 and then use rpmdev-bumpspec).
 # scripts/rebase.sh should be made to do that for you, actually.
 #
-%global baserelease 80
+%global baserelease 81
 %global fedora_build %{baserelease}
 
 # base_sublevel is the kernel version we're starting with and patching
@@ -2148,6 +2148,10 @@ fi
 # and build.
 
 %changelog
+* Mon Jan 24 2011 Jarod Wilson <jarod at redhat.com> 2.6.35.10-81
+- Further improvements to ir-kbd-i2c when used with zilog chips
+- Finally hopefully fix annoying mceusb keybounce issue
+
 * Wed Jan 19 2011 Jarod Wilson <jarod at redhat.com> 2.6.35.10-80
 - Make lirc_zilog behave correctly with hdpvr again, and for the first
   time ever, with pvrusb2-driven HVR-1950 (#635045)
diff --git a/linux-2.6-v4l-dvb-fixes.patch b/linux-2.6-v4l-dvb-fixes.patch
index cf57c76..fe1ff9b 100644
--- a/linux-2.6-v4l-dvb-fixes.patch
+++ b/linux-2.6-v4l-dvb-fixes.patch
@@ -1,21 +1,67 @@
-Not yet upstream, willl send RSN...
+All IR fixups take from:
 
---jarod
+http://git.kernel.org/?p=linux/kernel/git/jarod/linux-2.6-ir.git;a=shortlog;h=refs/heads/staging
 
+Should be in v4l/dvb/rc soon...
+
+commit 583602a0c6cab187b2f3b4c90509bbe2b85f5d51
+Author: Jarod Wilson <jarod at redhat.com>
+Date:   Mon Jan 24 22:06:32 2011 -0500
+
+    mceusb: really fix remaining keybounce issues
+    
+    Make sure rawir struct is zeroed out before populating it for each
+    ir_raw_event_store_with_filter() call, and when we see a trailing 0x80
+    packet (end-of-data), issue an ir_raw_event_reset() call.
+    
+    Signed-off-by: Jarod Wilson <jarod at redhat.com>
+
+commit 8b07e7fe2fa1c763a8f08a179917fdf1a43b479d
+Author: Jarod Wilson <jarod at redhat.com>
+Date:   Thu Jan 20 16:31:18 2011 -0500
+
+    ir-kbd-i2c: improve remote behavior with z8 behind usb
+    
+    Add the same "are you ready?" i2c_master_send() poll command to
+    get_key_haup_xvr found in lirc_zilog, which is apparently seen in
+    the Windows driver for the PVR-150 w/a z8. This stabilizes what is
+    received from both the HD-PVR and HVR-1950, even with their polling
+    intervals at the default of 100, thus the removal of the custom
+    260ms polling_interval in pvrusb2-i2c-core.c.
+    
+    Acked-by: Andy Walls <awalls at md.metrocast.net>
+    Acked-by: Mike Isely <isely at isely.net>
+    Signed-off-by: Jarod Wilson <jarod at redhat.com>
+
+commit aedf7d79cdeaf97d3efc7d667eeb94689bbc6e7d
 Author: Jarod Wilson <jarod at redhat.com>
 Date:   Wed Jan 19 16:49:19 2011 -0500
 
-    lirc_zilog: wait a bit after firmware upload
+    lirc_zilog: z8 on usb doesn't like back-to-back i2c_master_send
+    
+    Both the HD-PVR and HVR-1950, driven by the hdpvr and pvrusb2 drivers
+    respectively, have a zilog z8 chip exposed via i2c. These are both
+    usb-connected devices, and on both of them, back-to-back i2c_master_send
+    calls that work fine with a z8 on a pci card fail with a -EIO, as the
+    chip isn't yet ready from the prior command. To cope with that, add a
+    delay and retry loop where necessary.
     
+    Acked-by: Andy Walls <awalls at md.metrocast.net>
     Signed-off-by: Jarod Wilson <jarod at redhat.com>
 
+t 2b197149441796e694721db984db9e5ca4656856
 Author: Jarod Wilson <jarod at redhat.com>
 Date:   Wed Jan 19 16:10:14 2011 -0500
 
     hdpvr: fix up i2c device registration
     
+    We have to actually call i2c_new_device() once for each of the rx and tx
+    addresses. Also improve error-handling and device remove i2c cleanup.
+    
+    Reviewed-by: Andy Walls <awalls at md.metrocast.net>
     Signed-off-by: Jarod Wilson <jarod at redhat.com>
 
+commit bcbc3901fdc43e78c548d5c6d12eb42408002256
 Author: Jarod Wilson <jarod at redhat.com>
 Date:   Tue Jan 18 15:31:24 2011 -0500
 
@@ -23,31 +69,35 @@ Date:   Tue Jan 18 15:31:24 2011 -0500
     
     Signed-off-by: Jarod Wilson <jarod at redhat.com>
 
+commit f2a6849f005fc0da0528ada0c3c79c7572db2898
+Author: Jarod Wilson <jarod at redhat.com>
+Date:   Tue Jan 18 00:33:08 2011 -0500
+
+    rc/ir-lirc-codec: add back debug spew
+    
+    Some occasionally useful debug spew disappeared as part of a feature
+    update a while back, and I'm finding myself in need of it again to help
+    diagnose some issues.
+    
+    Signed-off-by: Jarod Wilson <jarod at redhat.com>
+
+commit 20285f04106a578f6202ba043e0044df614aee05
 Author: Jarod Wilson <jarod at redhat.com>
 Date:   Tue Jan 18 00:27:45 2011 -0500
 
     rc/mce: add mappings for missing keys
-
+    
     Per http://mediacenterguides.com/book/export/html/31 and investigation
     by Erin, we were missing these last three mappings to complete the mce
     key table. Lets remedy that.
-
+    
     Reported-by: Erin Simonds <fisslefink at gmail.com>
     Signed-off-by: Jarod Wilson <jarod at redhat.com>
 
-Author: Jarod Wilson <jarod at redhat.com>
-Date:   Wed Jan 5 10:16:13 2011 -0500
-
-    rc/ir-lirc-codec: add back debug spew
-
-    Some occasionally useful debug spew disappeared as part of a feature
-    update a while back, and I'm finding myself in need of it again to help
-    diagnose some issues.
 
-    Signed-off-by: Jarod Wilson <jarod at redhat.com>
 
 diff --git a/drivers/media/rc/ir-lirc-codec.c b/drivers/media/rc/ir-lirc-codec.c
-index f011c5d..31a98e2 100644
+index f011c5d..1c5cc65 100644
 --- a/drivers/media/rc/ir-lirc-codec.c
 +++ b/drivers/media/rc/ir-lirc-codec.c
 @@ -1,4 +1,4 @@
@@ -105,6 +155,27 @@ index 3bf3337..2f5dc06 100644
  	{ 0x800f043a, KEY_BRIGHTNESSUP },
  
  	{ 0x800f0446, KEY_TV },
+diff --git a/drivers/media/rc/mceusb.c b/drivers/media/rc/mceusb.c
+index 079353e..cf763fb 100644
+--- a/drivers/media/rc/mceusb.c
++++ b/drivers/media/rc/mceusb.c
+@@ -855,6 +855,7 @@ static void mceusb_process_ir_data(struct mceusb_dev *ir, int buf_len)
+ 			break;
+ 		case PARSE_IRDATA:
+ 			ir->rem--;
++			init_ir_raw_event(&rawir);
+ 			rawir.pulse = ((ir->buf_in[i] & MCE_PULSE_BIT) != 0);
+ 			rawir.duration = (ir->buf_in[i] & MCE_PULSE_MASK)
+ 					 * MS_TO_US(MCE_TIME_UNIT);
+@@ -883,6 +884,8 @@ static void mceusb_process_ir_data(struct mceusb_dev *ir, int buf_len)
+ 					     i, ir->rem + 1, false);
+ 			if (ir->rem)
+ 				ir->parser_state = PARSE_IRDATA;
++			else
++				ir_raw_event_reset(ir->rc);
+ 			break;
+ 		}
+ 
 diff --git a/drivers/media/rc/streamzap.c b/drivers/media/rc/streamzap.c
 index 6e2911c..1b013d4 100644
 --- a/drivers/media/rc/streamzap.c
@@ -119,10 +190,18 @@ index 6e2911c..1b013d4 100644
  	#if 0
  	/* not yet supported, depends on patches from maxim */
 diff --git a/drivers/media/video/hdpvr/hdpvr-core.c b/drivers/media/video/hdpvr/hdpvr-core.c
-index a6572e5..263e2fa 100644
+index a6572e5..a27d93b 100644
 --- a/drivers/media/video/hdpvr/hdpvr-core.c
 +++ b/drivers/media/video/hdpvr/hdpvr-core.c
-@@ -381,13 +381,21 @@ static int hdpvr_probe(struct usb_interface *interface,
+@@ -283,6 +283,7 @@ static int hdpvr_probe(struct usb_interface *interface,
+ 	struct hdpvr_device *dev;
+ 	struct usb_host_interface *iface_desc;
+ 	struct usb_endpoint_descriptor *endpoint;
++	struct i2c_client *client;
+ 	size_t buffer_size;
+ 	int i;
+ 	int retval = -ENOMEM;
+@@ -381,13 +382,21 @@ static int hdpvr_probe(struct usb_interface *interface,
  #if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE)
  	retval = hdpvr_register_i2c_adapter(dev);
  	if (retval < 0) {
@@ -134,64 +213,74 @@ index a6572e5..263e2fa 100644
 -	retval = hdpvr_register_i2c_ir(dev);
 -	if (retval < 0)
 -		v4l2_err(&dev->v4l2_dev, "registering i2c IR devices failed\n");
-+	hdpvr_register_ir_rx_i2c(dev);
-+	if (!dev->i2c_rx) {
++	client = hdpvr_register_ir_rx_i2c(dev);
++	if (!client) {
 +		v4l2_err(&dev->v4l2_dev, "i2c IR RX device register failed\n");
-+		goto rx_reg_fail;
++		goto reg_fail;
 +	}
 +
-+	hdpvr_register_ir_tx_i2c(dev);
-+	if (!dev->i2c_tx) {
++	client = hdpvr_register_ir_tx_i2c(dev);
++	if (!client) {
 +		v4l2_err(&dev->v4l2_dev, "i2c IR TX device register failed\n");
-+		goto tx_reg_fail;
++		goto reg_fail;
 +	}
  #endif
  
  	/* let the user know what node this device is now attached to */
-@@ -395,6 +403,10 @@ static int hdpvr_probe(struct usb_interface *interface,
+@@ -395,6 +404,10 @@ static int hdpvr_probe(struct usb_interface *interface,
  		  video_device_node_name(dev->video_dev));
  	return 0;
  
-+tx_reg_fail:
-+	i2c_unregister_device(dev->i2c_rx);
-+rx_reg_fail:
++reg_fail:
++#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE)
 +	i2c_del_adapter(&dev->i2c_adapter);
++#endif
  error:
  	if (dev) {
  		/* Destroy single thread */
+@@ -424,6 +437,9 @@ static void hdpvr_disconnect(struct usb_interface *interface)
+ 	mutex_lock(&dev->io_mutex);
+ 	hdpvr_cancel_queue(dev);
+ 	mutex_unlock(&dev->io_mutex);
++#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE)
++	i2c_del_adapter(&dev->i2c_adapter);
++#endif
+ 	video_unregister_device(dev->video_dev);
+ 	atomic_dec(&dev_nr);
+ }
 diff --git a/drivers/media/video/hdpvr/hdpvr-i2c.c b/drivers/media/video/hdpvr/hdpvr-i2c.c
-index 89b71fa..e891bb0 100644
+index 89b71fa..e53fa55 100644
 --- a/drivers/media/video/hdpvr/hdpvr-i2c.c
 +++ b/drivers/media/video/hdpvr/hdpvr-i2c.c
-@@ -31,26 +31,39 @@
+@@ -31,26 +31,34 @@
  #define Z8F0811_IR_RX_I2C_ADDR	0x71
  
  
 -static struct i2c_board_info hdpvr_i2c_board_info = {
-+static struct i2c_board_info hdpvr_ir_tx_i2c_board_info = {
- 	I2C_BOARD_INFO("ir_tx_z8f0811_hdpvr", Z8F0811_IR_TX_I2C_ADDR),
-+};
-+
-+void hdpvr_register_ir_tx_i2c(struct hdpvr_device *dev)
+-	I2C_BOARD_INFO("ir_tx_z8f0811_hdpvr", Z8F0811_IR_TX_I2C_ADDR),
+-	I2C_BOARD_INFO("ir_rx_z8f0811_hdpvr", Z8F0811_IR_RX_I2C_ADDR),
+-};
++struct i2c_client *hdpvr_register_ir_tx_i2c(struct hdpvr_device *dev)
 +{
 +	struct IR_i2c_init_data *init_data = &dev->ir_i2c_init_data;
++	struct i2c_board_info hdpvr_ir_tx_i2c_board_info = {
++		I2C_BOARD_INFO("ir_tx_z8f0811_hdpvr", Z8F0811_IR_TX_I2C_ADDR),
++	};
 +
 +	init_data->name = "HD-PVR";
 +	hdpvr_ir_tx_i2c_board_info.platform_data = init_data;
-+
-+	dev->i2c_tx = i2c_new_device(&dev->i2c_adapter,
-+				     &hdpvr_ir_tx_i2c_board_info);
-+}
-+
-+static struct i2c_board_info hdpvr_ir_rx_i2c_board_info = {
- 	I2C_BOARD_INFO("ir_rx_z8f0811_hdpvr", Z8F0811_IR_RX_I2C_ADDR),
- };
  
 -int hdpvr_register_i2c_ir(struct hdpvr_device *dev)
-+void hdpvr_register_ir_rx_i2c(struct hdpvr_device *dev)
++	return i2c_new_device(&dev->i2c_adapter, &hdpvr_ir_tx_i2c_board_info);
++}
++
++struct i2c_client *hdpvr_register_ir_rx_i2c(struct hdpvr_device *dev)
  {
 -	struct i2c_client *c;
  	struct IR_i2c_init_data *init_data = &dev->ir_i2c_init_data;
++	struct i2c_board_info hdpvr_ir_rx_i2c_board_info = {
++		I2C_BOARD_INFO("ir_rx_z8f0811_hdpvr", Z8F0811_IR_RX_I2C_ADDR),
++	};
  
  	/* Our default information for ir-kbd-i2c.c to use */
  	init_data->ir_codes = RC_MAP_HAUPPAUGE_NEW;
@@ -202,43 +291,76 @@ index 89b71fa..e891bb0 100644
 -
 -	c = i2c_new_device(&dev->i2c_adapter, &hdpvr_i2c_board_info);
 +	init_data->name = "HD-PVR";
-+	init_data->polling_interval = 260; /* matches lirc_zilog */
 +	hdpvr_ir_rx_i2c_board_info.platform_data = init_data;
  
 -	return (c == NULL) ? -ENODEV : 0;
-+	dev->i2c_rx = i2c_new_device(&dev->i2c_adapter,
-+				     &hdpvr_ir_rx_i2c_board_info);
++	return i2c_new_device(&dev->i2c_adapter, &hdpvr_ir_rx_i2c_board_info);
  }
  
  static int hdpvr_i2c_read(struct hdpvr_device *dev, int bus,
 diff --git a/drivers/media/video/hdpvr/hdpvr.h b/drivers/media/video/hdpvr/hdpvr.h
-index ee74e3b..29357f0 100644
+index ee74e3b..072f23c 100644
 --- a/drivers/media/video/hdpvr/hdpvr.h
 +++ b/drivers/media/video/hdpvr/hdpvr.h
-@@ -108,6 +108,9 @@ struct hdpvr_device {
- 
- 	/* I2C adapter */
- 	struct i2c_adapter	i2c_adapter;
-+	/* I2C clients */
-+	struct i2c_client	*i2c_rx;
-+	struct i2c_client	*i2c_tx;
- 	/* I2C lock */
- 	struct mutex		i2c_mutex;
- 	/* I2C message buffer space */
-@@ -313,7 +316,8 @@ int hdpvr_cancel_queue(struct hdpvr_device *dev);
+@@ -313,7 +313,8 @@ int hdpvr_cancel_queue(struct hdpvr_device *dev);
  /* i2c adapter registration */
  int hdpvr_register_i2c_adapter(struct hdpvr_device *dev);
  
 -int hdpvr_register_i2c_ir(struct hdpvr_device *dev);
-+void hdpvr_register_ir_rx_i2c(struct hdpvr_device *dev);
-+void hdpvr_register_ir_tx_i2c(struct hdpvr_device *dev);
++struct i2c_client *hdpvr_register_ir_rx_i2c(struct hdpvr_device *dev);
++struct i2c_client *hdpvr_register_ir_tx_i2c(struct hdpvr_device *dev);
  
  /*========================================================================*/
  /* buffer management */
+diff --git a/drivers/media/video/ir-kbd-i2c.c b/drivers/media/video/ir-kbd-i2c.c
+index d2b20ad..a221ad6 100644
+--- a/drivers/media/video/ir-kbd-i2c.c
++++ b/drivers/media/video/ir-kbd-i2c.c
+@@ -128,6 +128,19 @@ static int get_key_haup(struct IR_i2c *ir, u32 *ir_key, u32 *ir_raw)
+ 
+ static int get_key_haup_xvr(struct IR_i2c *ir, u32 *ir_key, u32 *ir_raw)
+ {
++	int ret;
++	unsigned char buf[1] = { 0 };
++
++	/*
++	 * This is the same apparent "are you ready?" poll command observed
++	 * watching Windows driver traffic and implemented in lirc_zilog. With
++	 * this added, we get far saner remote behavior with z8 chips on usb
++	 * connected devices, even with the default polling interval of 100ms.
++	 */
++	ret = i2c_master_send(ir->c, buf, 1);
++	if (ret != 1)
++		return (ret < 0) ? ret : -EINVAL;
++
+ 	return get_key_haup_common (ir, ir_key, ir_raw, 6, 3);
+ }
+ 
+diff --git a/drivers/media/video/pvrusb2/pvrusb2-i2c-core.c b/drivers/media/video/pvrusb2/pvrusb2-i2c-core.c
+index ccc8849..451ecd4 100644
+--- a/drivers/media/video/pvrusb2/pvrusb2-i2c-core.c
++++ b/drivers/media/video/pvrusb2/pvrusb2-i2c-core.c
+@@ -597,7 +597,6 @@ static void pvr2_i2c_register_ir(struct pvr2_hdw *hdw)
+ 		init_data->internal_get_key_func = IR_KBD_GET_KEY_HAUP_XVR;
+ 		init_data->type                  = RC_TYPE_RC5;
+ 		init_data->name                  = hdw->hdw_desc->description;
+-		init_data->polling_interval      = 260; /* ms From lirc_zilog */
+ 		/* IR Receiver */
+ 		info.addr          = 0x71;
+ 		info.platform_data = init_data;
 diff --git a/drivers/staging/lirc/lirc_zilog.c b/drivers/staging/lirc/lirc_zilog.c
-index 3fe5f41..6422e26 100644
+index 3fe5f41..0aad0d7 100644
 --- a/drivers/staging/lirc/lirc_zilog.c
 +++ b/drivers/staging/lirc/lirc_zilog.c
+@@ -495,7 +495,7 @@ static int send_data_block(struct IR_tx *tx, unsigned char *data_block)
+ /* send boot data to the IR TX device */
+ static int send_boot_data(struct IR_tx *tx)
+ {
+-	int ret;
++	int ret, i;
+ 	unsigned char buf[4];
+ 
+ 	/* send the boot block */
 @@ -503,7 +503,7 @@ static int send_boot_data(struct IR_tx *tx)
  	if (ret != 0)
  		return ret;
@@ -248,18 +370,52 @@ index 3fe5f41..6422e26 100644
  	buf[0] = 0x00;
  	buf[1] = 0x20;
  	ret = i2c_master_send(tx->c, buf, 2);
-@@ -511,6 +511,14 @@ static int send_boot_data(struct IR_tx *tx)
+@@ -511,7 +511,19 @@ static int send_boot_data(struct IR_tx *tx)
  		zilog_error("i2c_master_send failed with %d\n", ret);
  		return ret < 0 ? ret : -EFAULT;
  	}
+-	ret = i2c_master_send(tx->c, buf, 1);
 +
 +	/*
 +	 * Wait for zilog to settle after hitting go post boot block upload.
 +	 * Without this delay, the HD-PVR and HVR-1950 both return an -EIO
 +	 * upon attempting to get firmware revision, and tx probe thus fails.
 +	 */
-+	mdelay(20);
++	for (i = 0; i < 10; i++) {
++		ret = i2c_master_send(tx->c, buf, 1);
++		if (ret == 1)
++			break;
++		udelay(100);
++	}
 +
- 	ret = i2c_master_send(tx->c, buf, 1);
  	if (ret != 1) {
  		zilog_error("i2c_master_send failed with %d\n", ret);
+ 		return ret < 0 ? ret : -EFAULT;
+@@ -523,8 +535,8 @@ static int send_boot_data(struct IR_tx *tx)
+ 		zilog_error("i2c_master_recv failed with %d\n", ret);
+ 		return 0;
+ 	}
+-	if (buf[0] != 0x80) {
+-		zilog_error("unexpected IR TX response: %02x\n", buf[0]);
++	if ((buf[0] != 0x80) && (buf[0] != 0xa0)) {
++		zilog_error("unexpected IR TX init response: %02x\n", buf[0]);
+ 		return 0;
+ 	}
+ 	zilog_notify("Zilog/Hauppauge IR blaster firmware version "
+@@ -827,7 +839,15 @@ static int send_code(struct IR_tx *tx, unsigned int code, unsigned int key)
+ 		zilog_error("i2c_master_send failed with %d\n", ret);
+ 		return ret < 0 ? ret : -EFAULT;
+ 	}
+-	ret = i2c_master_send(tx->c, buf, 1);
++
++	/* Give the z8 a moment to process data block */
++	for (i = 0; i < 10; i++) {
++		ret = i2c_master_send(tx->c, buf, 1);
++		if (ret == 1)
++			break;
++		udelay(100);
++	}
++
+ 	if (ret != 1) {
+ 		zilog_error("i2c_master_send failed with %d\n", ret);
+ 		return ret < 0 ? ret : -EFAULT;
diff --git a/linux-2.6-v4l-dvb-update.patch b/linux-2.6-v4l-dvb-update.patch
index f92cc50..4e785fc 100644
--- a/linux-2.6-v4l-dvb-update.patch
+++ b/linux-2.6-v4l-dvb-update.patch
@@ -1,1269 +1,1255 @@
-Generated from http://git.linuxtv.org/media_build.git on 01/17/2011
+Generated from http://git.linuxtv.org/media_build.git on 01/24/2011
 
- drivers/media/IR/ene_ir.mod.c                             |   31 
- drivers/media/IR/imon.mod.c                               |   43 
- drivers/media/IR/ir-common.mod.c                          |   19 
- drivers/media/IR/ir-core.mod.c                            |   23 
- drivers/media/IR/ir-jvc-decoder.mod.c                     |   23 
- drivers/media/IR/ir-lirc-codec.mod.c                      |   23 
- drivers/media/IR/ir-nec-decoder.mod.c                     |   23 
- drivers/media/IR/ir-rc5-decoder.mod.c                     |   23 
- drivers/media/IR/ir-rc5-sz-decoder.mod.c                  |   23 
- drivers/media/IR/ir-rc6-decoder.mod.c                     |   23 
- drivers/media/IR/ir-sony-decoder.mod.c                    |   23 
- drivers/media/IR/keymaps/rc-adstech-dvb-t-pci.mod.c       |   23 
- drivers/media/IR/keymaps/rc-alink-dtu-m.mod.c             |   23 
- drivers/media/IR/keymaps/rc-apac-viewcomp.mod.c           |   23 
- drivers/media/IR/keymaps/rc-asus-pc39.mod.c               |   23 
- drivers/media/IR/keymaps/rc-ati-tv-wonder-hd-600.mod.c    |   23 
- drivers/media/IR/keymaps/rc-avermedia-a16d.mod.c          |   23 
- drivers/media/IR/keymaps/rc-avermedia-cardbus.mod.c       |   23 
- drivers/media/IR/keymaps/rc-avermedia-dvbt.mod.c          |   23 
- drivers/media/IR/keymaps/rc-avermedia-m135a.mod.c         |   23 
- drivers/media/IR/keymaps/rc-avermedia-m733a-rm-k6.mod.c   |   23 
- drivers/media/IR/keymaps/rc-avermedia-rm-ks.mod.c         |   23 
- drivers/media/IR/keymaps/rc-avermedia.mod.c               |   23 
- drivers/media/IR/keymaps/rc-avertv-303.mod.c              |   23 
- drivers/media/IR/keymaps/rc-azurewave-ad-tu700.mod.c      |   23 
- drivers/media/IR/keymaps/rc-behold-columbus.mod.c         |   23 
- drivers/media/IR/keymaps/rc-behold.mod.c                  |   23 
- drivers/media/IR/keymaps/rc-budget-ci-old.mod.c           |   23 
- drivers/media/IR/keymaps/rc-cinergy-1400.mod.c            |   23 
- drivers/media/IR/keymaps/rc-cinergy.mod.c                 |   23 
- drivers/media/IR/keymaps/rc-dib0700-nec.mod.c             |   23 
- drivers/media/IR/keymaps/rc-dib0700-rc5.mod.c             |   23 
- drivers/media/IR/keymaps/rc-digittrade.mod.c              |   23 
- drivers/media/IR/keymaps/rc-dm1105-nec.mod.c              |   23 
- drivers/media/IR/keymaps/rc-dntv-live-dvb-t.mod.c         |   23 
- drivers/media/IR/keymaps/rc-dntv-live-dvbt-pro.mod.c      |   23 
- drivers/media/IR/keymaps/rc-em-terratec.mod.c             |   23 
- drivers/media/IR/keymaps/rc-empty.mod.c                   |   23 
- drivers/media/IR/keymaps/rc-encore-enltv-fm53.mod.c       |   23 
- drivers/media/IR/keymaps/rc-encore-enltv.mod.c            |   23 
- drivers/media/IR/keymaps/rc-encore-enltv2.mod.c           |   23 
- drivers/media/IR/keymaps/rc-evga-indtube.mod.c            |   23 
- drivers/media/IR/keymaps/rc-eztv.mod.c                    |   23 
- drivers/media/IR/keymaps/rc-flydvb.mod.c                  |   23 
- drivers/media/IR/keymaps/rc-flyvideo.mod.c                |   23 
- drivers/media/IR/keymaps/rc-fusionhdtv-mce.mod.c          |   23 
- drivers/media/IR/keymaps/rc-gadmei-rm008z.mod.c           |   23 
- drivers/media/IR/keymaps/rc-genius-tvgo-a11mce.mod.c      |   23 
- drivers/media/IR/keymaps/rc-gotview7135.mod.c             |   23 
- drivers/media/IR/keymaps/rc-hauppauge-new.mod.c           |   23 
- drivers/media/IR/keymaps/rc-imon-mce.mod.c                |   23 
- drivers/media/IR/keymaps/rc-imon-pad.mod.c                |   23 
- drivers/media/IR/keymaps/rc-iodata-bctv7e.mod.c           |   23 
- drivers/media/IR/keymaps/rc-kaiomy.mod.c                  |   23 
- drivers/media/IR/keymaps/rc-kworld-315u.mod.c             |   23 
- drivers/media/IR/keymaps/rc-kworld-plus-tv-analog.mod.c   |   23 
- drivers/media/IR/keymaps/rc-leadtek-y04g0051.mod.c        |   23 
- drivers/media/IR/keymaps/rc-lirc.mod.c                    |   23 
- drivers/media/IR/keymaps/rc-lme2510.mod.c                 |   23 
- drivers/media/IR/keymaps/rc-manli.mod.c                   |   23 
- drivers/media/IR/keymaps/rc-msi-digivox-ii.mod.c          |   23 
- drivers/media/IR/keymaps/rc-msi-digivox-iii.mod.c         |   23 
- drivers/media/IR/keymaps/rc-msi-tvanywhere-plus.mod.c     |   23 
- drivers/media/IR/keymaps/rc-msi-tvanywhere.mod.c          |   23 
- drivers/media/IR/keymaps/rc-nebula.mod.c                  |   23 
- drivers/media/IR/keymaps/rc-nec-terratec-cinergy-xs.mod.c |   23 
- drivers/media/IR/keymaps/rc-norwood.mod.c                 |   23 
- drivers/media/IR/keymaps/rc-npgtech.mod.c                 |   23 
- drivers/media/IR/keymaps/rc-pctv-sedna.mod.c              |   23 
- drivers/media/IR/keymaps/rc-pinnacle-color.mod.c          |   23 
- drivers/media/IR/keymaps/rc-pinnacle-grey.mod.c           |   23 
- drivers/media/IR/keymaps/rc-pinnacle-pctv-hd.mod.c        |   23 
- drivers/media/IR/keymaps/rc-pixelview-mk12.mod.c          |   23 
- drivers/media/IR/keymaps/rc-pixelview-new.mod.c           |   23 
- drivers/media/IR/keymaps/rc-pixelview.mod.c               |   23 
- drivers/media/IR/keymaps/rc-powercolor-real-angel.mod.c   |   23 
- drivers/media/IR/keymaps/rc-proteus-2309.mod.c            |   23 
- drivers/media/IR/keymaps/rc-purpletv.mod.c                |   23 
- drivers/media/IR/keymaps/rc-pv951.mod.c                   |   23 
- drivers/media/IR/keymaps/rc-rc5-hauppauge-new.mod.c       |   23 
- drivers/media/IR/keymaps/rc-rc5-streamzap.mod.c           |   23 
- drivers/media/IR/keymaps/rc-rc5-tv.mod.c                  |   23 
- drivers/media/IR/keymaps/rc-rc6-mce.mod.c                 |   23 
- drivers/media/IR/keymaps/rc-real-audio-220-32-keys.mod.c  |   23 
- drivers/media/IR/keymaps/rc-streamzap.mod.c               |   23 
- drivers/media/IR/keymaps/rc-tbs-nec.mod.c                 |   23 
- drivers/media/IR/keymaps/rc-terratec-cinergy-xs.mod.c     |   23 
- drivers/media/IR/keymaps/rc-terratec-slim.mod.c           |   23 
- drivers/media/IR/keymaps/rc-tevii-nec.mod.c               |   23 
- drivers/media/IR/keymaps/rc-total-media-in-hand.mod.c     |   23 
- drivers/media/IR/keymaps/rc-trekstor.mod.c                |   23 
- drivers/media/IR/keymaps/rc-tt-1500.mod.c                 |   23 
- drivers/media/IR/keymaps/rc-twinhan1027.mod.c             |   23 
- drivers/media/IR/keymaps/rc-videomate-s350.mod.c          |   23 
- drivers/media/IR/keymaps/rc-videomate-tv-pvr.mod.c        |   23 
- drivers/media/IR/keymaps/rc-winfast-usbii-deluxe.mod.c    |   23 
- drivers/media/IR/keymaps/rc-winfast.mod.c                 |   23 
- drivers/media/IR/lirc_dev.mod.c                           |   23 
- drivers/media/IR/mceusb.mod.c                             |   69 
- drivers/media/IR/nuvoton-cir.mod.c                        |   27 
- drivers/media/IR/rc-core.mod.c                            |   23 
- drivers/media/IR/streamzap.mod.c                          |   24 
- drivers/media/IR/winbond-cir.mod.c                        |   25 
- drivers/media/Kconfig                                     |   53 
- drivers/media/Makefile                                    |    2 
- drivers/media/common/saa7146.mod.c                        |   19 
- drivers/media/common/saa7146_core.c                       |    2 
- drivers/media/common/saa7146_fops.c                       |   12 
- drivers/media/common/saa7146_hlp.c                        |    8 
- drivers/media/common/saa7146_i2c.c                        |    2 
- drivers/media/common/saa7146_vbi.c                        |    6 
- drivers/media/common/saa7146_video.c                      |   72 
- drivers/media/common/saa7146_vv.mod.c                     |   23 
- drivers/media/common/tuners/Kconfig                       |   15 
- drivers/media/common/tuners/Makefile                      |    1 
- drivers/media/common/tuners/max2165.c                     |   10 
- drivers/media/common/tuners/max2165.mod.c                 |   19 
- drivers/media/common/tuners/mc44s803.mod.c                |   19 
- drivers/media/common/tuners/mt2060.mod.c                  |   19 
- drivers/media/common/tuners/mt20xx.mod.c                  |   19 
- drivers/media/common/tuners/mt2131.mod.c                  |   19 
- drivers/media/common/tuners/mt2266.mod.c                  |   19 
- drivers/media/common/tuners/mxl5005s.mod.c                |   19 
- drivers/media/common/tuners/mxl5007t.mod.c                |   19 
- drivers/media/common/tuners/qt1010.mod.c                  |   19 
- drivers/media/common/tuners/tda18218.c                    |  334 +
- drivers/media/common/tuners/tda18218.h                    |   45 
- drivers/media/common/tuners/tda18218.mod.c                |   19 
- drivers/media/common/tuners/tda18218_priv.h               |  106 
- drivers/media/common/tuners/tda18271-common.c             |   63 
- drivers/media/common/tuners/tda18271-fe.c                 |   24 
- drivers/media/common/tuners/tda18271.h                    |    5 
- drivers/media/common/tuners/tda18271.mod.c                |   19 
- drivers/media/common/tuners/tda827x.mod.c                 |   19 
- drivers/media/common/tuners/tda8290.c                     |  130 
- drivers/media/common/tuners/tda8290.mod.c                 |   19 
- drivers/media/common/tuners/tda9887.mod.c                 |   19 
- drivers/media/common/tuners/tea5761.mod.c                 |   19 
- drivers/media/common/tuners/tea5767.mod.c                 |   19 
- drivers/media/common/tuners/tuner-simple.c                |    3 
- drivers/media/common/tuners/tuner-simple.mod.c            |   19 
- drivers/media/common/tuners/tuner-types.mod.c             |   19 
- drivers/media/common/tuners/tuner-xc2028.mod.c            |   19 
- drivers/media/common/tuners/xc5000.c                      |   61 
- drivers/media/common/tuners/xc5000.h                      |    4 
- drivers/media/common/tuners/xc5000.mod.c                  |   19 
- drivers/media/dvb/b2c2/b2c2-flexcop-pci.mod.c             |   24 
- drivers/media/dvb/b2c2/b2c2-flexcop-usb.mod.c             |   24 
- drivers/media/dvb/b2c2/b2c2-flexcop.mod.c                 |   23 
- drivers/media/dvb/b2c2/flexcop-i2c.c                      |    3 
- drivers/media/dvb/bt8xx/bt878.mod.c                       |   35 
- drivers/media/dvb/bt8xx/dst.c                             |   10 
- drivers/media/dvb/bt8xx/dst.mod.c                         |   19 
- drivers/media/dvb/bt8xx/dst_ca.c                          |   12 
- drivers/media/dvb/bt8xx/dst_ca.mod.c                      |   19 
- drivers/media/dvb/bt8xx/dvb-bt8xx.mod.c                   |   23 
- drivers/media/dvb/dm1105/Kconfig                          |    3 
- drivers/media/dvb/dm1105/dm1105.c                         |   45 
- drivers/media/dvb/dm1105/dm1105.mod.c                     |   25 
- drivers/media/dvb/dvb-core/dmxdev.c                       |   25 
- drivers/media/dvb/dvb-core/dvb-core.mod.c                 |   23 
- drivers/media/dvb/dvb-core/dvb_ca_en50221.c               |   20 
- drivers/media/dvb/dvb-core/dvb_demux.c                    |   10 
- drivers/media/dvb/dvb-core/dvb_frontend.c                 |   18 
- drivers/media/dvb/dvb-core/dvb_frontend.h                 |    2 
- drivers/media/dvb/dvb-core/dvb_net.c                      |   13 
- drivers/media/dvb/dvb-core/dvbdev.c                       |   18 
- drivers/media/dvb/dvb-usb/Kconfig                         |   22 
- drivers/media/dvb/dvb-usb/Makefile                        |    6 
- drivers/media/dvb/dvb-usb/a800.c                          |   12 
- drivers/media/dvb/dvb-usb/af9005-remote.c                 |   16 
- drivers/media/dvb/dvb-usb/af9005.c                        |   79 
- drivers/media/dvb/dvb-usb/af9005.h                        |    4 
- drivers/media/dvb/dvb-usb/af9015.c                        |  398 -
- drivers/media/dvb/dvb-usb/af9015.h                        |  735 ---
- drivers/media/dvb/dvb-usb/anysee.c                        |   99 
- drivers/media/dvb/dvb-usb/az6027.c                        |   20 
- drivers/media/dvb/dvb-usb/cinergyT2-core.c                |   12 
- drivers/media/dvb/dvb-usb/cxusb.c                         |  128 
- drivers/media/dvb/dvb-usb/dib0700.h                       |    3 
- drivers/media/dvb/dvb-usb/dib0700_core.c                  |  314 -
- drivers/media/dvb/dvb-usb/dib0700_devices.c               | 2261 ++++++---
- drivers/media/dvb/dvb-usb/dibusb-common.c                 |    4 
- drivers/media/dvb/dvb-usb/dibusb-mb.c                     |   40 
- drivers/media/dvb/dvb-usb/dibusb-mc.c                     |   10 
- drivers/media/dvb/dvb-usb/dibusb.h                        |    2 
- drivers/media/dvb/dvb-usb/digitv.c                        |   20 
- drivers/media/dvb/dvb-usb/dtt200u.c                       |   42 
- drivers/media/dvb/dvb-usb/dvb-usb-a800.mod.c              |   25 
- drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote.mod.c     |   19 
- drivers/media/dvb/dvb-usb/dvb-usb-af9005.mod.c            |   26 
- drivers/media/dvb/dvb-usb/dvb-usb-af9015.mod.c            |   59 
- drivers/media/dvb/dvb-usb/dvb-usb-anysee.mod.c            |   25 
- drivers/media/dvb/dvb-usb/dvb-usb-au6610.mod.c            |   24 
- drivers/media/dvb/dvb-usb/dvb-usb-ce6230.mod.c            |   25 
- drivers/media/dvb/dvb-usb/dvb-usb-cinergyT2.mod.c         |   24 
- drivers/media/dvb/dvb-usb/dvb-usb-cxusb.mod.c             |   43 
- drivers/media/dvb/dvb-usb/dvb-usb-dib0700.mod.c           |   94 
- drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common.mod.c     |   19 
- drivers/media/dvb/dvb-usb/dvb-usb-dibusb-mb.mod.c         |   53 
- drivers/media/dvb/dvb-usb/dvb-usb-dibusb-mc.mod.c         |   39 
- drivers/media/dvb/dvb-usb/dvb-usb-digitv.mod.c            |   24 
- drivers/media/dvb/dvb-usb/dvb-usb-dtt200u.mod.c           |   33 
- drivers/media/dvb/dvb-usb/dvb-usb-dtv5100.mod.c           |   24 
- drivers/media/dvb/dvb-usb/dvb-usb-dw2102.mod.c            |   33 
- drivers/media/dvb/dvb-usb/dvb-usb-ec168.mod.c             |   28 
- drivers/media/dvb/dvb-usb/dvb-usb-friio.mod.c             |   24 
- drivers/media/dvb/dvb-usb/dvb-usb-gl861.mod.c             |   25 
- drivers/media/dvb/dvb-usb/dvb-usb-gp8psk.mod.c            |   28 
- drivers/media/dvb/dvb-usb/dvb-usb-i2c.c                   |    1 
- drivers/media/dvb/dvb-usb/dvb-usb-ids.h                   |   14 
- drivers/media/dvb/dvb-usb/dvb-usb-init.c                  |   60 
- drivers/media/dvb/dvb-usb/dvb-usb-m920x.mod.c             |   30 
- drivers/media/dvb/dvb-usb/dvb-usb-nova-t-usb2.mod.c       |   25 
- drivers/media/dvb/dvb-usb/dvb-usb-opera.mod.c             |   25 
- drivers/media/dvb/dvb-usb/dvb-usb-remote.c                |  214 
- drivers/media/dvb/dvb-usb/dvb-usb-ttusb2.mod.c            |   27 
- drivers/media/dvb/dvb-usb/dvb-usb-umt-010.mod.c           |   25 
- drivers/media/dvb/dvb-usb/dvb-usb-vp702x.mod.c            |   24 
- drivers/media/dvb/dvb-usb/dvb-usb-vp7045.mod.c            |   27 
- drivers/media/dvb/dvb-usb/dvb-usb.h                       |  102 
- drivers/media/dvb/dvb-usb/dvb-usb.mod.c                   |   19 
- drivers/media/dvb/dvb-usb/dw2102.c                        |   81 
- drivers/media/dvb/dvb-usb/friio-fe.c                      |    2 
- drivers/media/dvb/dvb-usb/gp8psk-fe.c                     |    6 
- drivers/media/dvb/dvb-usb/gp8psk.c                        |   37 
- drivers/media/dvb/dvb-usb/gp8psk.h                        |    8 
- drivers/media/dvb/dvb-usb/lmedm04.c                       | 1113 ++++
- drivers/media/dvb/dvb-usb/lmedm04.h                       |  173 
- drivers/media/dvb/dvb-usb/m920x.c                         |   44 
- drivers/media/dvb/dvb-usb/nova-t-usb2.c                   |   24 
- drivers/media/dvb/dvb-usb/opera1.c                        |   26 
- drivers/media/dvb/dvb-usb/technisat-usb2.c                |  808 +++
- drivers/media/dvb/dvb-usb/ttusb2.c                        |   35 
- drivers/media/dvb/dvb-usb/vp702x.c                        |   18 
- drivers/media/dvb/dvb-usb/vp7045.c                        |   18 
- drivers/media/dvb/firewire/firedtv-avc.c                  |   61 
- drivers/media/dvb/firewire/firedtv-ci.c                   |    1 
- drivers/media/dvb/firewire/firedtv-fe.c                   |   36 
- drivers/media/dvb/firewire/firedtv-fw.c                   |    6 
- drivers/media/dvb/firewire/firedtv-rc.c                   |    8 
- drivers/media/dvb/firewire/firedtv.mod.c                  |   29 
- drivers/media/dvb/frontends/Kconfig                       |   50 
- drivers/media/dvb/frontends/Makefile                      |    6 
- drivers/media/dvb/frontends/af9013.c                      |  309 -
- drivers/media/dvb/frontends/af9013.h                      |    3 
- drivers/media/dvb/frontends/af9013.mod.c                  |   19 
- drivers/media/dvb/frontends/af9013_priv.h                 |   68 
- drivers/media/dvb/frontends/atbm8830.c                    |    8 
- drivers/media/dvb/frontends/atbm8830.mod.c                |   19 
- drivers/media/dvb/frontends/au8522.mod.c                  |   24 
- drivers/media/dvb/frontends/au8522_decoder.c              |   78 
- drivers/media/dvb/frontends/au8522_priv.h                 |    2 
- drivers/media/dvb/frontends/bcm3510.mod.c                 |   19 
- drivers/media/dvb/frontends/cx22700.mod.c                 |   19 
- drivers/media/dvb/frontends/cx22702.c                     |  123 
- drivers/media/dvb/frontends/cx22702.mod.c                 |   19 
- drivers/media/dvb/frontends/cx24110.c                     |    2 
- drivers/media/dvb/frontends/cx24110.mod.c                 |   19 
- drivers/media/dvb/frontends/cx24113.mod.c                 |   19 
- drivers/media/dvb/frontends/cx24116.mod.c                 |   19 
- drivers/media/dvb/frontends/cx24123.c                     |    1 
- drivers/media/dvb/frontends/cx24123.mod.c                 |   19 
- drivers/media/dvb/frontends/dib0070.mod.c                 |   19 
- drivers/media/dvb/frontends/dib0090.c                     | 1585 +++++-
- drivers/media/dvb/frontends/dib0090.h                     |   31 
- drivers/media/dvb/frontends/dib0090.mod.c                 |   19 
- drivers/media/dvb/frontends/dib3000mb.c                   |    9 
- drivers/media/dvb/frontends/dib3000mb.mod.c               |   19 
- drivers/media/dvb/frontends/dib3000mb_priv.h              |    4 
- drivers/media/dvb/frontends/dib3000mc.c                   |    2 
- drivers/media/dvb/frontends/dib3000mc.mod.c               |   19 
- drivers/media/dvb/frontends/dib7000m.c                    |   10 
- drivers/media/dvb/frontends/dib7000m.mod.c                |   19 
- drivers/media/dvb/frontends/dib7000p.c                    | 1959 +++++---
- drivers/media/dvb/frontends/dib7000p.h                    |   94 
- drivers/media/dvb/frontends/dib7000p.mod.c                |   19 
- drivers/media/dvb/frontends/dib8000.c                     |  817 ++-
- drivers/media/dvb/frontends/dib8000.h                     |   20 
- drivers/media/dvb/frontends/dib8000.mod.c                 |   19 
- drivers/media/dvb/frontends/dib9000.c                     | 2350 +++++++++
- drivers/media/dvb/frontends/dib9000.h                     |  131 
- drivers/media/dvb/frontends/dibx000_common.c              |  281 +
- drivers/media/dvb/frontends/dibx000_common.h              |  150 
- drivers/media/dvb/frontends/dibx000_common.mod.c          |   19 
- drivers/media/dvb/frontends/drx397xD.c                    |    2 
- drivers/media/dvb/frontends/drx397xD.mod.c                |   19 
- drivers/media/dvb/frontends/ds3000.mod.c                  |   19 
- drivers/media/dvb/frontends/dvb-pll.mod.c                 |   19 
- drivers/media/dvb/frontends/dvb_dummy_fe.mod.c            |   19 
- drivers/media/dvb/frontends/ec100.mod.c                   |   19 
- drivers/media/dvb/frontends/isl6405.mod.c                 |   19 
- drivers/media/dvb/frontends/isl6421.mod.c                 |   19 
- drivers/media/dvb/frontends/isl6423.mod.c                 |   19 
- drivers/media/dvb/frontends/itd1000.mod.c                 |   19 
- drivers/media/dvb/frontends/ix2505v.c                     |  323 +
- drivers/media/dvb/frontends/ix2505v.h                     |   64 
- drivers/media/dvb/frontends/ix2505v.mod.c                 |   19 
- drivers/media/dvb/frontends/l64781.mod.c                  |   19 
- drivers/media/dvb/frontends/lgdt3304.mod.c                |   19 
- drivers/media/dvb/frontends/lgdt3305.c                    |  267 -
- drivers/media/dvb/frontends/lgdt3305.h                    |   10 
- drivers/media/dvb/frontends/lgdt3305.mod.c                |   19 
- drivers/media/dvb/frontends/lgdt330x.mod.c                |   19 
- drivers/media/dvb/frontends/lgs8gl5.mod.c                 |   19 
- drivers/media/dvb/frontends/lgs8gxx.c                     |   63 
- drivers/media/dvb/frontends/lgs8gxx.mod.c                 |   19 
- drivers/media/dvb/frontends/lnbp21.mod.c                  |   19 
- drivers/media/dvb/frontends/mb86a16.c                     |    1 
- drivers/media/dvb/frontends/mb86a16.mod.c                 |   19 
- drivers/media/dvb/frontends/mb86a20s.c                    |  639 ++
- drivers/media/dvb/frontends/mb86a20s.h                    |   52 
- drivers/media/dvb/frontends/mt312.mod.c                   |   19 
- drivers/media/dvb/frontends/mt352.c                       |    2 
- drivers/media/dvb/frontends/mt352.h                       |    2 
- drivers/media/dvb/frontends/mt352.mod.c                   |   19 
- drivers/media/dvb/frontends/nxt200x.mod.c                 |   19 
- drivers/media/dvb/frontends/nxt6000.mod.c                 |   19 
- drivers/media/dvb/frontends/or51132.mod.c                 |   19 
- drivers/media/dvb/frontends/or51211.mod.c                 |   19 
- drivers/media/dvb/frontends/s5h1409.mod.c                 |   19 
- drivers/media/dvb/frontends/s5h1411.mod.c                 |   19 
- drivers/media/dvb/frontends/s5h1420.c                     |    1 
- drivers/media/dvb/frontends/s5h1420.mod.c                 |   19 
- drivers/media/dvb/frontends/s5h1432.c                     |  415 +
- drivers/media/dvb/frontends/s5h1432.h                     |   91 
- drivers/media/dvb/frontends/s5h1432.mod.c                 |   19 
- drivers/media/dvb/frontends/s921.c                        |  548 ++
- drivers/media/dvb/frontends/s921.h                        |   47 
- drivers/media/dvb/frontends/s921.mod.c                    |   19 
- drivers/media/dvb/frontends/si21xx.c                      |    2 
- drivers/media/dvb/frontends/si21xx.mod.c                  |   19 
- drivers/media/dvb/frontends/sp8870.mod.c                  |   19 
- drivers/media/dvb/frontends/sp887x.mod.c                  |   19 
- drivers/media/dvb/frontends/stb0899.mod.c                 |   19 
- drivers/media/dvb/frontends/stb0899_drv.c                 |    2 
- drivers/media/dvb/frontends/stb6000.mod.c                 |   19 
- drivers/media/dvb/frontends/stb6100.c                     |  202 
- drivers/media/dvb/frontends/stb6100.h                     |    4 
- drivers/media/dvb/frontends/stb6100.mod.c                 |   19 
- drivers/media/dvb/frontends/stv0288.c                     |   25 
- drivers/media/dvb/frontends/stv0288.mod.c                 |   19 
- drivers/media/dvb/frontends/stv0297.mod.c                 |   19 
- drivers/media/dvb/frontends/stv0299.c                     |    2 
- drivers/media/dvb/frontends/stv0299.h                     |    2 
- drivers/media/dvb/frontends/stv0299.mod.c                 |   19 
- drivers/media/dvb/frontends/stv0900.mod.c                 |   19 
- drivers/media/dvb/frontends/stv090x.c                     |  292 +
- drivers/media/dvb/frontends/stv090x.h                     |   16 
- drivers/media/dvb/frontends/stv090x.mod.c                 |   19 
- drivers/media/dvb/frontends/stv090x_reg.h                 |   16 
- drivers/media/dvb/frontends/stv6110.mod.c                 |   19 
- drivers/media/dvb/frontends/stv6110x.mod.c                |   19 
- drivers/media/dvb/frontends/tda10021.mod.c                |   19 
- drivers/media/dvb/frontends/tda10023.mod.c                |   19 
- drivers/media/dvb/frontends/tda10048.c                    |   43 
- drivers/media/dvb/frontends/tda10048.mod.c                |   19 
- drivers/media/dvb/frontends/tda1004x.c                    |    2 
- drivers/media/dvb/frontends/tda1004x.mod.c                |   19 
- drivers/media/dvb/frontends/tda10086.mod.c                |   19 
- drivers/media/dvb/frontends/tda665x.mod.c                 |   19 
- drivers/media/dvb/frontends/tda8083.mod.c                 |   19 
- drivers/media/dvb/frontends/tda8261.mod.c                 |   19 
- drivers/media/dvb/frontends/tda826x.mod.c                 |   19 
- drivers/media/dvb/frontends/tua6100.mod.c                 |   19 
- drivers/media/dvb/frontends/ves1820.mod.c                 |   19 
- drivers/media/dvb/frontends/ves1x93.mod.c                 |   19 
- drivers/media/dvb/frontends/zl10036.mod.c                 |   19 
- drivers/media/dvb/frontends/zl10039.mod.c                 |   19 
- drivers/media/dvb/frontends/zl10353.c                     |    2 
- drivers/media/dvb/frontends/zl10353.mod.c                 |   19 
- drivers/media/dvb/mantis/Kconfig                          |   16 
- drivers/media/dvb/mantis/hopper.mod.c                     |   23 
- drivers/media/dvb/mantis/hopper_cards.c                   |    2 
- drivers/media/dvb/mantis/hopper_vp3028.c                  |    6 
- drivers/media/dvb/mantis/mantis.mod.c                     |   23 
- drivers/media/dvb/mantis/mantis_cards.c                   |    2 
- drivers/media/dvb/mantis/mantis_common.h                  |    4 
- drivers/media/dvb/mantis/mantis_core.c                    |    5 
- drivers/media/dvb/mantis/mantis_core.mod.c                |   19 
- drivers/media/dvb/mantis/mantis_dvb.c                     |   17 
- drivers/media/dvb/mantis/mantis_evm.c                     |    2 
- drivers/media/dvb/mantis/mantis_i2c.c                     |    1 
- drivers/media/dvb/mantis/mantis_input.c                   |   79 
- drivers/media/dvb/mantis/mantis_ioc.c                     |   13 
- drivers/media/dvb/mantis/mantis_ioc.h                     |    2 
- drivers/media/dvb/mantis/mantis_uart.c                    |    1 
- drivers/media/dvb/mantis/mantis_vp1033.c                  |    2 
- drivers/media/dvb/mantis/mantis_vp1034.c                  |   10 
- drivers/media/dvb/mantis/mantis_vp1041.c                  |    6 
- drivers/media/dvb/mantis/mantis_vp2033.c                  |    4 
- drivers/media/dvb/mantis/mantis_vp2040.c                  |    4 
- drivers/media/dvb/mantis/mantis_vp3030.c                  |    8 
- drivers/media/dvb/ngene/Makefile                          |    3 
- drivers/media/dvb/ngene/ngene-cards.c                     |  179 
- drivers/media/dvb/ngene/ngene-core.c                      |  245 -
- drivers/media/dvb/ngene/ngene-dvb.c                       |   72 
- drivers/media/dvb/ngene/ngene-i2c.c                       |    2 
- drivers/media/dvb/ngene/ngene.h                           |   24 
- drivers/media/dvb/pluto2/pluto2.c                         |    1 
- drivers/media/dvb/pluto2/pluto2.mod.c                     |   24 
- drivers/media/dvb/pt1/earth-pt1.mod.c                     |   25 
- drivers/media/dvb/pt1/pt1.c                               |    1 
- drivers/media/dvb/siano/Kconfig                           |    2 
- drivers/media/dvb/siano/sms-cards.c                       |    2 
- drivers/media/dvb/siano/sms-cards.h                       |    2 
- drivers/media/dvb/siano/smscoreapi.c                      |   42 
- drivers/media/dvb/siano/smsdvb.mod.c                      |   23 
- drivers/media/dvb/siano/smsir.c                           |  291 -
- drivers/media/dvb/siano/smsir.h                           |   64 
- drivers/media/dvb/siano/smsmdtv.mod.c                     |   23 
- drivers/media/dvb/siano/smssdio.mod.c                     |   28 
- drivers/media/dvb/siano/smsusb.c                          |   12 
- drivers/media/dvb/siano/smsusb.mod.c                      |   53 
- drivers/media/dvb/ttpci/Kconfig                           |    3 
- drivers/media/dvb/ttpci/av7110.c                          |   13 
- drivers/media/dvb/ttpci/av7110_av.c                       |    9 
- drivers/media/dvb/ttpci/av7110_ca.c                       |    5 
- drivers/media/dvb/ttpci/av7110_hw.c                       |    2 
- drivers/media/dvb/ttpci/av7110_ir.c                       |    1 
- drivers/media/dvb/ttpci/av7110_v4l.c                      |    6 
- drivers/media/dvb/ttpci/budget-av.c                       |    8 
- drivers/media/dvb/ttpci/budget-av.mod.c                   |   51 
- drivers/media/dvb/ttpci/budget-ci.c                       |   56 
- drivers/media/dvb/ttpci/budget-ci.mod.c                   |   31 
- drivers/media/dvb/ttpci/budget-core.c                     |    4 
- drivers/media/dvb/ttpci/budget-core.mod.c                 |   19 
- drivers/media/dvb/ttpci/budget-patch.c                    |    2 
- drivers/media/dvb/ttpci/budget-patch.mod.c                |   23 
- drivers/media/dvb/ttpci/budget.c                          |    2 
- drivers/media/dvb/ttpci/budget.mod.c                      |   34 
- drivers/media/dvb/ttpci/dvb-ttpci.mod.c                   |   34 
- drivers/media/dvb/ttpci/ttpci-eeprom.mod.c                |   19 
- drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c         |    1 
- drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.mod.c     |   26 
- drivers/media/dvb/ttusb-dec/ttusb_dec.mod.c               |   26 
- drivers/media/dvb/ttusb-dec/ttusbdecfe.mod.c              |   19 
- drivers/media/radio/Kconfig                               |   30 
- drivers/media/radio/Makefile                              |    2 
- drivers/media/radio/dsbr100.mod.c                         |   24 
- drivers/media/radio/radio-aimslab.c                       |   40 
- drivers/media/radio/radio-aztech.c                        |    6 
- drivers/media/radio/radio-cadet.c                         |   15 
- drivers/media/radio/radio-gemtek-pci.mod.c                |   24 
- drivers/media/radio/radio-gemtek.c                        |   14 
- drivers/media/radio/radio-maestro.c                       |   14 
- drivers/media/radio/radio-maestro.mod.c                   |   25 
- drivers/media/radio/radio-maxiradio.c                     |    8 
- drivers/media/radio/radio-maxiradio.mod.c                 |   24 
- drivers/media/radio/radio-miropcm20.c                     |    6 
- drivers/media/radio/radio-mr800.c                         |   76 
- drivers/media/radio/radio-mr800.mod.c                     |   24 
- drivers/media/radio/radio-rtrack2.c                       |   10 
- drivers/media/radio/radio-sf16fmi.c                       |    7 
- drivers/media/radio/radio-sf16fmr2.c                      |   11 
- drivers/media/radio/radio-si4713.c                        |   15 
- drivers/media/radio/radio-si4713.mod.c                    |   23 
- drivers/media/radio/radio-tea5764.c                       |   49 
- drivers/media/radio/radio-terratec.c                      |    8 
- drivers/media/radio/radio-timb.c                          |    5 
- drivers/media/radio/radio-trust.c                         |   18 
- drivers/media/radio/radio-typhoon.c                       |   19 
- drivers/media/radio/radio-wl1273.c                        | 2330 +++++++++
- drivers/media/radio/radio-zoltrix.c                       |   30 
- drivers/media/radio/si470x/radio-i2c-si470x.mod.c         |   24 
- drivers/media/radio/si470x/radio-si470x-common.c          |   40 
- drivers/media/radio/si470x/radio-si470x-i2c.c             |    2 
- drivers/media/radio/si470x/radio-si470x-usb.c             |   17 
- drivers/media/radio/si470x/radio-si470x.h                 |    4 
- drivers/media/radio/si470x/radio-usb-si470x.mod.c         |   27 
- drivers/media/radio/si4713-i2c.c                          |   88 
- drivers/media/radio/si4713-i2c.h                          |    5 
- drivers/media/radio/si4713-i2c.mod.c                      |   24 
- drivers/media/radio/tef6862.c                             |    1 
- drivers/media/rc/Kconfig                                  |  193 
- drivers/media/rc/Makefile                                 |   22 
- drivers/media/rc/ene_ir.c                                 | 1213 +++++
- drivers/media/rc/ene_ir.h                                 |  259 +
- drivers/media/rc/imon.c                                   | 2449 ++++++++++
- drivers/media/rc/ir-jvc-decoder.c                         |  198 
- drivers/media/rc/ir-lirc-codec.c                          |  402 +
- drivers/media/rc/ir-nec-decoder.c                         |  220 
- drivers/media/rc/ir-raw.c                                 |  371 +
- drivers/media/rc/ir-rc5-decoder.c                         |  189 
- drivers/media/rc/ir-rc5-sz-decoder.c                      |  153 
- drivers/media/rc/ir-rc6-decoder.c                         |  280 +
- drivers/media/rc/ir-sony-decoder.c                        |  181 
- drivers/media/rc/keymaps/Kconfig                          |   15 
- drivers/media/rc/keymaps/Makefile                         |   89 
- drivers/media/rc/keymaps/rc-adstech-dvb-t-pci.c           |   89 
- drivers/media/rc/keymaps/rc-alink-dtu-m.c                 |   68 
- drivers/media/rc/keymaps/rc-anysee.c                      |   93 
- drivers/media/rc/keymaps/rc-apac-viewcomp.c               |   80 
- drivers/media/rc/keymaps/rc-asus-pc39.c                   |   91 
- drivers/media/rc/keymaps/rc-ati-tv-wonder-hd-600.c        |   69 
- drivers/media/rc/keymaps/rc-avermedia-a16d.c              |   75 
- drivers/media/rc/keymaps/rc-avermedia-cardbus.c           |   97 
- drivers/media/rc/keymaps/rc-avermedia-dvbt.c              |   78 
- drivers/media/rc/keymaps/rc-avermedia-m135a.c             |  147 
- drivers/media/rc/keymaps/rc-avermedia-m733a-rm-k6.c       |   95 
- drivers/media/rc/keymaps/rc-avermedia-rm-ks.c             |   79 
- drivers/media/rc/keymaps/rc-avermedia.c                   |   86 
- drivers/media/rc/keymaps/rc-avertv-303.c                  |   85 
- drivers/media/rc/keymaps/rc-azurewave-ad-tu700.c          |  102 
- drivers/media/rc/keymaps/rc-behold-columbus.c             |  108 
- drivers/media/rc/keymaps/rc-behold.c                      |  141 
- drivers/media/rc/keymaps/rc-budget-ci-old.c               |   92 
- drivers/media/rc/keymaps/rc-cinergy-1400.c                |   84 
- drivers/media/rc/keymaps/rc-cinergy.c                     |   78 
- drivers/media/rc/keymaps/rc-dib0700-nec.c                 |  124 
- drivers/media/rc/keymaps/rc-dib0700-rc5.c                 |  235 
- drivers/media/rc/keymaps/rc-digitalnow-tinytwin.c         |   98 
- drivers/media/rc/keymaps/rc-digittrade.c                  |   82 
- drivers/media/rc/keymaps/rc-dm1105-nec.c                  |   76 
- drivers/media/rc/keymaps/rc-dntv-live-dvb-t.c             |   78 
- drivers/media/rc/keymaps/rc-dntv-live-dvbt-pro.c          |   97 
- drivers/media/rc/keymaps/rc-em-terratec.c                 |   69 
- drivers/media/rc/keymaps/rc-encore-enltv-fm53.c           |   81 
- drivers/media/rc/keymaps/rc-encore-enltv.c                |  112 
- drivers/media/rc/keymaps/rc-encore-enltv2.c               |   90 
- drivers/media/rc/keymaps/rc-evga-indtube.c                |   61 
- drivers/media/rc/keymaps/rc-eztv.c                        |   96 
- drivers/media/rc/keymaps/rc-flydvb.c                      |   77 
- drivers/media/rc/keymaps/rc-flyvideo.c                    |   70 
- drivers/media/rc/keymaps/rc-fusionhdtv-mce.c              |   98 
- drivers/media/rc/keymaps/rc-gadmei-rm008z.c               |   81 
- drivers/media/rc/keymaps/rc-genius-tvgo-a11mce.c          |   84 
- drivers/media/rc/keymaps/rc-gotview7135.c                 |   79 
- drivers/media/rc/keymaps/rc-hauppauge-new.c               |  100 
- drivers/media/rc/keymaps/rc-imon-mce.c                    |  142 
- drivers/media/rc/keymaps/rc-imon-pad.c                    |  156 
- drivers/media/rc/keymaps/rc-iodata-bctv7e.c               |   88 
- drivers/media/rc/keymaps/rc-kaiomy.c                      |   87 
- drivers/media/rc/keymaps/rc-kworld-315u.c                 |   83 
- drivers/media/rc/keymaps/rc-kworld-plus-tv-analog.c       |   99 
- drivers/media/rc/keymaps/rc-leadtek-y04g0051.c            |   99 
- drivers/media/rc/keymaps/rc-lirc.c                        |   41 
- drivers/media/rc/keymaps/rc-lme2510.c                     |   68 
- drivers/media/rc/keymaps/rc-manli.c                       |  134 
- drivers/media/rc/keymaps/rc-msi-digivox-ii.c              |   67 
- drivers/media/rc/keymaps/rc-msi-digivox-iii.c             |   85 
- drivers/media/rc/keymaps/rc-msi-tvanywhere-plus.c         |  123 
- drivers/media/rc/keymaps/rc-msi-tvanywhere.c              |   69 
- drivers/media/rc/keymaps/rc-nebula.c                      |   96 
- drivers/media/rc/keymaps/rc-nec-terratec-cinergy-xs.c     |  105 
- drivers/media/rc/keymaps/rc-norwood.c                     |   85 
- drivers/media/rc/keymaps/rc-npgtech.c                     |   80 
- drivers/media/rc/keymaps/rc-pctv-sedna.c                  |   80 
- drivers/media/rc/keymaps/rc-pinnacle-color.c              |   94 
- drivers/media/rc/keymaps/rc-pinnacle-grey.c               |   89 
- drivers/media/rc/keymaps/rc-pinnacle-pctv-hd.c            |   73 
- drivers/media/rc/keymaps/rc-pixelview-002t.c              |   77 
- drivers/media/rc/keymaps/rc-pixelview-mk12.c              |   83 
- drivers/media/rc/keymaps/rc-pixelview-new.c               |   83 
- drivers/media/rc/keymaps/rc-pixelview.c                   |   82 
- drivers/media/rc/keymaps/rc-powercolor-real-angel.c       |   81 
- drivers/media/rc/keymaps/rc-proteus-2309.c                |   69 
- drivers/media/rc/keymaps/rc-purpletv.c                    |   81 
- drivers/media/rc/keymaps/rc-pv951.c                       |   78 
- drivers/media/rc/keymaps/rc-rc5-hauppauge-new.c           |  141 
- drivers/media/rc/keymaps/rc-rc5-tv.c                      |   81 
- drivers/media/rc/keymaps/rc-rc6-mce.c                     |  113 
- drivers/media/rc/keymaps/rc-real-audio-220-32-keys.c      |   78 
- drivers/media/rc/keymaps/rc-streamzap.c                   |   82 
- drivers/media/rc/keymaps/rc-tbs-nec.c                     |   75 
- drivers/media/rc/keymaps/rc-technisat-usb2.c              |   93 
- drivers/media/rc/keymaps/rc-terratec-cinergy-xs.c         |   92 
- drivers/media/rc/keymaps/rc-terratec-slim.c               |   79 
- drivers/media/rc/keymaps/rc-tevii-nec.c                   |   88 
- drivers/media/rc/keymaps/rc-total-media-in-hand.c         |   85 
- drivers/media/rc/keymaps/rc-trekstor.c                    |   80 
- drivers/media/rc/keymaps/rc-tt-1500.c                     |   82 
- drivers/media/rc/keymaps/rc-twinhan1027.c                 |   87 
- drivers/media/rc/keymaps/rc-videomate-m1f.c               |   92 
- drivers/media/rc/keymaps/rc-videomate-s350.c              |   85 
- drivers/media/rc/keymaps/rc-videomate-tv-pvr.c            |   87 
- drivers/media/rc/keymaps/rc-winfast-usbii-deluxe.c        |   82 
- drivers/media/rc/keymaps/rc-winfast.c                     |  102 
- drivers/media/rc/lirc_dev.c                               |  816 +++
- drivers/media/rc/mceusb.c                                 | 1312 +++++
- drivers/media/rc/nuvoton-cir.c                            | 1244 +++++
- drivers/media/rc/nuvoton-cir.h                            |  407 +
- drivers/media/rc/rc-core-priv.h                           |  193 
- drivers/media/rc/rc-loopback.c                            |  260 +
- drivers/media/rc/rc-main.c                                | 1103 ++++
- drivers/media/rc/streamzap.c                              |  557 ++
- drivers/media/rc/winbond-cir.c                            |  932 +++
- drivers/media/video/Kconfig                               |  399 -
- drivers/media/video/Makefile                              |   45 
- drivers/media/video/adv7170.c                             |   28 
- drivers/media/video/adv7170.mod.c                         |   25 
- drivers/media/video/adv7175.c                             |   39 
- drivers/media/video/adv7175.mod.c                         |   25 
- drivers/media/video/adv7180.c                             |    1 
- drivers/media/video/adv7343.c                             |  167 
- drivers/media/video/adv7343_regs.h                        |    8 
- drivers/media/video/ak881x.c                              |    6 
- drivers/media/video/arv.c                                 |    2 
- drivers/media/video/au0828/Makefile                       |    2 
- drivers/media/video/au0828/au0828-cards.c                 |    4 
- drivers/media/video/au0828/au0828-vbi.c                   |  138 
- drivers/media/video/au0828/au0828-video.c                 |  555 +-
- drivers/media/video/au0828/au0828.h                       |   26 
- drivers/media/video/au0828/au0828.mod.c                   |   37 
- drivers/media/video/bt819.c                               |  157 
- drivers/media/video/bt819.mod.c                           |   26 
- drivers/media/video/bt856.c                               |   28 
- drivers/media/video/bt856.mod.c                           |   24 
- drivers/media/video/bt866.c                               |   28 
- drivers/media/video/bt866.mod.c                           |   24 
- drivers/media/video/bt8xx/Kconfig                         |    4 
- drivers/media/video/bt8xx/bttv-cards.c                    |   61 
- drivers/media/video/bt8xx/bttv-driver.c                   |  316 -
- drivers/media/video/bt8xx/bttv-i2c.c                      |   43 
- drivers/media/video/bt8xx/bttv-input.c                    |  317 +
- drivers/media/video/bt8xx/bttv-risc.c                     |    4 
- drivers/media/video/bt8xx/bttv.h                          |    3 
- drivers/media/video/bt8xx/bttv.mod.c                      |   27 
- drivers/media/video/bt8xx/bttvp.h                         |   47 
- drivers/media/video/btcx-risc.mod.c                       |   19 
- drivers/media/video/bw-qcam.c                             |    2 
- drivers/media/video/bw-qcam.mod.c                         |   23 
- drivers/media/video/c-qcam.c                              |    2 
- drivers/media/video/c-qcam.mod.c                          |   23 
- drivers/media/video/cafe_ccic.c                           |  206 
- drivers/media/video/cpia2/Kconfig                         |    2 
- drivers/media/video/cpia2/cpia2.h                         |   10 
- drivers/media/video/cpia2/cpia2.mod.c                     |   26 
- drivers/media/video/cpia2/cpia2_core.c                    |  116 
- drivers/media/video/cpia2/cpia2_v4l.c                     |  458 -
- drivers/media/video/cpia2/cpia2dev.h                      |    4 
- drivers/media/video/cs5345.c                              |  114 
- drivers/media/video/cs5345.mod.c                          |   24 
- drivers/media/video/cs53l32a.c                            |  134 
- drivers/media/video/cs53l32a.mod.c                        |   24 
- drivers/media/video/cx18/Kconfig                          |    3 
- drivers/media/video/cx18/cx18-alsa-pcm.c                  |    8 
- drivers/media/video/cx18/cx18-av-audio.c                  |   92 
- drivers/media/video/cx18/cx18-av-core.c                   |  175 
- drivers/media/video/cx18/cx18-av-core.h                   |   12 
- drivers/media/video/cx18/cx18-cards.c                     |   64 
- drivers/media/video/cx18/cx18-controls.c                  |  285 -
- drivers/media/video/cx18/cx18-controls.h                  |    7 
- drivers/media/video/cx18/cx18-driver.c                    |   73 
- drivers/media/video/cx18/cx18-driver.h                    |   37 
- drivers/media/video/cx18/cx18-dvb.c                       |   64 
- drivers/media/video/cx18/cx18-fileops.c                   |   32 
- drivers/media/video/cx18/cx18-i2c.c                       |   28 
- drivers/media/video/cx18/cx18-ioctl.c                     |   27 
- drivers/media/video/cx18/cx18-mailbox.c                   |   11 
- drivers/media/video/cx18/cx18-mailbox.h                   |    5 
- drivers/media/video/cx18/cx18-streams.c                   |   63 
- drivers/media/video/cx18/cx18-streams.h                   |    6 
- drivers/media/video/cx18/cx18.mod.c                       |   24 
- drivers/media/video/cx231xx/Kconfig                       |   20 
- drivers/media/video/cx231xx/Makefile                      |    5 
- drivers/media/video/cx231xx/cx231xx-417.c                 | 2192 +++++++++
- drivers/media/video/cx231xx/cx231xx-alsa.mod.c            |   23 
- drivers/media/video/cx231xx/cx231xx-audio.c               |  256 -
- drivers/media/video/cx231xx/cx231xx-avcore.c              |  694 ++
- drivers/media/video/cx231xx/cx231xx-cards.c               |  496 +-
- drivers/media/video/cx231xx/cx231xx-conf-reg.h            |    1 
- drivers/media/video/cx231xx/cx231xx-core.c                |  795 ++-
- drivers/media/video/cx231xx/cx231xx-dif.h                 | 3178 +++++++++++++
- drivers/media/video/cx231xx/cx231xx-dvb.c                 |  295 +
- drivers/media/video/cx231xx/cx231xx-dvb.mod.c             |   23 
- drivers/media/video/cx231xx/cx231xx-i2c.c                 |   11 
- drivers/media/video/cx231xx/cx231xx-input.c               |  284 -
- drivers/media/video/cx231xx/cx231xx-vbi.c                 |  109 
- drivers/media/video/cx231xx/cx231xx-vbi.h                 |    2 
- drivers/media/video/cx231xx/cx231xx-video.c               |  607 +-
- drivers/media/video/cx231xx/cx231xx.h                     |  282 +
- drivers/media/video/cx231xx/cx231xx.mod.c                 |   35 
- drivers/media/video/cx2341x.c                             |  755 ++-
- drivers/media/video/cx2341x.mod.c                         |   19 
- drivers/media/video/cx23885/Kconfig                       |    2 
- drivers/media/video/cx23885/Makefile                      |    5 
- drivers/media/video/cx23885/cimax2.c                      |   24 
- drivers/media/video/cx23885/cx23885-417.c                 |   13 
- drivers/media/video/cx23885/cx23885-av.c                  |   35 
- drivers/media/video/cx23885/cx23885-av.h                  |   27 
- drivers/media/video/cx23885/cx23885-cards.c               |  189 
- drivers/media/video/cx23885/cx23885-core.c                |  137 
- drivers/media/video/cx23885/cx23885-dvb.c                 |    9 
- drivers/media/video/cx23885/cx23885-i2c.c                 |   47 
- drivers/media/video/cx23885/cx23885-input.c               |  367 -
- drivers/media/video/cx23885/cx23885-ir.c                  |   26 
- drivers/media/video/cx23885/cx23885-reg.h                 |    1 
- drivers/media/video/cx23885/cx23885-vbi.c                 |    2 
- drivers/media/video/cx23885/cx23885-video.c               |   70 
- drivers/media/video/cx23885/cx23885.h                     |   21 
- drivers/media/video/cx23885/cx23885.mod.c                 |   25 
- drivers/media/video/cx23885/cx23888-ir.c                  |  145 
- drivers/media/video/cx25840/Makefile                      |    2 
- drivers/media/video/cx25840/cx25840-audio.c               |  202 
- drivers/media/video/cx25840/cx25840-core.c                |  583 +-
- drivers/media/video/cx25840/cx25840-core.h                |   52 
- drivers/media/video/cx25840/cx25840-ir.c                  | 1280 +++++
- drivers/media/video/cx25840/cx25840.mod.c                 |   24 
- drivers/media/video/cx88/Kconfig                          |    5 
- drivers/media/video/cx88/cx88-alsa.c                      |   55 
- drivers/media/video/cx88/cx88-alsa.mod.c                  |   25 
- drivers/media/video/cx88/cx88-blackbird.c                 |   19 
- drivers/media/video/cx88/cx88-blackbird.mod.c             |   23 
- drivers/media/video/cx88/cx88-cards.c                     |   61 
- drivers/media/video/cx88/cx88-core.c                      |   32 
- drivers/media/video/cx88/cx88-dsp.c                       |   11 
- drivers/media/video/cx88/cx88-dvb.c                       |  189 
- drivers/media/video/cx88/cx88-dvb.mod.c                   |   23 
- drivers/media/video/cx88/cx88-i2c.c                       |   39 
- drivers/media/video/cx88/cx88-input.c                     |  335 -
- drivers/media/video/cx88/cx88-mpeg.c                      |   14 
- drivers/media/video/cx88/cx88-tvaudio.c                   |   43 
- drivers/media/video/cx88/cx88-vbi.c                       |    2 
- drivers/media/video/cx88/cx88-video.c                     |   75 
- drivers/media/video/cx88/cx88-vp3054-i2c.c                |    3 
- drivers/media/video/cx88/cx88-vp3054-i2c.mod.c            |   19 
- drivers/media/video/cx88/cx88.h                           |   67 
- drivers/media/video/cx88/cx8800.mod.c                     |   24 
- drivers/media/video/cx88/cx8802.mod.c                     |   24 
- drivers/media/video/cx88/cx88xx.mod.c                     |   19 
- drivers/media/video/dabusb.mod.c                          |   24 
- drivers/media/video/davinci/Kconfig                       |   93 
- drivers/media/video/davinci/vpfe_capture.c                |   41 
- drivers/media/video/davinci/vpif.c                        |  177 
- drivers/media/video/davinci/vpif.h                        |   18 
- drivers/media/video/davinci/vpif_capture.c                |  466 +
- drivers/media/video/davinci/vpif_capture.h                |    2 
- drivers/media/video/davinci/vpif_display.c                |  488 +-
- drivers/media/video/davinci/vpif_display.h                |    2 
- drivers/media/video/em28xx/Kconfig                        |    5 
- drivers/media/video/em28xx/em28xx-alsa.mod.c              |   23 
- drivers/media/video/em28xx/em28xx-audio.c                 |   75 
- drivers/media/video/em28xx/em28xx-cards.c                 |  186 
- drivers/media/video/em28xx/em28xx-cards.c.orig            | 3195 +++++++++++++
- drivers/media/video/em28xx/em28xx-dvb.c                   |   49 
- drivers/media/video/em28xx/em28xx-dvb.mod.c               |   23 
- drivers/media/video/em28xx/em28xx-input.c                 |  156 
- drivers/media/video/em28xx/em28xx-vbi.c                   |    1 
- drivers/media/video/em28xx/em28xx-video.c                 |  133 
- drivers/media/video/em28xx/em28xx.h                       |   22 
- drivers/media/video/em28xx/em28xx.mod.c                   |   82 
- drivers/media/video/et61x251/et61x251.h                   |   24 
- drivers/media/video/et61x251/et61x251_core.c              |    3 
- drivers/media/video/fsl-viu.c                             | 1659 ++++++
- drivers/media/video/gspca/Kconfig                         |   36 
- drivers/media/video/gspca/Makefile                        |    8 
- drivers/media/video/gspca/benq.c                          |   25 
- drivers/media/video/gspca/conex.c                         |   26 
- drivers/media/video/gspca/cpia1.c                         |  166 
- drivers/media/video/gspca/etoms.c                         |   16 
- drivers/media/video/gspca/finepix.c                       |   17 
- drivers/media/video/gspca/gl860/gl860-mi2020.c            |  731 +--
- drivers/media/video/gspca/gl860/gl860-ov9655.c            |    4 
- drivers/media/video/gspca/gl860/gl860.c                   |   50 
- drivers/media/video/gspca/gl860/gl860.h                   |   13 
- drivers/media/video/gspca/gl860/gspca_gl860.mod.c         |   25 
- drivers/media/video/gspca/gspca.c                         |  764 +--
- drivers/media/video/gspca/gspca.h                         |   40 
- drivers/media/video/gspca/gspca_benq.mod.c                |   24 
- drivers/media/video/gspca/gspca_conex.mod.c               |   24 
- drivers/media/video/gspca/gspca_cpia1.mod.c               |   25 
- drivers/media/video/gspca/gspca_etoms.mod.c               |   25 
- drivers/media/video/gspca/gspca_finepix.mod.c             |   46 
- drivers/media/video/gspca/gspca_jeilinj.mod.c             |   24 
- drivers/media/video/gspca/gspca_konica.mod.c              |   24 
- drivers/media/video/gspca/gspca_main.mod.c                |   23 
- drivers/media/video/gspca/gspca_mars.mod.c                |   24 
- drivers/media/video/gspca/gspca_mr97310a.mod.c            |   27 
- drivers/media/video/gspca/gspca_ov519.mod.c               |   48 
- drivers/media/video/gspca/gspca_ov534.mod.c               |   24 
- drivers/media/video/gspca/gspca_ov534_9.mod.c             |   24 
- drivers/media/video/gspca/gspca_pac207.mod.c              |   36 
- drivers/media/video/gspca/gspca_pac7302.mod.c             |   34 
- drivers/media/video/gspca/gspca_pac7311.mod.c             |   29 
- drivers/media/video/gspca/gspca_sn9c2028.mod.c            |   28 
- drivers/media/video/gspca/gspca_sn9c20x.mod.c             |   59 
- drivers/media/video/gspca/gspca_sonixb.mod.c              |   40 
- drivers/media/video/gspca/gspca_sonixj.mod.c              |   61 
- drivers/media/video/gspca/gspca_spca500.mod.c             |   38 
- drivers/media/video/gspca/gspca_spca501.mod.c             |   29 
- drivers/media/video/gspca/gspca_spca505.mod.c             |   25 
- drivers/media/video/gspca/gspca_spca506.mod.c             |   26 
- drivers/media/video/gspca/gspca_spca508.mod.c             |   29 
- drivers/media/video/gspca/gspca_spca561.mod.c             |   39 
- drivers/media/video/gspca/gspca_sq905.mod.c               |   24 
- drivers/media/video/gspca/gspca_sq905c.mod.c              |   27 
- drivers/media/video/gspca/gspca_stk014.mod.c              |   24 
- drivers/media/video/gspca/gspca_stv0680.mod.c             |   25 
- drivers/media/video/gspca/gspca_sunplus.mod.c             |   82 
- drivers/media/video/gspca/gspca_t613.mod.c                |   24 
- drivers/media/video/gspca/gspca_tv8532.mod.c              |   28 
- drivers/media/video/gspca/gspca_vc032x.mod.c              |   36 
- drivers/media/video/gspca/gspca_xirlink_cit.mod.c         |   30 
- drivers/media/video/gspca/gspca_zc3xx.mod.c               |   76 
- drivers/media/video/gspca/jeilinj.c                       |   23 
- drivers/media/video/gspca/jpeg.h                          |    4 
- drivers/media/video/gspca/konica.c                        |  646 ++
- drivers/media/video/gspca/m5602/gspca_m5602.mod.c         |   24 
- drivers/media/video/gspca/m5602/m5602_bridge.h            |    1 
- drivers/media/video/gspca/m5602/m5602_core.c              |   25 
- drivers/media/video/gspca/m5602/m5602_mt9m111.c           |   48 
- drivers/media/video/gspca/m5602/m5602_mt9m111.h           |   14 
- drivers/media/video/gspca/m5602/m5602_ov7660.c            |   70 
- drivers/media/video/gspca/m5602/m5602_ov7660.h            |    9 
- drivers/media/video/gspca/m5602/m5602_ov9650.c            |  104 
- drivers/media/video/gspca/m5602/m5602_ov9650.h            |   12 
- drivers/media/video/gspca/m5602/m5602_po1030.c            |  136 
- drivers/media/video/gspca/m5602/m5602_po1030.h            |   13 
- drivers/media/video/gspca/m5602/m5602_s5k4aa.c            |   28 
- drivers/media/video/gspca/m5602/m5602_s5k4aa.h            |   14 
- drivers/media/video/gspca/m5602/m5602_s5k83a.c            |    1 
- drivers/media/video/gspca/m5602/m5602_s5k83a.h            |   12 
- drivers/media/video/gspca/mars.c                          |  340 -
- drivers/media/video/gspca/mr97310a.c                      |   58 
- drivers/media/video/gspca/ov519.c                         | 2052 ++++----
- drivers/media/video/gspca/ov534.c                         |   69 
- drivers/media/video/gspca/ov534_9.c                       |   22 
- drivers/media/video/gspca/pac207.c                        |   32 
- drivers/media/video/gspca/pac7302.c                       |   69 
- drivers/media/video/gspca/pac7311.c                       |   67 
- drivers/media/video/gspca/sn9c2028.c                      |   21 
- drivers/media/video/gspca/sn9c20x.c                       |  226 
- drivers/media/video/gspca/sonixb.c                        |  527 +-
- drivers/media/video/gspca/sonixj.c                        | 1450 ++----
- drivers/media/video/gspca/spca1528.c                      |  598 ++
- drivers/media/video/gspca/spca500.c                       |   29 
- drivers/media/video/gspca/spca501.c                       |   18 
- drivers/media/video/gspca/spca505.c                       |   20 
- drivers/media/video/gspca/spca508.c                       |   18 
- drivers/media/video/gspca/spca561.c                       |   20 
- drivers/media/video/gspca/sq905.c                         |   23 
- drivers/media/video/gspca/sq905c.c                        |   18 
- drivers/media/video/gspca/sq930x.c                        | 1208 +++++
- drivers/media/video/gspca/stk014.c                        |  191 
- drivers/media/video/gspca/stv0680.c                       |   19 
- drivers/media/video/gspca/stv06xx/gspca_stv06xx.mod.c     |   29 
- drivers/media/video/gspca/stv06xx/stv06xx.c               |   73 
- drivers/media/video/gspca/stv06xx/stv06xx.h               |    3 
- drivers/media/video/gspca/stv06xx/stv06xx_hdcs.c          |   19 
- drivers/media/video/gspca/stv06xx/stv06xx_hdcs.h          |   13 
- drivers/media/video/gspca/stv06xx/stv06xx_pb0100.c        |   18 
- drivers/media/video/gspca/stv06xx/stv06xx_pb0100.h        |    3 
- drivers/media/video/gspca/stv06xx/stv06xx_sensor.h        |    4 
- drivers/media/video/gspca/stv06xx/stv06xx_st6422.c        |  291 -
- drivers/media/video/gspca/stv06xx/stv06xx_st6422.h        |   13 
- drivers/media/video/gspca/stv06xx/stv06xx_vv6410.c        |    2 
- drivers/media/video/gspca/stv06xx/stv06xx_vv6410.h        |   13 
- drivers/media/video/gspca/sunplus.c                       |   46 
- drivers/media/video/gspca/t613.c                          |  426 -
- drivers/media/video/gspca/tv8532.c                        |  239 -
- drivers/media/video/gspca/vc032x.c                        |  665 +-
- drivers/media/video/gspca/w996Xcf.c                       |  349 -
- drivers/media/video/gspca/xirlink_cit.c                   | 3337 ++++++++++++++
- drivers/media/video/gspca/zc3xx.c                         | 2390 ++++------
- drivers/media/video/hdpvr/Makefile                        |    4 
- drivers/media/video/hdpvr/hdpvr-control.c                 |    5 
- drivers/media/video/hdpvr/hdpvr-core.c                    |   52 
- drivers/media/video/hdpvr/hdpvr-i2c.c                     |  131 
- drivers/media/video/hdpvr/hdpvr-video.c                   |   15 
- drivers/media/video/hdpvr/hdpvr.h                         |   18 
- drivers/media/video/hdpvr/hdpvr.mod.c                     |   28 
- drivers/media/video/hexium_gemini.c                       |   19 
- drivers/media/video/hexium_gemini.mod.c                   |   25 
- drivers/media/video/hexium_orion.c                        |   19 
- drivers/media/video/hexium_orion.mod.c                    |   26 
- drivers/media/video/imx074.c                              |  505 ++
- drivers/media/video/indycam.c                             |   27 
- drivers/media/video/ir-kbd-i2c.c                          |  153 
- drivers/media/video/ir-kbd-i2c.mod.c                      |   23 
- drivers/media/video/ivtv/Kconfig                          |    3 
- drivers/media/video/ivtv/ivtv-cards.c                     |    7 
- drivers/media/video/ivtv/ivtv-cards.h                     |    4 
- drivers/media/video/ivtv/ivtv-controls.c                  |  276 -
- drivers/media/video/ivtv/ivtv-controls.h                  |    6 
- drivers/media/video/ivtv/ivtv-driver.c                    |   68 
- drivers/media/video/ivtv/ivtv-driver.c.orig               | 1474 ++++++
- drivers/media/video/ivtv/ivtv-driver.h                    |   22 
- drivers/media/video/ivtv/ivtv-fileops.c                   |   57 
- drivers/media/video/ivtv/ivtv-firmware.c                  |  128 
- drivers/media/video/ivtv/ivtv-firmware.h                  |    1 
- drivers/media/video/ivtv/ivtv-gpio.c                      |   77 
- drivers/media/video/ivtv/ivtv-i2c.c                       |  110 
- drivers/media/video/ivtv/ivtv-ioctl.c                     |   32 
- drivers/media/video/ivtv/ivtv-mailbox.c                   |    8 
- drivers/media/video/ivtv/ivtv-mailbox.h                   |    1 
- drivers/media/video/ivtv/ivtv-streams.c                   |   35 
- drivers/media/video/ivtv/ivtv-vbi.c                       |  113 
- drivers/media/video/ivtv/ivtv-vbi.h                       |    5 
- drivers/media/video/ivtv/ivtv-version.h                   |    2 
- drivers/media/video/ivtv/ivtv.mod.c                       |   25 
- drivers/media/video/ivtv/ivtvfb.c                         |   47 
- drivers/media/video/ivtv/ivtvfb.mod.c                     |   23 
- drivers/media/video/ks0127.c                              |   27 
- drivers/media/video/ks0127.mod.c                          |   26 
- drivers/media/video/m52790.c                              |   28 
- drivers/media/video/m52790.mod.c                          |   24 
- drivers/media/video/mem2mem_testdev.c                     |  243 -
- drivers/media/video/meye.c                                |   14 
- drivers/media/video/meye.mod.c                            |   24 
- drivers/media/video/msp3400-driver.c                      |  284 -
- drivers/media/video/msp3400-driver.h                      |   18 
- drivers/media/video/msp3400-kthreads.c                    |   16 
- drivers/media/video/msp3400.mod.c                         |   24 
- drivers/media/video/mt9m001.c                             |   27 
- drivers/media/video/mt9m001.mod.c                         |   24 
- drivers/media/video/mt9m111.c                             |  103 
- drivers/media/video/mt9m111.mod.c                         |   24 
- drivers/media/video/mt9t031.c                             |   25 
- drivers/media/video/mt9t031.mod.c                         |   24 
- drivers/media/video/mt9t112.c                             |   26 
- drivers/media/video/mt9t112.mod.c                         |   24 
- drivers/media/video/mt9v011.c                             |   81 
- drivers/media/video/mt9v011.mod.c                         |   24 
- drivers/media/video/mt9v022.c                             |   30 
- drivers/media/video/mt9v022.mod.c                         |   24 
- drivers/media/video/mx1_camera.c                          |   17 
- drivers/media/video/mx2_camera.c                          | 1525 ++++++
- drivers/media/video/mx3_camera.c                          |   18 
- drivers/media/video/mxb.c                                 |   27 
- drivers/media/video/mxb.mod.c                             |   24 
- drivers/media/video/noon010pc30.c                         |  792 +++
- drivers/media/video/omap/omap_vout.c                      |   11 
- drivers/media/video/omap1_camera.c                        | 1702 +++++++
- drivers/media/video/omap24xxcam.c                         |   12 
- drivers/media/video/ov2640.c                              | 1205 +++++
- drivers/media/video/ov6650.c                              | 1221 +++++
- drivers/media/video/ov7670.c                              |  228 
- drivers/media/video/ov7670.h                              |   20 
- drivers/media/video/ov772x.c                              |   37 
- drivers/media/video/ov772x.mod.c                          |   24 
- drivers/media/video/ov9640.c                              |   41 
- drivers/media/video/ov9640.mod.c                          |   24 
- drivers/media/video/pms.c                                 |    2 
- drivers/media/video/pvrusb2/pvrusb2-ctrl.c                |   12 
- drivers/media/video/pvrusb2/pvrusb2-debugifc.c            |   14 
- drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h        |    4 
- drivers/media/video/pvrusb2/pvrusb2-hdw.c                 |   13 
- drivers/media/video/pvrusb2/pvrusb2-i2c-core.c            |   62 
- drivers/media/video/pvrusb2/pvrusb2-ioread.c              |    5 
- drivers/media/video/pvrusb2/pvrusb2-sysfs.c               |    2 
- drivers/media/video/pvrusb2/pvrusb2-v4l2.c                |    4 
- drivers/media/video/pvrusb2/pvrusb2.mod.c                 |   33 
- drivers/media/video/pwc/Kconfig                           |    2 
- drivers/media/video/pwc/pwc-ctrl.c                        |   27 
- drivers/media/video/pwc/pwc-if.c                          |  104 
- drivers/media/video/pwc/pwc-misc.c                        |    4 
- drivers/media/video/pwc/pwc-uncompress.c                  |    2 
- drivers/media/video/pwc/pwc-v4l.c                         |  348 -
- drivers/media/video/pwc/pwc.h                             |    7 
- drivers/media/video/pwc/pwc.mod.c                         |   53 
- drivers/media/video/pxa_camera.c                          |   22 
- drivers/media/video/rj54n1cb0c.c                          |   37 
- drivers/media/video/rj54n1cb0c.mod.c                      |   24 
- drivers/media/video/s2255drv.c                            |  762 +--
- drivers/media/video/s2255drv.mod.c                        |   25 
- drivers/media/video/s5p-fimc/Makefile                     |    3 
- drivers/media/video/s5p-fimc/fimc-capture.c               |  942 +++
- drivers/media/video/s5p-fimc/fimc-core.c                  | 1912 ++++++++
- drivers/media/video/s5p-fimc/fimc-core.h                  |  688 ++
- drivers/media/video/s5p-fimc/fimc-reg.c                   |  683 ++
- drivers/media/video/s5p-fimc/regs-fimc.h                  |  297 +
- drivers/media/video/saa5246a.mod.c                        |   24 
- drivers/media/video/saa5249.mod.c                         |   24 
- drivers/media/video/saa6588.c                             |   43 
- drivers/media/video/saa6588.mod.c                         |   24 
- drivers/media/video/saa7110.c                             |  142 
- drivers/media/video/saa7110.mod.c                         |   24 
- drivers/media/video/saa7115.c                             |  225 
- drivers/media/video/saa7115.mod.c                         |   29 
- drivers/media/video/saa7127.c                             |   27 
- drivers/media/video/saa7127.mod.c                         |   28 
- drivers/media/video/saa7134/Kconfig                       |   11 
- drivers/media/video/saa7134/Makefile                      |    7 
- drivers/media/video/saa7134/saa6752hs.c                   |   27 
- drivers/media/video/saa7134/saa6752hs.mod.c               |   24 
- drivers/media/video/saa7134/saa7134-alsa.c                |   14 
- drivers/media/video/saa7134/saa7134-alsa.mod.c            |   23 
- drivers/media/video/saa7134/saa7134-cards.c               |  170 
- drivers/media/video/saa7134/saa7134-core.c                |   19 
- drivers/media/video/saa7134/saa7134-dvb.c                 |   86 
- drivers/media/video/saa7134/saa7134-dvb.mod.c             |   23 
- drivers/media/video/saa7134/saa7134-empress.c             |    5 
- drivers/media/video/saa7134/saa7134-empress.mod.c         |   23 
- drivers/media/video/saa7134/saa7134-i2c.c                 |    1 
- drivers/media/video/saa7134/saa7134-input.c               |  446 -
- drivers/media/video/saa7134/saa7134-tvaudio.c             |   12 
- drivers/media/video/saa7134/saa7134-video.c               |   42 
- drivers/media/video/saa7134/saa7134.h                     |   43 
- drivers/media/video/saa7134/saa7134.mod.c                 |  224 
- drivers/media/video/saa7164/Makefile                      |    2 
- drivers/media/video/saa7164/saa7164-api.c                 | 1010 ++++
- drivers/media/video/saa7164/saa7164-buffer.c              |  273 -
- drivers/media/video/saa7164/saa7164-bus.c                 |  137 
- drivers/media/video/saa7164/saa7164-cards.c               |   35 
- drivers/media/video/saa7164/saa7164-cmd.c                 |   39 
- drivers/media/video/saa7164/saa7164-core.c                |  902 +++
- drivers/media/video/saa7164/saa7164-dvb.c                 |  109 
- drivers/media/video/saa7164/saa7164-encoder.c             | 1510 ++++++
- drivers/media/video/saa7164/saa7164-fw.c                  |   23 
- drivers/media/video/saa7164/saa7164-i2c.c                 |    6 
- drivers/media/video/saa7164/saa7164-reg.h                 |   57 
- drivers/media/video/saa7164/saa7164-types.h               |  255 -
- drivers/media/video/saa7164/saa7164-vbi.c                 | 1384 +++++
- drivers/media/video/saa7164/saa7164.h                     |  293 +
- drivers/media/video/saa7164/saa7164.mod.c                 |   24 
- drivers/media/video/saa717x.c                             |  350 -
- drivers/media/video/saa717x.mod.c                         |   24 
- drivers/media/video/saa7185.c                             |   28 
- drivers/media/video/saa7185.mod.c                         |   24 
- drivers/media/video/saa7191.c                             |   27 
- drivers/media/video/se401.mod.c                           |   28 
- drivers/media/video/sh_mobile_ceu_camera.c                |  179 
- drivers/media/video/sh_mobile_csi2.c                      |  354 +
- drivers/media/video/sh_vou.c                              |   83 
- drivers/media/video/sn9c102/sn9c102_core.c                |    3 
- drivers/media/video/sn9c102/sn9c102_devtable.h            |   74 
- drivers/media/video/sn9c102/sn9c102_pas202bcb.c           |    1 
- drivers/media/video/soc_camera.c                          |  323 -
- drivers/media/video/soc_camera.mod.c                      |   23 
- drivers/media/video/soc_camera_platform.c                 |   42 
- drivers/media/video/soc_camera_platform.mod.c             |   23 
- drivers/media/video/soc_mediabus.c                        |    8 
- drivers/media/video/soc_mediabus.mod.c                    |   23 
- drivers/media/video/sr030pc30.c                           |  884 +++
- drivers/media/video/stk-webcam.c                          |  152 
- drivers/media/video/stkwebcam.mod.c                       |   25 
- drivers/media/video/stradis.mod.c                         |   23 
- drivers/media/video/tda7432.c                             |   27 
- drivers/media/video/tda7432.mod.c                         |   24 
- drivers/media/video/tda9840.c                             |   27 
- drivers/media/video/tda9840.mod.c                         |   24 
- drivers/media/video/tea6415c.c                            |   29 
- drivers/media/video/tea6415c.mod.c                        |   24 
- drivers/media/video/tea6420.c                             |   27 
- drivers/media/video/tea6420.mod.c                         |   24 
- drivers/media/video/timblogiw.c                           |  893 +++
- drivers/media/video/tlg2300/Kconfig                       |    4 
- drivers/media/video/tlg2300/pd-main.c                     |   19 
- drivers/media/video/tlg2300/pd-video.c                    |   17 
- drivers/media/video/tlv320aic23b.c                        |  100 
- drivers/media/video/tuner-core.c                          |   40 
- drivers/media/video/tuner.mod.c                           |   24 
- drivers/media/video/tvaudio.c                             |   40 
- drivers/media/video/tvaudio.mod.c                         |   24 
- drivers/media/video/tveeprom.mod.c                        |   19 
- drivers/media/video/tvp514x.c                             |  303 -
- drivers/media/video/tvp5150.c                             |  188 
- drivers/media/video/tvp5150.mod.c                         |   24 
- drivers/media/video/tvp7002.c                             |  253 -
- drivers/media/video/tw9910.c                              |   28 
- drivers/media/video/tw9910.mod.c                          |   24 
- drivers/media/video/upd64031a.c                           |   27 
- drivers/media/video/upd64031a.mod.c                       |   24 
- drivers/media/video/upd64083.c                            |   27 
- drivers/media/video/upd64083.mod.c                        |   24 
- drivers/media/video/usbvideo/ibmcam.mod.c                 |   29 
- drivers/media/video/usbvideo/konicawc.mod.c               |   24 
- drivers/media/video/usbvideo/ultracam.mod.c               |   24 
- drivers/media/video/usbvideo/usbvideo.mod.c               |   19 
- drivers/media/video/usbvideo/vicam.mod.c                  |   25 
- drivers/media/video/usbvision/usbvision-cards.c           | 1860 +++----
- drivers/media/video/usbvision/usbvision-core.c            | 1641 +++---
- drivers/media/video/usbvision/usbvision-i2c.c             |   70 
- drivers/media/video/usbvision/usbvision-video.c           |  632 +-
- drivers/media/video/usbvision/usbvision.h                 |  268 -
- drivers/media/video/usbvision/usbvision.mod.c             |   88 
- drivers/media/video/uvc/uvc_ctrl.c                        |  769 ++-
- drivers/media/video/uvc/uvc_driver.c                      |   65 
- drivers/media/video/uvc/uvc_isight.c                      |    2 
- drivers/media/video/uvc/uvc_queue.c                       |  157 
- drivers/media/video/uvc/uvc_status.c                      |    4 
- drivers/media/video/uvc/uvc_v4l2.c                        |  317 -
- drivers/media/video/uvc/uvc_video.c                       |   74 
- drivers/media/video/uvc/uvcvideo.h                        |   93 
- drivers/media/video/uvc/uvcvideo.mod.c                    |   60 
- drivers/media/video/v4l1-compat.mod.c                     |   19 
- drivers/media/video/v4l2-common.c                         |  542 --
- drivers/media/video/v4l2-common.mod.c                     |   19 
- drivers/media/video/v4l2-compat-ioctl32.c                 |  573 --
- drivers/media/video/v4l2-compat-ioctl32.mod.c             |   19 
- drivers/media/video/v4l2-ctrls.c                          | 1873 +++++++
- drivers/media/video/v4l2-dev.c                            |  208 
- drivers/media/video/v4l2-device.c                         |   20 
- drivers/media/video/v4l2-event.c                          |    9 
- drivers/media/video/v4l2-int-device.mod.c                 |   19 
- drivers/media/video/v4l2-ioctl.c                          |  607 +-
- drivers/media/video/v4l2-mem2mem.c                        |  230 
- drivers/media/video/via-camera.c                          | 1461 ++++++
- drivers/media/video/via-camera.h                          |   93 
- drivers/media/video/videobuf-core.c                       |  229 
- drivers/media/video/videobuf-core.mod.c                   |   19 
- drivers/media/video/videobuf-dma-contig.c                 |   27 
- drivers/media/video/videobuf-dma-sg.c                     |  128 
- drivers/media/video/videobuf-dma-sg.mod.c                 |   19 
- drivers/media/video/videobuf-dvb.c                        |    2 
- drivers/media/video/videobuf-dvb.mod.c                    |   19 
- drivers/media/video/videobuf-vmalloc.c                    |   45 
- drivers/media/video/videobuf-vmalloc.mod.c                |   19 
- drivers/media/video/videobuf2-core.c                      | 1804 +++++++
- drivers/media/video/videobuf2-dma-contig.c                |  185 
- drivers/media/video/videobuf2-dma-sg.c                    |  292 +
- drivers/media/video/videobuf2-memops.c                    |  232 
- drivers/media/video/videobuf2-vmalloc.c                   |  132 
- drivers/media/video/videodev.mod.c                        |   23 
- drivers/media/video/vino.c                                |    7 
- drivers/media/video/vivi.c                                |  610 +-
- drivers/media/video/vp27smpx.c                            |   28 
- drivers/media/video/vp27smpx.mod.c                        |   24 
- drivers/media/video/vpx3220.c                             |  164 
- drivers/media/video/vpx3220.mod.c                         |   26 
- drivers/media/video/w9966.c                               |    3 
- drivers/media/video/w9966.mod.c                           |   23 
- drivers/media/video/wm8739.c                              |  206 
- drivers/media/video/wm8739.mod.c                          |   24 
- drivers/media/video/wm8775.c                              |  107 
- drivers/media/video/wm8775.mod.c                          |   24 
- drivers/media/video/zoran/videocodec.c                    |    5 
- drivers/media/video/zoran/videocodec.h                    |    2 
- drivers/media/video/zoran/videocodec.mod.c                |   23 
- drivers/media/video/zoran/zoran.h                         |  112 
- drivers/media/video/zoran/zoran_card.c                    |   29 
- drivers/media/video/zoran/zoran_device.c                  |   16 
- drivers/media/video/zoran/zoran_driver.c                  |  359 -
- drivers/media/video/zoran/zr36016.mod.c                   |   23 
- drivers/media/video/zoran/zr36050.c                       |    2 
- drivers/media/video/zoran/zr36050.mod.c                   |   23 
- drivers/media/video/zoran/zr36060.c                       |    2 
- drivers/media/video/zoran/zr36060.mod.c                   |   23 
- drivers/media/video/zoran/zr36067.mod.c                   |   28 
- drivers/media/video/zr364xx.c                             |    4 
- drivers/media/video/zr364xx.mod.c                         |   44 
- drivers/staging/cx25821/Kconfig                           |    5 
- drivers/staging/cx25821/Makefile                          |   19 
- drivers/staging/cx25821/cx25821-alsa.c                    |  110 
- drivers/staging/cx25821/cx25821-audio-upstream.c          |   89 
- drivers/staging/cx25821/cx25821-audio-upstream.h          |    4 
- drivers/staging/cx25821/cx25821-audio.h                   |   20 
- drivers/staging/cx25821/cx25821-cards.c                   |    2 
- drivers/staging/cx25821/cx25821-core.c                    |  294 -
- drivers/staging/cx25821/cx25821-i2c.c                     |   22 
- drivers/staging/cx25821/cx25821-medusa-defines.h          |   15 
- drivers/staging/cx25821/cx25821-medusa-reg.h              |   42 
- drivers/staging/cx25821/cx25821-medusa-video.c            |   25 
- drivers/staging/cx25821/cx25821-medusa-video.h            |    4 
- drivers/staging/cx25821/cx25821-reg.h                     | 1844 +++----
- drivers/staging/cx25821/cx25821-sram.h                    |   50 
- drivers/staging/cx25821/cx25821-video-upstream-ch2.c      |  187 
- drivers/staging/cx25821/cx25821-video-upstream-ch2.h      |   16 
- drivers/staging/cx25821/cx25821-video-upstream.c          |   80 
- drivers/staging/cx25821/cx25821-video-upstream.h          |   12 
- drivers/staging/cx25821/cx25821-video.c                   |  953 +++
- drivers/staging/cx25821/cx25821-video.h                   |   37 
- drivers/staging/cx25821/cx25821.h                         |   71 
- drivers/staging/go7007/Kconfig                            |    5 
- drivers/staging/go7007/Makefile                           |   10 
- drivers/staging/go7007/go7007-driver.c                    |   55 
- drivers/staging/go7007/go7007-usb.c                       |    2 
- drivers/staging/go7007/go7007-v4l2.c                      |   19 
- drivers/staging/go7007/s2250-board.c                      |   34 
- drivers/staging/go7007/wis-ov7640.c                       |    1 
- drivers/staging/go7007/wis-saa7113.c                      |    1 
- drivers/staging/go7007/wis-saa7115.c                      |    1 
- drivers/staging/go7007/wis-sony-tuner.c                   |    1 
- drivers/staging/go7007/wis-tw2804.c                       |    1 
- drivers/staging/go7007/wis-tw9903.c                       |    1 
- drivers/staging/go7007/wis-uda1342.c                      |    1 
- drivers/staging/lirc/Kconfig                              |   90 
- drivers/staging/lirc/Makefile                             |   16 
- drivers/staging/lirc/lirc_bt829.c                         |  383 +
- drivers/staging/lirc/lirc_bt829.mod.c                     |   25 
- drivers/staging/lirc/lirc_ene0100.h                       |  169 
- drivers/staging/lirc/lirc_ene0100.mod.c                   |   27 
- drivers/staging/lirc/lirc_i2c.mod.c                       |   25 
- drivers/staging/lirc/lirc_igorplugusb.c                   |  577 ++
- drivers/staging/lirc/lirc_igorplugusb.mod.c               |   27 
- drivers/staging/lirc/lirc_imon.c                          | 1058 ++++
- drivers/staging/lirc/lirc_imon.mod.c                      |   29 
- drivers/staging/lirc/lirc_it87.c                          | 1027 ++++
- drivers/staging/lirc/lirc_it87.h                          |  116 
- drivers/staging/lirc/lirc_it87.mod.c                      |   29 
- drivers/staging/lirc/lirc_ite8709.c                       |  542 ++
- drivers/staging/lirc/lirc_ite8709.mod.c                   |   27 
- drivers/staging/lirc/lirc_parallel.c                      |  690 ++
- drivers/staging/lirc/lirc_parallel.h                      |   26 
- drivers/staging/lirc/lirc_parallel.mod.c                  |   25 
- drivers/staging/lirc/lirc_sasem.c                         |  938 +++
- drivers/staging/lirc/lirc_sasem.mod.c                     |   25 
- drivers/staging/lirc/lirc_serial.c                        | 1317 +++++
- drivers/staging/lirc/lirc_serial.mod.c                    |   25 
- drivers/staging/lirc/lirc_sir.c                           | 1286 +++++
- drivers/staging/lirc/lirc_sir.mod.c                       |   25 
- drivers/staging/lirc/lirc_streamzap.mod.c                 |   26 
- drivers/staging/lirc/lirc_ttusbir.c                       |  396 +
- drivers/staging/lirc/lirc_ttusbir.mod.c                   |   26 
- drivers/staging/lirc/lirc_zilog.c                         | 1460 ++++++
- drivers/staging/lirc/lirc_zilog.mod.c                     |   25 
- drivers/staging/tm6000/Kconfig                            |    6 
- drivers/staging/tm6000/Makefile                           |   18 
- drivers/staging/tm6000/tm6000-alsa.c                      |  338 -
- drivers/staging/tm6000/tm6000-cards.c                     |  147 
- drivers/staging/tm6000/tm6000-core.c                      |  352 -
- drivers/staging/tm6000/tm6000-dvb.c                       |  205 
- drivers/staging/tm6000/tm6000-i2c.c                       |   96 
- drivers/staging/tm6000/tm6000-input.c                     |  458 +
- drivers/staging/tm6000/tm6000-regs.h                      |   32 
- drivers/staging/tm6000/tm6000-stds.c                      |  386 +
- drivers/staging/tm6000/tm6000-usb-isoc.h                  |   37 
- drivers/staging/tm6000/tm6000-video.c                     |  809 +--
- drivers/staging/tm6000/tm6000.h                           |  145 
- firmware/ihex2fw.c                                        |   17 
- include/linux/dvb/frontend.h                              |    1 
- include/linux/dvb/version.h                               |    2 
- include/linux/i2c-id.h                                    |   22 
- include/linux/mmc/sdio_ids.h                              |    1 
- include/linux/usb/video.h                                 |  404 +
- include/linux/videodev2.h                                 |  144 
- include/media/bt819.h                                     |    5 
- include/media/cx2341x.h                                   |   99 
- include/media/cx25840.h                                   |   87 
- include/media/ir-kbd-i2c.h                                |   19 
- include/media/lirc.h                                      |  168 
- include/media/lirc_dev.h                                  |  225 
- include/media/mt9v011.h                                   |   17 
- include/media/noon010pc30.h                               |   28 
- include/media/omap1_camera.h                              |   35 
- include/media/rc-core.h                                   |  223 
- include/media/rc-map.h                                    |   63 
- include/media/s5p_fimc.h                                  |   60 
- include/media/saa6588.h                                   |   42 
- include/media/saa7146.h                                   |    4 
- include/media/sh_mobile_ceu.h                             |    3 
- include/media/sh_mobile_csi2.h                            |   46 
- include/media/sh_vou.h                                    |    1 
- include/media/si4713.h                                    |    3 
- include/media/soc_camera.h                                |   17 
- include/media/sr030pc30.h                                 |   21 
- include/media/timb_radio.h                                |    1 
- include/media/timb_video.h                                |   33 
- include/media/v4l2-chip-ident.h                           |   12 
- include/media/v4l2-common.h                               |   39 
- include/media/v4l2-ctrls.h                                |  463 +
- include/media/v4l2-dev.h                                  |   12 
- include/media/v4l2-device.h                               |   63 
- include/media/v4l2-ioctl.h                                |   38 
- include/media/v4l2-mediabus.h                             |   21 
- include/media/v4l2-mem2mem.h                              |   56 
- include/media/v4l2-subdev.h                               |   99 
- include/media/videobuf-core.h                             |   33 
- include/media/videobuf-dma-contig.h                       |    3 
- include/media/videobuf-dma-sg.h                           |   43 
- include/media/videobuf-vmalloc.h                          |    5 
- include/media/videobuf2-core.h                            |  380 +
- include/media/videobuf2-dma-contig.h                      |   29 
- include/media/videobuf2-dma-sg.h                          |   32 
- include/media/videobuf2-memops.h                          |   45 
- include/media/videobuf2-vmalloc.h                         |   20 
- 1257 files changed, 135486 insertions(+), 29392 deletions(-)
+ drivers/media/IR/Kconfig                              |   70 
+ drivers/media/IR/Makefile                             |   15 
+ drivers/media/IR/imon.c                               | 2403 ------------
+ drivers/media/IR/ir-core-priv.h                       |  126 
+ drivers/media/IR/ir-functions.c                       |  356 -
+ drivers/media/IR/ir-jvc-decoder.c                     |  320 -
+ drivers/media/IR/ir-keytable.c                        |  555 --
+ drivers/media/IR/ir-nec-decoder.c                     |  328 -
+ drivers/media/IR/ir-raw-event.c                       |  251 -
+ drivers/media/IR/ir-rc5-decoder.c                     |  324 -
+ drivers/media/IR/ir-rc6-decoder.c                     |  419 --
+ drivers/media/IR/ir-sony-decoder.c                    |  312 -
+ drivers/media/IR/ir-sysfs.c                           |  303 -
+ drivers/media/IR/keymaps/Kconfig                      |   15 
+ drivers/media/IR/keymaps/Makefile                     |   68 
+ drivers/media/IR/keymaps/rc-adstech-dvb-t-pci.c       |   89 
+ drivers/media/IR/keymaps/rc-apac-viewcomp.c           |   80 
+ drivers/media/IR/keymaps/rc-asus-pc39.c               |   91 
+ drivers/media/IR/keymaps/rc-ati-tv-wonder-hd-600.c    |   69 
+ drivers/media/IR/keymaps/rc-avermedia-a16d.c          |   75 
+ drivers/media/IR/keymaps/rc-avermedia-cardbus.c       |   97 
+ drivers/media/IR/keymaps/rc-avermedia-dvbt.c          |   78 
+ drivers/media/IR/keymaps/rc-avermedia-m135a.c         |  147 
+ drivers/media/IR/keymaps/rc-avermedia-m733a-rm-k6.c   |   95 
+ drivers/media/IR/keymaps/rc-avermedia.c               |   86 
+ drivers/media/IR/keymaps/rc-avertv-303.c              |   85 
+ drivers/media/IR/keymaps/rc-behold-columbus.c         |  108 
+ drivers/media/IR/keymaps/rc-behold.c                  |  141 
+ drivers/media/IR/keymaps/rc-budget-ci-old.c           |   92 
+ drivers/media/IR/keymaps/rc-cinergy-1400.c            |   84 
+ drivers/media/IR/keymaps/rc-cinergy.c                 |   78 
+ drivers/media/IR/keymaps/rc-dm1105-nec.c              |   76 
+ drivers/media/IR/keymaps/rc-dntv-live-dvb-t.c         |   78 
+ drivers/media/IR/keymaps/rc-dntv-live-dvbt-pro.c      |   97 
+ drivers/media/IR/keymaps/rc-em-terratec.c             |   69 
+ drivers/media/IR/keymaps/rc-empty.c                   |   44 
+ drivers/media/IR/keymaps/rc-encore-enltv-fm53.c       |   81 
+ drivers/media/IR/keymaps/rc-encore-enltv.c            |  112 
+ drivers/media/IR/keymaps/rc-encore-enltv2.c           |   90 
+ drivers/media/IR/keymaps/rc-evga-indtube.c            |   61 
+ drivers/media/IR/keymaps/rc-eztv.c                    |   96 
+ drivers/media/IR/keymaps/rc-flydvb.c                  |   77 
+ drivers/media/IR/keymaps/rc-flyvideo.c                |   70 
+ drivers/media/IR/keymaps/rc-fusionhdtv-mce.c          |   98 
+ drivers/media/IR/keymaps/rc-gadmei-rm008z.c           |   81 
+ drivers/media/IR/keymaps/rc-genius-tvgo-a11mce.c      |   84 
+ drivers/media/IR/keymaps/rc-gotview7135.c             |   79 
+ drivers/media/IR/keymaps/rc-hauppauge-new.c           |  100 
+ drivers/media/IR/keymaps/rc-imon-mce.c                |  142 
+ drivers/media/IR/keymaps/rc-imon-pad.c                |  156 
+ drivers/media/IR/keymaps/rc-iodata-bctv7e.c           |   88 
+ drivers/media/IR/keymaps/rc-kaiomy.c                  |   87 
+ drivers/media/IR/keymaps/rc-kworld-315u.c             |   83 
+ drivers/media/IR/keymaps/rc-kworld-plus-tv-analog.c   |   99 
+ drivers/media/IR/keymaps/rc-manli.c                   |  135 
+ drivers/media/IR/keymaps/rc-msi-tvanywhere-plus.c     |  123 
+ drivers/media/IR/keymaps/rc-msi-tvanywhere.c          |   69 
+ drivers/media/IR/keymaps/rc-nebula.c                  |   96 
+ drivers/media/IR/keymaps/rc-nec-terratec-cinergy-xs.c |  105 
+ drivers/media/IR/keymaps/rc-norwood.c                 |   85 
+ drivers/media/IR/keymaps/rc-npgtech.c                 |   80 
+ drivers/media/IR/keymaps/rc-pctv-sedna.c              |   80 
+ drivers/media/IR/keymaps/rc-pinnacle-color.c          |   94 
+ drivers/media/IR/keymaps/rc-pinnacle-grey.c           |   89 
+ drivers/media/IR/keymaps/rc-pinnacle-pctv-hd.c        |   73 
+ drivers/media/IR/keymaps/rc-pixelview-mk12.c          |   83 
+ drivers/media/IR/keymaps/rc-pixelview-new.c           |   83 
+ drivers/media/IR/keymaps/rc-pixelview.c               |   82 
+ drivers/media/IR/keymaps/rc-powercolor-real-angel.c   |   81 
+ drivers/media/IR/keymaps/rc-proteus-2309.c            |   69 
+ drivers/media/IR/keymaps/rc-purpletv.c                |   81 
+ drivers/media/IR/keymaps/rc-pv951.c                   |   78 
+ drivers/media/IR/keymaps/rc-rc5-hauppauge-new.c       |  103 
+ drivers/media/IR/keymaps/rc-rc5-tv.c                  |   81 
+ drivers/media/IR/keymaps/rc-real-audio-220-32-keys.c  |   78 
+ drivers/media/IR/keymaps/rc-tbs-nec.c                 |   73 
+ drivers/media/IR/keymaps/rc-terratec-cinergy-xs.c     |   92 
+ drivers/media/IR/keymaps/rc-tevii-nec.c               |   88 
+ drivers/media/IR/keymaps/rc-tt-1500.c                 |   82 
+ drivers/media/IR/keymaps/rc-videomate-s350.c          |   85 
+ drivers/media/IR/keymaps/rc-videomate-tv-pvr.c        |   87 
+ drivers/media/IR/keymaps/rc-winfast-usbii-deluxe.c    |   82 
+ drivers/media/IR/keymaps/rc-winfast.c                 |  102 
+ drivers/media/IR/rc-map.c                             |   84 
+ drivers/media/Kconfig                                 |   53 
+ drivers/media/Makefile                                |    2 
+ drivers/media/common/saa7146.mod.c                    |   19 
+ drivers/media/common/saa7146_core.c                   |    2 
+ drivers/media/common/saa7146_fops.c                   |   12 
+ drivers/media/common/saa7146_hlp.c                    |    8 
+ drivers/media/common/saa7146_i2c.c                    |    2 
+ drivers/media/common/saa7146_vbi.c                    |    6 
+ drivers/media/common/saa7146_video.c                  |   72 
+ drivers/media/common/saa7146_vv.mod.c                 |   23 
+ drivers/media/common/tuners/Kconfig                   |   15 
+ drivers/media/common/tuners/Makefile                  |    1 
+ drivers/media/common/tuners/max2165.c                 |   10 
+ drivers/media/common/tuners/max2165.mod.c             |   19 
+ drivers/media/common/tuners/mc44s803.mod.c            |   19 
+ drivers/media/common/tuners/mt2060.mod.c              |   19 
+ drivers/media/common/tuners/mt20xx.mod.c              |   19 
+ drivers/media/common/tuners/mt2131.mod.c              |   19 
+ drivers/media/common/tuners/mt2266.mod.c              |   19 
+ drivers/media/common/tuners/mxl5005s.mod.c            |   19 
+ drivers/media/common/tuners/mxl5007t.mod.c            |   19 
+ drivers/media/common/tuners/qt1010.mod.c              |   19 
+ drivers/media/common/tuners/tda18218.c                |  334 +
+ drivers/media/common/tuners/tda18218.h                |   45 
+ drivers/media/common/tuners/tda18218.mod.c            |   19 
+ drivers/media/common/tuners/tda18218_priv.h           |  106 
+ drivers/media/common/tuners/tda18271-common.c         |   63 
+ drivers/media/common/tuners/tda18271-fe.c             |   24 
+ drivers/media/common/tuners/tda18271.h                |    5 
+ drivers/media/common/tuners/tda18271.mod.c            |   19 
+ drivers/media/common/tuners/tda827x.mod.c             |   19 
+ drivers/media/common/tuners/tda8290.c                 |  130 
+ drivers/media/common/tuners/tda8290.mod.c             |   19 
+ drivers/media/common/tuners/tda9887.mod.c             |   19 
+ drivers/media/common/tuners/tea5761.mod.c             |   19 
+ drivers/media/common/tuners/tea5767.mod.c             |   19 
+ drivers/media/common/tuners/tuner-simple.c            |    3 
+ drivers/media/common/tuners/tuner-simple.mod.c        |   19 
+ drivers/media/common/tuners/tuner-types.c             |   21 
+ drivers/media/common/tuners/tuner-types.mod.c         |   19 
+ drivers/media/common/tuners/tuner-xc2028.mod.c        |   19 
+ drivers/media/common/tuners/xc5000.c                  |   61 
+ drivers/media/common/tuners/xc5000.h                  |    4 
+ drivers/media/common/tuners/xc5000.mod.c              |   19 
+ drivers/media/dvb/b2c2/b2c2-flexcop-pci.mod.c         |   24 
+ drivers/media/dvb/b2c2/b2c2-flexcop-usb.mod.c         |   24 
+ drivers/media/dvb/b2c2/b2c2-flexcop.mod.c             |   23 
+ drivers/media/dvb/b2c2/flexcop-i2c.c                  |    3 
+ drivers/media/dvb/bt8xx/bt878.mod.c                   |   35 
+ drivers/media/dvb/bt8xx/dst.c                         |   10 
+ drivers/media/dvb/bt8xx/dst.mod.c                     |   19 
+ drivers/media/dvb/bt8xx/dst_ca.c                      |   12 
+ drivers/media/dvb/bt8xx/dst_ca.mod.c                  |   19 
+ drivers/media/dvb/bt8xx/dvb-bt8xx.mod.c               |   23 
+ drivers/media/dvb/dm1105/Kconfig                      |    3 
+ drivers/media/dvb/dm1105/dm1105.c                     |   45 
+ drivers/media/dvb/dm1105/dm1105.mod.c                 |   25 
+ drivers/media/dvb/dvb-core/dmxdev.c                   |   25 
+ drivers/media/dvb/dvb-core/dvb-core.mod.c             |   23 
+ drivers/media/dvb/dvb-core/dvb_ca_en50221.c           |   20 
+ drivers/media/dvb/dvb-core/dvb_demux.c                |   10 
+ drivers/media/dvb/dvb-core/dvb_frontend.c             |   18 
+ drivers/media/dvb/dvb-core/dvb_frontend.h             |    2 
+ drivers/media/dvb/dvb-core/dvb_net.c                  |   13 
+ drivers/media/dvb/dvb-core/dvbdev.c                   |   18 
+ drivers/media/dvb/dvb-usb/Kconfig                     |   22 
+ drivers/media/dvb/dvb-usb/Makefile                    |    6 
+ drivers/media/dvb/dvb-usb/a800.c                      |   12 
+ drivers/media/dvb/dvb-usb/af9005-remote.c             |   16 
+ drivers/media/dvb/dvb-usb/af9005.c                    |   79 
+ drivers/media/dvb/dvb-usb/af9005.h                    |    4 
+ drivers/media/dvb/dvb-usb/af9015.c                    |  398 +-
+ drivers/media/dvb/dvb-usb/af9015.h                    |  735 ---
+ drivers/media/dvb/dvb-usb/anysee.c                    |   99 
+ drivers/media/dvb/dvb-usb/az6027.c                    |   20 
+ drivers/media/dvb/dvb-usb/cinergyT2-core.c            |   12 
+ drivers/media/dvb/dvb-usb/cxusb.c                     |  128 
+ drivers/media/dvb/dvb-usb/dib0700.h                   |    3 
+ drivers/media/dvb/dvb-usb/dib0700_core.c              |  314 -
+ drivers/media/dvb/dvb-usb/dib0700_devices.c           | 2261 ++++++++----
+ drivers/media/dvb/dvb-usb/dibusb-common.c             |    4 
+ drivers/media/dvb/dvb-usb/dibusb-mb.c                 |   40 
+ drivers/media/dvb/dvb-usb/dibusb-mc.c                 |   10 
+ drivers/media/dvb/dvb-usb/dibusb.h                    |    2 
+ drivers/media/dvb/dvb-usb/digitv.c                    |   20 
+ drivers/media/dvb/dvb-usb/dtt200u.c                   |   42 
+ drivers/media/dvb/dvb-usb/dvb-usb-a800.mod.c          |   25 
+ drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote.mod.c |   19 
+ drivers/media/dvb/dvb-usb/dvb-usb-af9005.mod.c        |   26 
+ drivers/media/dvb/dvb-usb/dvb-usb-af9015.mod.c        |   59 
+ drivers/media/dvb/dvb-usb/dvb-usb-anysee.mod.c        |   25 
+ drivers/media/dvb/dvb-usb/dvb-usb-au6610.mod.c        |   24 
+ drivers/media/dvb/dvb-usb/dvb-usb-ce6230.mod.c        |   25 
+ drivers/media/dvb/dvb-usb/dvb-usb-cinergyT2.mod.c     |   24 
+ drivers/media/dvb/dvb-usb/dvb-usb-cxusb.mod.c         |   43 
+ drivers/media/dvb/dvb-usb/dvb-usb-dib0700.mod.c       |   94 
+ drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common.mod.c |   19 
+ drivers/media/dvb/dvb-usb/dvb-usb-dibusb-mb.mod.c     |   53 
+ drivers/media/dvb/dvb-usb/dvb-usb-dibusb-mc.mod.c     |   39 
+ drivers/media/dvb/dvb-usb/dvb-usb-digitv.mod.c        |   24 
+ drivers/media/dvb/dvb-usb/dvb-usb-dtt200u.mod.c       |   33 
+ drivers/media/dvb/dvb-usb/dvb-usb-dtv5100.mod.c       |   24 
+ drivers/media/dvb/dvb-usb/dvb-usb-dw2102.mod.c        |   33 
+ drivers/media/dvb/dvb-usb/dvb-usb-ec168.mod.c         |   28 
+ drivers/media/dvb/dvb-usb/dvb-usb-friio.mod.c         |   24 
+ drivers/media/dvb/dvb-usb/dvb-usb-gl861.mod.c         |   25 
+ drivers/media/dvb/dvb-usb/dvb-usb-gp8psk.mod.c        |   28 
+ drivers/media/dvb/dvb-usb/dvb-usb-i2c.c               |    1 
+ drivers/media/dvb/dvb-usb/dvb-usb-ids.h               |   14 
+ drivers/media/dvb/dvb-usb/dvb-usb-init.c              |   60 
+ drivers/media/dvb/dvb-usb/dvb-usb-m920x.mod.c         |   30 
+ drivers/media/dvb/dvb-usb/dvb-usb-nova-t-usb2.mod.c   |   25 
+ drivers/media/dvb/dvb-usb/dvb-usb-opera.mod.c         |   25 
+ drivers/media/dvb/dvb-usb/dvb-usb-remote.c            |  214 -
+ drivers/media/dvb/dvb-usb/dvb-usb-ttusb2.mod.c        |   27 
+ drivers/media/dvb/dvb-usb/dvb-usb-umt-010.mod.c       |   25 
+ drivers/media/dvb/dvb-usb/dvb-usb-vp702x.mod.c        |   24 
+ drivers/media/dvb/dvb-usb/dvb-usb-vp7045.mod.c        |   27 
+ drivers/media/dvb/dvb-usb/dvb-usb.h                   |  102 
+ drivers/media/dvb/dvb-usb/dvb-usb.mod.c               |   19 
+ drivers/media/dvb/dvb-usb/dw2102.c                    |   81 
+ drivers/media/dvb/dvb-usb/friio-fe.c                  |    2 
+ drivers/media/dvb/dvb-usb/gp8psk-fe.c                 |    6 
+ drivers/media/dvb/dvb-usb/gp8psk.c                    |   37 
+ drivers/media/dvb/dvb-usb/gp8psk.h                    |    8 
+ drivers/media/dvb/dvb-usb/lmedm04.c                   | 1113 ++++++
+ drivers/media/dvb/dvb-usb/lmedm04.h                   |  173 
+ drivers/media/dvb/dvb-usb/m920x.c                     |   44 
+ drivers/media/dvb/dvb-usb/nova-t-usb2.c               |   24 
+ drivers/media/dvb/dvb-usb/opera1.c                    |   26 
+ drivers/media/dvb/dvb-usb/technisat-usb2.c            |  808 ++++
+ drivers/media/dvb/dvb-usb/ttusb2.c                    |   35 
+ drivers/media/dvb/dvb-usb/vp702x.c                    |   18 
+ drivers/media/dvb/dvb-usb/vp7045.c                    |   18 
+ drivers/media/dvb/firewire/firedtv-avc.c              |   61 
+ drivers/media/dvb/firewire/firedtv-ci.c               |    1 
+ drivers/media/dvb/firewire/firedtv-fe.c               |   36 
+ drivers/media/dvb/firewire/firedtv-fw.c               |    6 
+ drivers/media/dvb/firewire/firedtv-rc.c               |    9 
+ drivers/media/dvb/firewire/firedtv.mod.c              |   29 
+ drivers/media/dvb/frontends/Kconfig                   |   50 
+ drivers/media/dvb/frontends/Makefile                  |    6 
+ drivers/media/dvb/frontends/af9013.c                  |  309 -
+ drivers/media/dvb/frontends/af9013.h                  |    3 
+ drivers/media/dvb/frontends/af9013.mod.c              |   19 
+ drivers/media/dvb/frontends/af9013_priv.h             |   68 
+ drivers/media/dvb/frontends/atbm8830.c                |    8 
+ drivers/media/dvb/frontends/atbm8830.mod.c            |   19 
+ drivers/media/dvb/frontends/au8522.mod.c              |   24 
+ drivers/media/dvb/frontends/au8522_decoder.c          |   78 
+ drivers/media/dvb/frontends/au8522_priv.h             |    2 
+ drivers/media/dvb/frontends/bcm3510.mod.c             |   19 
+ drivers/media/dvb/frontends/cx22700.mod.c             |   19 
+ drivers/media/dvb/frontends/cx22702.c                 |  123 
+ drivers/media/dvb/frontends/cx22702.mod.c             |   19 
+ drivers/media/dvb/frontends/cx24110.c                 |    2 
+ drivers/media/dvb/frontends/cx24110.mod.c             |   19 
+ drivers/media/dvb/frontends/cx24113.mod.c             |   19 
+ drivers/media/dvb/frontends/cx24116.mod.c             |   19 
+ drivers/media/dvb/frontends/cx24123.c                 |    1 
+ drivers/media/dvb/frontends/cx24123.mod.c             |   19 
+ drivers/media/dvb/frontends/dib0070.mod.c             |   19 
+ drivers/media/dvb/frontends/dib0090.c                 | 1585 ++++++--
+ drivers/media/dvb/frontends/dib0090.h                 |   31 
+ drivers/media/dvb/frontends/dib0090.mod.c             |   19 
+ drivers/media/dvb/frontends/dib3000mb.c               |    9 
+ drivers/media/dvb/frontends/dib3000mb.mod.c           |   19 
+ drivers/media/dvb/frontends/dib3000mb_priv.h          |    4 
+ drivers/media/dvb/frontends/dib3000mc.c               |    2 
+ drivers/media/dvb/frontends/dib3000mc.mod.c           |   19 
+ drivers/media/dvb/frontends/dib7000m.c                |   10 
+ drivers/media/dvb/frontends/dib7000m.mod.c            |   19 
+ drivers/media/dvb/frontends/dib7000p.c                | 1959 +++++++---
+ drivers/media/dvb/frontends/dib7000p.h                |   94 
+ drivers/media/dvb/frontends/dib7000p.mod.c            |   19 
+ drivers/media/dvb/frontends/dib8000.c                 |  817 ++--
+ drivers/media/dvb/frontends/dib8000.h                 |   20 
+ drivers/media/dvb/frontends/dib8000.mod.c             |   19 
+ drivers/media/dvb/frontends/dib9000.c                 | 2350 ++++++++++++
+ drivers/media/dvb/frontends/dib9000.h                 |  131 
+ drivers/media/dvb/frontends/dibx000_common.c          |  281 +
+ drivers/media/dvb/frontends/dibx000_common.h          |  150 
+ drivers/media/dvb/frontends/dibx000_common.mod.c      |   19 
+ drivers/media/dvb/frontends/drx397xD.c                |    2 
+ drivers/media/dvb/frontends/drx397xD.mod.c            |   19 
+ drivers/media/dvb/frontends/ds3000.mod.c              |   19 
+ drivers/media/dvb/frontends/dvb-pll.mod.c             |   19 
+ drivers/media/dvb/frontends/dvb_dummy_fe.mod.c        |   19 
+ drivers/media/dvb/frontends/ec100.mod.c               |   19 
+ drivers/media/dvb/frontends/isl6405.mod.c             |   19 
+ drivers/media/dvb/frontends/isl6421.mod.c             |   19 
+ drivers/media/dvb/frontends/isl6423.mod.c             |   19 
+ drivers/media/dvb/frontends/itd1000.mod.c             |   19 
+ drivers/media/dvb/frontends/ix2505v.c                 |  323 +
+ drivers/media/dvb/frontends/ix2505v.h                 |   64 
+ drivers/media/dvb/frontends/ix2505v.mod.c             |   19 
+ drivers/media/dvb/frontends/l64781.mod.c              |   19 
+ drivers/media/dvb/frontends/lgdt3304.mod.c            |   19 
+ drivers/media/dvb/frontends/lgdt3305.c                |  267 +
+ drivers/media/dvb/frontends/lgdt3305.h                |   10 
+ drivers/media/dvb/frontends/lgdt3305.mod.c            |   19 
+ drivers/media/dvb/frontends/lgdt330x.mod.c            |   19 
+ drivers/media/dvb/frontends/lgs8gl5.mod.c             |   19 
+ drivers/media/dvb/frontends/lgs8gxx.c                 |   63 
+ drivers/media/dvb/frontends/lgs8gxx.mod.c             |   19 
+ drivers/media/dvb/frontends/lnbp21.mod.c              |   19 
+ drivers/media/dvb/frontends/mb86a16.c                 |    1 
+ drivers/media/dvb/frontends/mb86a16.mod.c             |   19 
+ drivers/media/dvb/frontends/mb86a20s.c                |  639 +++
+ drivers/media/dvb/frontends/mb86a20s.h                |   52 
+ drivers/media/dvb/frontends/mt312.mod.c               |   19 
+ drivers/media/dvb/frontends/mt352.c                   |    2 
+ drivers/media/dvb/frontends/mt352.h                   |    2 
+ drivers/media/dvb/frontends/mt352.mod.c               |   19 
+ drivers/media/dvb/frontends/nxt200x.mod.c             |   19 
+ drivers/media/dvb/frontends/nxt6000.mod.c             |   19 
+ drivers/media/dvb/frontends/or51132.mod.c             |   19 
+ drivers/media/dvb/frontends/or51211.mod.c             |   19 
+ drivers/media/dvb/frontends/s5h1409.mod.c             |   19 
+ drivers/media/dvb/frontends/s5h1411.mod.c             |   19 
+ drivers/media/dvb/frontends/s5h1420.c                 |    1 
+ drivers/media/dvb/frontends/s5h1420.mod.c             |   19 
+ drivers/media/dvb/frontends/s5h1432.c                 |  415 ++
+ drivers/media/dvb/frontends/s5h1432.h                 |   91 
+ drivers/media/dvb/frontends/s5h1432.mod.c             |   19 
+ drivers/media/dvb/frontends/s921.c                    |  548 ++
+ drivers/media/dvb/frontends/s921.h                    |   47 
+ drivers/media/dvb/frontends/s921.mod.c                |   19 
+ drivers/media/dvb/frontends/si21xx.c                  |    2 
+ drivers/media/dvb/frontends/si21xx.mod.c              |   19 
+ drivers/media/dvb/frontends/sp8870.mod.c              |   19 
+ drivers/media/dvb/frontends/sp887x.mod.c              |   19 
+ drivers/media/dvb/frontends/stb0899.mod.c             |   19 
+ drivers/media/dvb/frontends/stb0899_drv.c             |    2 
+ drivers/media/dvb/frontends/stb6000.mod.c             |   19 
+ drivers/media/dvb/frontends/stb6100.c                 |  202 -
+ drivers/media/dvb/frontends/stb6100.h                 |    4 
+ drivers/media/dvb/frontends/stb6100.mod.c             |   19 
+ drivers/media/dvb/frontends/stv0288.c                 |   25 
+ drivers/media/dvb/frontends/stv0288.mod.c             |   19 
+ drivers/media/dvb/frontends/stv0297.mod.c             |   19 
+ drivers/media/dvb/frontends/stv0299.c                 |    2 
+ drivers/media/dvb/frontends/stv0299.h                 |    2 
+ drivers/media/dvb/frontends/stv0299.mod.c             |   19 
+ drivers/media/dvb/frontends/stv0900.mod.c             |   19 
+ drivers/media/dvb/frontends/stv090x.c                 |  292 +
+ drivers/media/dvb/frontends/stv090x.h                 |   16 
+ drivers/media/dvb/frontends/stv090x.mod.c             |   19 
+ drivers/media/dvb/frontends/stv090x_reg.h             |   16 
+ drivers/media/dvb/frontends/stv6110.mod.c             |   19 
+ drivers/media/dvb/frontends/stv6110x.mod.c            |   19 
+ drivers/media/dvb/frontends/tda10021.mod.c            |   19 
+ drivers/media/dvb/frontends/tda10023.mod.c            |   19 
+ drivers/media/dvb/frontends/tda10048.c                |   43 
+ drivers/media/dvb/frontends/tda10048.mod.c            |   19 
+ drivers/media/dvb/frontends/tda1004x.c                |    2 
+ drivers/media/dvb/frontends/tda1004x.mod.c            |   19 
+ drivers/media/dvb/frontends/tda10086.mod.c            |   19 
+ drivers/media/dvb/frontends/tda665x.mod.c             |   19 
+ drivers/media/dvb/frontends/tda8083.mod.c             |   19 
+ drivers/media/dvb/frontends/tda8261.mod.c             |   19 
+ drivers/media/dvb/frontends/tda826x.mod.c             |   19 
+ drivers/media/dvb/frontends/tua6100.mod.c             |   19 
+ drivers/media/dvb/frontends/ves1820.mod.c             |   19 
+ drivers/media/dvb/frontends/ves1x93.mod.c             |   19 
+ drivers/media/dvb/frontends/zl10036.mod.c             |   19 
+ drivers/media/dvb/frontends/zl10039.mod.c             |   19 
+ drivers/media/dvb/frontends/zl10353.c                 |    2 
+ drivers/media/dvb/frontends/zl10353.mod.c             |   19 
+ drivers/media/dvb/mantis/Kconfig                      |   16 
+ drivers/media/dvb/mantis/hopper.mod.c                 |   23 
+ drivers/media/dvb/mantis/hopper_cards.c               |    2 
+ drivers/media/dvb/mantis/hopper_vp3028.c              |    6 
+ drivers/media/dvb/mantis/mantis.mod.c                 |   23 
+ drivers/media/dvb/mantis/mantis_cards.c               |    2 
+ drivers/media/dvb/mantis/mantis_common.h              |    4 
+ drivers/media/dvb/mantis/mantis_core.c                |    5 
+ drivers/media/dvb/mantis/mantis_core.mod.c            |   19 
+ drivers/media/dvb/mantis/mantis_dvb.c                 |   17 
+ drivers/media/dvb/mantis/mantis_evm.c                 |    2 
+ drivers/media/dvb/mantis/mantis_i2c.c                 |    1 
+ drivers/media/dvb/mantis/mantis_input.c               |   79 
+ drivers/media/dvb/mantis/mantis_ioc.c                 |   13 
+ drivers/media/dvb/mantis/mantis_ioc.h                 |    2 
+ drivers/media/dvb/mantis/mantis_uart.c                |    1 
+ drivers/media/dvb/mantis/mantis_vp1033.c              |    2 
+ drivers/media/dvb/mantis/mantis_vp1034.c              |   10 
+ drivers/media/dvb/mantis/mantis_vp1041.c              |    6 
+ drivers/media/dvb/mantis/mantis_vp2033.c              |    4 
+ drivers/media/dvb/mantis/mantis_vp2040.c              |    4 
+ drivers/media/dvb/mantis/mantis_vp3030.c              |    8 
+ drivers/media/dvb/ngene/Makefile                      |    3 
+ drivers/media/dvb/ngene/ngene-cards.c                 |  179 
+ drivers/media/dvb/ngene/ngene-core.c                  |  245 -
+ drivers/media/dvb/ngene/ngene-dvb.c                   |   72 
+ drivers/media/dvb/ngene/ngene-i2c.c                   |    2 
+ drivers/media/dvb/ngene/ngene.h                       |   24 
+ drivers/media/dvb/pluto2/pluto2.c                     |    1 
+ drivers/media/dvb/pluto2/pluto2.mod.c                 |   24 
+ drivers/media/dvb/pt1/earth-pt1.mod.c                 |   25 
+ drivers/media/dvb/pt1/pt1.c                           |    1 
+ drivers/media/dvb/siano/Kconfig                       |    2 
+ drivers/media/dvb/siano/sms-cards.c                   |    2 
+ drivers/media/dvb/siano/sms-cards.h                   |    2 
+ drivers/media/dvb/siano/smscoreapi.c                  |   42 
+ drivers/media/dvb/siano/smsdvb.mod.c                  |   23 
+ drivers/media/dvb/siano/smsir.c                       |  291 -
+ drivers/media/dvb/siano/smsir.h                       |   64 
+ drivers/media/dvb/siano/smsmdtv.mod.c                 |   23 
+ drivers/media/dvb/siano/smssdio.mod.c                 |   28 
+ drivers/media/dvb/siano/smsusb.c                      |   12 
+ drivers/media/dvb/siano/smsusb.mod.c                  |   53 
+ drivers/media/dvb/ttpci/Kconfig                       |    3 
+ drivers/media/dvb/ttpci/av7110.c                      |   13 
+ drivers/media/dvb/ttpci/av7110_av.c                   |    9 
+ drivers/media/dvb/ttpci/av7110_ca.c                   |    5 
+ drivers/media/dvb/ttpci/av7110_hw.c                   |    2 
+ drivers/media/dvb/ttpci/av7110_ir.c                   |    1 
+ drivers/media/dvb/ttpci/av7110_v4l.c                  |    6 
+ drivers/media/dvb/ttpci/budget-av.c                   |    8 
+ drivers/media/dvb/ttpci/budget-av.mod.c               |   51 
+ drivers/media/dvb/ttpci/budget-ci.c                   |   56 
+ drivers/media/dvb/ttpci/budget-ci.mod.c               |   31 
+ drivers/media/dvb/ttpci/budget-core.c                 |    4 
+ drivers/media/dvb/ttpci/budget-core.mod.c             |   19 
+ drivers/media/dvb/ttpci/budget-patch.c                |    2 
+ drivers/media/dvb/ttpci/budget-patch.mod.c            |   23 
+ drivers/media/dvb/ttpci/budget.c                      |    2 
+ drivers/media/dvb/ttpci/budget.mod.c                  |   34 
+ drivers/media/dvb/ttpci/dvb-ttpci.mod.c               |   34 
+ drivers/media/dvb/ttpci/ttpci-eeprom.mod.c            |   19 
+ drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c     |    1 
+ drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.mod.c |   26 
+ drivers/media/dvb/ttusb-dec/ttusb_dec.mod.c           |   26 
+ drivers/media/dvb/ttusb-dec/ttusbdecfe.mod.c          |   19 
+ drivers/media/radio/Kconfig                           |   30 
+ drivers/media/radio/Makefile                          |    2 
+ drivers/media/radio/dsbr100.mod.c                     |   24 
+ drivers/media/radio/radio-aimslab.c                   |   40 
+ drivers/media/radio/radio-aztech.c                    |    6 
+ drivers/media/radio/radio-cadet.c                     |   15 
+ drivers/media/radio/radio-gemtek-pci.mod.c            |   24 
+ drivers/media/radio/radio-gemtek.c                    |   14 
+ drivers/media/radio/radio-maestro.c                   |   14 
+ drivers/media/radio/radio-maestro.mod.c               |   25 
+ drivers/media/radio/radio-maxiradio.c                 |    8 
+ drivers/media/radio/radio-maxiradio.mod.c             |   24 
+ drivers/media/radio/radio-miropcm20.c                 |    6 
+ drivers/media/radio/radio-mr800.c                     |   76 
+ drivers/media/radio/radio-mr800.mod.c                 |   24 
+ drivers/media/radio/radio-rtrack2.c                   |   10 
+ drivers/media/radio/radio-sf16fmi.c                   |    7 
+ drivers/media/radio/radio-sf16fmr2.c                  |   11 
+ drivers/media/radio/radio-si4713.c                    |   15 
+ drivers/media/radio/radio-si4713.mod.c                |   23 
+ drivers/media/radio/radio-tea5764.c                   |   49 
+ drivers/media/radio/radio-terratec.c                  |    8 
+ drivers/media/radio/radio-timb.c                      |    5 
+ drivers/media/radio/radio-trust.c                     |   18 
+ drivers/media/radio/radio-typhoon.c                   |   19 
+ drivers/media/radio/radio-wl1273.c                    | 2330 ++++++++++++
+ drivers/media/radio/radio-zoltrix.c                   |   30 
+ drivers/media/radio/si470x/radio-i2c-si470x.mod.c     |   24 
+ drivers/media/radio/si470x/radio-si470x-common.c      |   40 
+ drivers/media/radio/si470x/radio-si470x-i2c.c         |    2 
+ drivers/media/radio/si470x/radio-si470x-usb.c         |   17 
+ drivers/media/radio/si470x/radio-si470x.h             |    4 
+ drivers/media/radio/si470x/radio-usb-si470x.mod.c     |   27 
+ drivers/media/radio/si4713-i2c.c                      |   88 
+ drivers/media/radio/si4713-i2c.h                      |    5 
+ drivers/media/radio/si4713-i2c.mod.c                  |   24 
+ drivers/media/radio/tef6862.c                         |    1 
+ drivers/media/rc/Kconfig                              |  193 +
+ drivers/media/rc/Makefile                             |   22 
+ drivers/media/rc/ene_ir.c                             | 1213 ++++++
+ drivers/media/rc/ene_ir.h                             |  259 +
+ drivers/media/rc/imon.c                               | 2449 +++++++++++++
+ drivers/media/rc/ir-jvc-decoder.c                     |  198 +
+ drivers/media/rc/ir-lirc-codec.c                      |  402 ++
+ drivers/media/rc/ir-nec-decoder.c                     |  220 +
+ drivers/media/rc/ir-raw.c                             |  371 ++
+ drivers/media/rc/ir-rc5-decoder.c                     |  189 +
+ drivers/media/rc/ir-rc5-sz-decoder.c                  |  153 
+ drivers/media/rc/ir-rc6-decoder.c                     |  280 +
+ drivers/media/rc/ir-sony-decoder.c                    |  181 
+ drivers/media/rc/keymaps/Kconfig                      |   15 
+ drivers/media/rc/keymaps/Makefile                     |   89 
+ drivers/media/rc/keymaps/rc-adstech-dvb-t-pci.c       |   89 
+ drivers/media/rc/keymaps/rc-alink-dtu-m.c             |   68 
+ drivers/media/rc/keymaps/rc-anysee.c                  |   93 
+ drivers/media/rc/keymaps/rc-apac-viewcomp.c           |   80 
+ drivers/media/rc/keymaps/rc-asus-pc39.c               |   91 
+ drivers/media/rc/keymaps/rc-ati-tv-wonder-hd-600.c    |   69 
+ drivers/media/rc/keymaps/rc-avermedia-a16d.c          |   75 
+ drivers/media/rc/keymaps/rc-avermedia-cardbus.c       |   97 
+ drivers/media/rc/keymaps/rc-avermedia-dvbt.c          |   78 
+ drivers/media/rc/keymaps/rc-avermedia-m135a.c         |  147 
+ drivers/media/rc/keymaps/rc-avermedia-m733a-rm-k6.c   |   95 
+ drivers/media/rc/keymaps/rc-avermedia-rm-ks.c         |   79 
+ drivers/media/rc/keymaps/rc-avermedia.c               |   86 
+ drivers/media/rc/keymaps/rc-avertv-303.c              |   85 
+ drivers/media/rc/keymaps/rc-azurewave-ad-tu700.c      |  102 
+ drivers/media/rc/keymaps/rc-behold-columbus.c         |  108 
+ drivers/media/rc/keymaps/rc-behold.c                  |  141 
+ drivers/media/rc/keymaps/rc-budget-ci-old.c           |   92 
+ drivers/media/rc/keymaps/rc-cinergy-1400.c            |   84 
+ drivers/media/rc/keymaps/rc-cinergy.c                 |   78 
+ drivers/media/rc/keymaps/rc-dib0700-nec.c             |  124 
+ drivers/media/rc/keymaps/rc-dib0700-rc5.c             |  235 +
+ drivers/media/rc/keymaps/rc-digitalnow-tinytwin.c     |   98 
+ drivers/media/rc/keymaps/rc-digittrade.c              |   82 
+ drivers/media/rc/keymaps/rc-dm1105-nec.c              |   76 
+ drivers/media/rc/keymaps/rc-dntv-live-dvb-t.c         |   78 
+ drivers/media/rc/keymaps/rc-dntv-live-dvbt-pro.c      |   97 
+ drivers/media/rc/keymaps/rc-em-terratec.c             |   69 
+ drivers/media/rc/keymaps/rc-encore-enltv-fm53.c       |   81 
+ drivers/media/rc/keymaps/rc-encore-enltv.c            |  112 
+ drivers/media/rc/keymaps/rc-encore-enltv2.c           |   90 
+ drivers/media/rc/keymaps/rc-evga-indtube.c            |   61 
+ drivers/media/rc/keymaps/rc-eztv.c                    |   96 
+ drivers/media/rc/keymaps/rc-flydvb.c                  |   77 
+ drivers/media/rc/keymaps/rc-flyvideo.c                |   70 
+ drivers/media/rc/keymaps/rc-fusionhdtv-mce.c          |   98 
+ drivers/media/rc/keymaps/rc-gadmei-rm008z.c           |   81 
+ drivers/media/rc/keymaps/rc-genius-tvgo-a11mce.c      |   84 
+ drivers/media/rc/keymaps/rc-gotview7135.c             |   79 
+ drivers/media/rc/keymaps/rc-hauppauge-new.c           |  100 
+ drivers/media/rc/keymaps/rc-imon-mce.c                |  142 
+ drivers/media/rc/keymaps/rc-imon-pad.c                |  156 
+ drivers/media/rc/keymaps/rc-iodata-bctv7e.c           |   88 
+ drivers/media/rc/keymaps/rc-kaiomy.c                  |   87 
+ drivers/media/rc/keymaps/rc-kworld-315u.c             |   83 
+ drivers/media/rc/keymaps/rc-kworld-plus-tv-analog.c   |   99 
+ drivers/media/rc/keymaps/rc-leadtek-y04g0051.c        |   99 
+ drivers/media/rc/keymaps/rc-lirc.c                    |   41 
+ drivers/media/rc/keymaps/rc-lme2510.c                 |   68 
+ drivers/media/rc/keymaps/rc-manli.c                   |  134 
+ drivers/media/rc/keymaps/rc-msi-digivox-ii.c          |   67 
+ drivers/media/rc/keymaps/rc-msi-digivox-iii.c         |   85 
+ drivers/media/rc/keymaps/rc-msi-tvanywhere-plus.c     |  123 
+ drivers/media/rc/keymaps/rc-msi-tvanywhere.c          |   69 
+ drivers/media/rc/keymaps/rc-nebula.c                  |   96 
+ drivers/media/rc/keymaps/rc-nec-terratec-cinergy-xs.c |  105 
+ drivers/media/rc/keymaps/rc-norwood.c                 |   85 
+ drivers/media/rc/keymaps/rc-npgtech.c                 |   80 
+ drivers/media/rc/keymaps/rc-pctv-sedna.c              |   80 
+ drivers/media/rc/keymaps/rc-pinnacle-color.c          |   94 
+ drivers/media/rc/keymaps/rc-pinnacle-grey.c           |   89 
+ drivers/media/rc/keymaps/rc-pinnacle-pctv-hd.c        |   73 
+ drivers/media/rc/keymaps/rc-pixelview-002t.c          |   77 
+ drivers/media/rc/keymaps/rc-pixelview-mk12.c          |   83 
+ drivers/media/rc/keymaps/rc-pixelview-new.c           |   83 
+ drivers/media/rc/keymaps/rc-pixelview.c               |   82 
+ drivers/media/rc/keymaps/rc-powercolor-real-angel.c   |   81 
+ drivers/media/rc/keymaps/rc-proteus-2309.c            |   69 
+ drivers/media/rc/keymaps/rc-purpletv.c                |   81 
+ drivers/media/rc/keymaps/rc-pv951.c                   |   78 
+ drivers/media/rc/keymaps/rc-rc5-hauppauge-new.c       |  141 
+ drivers/media/rc/keymaps/rc-rc5-tv.c                  |   81 
+ drivers/media/rc/keymaps/rc-rc6-mce.c                 |  113 
+ drivers/media/rc/keymaps/rc-real-audio-220-32-keys.c  |   78 
+ drivers/media/rc/keymaps/rc-streamzap.c               |   82 
+ drivers/media/rc/keymaps/rc-tbs-nec.c                 |   75 
+ drivers/media/rc/keymaps/rc-technisat-usb2.c          |   93 
+ drivers/media/rc/keymaps/rc-terratec-cinergy-xs.c     |   92 
+ drivers/media/rc/keymaps/rc-terratec-slim.c           |   79 
+ drivers/media/rc/keymaps/rc-tevii-nec.c               |   88 
+ drivers/media/rc/keymaps/rc-total-media-in-hand.c     |   85 
+ drivers/media/rc/keymaps/rc-trekstor.c                |   80 
+ drivers/media/rc/keymaps/rc-tt-1500.c                 |   82 
+ drivers/media/rc/keymaps/rc-twinhan1027.c             |   87 
+ drivers/media/rc/keymaps/rc-videomate-m1f.c           |   92 
+ drivers/media/rc/keymaps/rc-videomate-s350.c          |   85 
+ drivers/media/rc/keymaps/rc-videomate-tv-pvr.c        |   87 
+ drivers/media/rc/keymaps/rc-winfast-usbii-deluxe.c    |   82 
+ drivers/media/rc/keymaps/rc-winfast.c                 |  102 
+ drivers/media/rc/lirc_dev.c                           |  816 ++++
+ drivers/media/rc/mceusb.c                             | 1312 +++++++
+ drivers/media/rc/nuvoton-cir.c                        | 1244 ++++++
+ drivers/media/rc/nuvoton-cir.h                        |  407 ++
+ drivers/media/rc/rc-core-priv.h                       |  193 +
+ drivers/media/rc/rc-loopback.c                        |  260 +
+ drivers/media/rc/rc-main.c                            | 1104 +++++
+ drivers/media/rc/streamzap.c                          |  557 +++
+ drivers/media/rc/winbond-cir.c                        |  932 +++++
+ drivers/media/video/Kconfig                           |  399 --
+ drivers/media/video/Makefile                          |   45 
+ drivers/media/video/adv7170.c                         |   28 
+ drivers/media/video/adv7170.mod.c                     |   25 
+ drivers/media/video/adv7175.c                         |   39 
+ drivers/media/video/adv7175.mod.c                     |   25 
+ drivers/media/video/adv7180.c                         |    1 
+ drivers/media/video/adv7343.c                         |  167 
+ drivers/media/video/adv7343_regs.h                    |    8 
+ drivers/media/video/ak881x.c                          |    6 
+ drivers/media/video/arv.c                             |    2 
+ drivers/media/video/au0828/Makefile                   |    2 
+ drivers/media/video/au0828/au0828-cards.c             |    4 
+ drivers/media/video/au0828/au0828-vbi.c               |  138 
+ drivers/media/video/au0828/au0828-video.c             |  555 ++
+ drivers/media/video/au0828/au0828.h                   |   26 
+ drivers/media/video/au0828/au0828.mod.c               |   37 
+ drivers/media/video/bt819.c                           |  157 
+ drivers/media/video/bt819.mod.c                       |   26 
+ drivers/media/video/bt856.c                           |   28 
+ drivers/media/video/bt856.mod.c                       |   24 
+ drivers/media/video/bt866.c                           |   28 
+ drivers/media/video/bt866.mod.c                       |   24 
+ drivers/media/video/bt8xx/Kconfig                     |    4 
+ drivers/media/video/bt8xx/bttv-cards.c                |   61 
+ drivers/media/video/bt8xx/bttv-driver.c               |  316 -
+ drivers/media/video/bt8xx/bttv-i2c.c                  |   43 
+ drivers/media/video/bt8xx/bttv-input.c                |  317 +
+ drivers/media/video/bt8xx/bttv-risc.c                 |    4 
+ drivers/media/video/bt8xx/bttv.h                      |    3 
+ drivers/media/video/bt8xx/bttv.mod.c                  |   27 
+ drivers/media/video/bt8xx/bttvp.h                     |   47 
+ drivers/media/video/btcx-risc.mod.c                   |   19 
+ drivers/media/video/bw-qcam.c                         |    2 
+ drivers/media/video/bw-qcam.mod.c                     |   23 
+ drivers/media/video/c-qcam.c                          |    2 
+ drivers/media/video/c-qcam.mod.c                      |   23 
+ drivers/media/video/cafe_ccic.c                       |  206 -
+ drivers/media/video/cpia2/Kconfig                     |    2 
+ drivers/media/video/cpia2/cpia2.h                     |   10 
+ drivers/media/video/cpia2/cpia2.mod.c                 |   26 
+ drivers/media/video/cpia2/cpia2_core.c                |  116 
+ drivers/media/video/cpia2/cpia2_v4l.c                 |  458 --
+ drivers/media/video/cpia2/cpia2dev.h                  |    4 
+ drivers/media/video/cs5345.c                          |  114 
+ drivers/media/video/cs5345.mod.c                      |   24 
+ drivers/media/video/cs53l32a.c                        |  134 
+ drivers/media/video/cs53l32a.mod.c                    |   24 
+ drivers/media/video/cx18/Kconfig                      |    3 
+ drivers/media/video/cx18/cx18-alsa-pcm.c              |    8 
+ drivers/media/video/cx18/cx18-av-audio.c              |   92 
+ drivers/media/video/cx18/cx18-av-core.c               |  175 
+ drivers/media/video/cx18/cx18-av-core.h               |   12 
+ drivers/media/video/cx18/cx18-cards.c                 |   64 
+ drivers/media/video/cx18/cx18-controls.c              |  285 -
+ drivers/media/video/cx18/cx18-controls.h              |    7 
+ drivers/media/video/cx18/cx18-driver.c                |   49 
+ drivers/media/video/cx18/cx18-driver.h                |   34 
+ drivers/media/video/cx18/cx18-dvb.c                   |   64 
+ drivers/media/video/cx18/cx18-fileops.c               |   32 
+ drivers/media/video/cx18/cx18-i2c.c                   |   28 
+ drivers/media/video/cx18/cx18-ioctl.c                 |   27 
+ drivers/media/video/cx18/cx18-mailbox.c               |   11 
+ drivers/media/video/cx18/cx18-mailbox.h               |    5 
+ drivers/media/video/cx18/cx18-streams.c               |   63 
+ drivers/media/video/cx18/cx18-streams.h               |    3 
+ drivers/media/video/cx18/cx18.mod.c                   |   24 
+ drivers/media/video/cx231xx/Kconfig                   |   20 
+ drivers/media/video/cx231xx/Makefile                  |    5 
+ drivers/media/video/cx231xx/cx231xx-417.c             | 2192 +++++++++++
+ drivers/media/video/cx231xx/cx231xx-alsa.mod.c        |   23 
+ drivers/media/video/cx231xx/cx231xx-audio.c           |  256 +
+ drivers/media/video/cx231xx/cx231xx-avcore.c          |  694 +++
+ drivers/media/video/cx231xx/cx231xx-cards.c           |  496 ++
+ drivers/media/video/cx231xx/cx231xx-conf-reg.h        |    1 
+ drivers/media/video/cx231xx/cx231xx-core.c            |  795 +++-
+ drivers/media/video/cx231xx/cx231xx-dif.h             | 3178 +++++++++++++++++
+ drivers/media/video/cx231xx/cx231xx-dvb.c             |  295 +
+ drivers/media/video/cx231xx/cx231xx-dvb.mod.c         |   23 
+ drivers/media/video/cx231xx/cx231xx-i2c.c             |   11 
+ drivers/media/video/cx231xx/cx231xx-input.c           |  284 -
+ drivers/media/video/cx231xx/cx231xx-vbi.c             |  109 
+ drivers/media/video/cx231xx/cx231xx-vbi.h             |    2 
+ drivers/media/video/cx231xx/cx231xx-video.c           |  607 ++-
+ drivers/media/video/cx231xx/cx231xx.h                 |  282 +
+ drivers/media/video/cx231xx/cx231xx.mod.c             |   35 
+ drivers/media/video/cx2341x.c                         |  755 +++-
+ drivers/media/video/cx2341x.mod.c                     |   19 
+ drivers/media/video/cx23885/Kconfig                   |    2 
+ drivers/media/video/cx23885/Makefile                  |    5 
+ drivers/media/video/cx23885/cimax2.c                  |   24 
+ drivers/media/video/cx23885/cx23885-417.c             |   13 
+ drivers/media/video/cx23885/cx23885-av.c              |   35 
+ drivers/media/video/cx23885/cx23885-av.h              |   27 
+ drivers/media/video/cx23885/cx23885-cards.c           |  189 -
+ drivers/media/video/cx23885/cx23885-core.c            |  137 
+ drivers/media/video/cx23885/cx23885-dvb.c             |    9 
+ drivers/media/video/cx23885/cx23885-i2c.c             |   47 
+ drivers/media/video/cx23885/cx23885-input.c           |  367 -
+ drivers/media/video/cx23885/cx23885-ir.c              |   26 
+ drivers/media/video/cx23885/cx23885-reg.h             |    1 
+ drivers/media/video/cx23885/cx23885-vbi.c             |    2 
+ drivers/media/video/cx23885/cx23885-video.c           |   70 
+ drivers/media/video/cx23885/cx23885.h                 |   21 
+ drivers/media/video/cx23885/cx23885.mod.c             |   25 
+ drivers/media/video/cx23885/cx23888-ir.c              |  145 
+ drivers/media/video/cx25840/Makefile                  |    2 
+ drivers/media/video/cx25840/cx25840-audio.c           |  202 -
+ drivers/media/video/cx25840/cx25840-core.c            |  583 ++-
+ drivers/media/video/cx25840/cx25840-core.h            |   52 
+ drivers/media/video/cx25840/cx25840-ir.c              | 1280 ++++++
+ drivers/media/video/cx25840/cx25840.mod.c             |   24 
+ drivers/media/video/cx88/Kconfig                      |    5 
+ drivers/media/video/cx88/cx88-alsa.c                  |   55 
+ drivers/media/video/cx88/cx88-alsa.mod.c              |   25 
+ drivers/media/video/cx88/cx88-blackbird.c             |   19 
+ drivers/media/video/cx88/cx88-blackbird.mod.c         |   23 
+ drivers/media/video/cx88/cx88-cards.c                 |   61 
+ drivers/media/video/cx88/cx88-core.c                  |   32 
+ drivers/media/video/cx88/cx88-dsp.c                   |   11 
+ drivers/media/video/cx88/cx88-dvb.c                   |  189 -
+ drivers/media/video/cx88/cx88-dvb.mod.c               |   23 
+ drivers/media/video/cx88/cx88-i2c.c                   |   39 
+ drivers/media/video/cx88/cx88-input.c                 |  335 -
+ drivers/media/video/cx88/cx88-mpeg.c                  |   14 
+ drivers/media/video/cx88/cx88-tvaudio.c               |   43 
+ drivers/media/video/cx88/cx88-vbi.c                   |    2 
+ drivers/media/video/cx88/cx88-video.c                 |   75 
+ drivers/media/video/cx88/cx88-vp3054-i2c.c            |    3 
+ drivers/media/video/cx88/cx88-vp3054-i2c.mod.c        |   19 
+ drivers/media/video/cx88/cx88.h                       |   67 
+ drivers/media/video/cx88/cx8800.mod.c                 |   24 
+ drivers/media/video/cx88/cx8802.mod.c                 |   24 
+ drivers/media/video/cx88/cx88xx.mod.c                 |   19 
+ drivers/media/video/dabusb.mod.c                      |   24 
+ drivers/media/video/davinci/Kconfig                   |   93 
+ drivers/media/video/davinci/vpfe_capture.c            |   41 
+ drivers/media/video/davinci/vpif.c                    |  177 
+ drivers/media/video/davinci/vpif.h                    |   18 
+ drivers/media/video/davinci/vpif_capture.c            |  466 +-
+ drivers/media/video/davinci/vpif_capture.h            |    2 
+ drivers/media/video/davinci/vpif_display.c            |  488 ++
+ drivers/media/video/davinci/vpif_display.h            |    2 
+ drivers/media/video/em28xx/Kconfig                    |    5 
+ drivers/media/video/em28xx/em28xx-alsa.mod.c          |   23 
+ drivers/media/video/em28xx/em28xx-audio.c             |   75 
+ drivers/media/video/em28xx/em28xx-cards.c             |  186 -
+ drivers/media/video/em28xx/em28xx-cards.c.orig        | 3195 +++++++++++++++++
+ drivers/media/video/em28xx/em28xx-dvb.c               |   49 
+ drivers/media/video/em28xx/em28xx-dvb.mod.c           |   23 
+ drivers/media/video/em28xx/em28xx-input.c             |  156 
+ drivers/media/video/em28xx/em28xx-vbi.c               |    1 
+ drivers/media/video/em28xx/em28xx-video.c             |  133 
+ drivers/media/video/em28xx/em28xx.h                   |   22 
+ drivers/media/video/em28xx/em28xx.mod.c               |   82 
+ drivers/media/video/et61x251/et61x251.h               |   24 
+ drivers/media/video/et61x251/et61x251_core.c          |    3 
+ drivers/media/video/fsl-viu.c                         | 1659 ++++++++
+ drivers/media/video/gspca/Kconfig                     |   36 
+ drivers/media/video/gspca/Makefile                    |    8 
+ drivers/media/video/gspca/benq.c                      |   25 
+ drivers/media/video/gspca/conex.c                     |   26 
+ drivers/media/video/gspca/cpia1.c                     |  166 
+ drivers/media/video/gspca/etoms.c                     |   16 
+ drivers/media/video/gspca/finepix.c                   |   17 
+ drivers/media/video/gspca/gl860/gl860-mi2020.c        |  731 +--
+ drivers/media/video/gspca/gl860/gl860-ov9655.c        |    4 
+ drivers/media/video/gspca/gl860/gl860.c               |   50 
+ drivers/media/video/gspca/gl860/gl860.h               |   13 
+ drivers/media/video/gspca/gl860/gspca_gl860.mod.c     |   25 
+ drivers/media/video/gspca/gspca.c                     |  764 +---
+ drivers/media/video/gspca/gspca.h                     |   40 
+ drivers/media/video/gspca/gspca_benq.mod.c            |   24 
+ drivers/media/video/gspca/gspca_conex.mod.c           |   24 
+ drivers/media/video/gspca/gspca_cpia1.mod.c           |   25 
+ drivers/media/video/gspca/gspca_etoms.mod.c           |   25 
+ drivers/media/video/gspca/gspca_finepix.mod.c         |   46 
+ drivers/media/video/gspca/gspca_jeilinj.mod.c         |   24 
+ drivers/media/video/gspca/gspca_konica.mod.c          |   24 
+ drivers/media/video/gspca/gspca_main.mod.c            |   23 
+ drivers/media/video/gspca/gspca_mars.mod.c            |   24 
+ drivers/media/video/gspca/gspca_mr97310a.mod.c        |   27 
+ drivers/media/video/gspca/gspca_ov519.mod.c           |   48 
+ drivers/media/video/gspca/gspca_ov534.mod.c           |   24 
+ drivers/media/video/gspca/gspca_ov534_9.mod.c         |   24 
+ drivers/media/video/gspca/gspca_pac207.mod.c          |   36 
+ drivers/media/video/gspca/gspca_pac7302.mod.c         |   34 
+ drivers/media/video/gspca/gspca_pac7311.mod.c         |   29 
+ drivers/media/video/gspca/gspca_sn9c2028.mod.c        |   28 
+ drivers/media/video/gspca/gspca_sn9c20x.mod.c         |   59 
+ drivers/media/video/gspca/gspca_sonixb.mod.c          |   40 
+ drivers/media/video/gspca/gspca_sonixj.mod.c          |   61 
+ drivers/media/video/gspca/gspca_spca500.mod.c         |   38 
+ drivers/media/video/gspca/gspca_spca501.mod.c         |   29 
+ drivers/media/video/gspca/gspca_spca505.mod.c         |   25 
+ drivers/media/video/gspca/gspca_spca506.mod.c         |   26 
+ drivers/media/video/gspca/gspca_spca508.mod.c         |   29 
+ drivers/media/video/gspca/gspca_spca561.mod.c         |   39 
+ drivers/media/video/gspca/gspca_sq905.mod.c           |   24 
+ drivers/media/video/gspca/gspca_sq905c.mod.c          |   27 
+ drivers/media/video/gspca/gspca_stk014.mod.c          |   24 
+ drivers/media/video/gspca/gspca_stv0680.mod.c         |   25 
+ drivers/media/video/gspca/gspca_sunplus.mod.c         |   82 
+ drivers/media/video/gspca/gspca_t613.mod.c            |   24 
+ drivers/media/video/gspca/gspca_tv8532.mod.c          |   28 
+ drivers/media/video/gspca/gspca_vc032x.mod.c          |   36 
+ drivers/media/video/gspca/gspca_xirlink_cit.mod.c     |   30 
+ drivers/media/video/gspca/gspca_zc3xx.mod.c           |   76 
+ drivers/media/video/gspca/jeilinj.c                   |   23 
+ drivers/media/video/gspca/jpeg.h                      |    4 
+ drivers/media/video/gspca/konica.c                    |  646 +++
+ drivers/media/video/gspca/m5602/gspca_m5602.mod.c     |   24 
+ drivers/media/video/gspca/m5602/m5602_bridge.h        |    1 
+ drivers/media/video/gspca/m5602/m5602_core.c          |   25 
+ drivers/media/video/gspca/m5602/m5602_mt9m111.c       |   48 
+ drivers/media/video/gspca/m5602/m5602_mt9m111.h       |   14 
+ drivers/media/video/gspca/m5602/m5602_ov7660.c        |   70 
+ drivers/media/video/gspca/m5602/m5602_ov7660.h        |    9 
+ drivers/media/video/gspca/m5602/m5602_ov9650.c        |  104 
+ drivers/media/video/gspca/m5602/m5602_ov9650.h        |   12 
+ drivers/media/video/gspca/m5602/m5602_po1030.c        |  136 
+ drivers/media/video/gspca/m5602/m5602_po1030.h        |   13 
+ drivers/media/video/gspca/m5602/m5602_s5k4aa.c        |   28 
+ drivers/media/video/gspca/m5602/m5602_s5k4aa.h        |   14 
+ drivers/media/video/gspca/m5602/m5602_s5k83a.c        |    1 
+ drivers/media/video/gspca/m5602/m5602_s5k83a.h        |   12 
+ drivers/media/video/gspca/mars.c                      |  340 -
+ drivers/media/video/gspca/mr97310a.c                  |   58 
+ drivers/media/video/gspca/ov519.c                     | 2052 +++++------
+ drivers/media/video/gspca/ov534.c                     |   69 
+ drivers/media/video/gspca/ov534_9.c                   |   22 
+ drivers/media/video/gspca/pac207.c                    |   32 
+ drivers/media/video/gspca/pac7302.c                   |   69 
+ drivers/media/video/gspca/pac7311.c                   |   67 
+ drivers/media/video/gspca/sn9c2028.c                  |   21 
+ drivers/media/video/gspca/sn9c20x.c                   |  226 -
+ drivers/media/video/gspca/sonixb.c                    |  527 +-
+ drivers/media/video/gspca/sonixj.c                    | 1450 +++----
+ drivers/media/video/gspca/spca1528.c                  |  598 +++
+ drivers/media/video/gspca/spca500.c                   |   29 
+ drivers/media/video/gspca/spca501.c                   |   18 
+ drivers/media/video/gspca/spca505.c                   |   20 
+ drivers/media/video/gspca/spca508.c                   |   18 
+ drivers/media/video/gspca/spca561.c                   |   20 
+ drivers/media/video/gspca/sq905.c                     |   23 
+ drivers/media/video/gspca/sq905c.c                    |   18 
+ drivers/media/video/gspca/sq930x.c                    | 1208 ++++++
+ drivers/media/video/gspca/stk014.c                    |  191 -
+ drivers/media/video/gspca/stv0680.c                   |   19 
+ drivers/media/video/gspca/stv06xx/gspca_stv06xx.mod.c |   29 
+ drivers/media/video/gspca/stv06xx/stv06xx.c           |   73 
+ drivers/media/video/gspca/stv06xx/stv06xx.h           |    3 
+ drivers/media/video/gspca/stv06xx/stv06xx_hdcs.c      |   19 
+ drivers/media/video/gspca/stv06xx/stv06xx_hdcs.h      |   13 
+ drivers/media/video/gspca/stv06xx/stv06xx_pb0100.c    |   18 
+ drivers/media/video/gspca/stv06xx/stv06xx_pb0100.h    |    3 
+ drivers/media/video/gspca/stv06xx/stv06xx_sensor.h    |    4 
+ drivers/media/video/gspca/stv06xx/stv06xx_st6422.c    |  291 -
+ drivers/media/video/gspca/stv06xx/stv06xx_st6422.h    |   13 
+ drivers/media/video/gspca/stv06xx/stv06xx_vv6410.c    |    2 
+ drivers/media/video/gspca/stv06xx/stv06xx_vv6410.h    |   13 
+ drivers/media/video/gspca/sunplus.c                   |   46 
+ drivers/media/video/gspca/t613.c                      |  426 +-
+ drivers/media/video/gspca/tv8532.c                    |  239 -
+ drivers/media/video/gspca/vc032x.c                    |  665 ++-
+ drivers/media/video/gspca/w996Xcf.c                   |  349 -
+ drivers/media/video/gspca/xirlink_cit.c               | 3337 ++++++++++++++++++
+ drivers/media/video/gspca/zc3xx.c                     | 2390 +++++-------
+ drivers/media/video/hdpvr/Makefile                    |    4 
+ drivers/media/video/hdpvr/hdpvr-control.c             |    5 
+ drivers/media/video/hdpvr/hdpvr-core.c                |   52 
+ drivers/media/video/hdpvr/hdpvr-i2c.c                 |  131 
+ drivers/media/video/hdpvr/hdpvr-video.c               |   15 
+ drivers/media/video/hdpvr/hdpvr.h                     |   18 
+ drivers/media/video/hdpvr/hdpvr.mod.c                 |   28 
+ drivers/media/video/hexium_gemini.c                   |   19 
+ drivers/media/video/hexium_gemini.mod.c               |   25 
+ drivers/media/video/hexium_orion.c                    |   19 
+ drivers/media/video/hexium_orion.mod.c                |   26 
+ drivers/media/video/imx074.c                          |  505 ++
+ drivers/media/video/indycam.c                         |   27 
+ drivers/media/video/ir-kbd-i2c.c                      |  153 
+ drivers/media/video/ir-kbd-i2c.mod.c                  |   23 
+ drivers/media/video/ivtv/Kconfig                      |    3 
+ drivers/media/video/ivtv/ivtv-cards.c                 |    7 
+ drivers/media/video/ivtv/ivtv-cards.h                 |    4 
+ drivers/media/video/ivtv/ivtv-controls.c              |  276 -
+ drivers/media/video/ivtv/ivtv-controls.h              |    6 
+ drivers/media/video/ivtv/ivtv-driver.c                |   68 
+ drivers/media/video/ivtv/ivtv-driver.c.orig           | 1474 +++++++
+ drivers/media/video/ivtv/ivtv-driver.h                |   22 
+ drivers/media/video/ivtv/ivtv-fileops.c               |   57 
+ drivers/media/video/ivtv/ivtv-firmware.c              |  128 
+ drivers/media/video/ivtv/ivtv-firmware.h              |    1 
+ drivers/media/video/ivtv/ivtv-gpio.c                  |   77 
+ drivers/media/video/ivtv/ivtv-i2c.c                   |  110 
+ drivers/media/video/ivtv/ivtv-ioctl.c                 |   32 
+ drivers/media/video/ivtv/ivtv-mailbox.c               |    8 
+ drivers/media/video/ivtv/ivtv-mailbox.h               |    1 
+ drivers/media/video/ivtv/ivtv-streams.c               |   35 
+ drivers/media/video/ivtv/ivtv-vbi.c                   |  113 
+ drivers/media/video/ivtv/ivtv-vbi.h                   |    5 
+ drivers/media/video/ivtv/ivtv-version.h               |    2 
+ drivers/media/video/ivtv/ivtv.mod.c                   |   25 
+ drivers/media/video/ivtv/ivtvfb.c                     |   47 
+ drivers/media/video/ivtv/ivtvfb.mod.c                 |   23 
+ drivers/media/video/ks0127.c                          |   27 
+ drivers/media/video/ks0127.mod.c                      |   26 
+ drivers/media/video/m52790.c                          |   28 
+ drivers/media/video/m52790.mod.c                      |   24 
+ drivers/media/video/mem2mem_testdev.c                 |  243 -
+ drivers/media/video/meye.c                            |   14 
+ drivers/media/video/meye.mod.c                        |   24 
+ drivers/media/video/msp3400-driver.c                  |  284 -
+ drivers/media/video/msp3400-driver.h                  |   18 
+ drivers/media/video/msp3400-kthreads.c                |   16 
+ drivers/media/video/msp3400.mod.c                     |   24 
+ drivers/media/video/mt9m001.c                         |   27 
+ drivers/media/video/mt9m001.mod.c                     |   24 
+ drivers/media/video/mt9m111.c                         |  103 
+ drivers/media/video/mt9m111.mod.c                     |   24 
+ drivers/media/video/mt9t031.c                         |   25 
+ drivers/media/video/mt9t031.mod.c                     |   24 
+ drivers/media/video/mt9t112.c                         |   26 
+ drivers/media/video/mt9t112.mod.c                     |   24 
+ drivers/media/video/mt9v011.c                         |   81 
+ drivers/media/video/mt9v011.mod.c                     |   24 
+ drivers/media/video/mt9v022.c                         |   30 
+ drivers/media/video/mt9v022.mod.c                     |   24 
+ drivers/media/video/mx1_camera.c                      |   17 
+ drivers/media/video/mx2_camera.c                      | 1525 ++++++++
+ drivers/media/video/mx3_camera.c                      |   18 
+ drivers/media/video/mxb.c                             |   27 
+ drivers/media/video/mxb.mod.c                         |   24 
+ drivers/media/video/noon010pc30.c                     |  792 ++++
+ drivers/media/video/omap/omap_vout.c                  |   11 
+ drivers/media/video/omap1_camera.c                    | 1702 +++++++++
+ drivers/media/video/omap24xxcam.c                     |   12 
+ drivers/media/video/ov2640.c                          | 1205 ++++++
+ drivers/media/video/ov6650.c                          | 1221 ++++++
+ drivers/media/video/ov7670.c                          |  228 -
+ drivers/media/video/ov7670.h                          |   20 
+ drivers/media/video/ov772x.c                          |   37 
+ drivers/media/video/ov772x.mod.c                      |   24 
+ drivers/media/video/ov9640.c                          |   41 
+ drivers/media/video/ov9640.mod.c                      |   24 
+ drivers/media/video/pms.c                             |    2 
+ drivers/media/video/pvrusb2/pvrusb2-ctrl.c            |   12 
+ drivers/media/video/pvrusb2/pvrusb2-debugifc.c        |   14 
+ drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h    |    4 
+ drivers/media/video/pvrusb2/pvrusb2-hdw.c             |   13 
+ drivers/media/video/pvrusb2/pvrusb2-i2c-core.c        |   62 
+ drivers/media/video/pvrusb2/pvrusb2-ioread.c          |    5 
+ drivers/media/video/pvrusb2/pvrusb2-sysfs.c           |    2 
+ drivers/media/video/pvrusb2/pvrusb2-v4l2.c            |    4 
+ drivers/media/video/pvrusb2/pvrusb2.mod.c             |   33 
+ drivers/media/video/pwc/Kconfig                       |    2 
+ drivers/media/video/pwc/pwc-ctrl.c                    |   27 
+ drivers/media/video/pwc/pwc-if.c                      |  104 
+ drivers/media/video/pwc/pwc-misc.c                    |    4 
+ drivers/media/video/pwc/pwc-uncompress.c              |    2 
+ drivers/media/video/pwc/pwc-v4l.c                     |  348 -
+ drivers/media/video/pwc/pwc.h                         |    7 
+ drivers/media/video/pwc/pwc.mod.c                     |   53 
+ drivers/media/video/pxa_camera.c                      |   22 
+ drivers/media/video/rj54n1cb0c.c                      |   37 
+ drivers/media/video/rj54n1cb0c.mod.c                  |   24 
+ drivers/media/video/s2255drv.c                        |  762 +---
+ drivers/media/video/s2255drv.mod.c                    |   25 
+ drivers/media/video/s5p-fimc/Makefile                 |    3 
+ drivers/media/video/s5p-fimc/fimc-capture.c           |  942 +++++
+ drivers/media/video/s5p-fimc/fimc-core.c              | 1912 ++++++++++
+ drivers/media/video/s5p-fimc/fimc-core.h              |  688 +++
+ drivers/media/video/s5p-fimc/fimc-reg.c               |  683 +++
+ drivers/media/video/s5p-fimc/regs-fimc.h              |  297 +
+ drivers/media/video/saa5246a.mod.c                    |   24 
+ drivers/media/video/saa5249.mod.c                     |   24 
+ drivers/media/video/saa6588.c                         |   43 
+ drivers/media/video/saa6588.mod.c                     |   24 
+ drivers/media/video/saa7110.c                         |  142 
+ drivers/media/video/saa7110.mod.c                     |   24 
+ drivers/media/video/saa7115.c                         |  225 -
+ drivers/media/video/saa7115.mod.c                     |   29 
+ drivers/media/video/saa7127.c                         |   27 
+ drivers/media/video/saa7127.mod.c                     |   28 
+ drivers/media/video/saa7134/Kconfig                   |   11 
+ drivers/media/video/saa7134/Makefile                  |    7 
+ drivers/media/video/saa7134/saa6752hs.c               |   27 
+ drivers/media/video/saa7134/saa6752hs.mod.c           |   24 
+ drivers/media/video/saa7134/saa7134-alsa.c            |   14 
+ drivers/media/video/saa7134/saa7134-alsa.mod.c        |   23 
+ drivers/media/video/saa7134/saa7134-cards.c           |  209 +
+ drivers/media/video/saa7134/saa7134-core.c            |   54 
+ drivers/media/video/saa7134/saa7134-dvb.c             |   86 
+ drivers/media/video/saa7134/saa7134-dvb.mod.c         |   23 
+ drivers/media/video/saa7134/saa7134-empress.c         |    5 
+ drivers/media/video/saa7134/saa7134-empress.mod.c     |   23 
+ drivers/media/video/saa7134/saa7134-i2c.c             |    1 
+ drivers/media/video/saa7134/saa7134-input.c           |  447 --
+ drivers/media/video/saa7134/saa7134-tvaudio.c         |   12 
+ drivers/media/video/saa7134/saa7134-video.c           |   42 
+ drivers/media/video/saa7134/saa7134.h                 |   44 
+ drivers/media/video/saa7134/saa7134.mod.c             |  224 +
+ drivers/media/video/saa7164/Makefile                  |    2 
+ drivers/media/video/saa7164/saa7164-api.c             | 1010 +++++
+ drivers/media/video/saa7164/saa7164-buffer.c          |  273 +
+ drivers/media/video/saa7164/saa7164-bus.c             |  137 
+ drivers/media/video/saa7164/saa7164-cards.c           |   35 
+ drivers/media/video/saa7164/saa7164-cmd.c             |   39 
+ drivers/media/video/saa7164/saa7164-core.c            |  902 ++++
+ drivers/media/video/saa7164/saa7164-dvb.c             |  109 
+ drivers/media/video/saa7164/saa7164-encoder.c         | 1510 ++++++++
+ drivers/media/video/saa7164/saa7164-fw.c              |   23 
+ drivers/media/video/saa7164/saa7164-i2c.c             |    6 
+ drivers/media/video/saa7164/saa7164-reg.h             |   57 
+ drivers/media/video/saa7164/saa7164-types.h           |  255 +
+ drivers/media/video/saa7164/saa7164-vbi.c             | 1384 +++++++
+ drivers/media/video/saa7164/saa7164.h                 |  293 +
+ drivers/media/video/saa7164/saa7164.mod.c             |   24 
+ drivers/media/video/saa717x.c                         |  350 -
+ drivers/media/video/saa717x.mod.c                     |   24 
+ drivers/media/video/saa7185.c                         |   28 
+ drivers/media/video/saa7185.mod.c                     |   24 
+ drivers/media/video/saa7191.c                         |   27 
+ drivers/media/video/se401.mod.c                       |   28 
+ drivers/media/video/sh_mobile_ceu_camera.c            |  179 
+ drivers/media/video/sh_mobile_csi2.c                  |  354 +
+ drivers/media/video/sh_vou.c                          |   83 
+ drivers/media/video/sn9c102/sn9c102_core.c            |    3 
+ drivers/media/video/sn9c102/sn9c102_devtable.h        |   74 
+ drivers/media/video/sn9c102/sn9c102_pas202bcb.c       |    1 
+ drivers/media/video/soc_camera.c                      |  323 -
+ drivers/media/video/soc_camera.mod.c                  |   23 
+ drivers/media/video/soc_camera_platform.c             |   42 
+ drivers/media/video/soc_camera_platform.mod.c         |   23 
+ drivers/media/video/soc_mediabus.c                    |    8 
+ drivers/media/video/soc_mediabus.mod.c                |   23 
+ drivers/media/video/sr030pc30.c                       |  884 ++++
+ drivers/media/video/stk-webcam.c                      |  152 
+ drivers/media/video/stkwebcam.mod.c                   |   25 
+ drivers/media/video/stradis.mod.c                     |   23 
+ drivers/media/video/tda7432.c                         |   27 
+ drivers/media/video/tda7432.mod.c                     |   24 
+ drivers/media/video/tda9840.c                         |   27 
+ drivers/media/video/tda9840.mod.c                     |   24 
+ drivers/media/video/tea6415c.c                        |   29 
+ drivers/media/video/tea6415c.mod.c                    |   24 
+ drivers/media/video/tea6420.c                         |   27 
+ drivers/media/video/tea6420.mod.c                     |   24 
+ drivers/media/video/timblogiw.c                       |  893 ++++
+ drivers/media/video/tlg2300/Kconfig                   |    4 
+ drivers/media/video/tlg2300/pd-main.c                 |   19 
+ drivers/media/video/tlg2300/pd-video.c                |   17 
+ drivers/media/video/tlv320aic23b.c                    |  100 
+ drivers/media/video/tuner-core.c                      |   40 
+ drivers/media/video/tuner.mod.c                       |   24 
+ drivers/media/video/tvaudio.c                         |   40 
+ drivers/media/video/tvaudio.mod.c                     |   24 
+ drivers/media/video/tveeprom.mod.c                    |   19 
+ drivers/media/video/tvp514x.c                         |  303 -
+ drivers/media/video/tvp5150.c                         |  188 -
+ drivers/media/video/tvp5150.mod.c                     |   24 
+ drivers/media/video/tvp7002.c                         |  253 -
+ drivers/media/video/tw9910.c                          |   28 
+ drivers/media/video/tw9910.mod.c                      |   24 
+ drivers/media/video/upd64031a.c                       |   27 
+ drivers/media/video/upd64031a.mod.c                   |   24 
+ drivers/media/video/upd64083.c                        |   27 
+ drivers/media/video/upd64083.mod.c                    |   24 
+ drivers/media/video/usbvideo/ibmcam.mod.c             |   29 
+ drivers/media/video/usbvideo/konicawc.mod.c           |   24 
+ drivers/media/video/usbvideo/ultracam.mod.c           |   24 
+ drivers/media/video/usbvideo/usbvideo.mod.c           |   19 
+ drivers/media/video/usbvideo/vicam.mod.c              |   25 
+ drivers/media/video/usbvision/usbvision-cards.c       | 1860 +++++-----
+ drivers/media/video/usbvision/usbvision-core.c        | 1641 ++++----
+ drivers/media/video/usbvision/usbvision-i2c.c         |   70 
+ drivers/media/video/usbvision/usbvision-video.c       |  632 +--
+ drivers/media/video/usbvision/usbvision.h             |  268 -
+ drivers/media/video/usbvision/usbvision.mod.c         |   88 
+ drivers/media/video/uvc/uvc_ctrl.c                    |  769 ++--
+ drivers/media/video/uvc/uvc_driver.c                  |   65 
+ drivers/media/video/uvc/uvc_isight.c                  |    2 
+ drivers/media/video/uvc/uvc_queue.c                   |  157 
+ drivers/media/video/uvc/uvc_status.c                  |    4 
+ drivers/media/video/uvc/uvc_v4l2.c                    |  317 -
+ drivers/media/video/uvc/uvc_video.c                   |   74 
+ drivers/media/video/uvc/uvcvideo.h                    |   93 
+ drivers/media/video/uvc/uvcvideo.mod.c                |   60 
+ drivers/media/video/v4l1-compat.mod.c                 |   19 
+ drivers/media/video/v4l2-common.c                     |  542 --
+ drivers/media/video/v4l2-common.mod.c                 |   19 
+ drivers/media/video/v4l2-compat-ioctl32.c             |  573 +--
+ drivers/media/video/v4l2-compat-ioctl32.mod.c         |   19 
+ drivers/media/video/v4l2-ctrls.c                      | 1873 ++++++++++
+ drivers/media/video/v4l2-dev.c                        |  208 -
+ drivers/media/video/v4l2-device.c                     |   20 
+ drivers/media/video/v4l2-event.c                      |    9 
+ drivers/media/video/v4l2-int-device.mod.c             |   19 
+ drivers/media/video/v4l2-ioctl.c                      |  607 ++-
+ drivers/media/video/v4l2-mem2mem.c                    |  230 -
+ drivers/media/video/via-camera.c                      | 1461 +++++++
+ drivers/media/video/via-camera.h                      |   93 
+ drivers/media/video/videobuf-core.c                   |  229 -
+ drivers/media/video/videobuf-core.mod.c               |   19 
+ drivers/media/video/videobuf-dma-contig.c             |   27 
+ drivers/media/video/videobuf-dma-sg.c                 |  128 
+ drivers/media/video/videobuf-dma-sg.mod.c             |   19 
+ drivers/media/video/videobuf-dvb.c                    |    2 
+ drivers/media/video/videobuf-dvb.mod.c                |   19 
+ drivers/media/video/videobuf-vmalloc.c                |   45 
+ drivers/media/video/videobuf-vmalloc.mod.c            |   19 
+ drivers/media/video/videobuf2-core.c                  | 1804 +++++++++
+ drivers/media/video/videobuf2-dma-contig.c            |  185 
+ drivers/media/video/videobuf2-dma-sg.c                |  292 +
+ drivers/media/video/videobuf2-memops.c                |  232 +
+ drivers/media/video/videobuf2-vmalloc.c               |  132 
+ drivers/media/video/videodev.mod.c                    |   23 
+ drivers/media/video/vino.c                            |    7 
+ drivers/media/video/vivi.c                            |  610 +--
+ drivers/media/video/vp27smpx.c                        |   28 
+ drivers/media/video/vp27smpx.mod.c                    |   24 
+ drivers/media/video/vpx3220.c                         |  164 
+ drivers/media/video/vpx3220.mod.c                     |   26 
+ drivers/media/video/w9966.c                           |    3 
+ drivers/media/video/w9966.mod.c                       |   23 
+ drivers/media/video/wm8739.c                          |  206 -
+ drivers/media/video/wm8739.mod.c                      |   24 
+ drivers/media/video/wm8775.c                          |  107 
+ drivers/media/video/wm8775.mod.c                      |   24 
+ drivers/media/video/zoran/videocodec.c                |    5 
+ drivers/media/video/zoran/videocodec.h                |    2 
+ drivers/media/video/zoran/videocodec.mod.c            |   23 
+ drivers/media/video/zoran/zoran.h                     |  112 
+ drivers/media/video/zoran/zoran_card.c                |   29 
+ drivers/media/video/zoran/zoran_device.c              |   16 
+ drivers/media/video/zoran/zoran_driver.c              |  359 -
+ drivers/media/video/zoran/zr36016.mod.c               |   23 
+ drivers/media/video/zoran/zr36050.c                   |    2 
+ drivers/media/video/zoran/zr36050.mod.c               |   23 
+ drivers/media/video/zoran/zr36060.c                   |    2 
+ drivers/media/video/zoran/zr36060.mod.c               |   23 
+ drivers/media/video/zoran/zr36067.mod.c               |   28 
+ drivers/media/video/zr364xx.c                         |    4 
+ drivers/media/video/zr364xx.mod.c                     |   44 
+ drivers/staging/cx25821/Kconfig                       |    5 
+ drivers/staging/cx25821/Makefile                      |   19 
+ drivers/staging/cx25821/cx25821-alsa.c                |  110 
+ drivers/staging/cx25821/cx25821-audio-upstream.c      |   89 
+ drivers/staging/cx25821/cx25821-audio-upstream.h      |    4 
+ drivers/staging/cx25821/cx25821-audio.h               |   20 
+ drivers/staging/cx25821/cx25821-cards.c               |    2 
+ drivers/staging/cx25821/cx25821-core.c                |  294 -
+ drivers/staging/cx25821/cx25821-i2c.c                 |   22 
+ drivers/staging/cx25821/cx25821-medusa-defines.h      |   15 
+ drivers/staging/cx25821/cx25821-medusa-reg.h          |   42 
+ drivers/staging/cx25821/cx25821-medusa-video.c        |   25 
+ drivers/staging/cx25821/cx25821-medusa-video.h        |    4 
+ drivers/staging/cx25821/cx25821-reg.h                 | 1844 ++++-----
+ drivers/staging/cx25821/cx25821-sram.h                |   50 
+ drivers/staging/cx25821/cx25821-video-upstream-ch2.c  |  187 -
+ drivers/staging/cx25821/cx25821-video-upstream-ch2.h  |   16 
+ drivers/staging/cx25821/cx25821-video-upstream.c      |   80 
+ drivers/staging/cx25821/cx25821-video-upstream.h      |   12 
+ drivers/staging/cx25821/cx25821-video.c               |  953 ++++-
+ drivers/staging/cx25821/cx25821-video.h               |   37 
+ drivers/staging/cx25821/cx25821.h                     |   71 
+ drivers/staging/cxd2099/Kconfig                       |   11 
+ drivers/staging/cxd2099/Makefile                      |    5 
+ drivers/staging/cxd2099/cxd2099.c                     |  574 +++
+ drivers/staging/cxd2099/cxd2099.h                     |   41 
+ drivers/staging/go7007/Kconfig                        |    5 
+ drivers/staging/go7007/Makefile                       |   10 
+ drivers/staging/go7007/go7007-driver.c                |   55 
+ drivers/staging/go7007/go7007-usb.c                   |    2 
+ drivers/staging/go7007/go7007-v4l2.c                  |   19 
+ drivers/staging/go7007/s2250-board.c                  |   34 
+ drivers/staging/go7007/wis-ov7640.c                   |    1 
+ drivers/staging/go7007/wis-saa7113.c                  |    1 
+ drivers/staging/go7007/wis-saa7115.c                  |    1 
+ drivers/staging/go7007/wis-sony-tuner.c               |    1 
+ drivers/staging/go7007/wis-tw2804.c                   |    1 
+ drivers/staging/go7007/wis-tw9903.c                   |    1 
+ drivers/staging/go7007/wis-uda1342.c                  |    1 
+ drivers/staging/lirc/Kconfig                          |   90 
+ drivers/staging/lirc/Makefile                         |   16 
+ drivers/staging/lirc/lirc_bt829.c                     |  383 ++
+ drivers/staging/lirc/lirc_bt829.mod.c                 |   25 
+ drivers/staging/lirc/lirc_ene0100.h                   |  169 
+ drivers/staging/lirc/lirc_ene0100.mod.c               |   27 
+ drivers/staging/lirc/lirc_i2c.mod.c                   |   25 
+ drivers/staging/lirc/lirc_igorplugusb.c               |  577 +++
+ drivers/staging/lirc/lirc_igorplugusb.mod.c           |   27 
+ drivers/staging/lirc/lirc_imon.c                      | 1058 +++++
+ drivers/staging/lirc/lirc_imon.mod.c                  |   29 
+ drivers/staging/lirc/lirc_it87.c                      | 1027 +++++
+ drivers/staging/lirc/lirc_it87.h                      |  116 
+ drivers/staging/lirc/lirc_it87.mod.c                  |   29 
+ drivers/staging/lirc/lirc_ite8709.c                   |  542 ++
+ drivers/staging/lirc/lirc_ite8709.mod.c               |   27 
+ drivers/staging/lirc/lirc_parallel.c                  |  690 +++
+ drivers/staging/lirc/lirc_parallel.h                  |   26 
+ drivers/staging/lirc/lirc_parallel.mod.c              |   25 
+ drivers/staging/lirc/lirc_sasem.c                     |  938 +++++
+ drivers/staging/lirc/lirc_sasem.mod.c                 |   25 
+ drivers/staging/lirc/lirc_serial.c                    | 1317 +++++++
+ drivers/staging/lirc/lirc_serial.mod.c                |   25 
+ drivers/staging/lirc/lirc_sir.c                       | 1286 ++++++
+ drivers/staging/lirc/lirc_sir.mod.c                   |   25 
+ drivers/staging/lirc/lirc_streamzap.mod.c             |   26 
+ drivers/staging/lirc/lirc_ttusbir.c                   |  396 ++
+ drivers/staging/lirc/lirc_ttusbir.mod.c               |   26 
+ drivers/staging/lirc/lirc_zilog.c                     | 1460 +++++++
+ drivers/staging/lirc/lirc_zilog.mod.c                 |   25 
+ drivers/staging/tm6000/Kconfig                        |    6 
+ drivers/staging/tm6000/Makefile                       |   18 
+ drivers/staging/tm6000/tm6000-alsa.c                  |  338 +
+ drivers/staging/tm6000/tm6000-cards.c                 |  147 
+ drivers/staging/tm6000/tm6000-core.c                  |  352 -
+ drivers/staging/tm6000/tm6000-dvb.c                   |  205 -
+ drivers/staging/tm6000/tm6000-i2c.c                   |   96 
+ drivers/staging/tm6000/tm6000-input.c                 |  458 ++
+ drivers/staging/tm6000/tm6000-regs.h                  |   32 
+ drivers/staging/tm6000/tm6000-stds.c                  |  386 +-
+ drivers/staging/tm6000/tm6000-usb-isoc.h              |   37 
+ drivers/staging/tm6000/tm6000-video.c                 |  809 ++--
+ drivers/staging/tm6000/tm6000.h                       |  145 
+ firmware/ihex2fw.c                                    |   17 
+ include/linux/dvb/frontend.h                          |    1 
+ include/linux/dvb/version.h                           |    2 
+ include/linux/i2c-id.h                                |   22 
+ include/linux/mmc/sdio_ids.h                          |    1 
+ include/linux/usb/video.h                             |  404 ++
+ include/linux/videodev2.h                             |  144 
+ include/media/bt819.h                                 |    5 
+ include/media/cx2341x.h                               |   99 
+ include/media/cx25840.h                               |   87 
+ include/media/ir-kbd-i2c.h                            |   19 
+ include/media/lirc.h                                  |  168 
+ include/media/lirc_dev.h                              |  225 +
+ include/media/mt9v011.h                               |   17 
+ include/media/noon010pc30.h                           |   28 
+ include/media/omap1_camera.h                          |   35 
+ include/media/rc-core.h                               |  223 +
+ include/media/rc-map.h                                |   63 
+ include/media/s5p_fimc.h                              |   60 
+ include/media/saa6588.h                               |   42 
+ include/media/saa7146.h                               |    4 
+ include/media/sh_mobile_ceu.h                         |    3 
+ include/media/sh_mobile_csi2.h                        |   46 
+ include/media/sh_vou.h                                |    1 
+ include/media/si4713.h                                |    3 
+ include/media/soc_camera.h                            |   17 
+ include/media/sr030pc30.h                             |   21 
+ include/media/timb_radio.h                            |    1 
+ include/media/timb_video.h                            |   33 
+ include/media/tuner.h                                 |    1 
+ include/media/v4l2-chip-ident.h                       |   12 
+ include/media/v4l2-common.h                           |   39 
+ include/media/v4l2-ctrls.h                            |  463 ++
+ include/media/v4l2-dev.h                              |   12 
+ include/media/v4l2-device.h                           |   63 
+ include/media/v4l2-ioctl.h                            |   38 
+ include/media/v4l2-mediabus.h                         |   21 
+ include/media/v4l2-mem2mem.h                          |   56 
+ include/media/v4l2-subdev.h                           |   99 
+ include/media/videobuf-core.h                         |   33 
+ include/media/videobuf-dma-contig.h                   |    3 
+ include/media/videobuf-dma-sg.h                       |   43 
+ include/media/videobuf-vmalloc.h                      |    5 
+ include/media/videobuf2-core.h                        |  380 ++
+ include/media/videobuf2-dma-contig.h                  |   29 
+ include/media/videobuf2-dma-sg.h                      |   32 
+ include/media/videobuf2-memops.h                      |   45 
+ include/media/videobuf2-vmalloc.h                     |   20 
+ 1244 files changed, 133756 insertions(+), 41408 deletions(-)
 ---
 
-Index: linux-2.6.35.x86_64/drivers/media/common/saa7146_core.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/common/saa7146_core.c
-+++ linux-2.6.35.x86_64/drivers/media/common/saa7146_core.c
+diff -Naurp linux-2.6.35/drivers/media/common/saa7146_core.c linux-2.6.35.media/drivers/media/common/saa7146_core.c
+--- linux-2.6.35/drivers/media/common/saa7146_core.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/common/saa7146_core.c	2011-01-24 22:56:29.457067325 -0500
 @@ -452,7 +452,7 @@ static int saa7146_init_one(struct pci_d
  	INFO(("found saa7146 @ mem %p (revision %d, irq %d) (0x%04x,0x%04x).\n", dev->mem, dev->revision, pci->irq, pci->subsystem_vendor, pci->subsystem_device));
  	dev->ext = ext;
@@ -1273,10 +1259,9 @@ Index: linux-2.6.35.x86_64/drivers/media/common/saa7146_core.c
  	spin_lock_init(&dev->int_slock);
  	spin_lock_init(&dev->slock);
  
-Index: linux-2.6.35.x86_64/drivers/media/common/saa7146_fops.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/common/saa7146_fops.c
-+++ linux-2.6.35.x86_64/drivers/media/common/saa7146_fops.c
+diff -Naurp linux-2.6.35/drivers/media/common/saa7146_fops.c linux-2.6.35.media/drivers/media/common/saa7146_fops.c
+--- linux-2.6.35/drivers/media/common/saa7146_fops.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/common/saa7146_fops.c	2011-01-24 22:56:29.478067348 -0500
 @@ -15,18 +15,15 @@ int saa7146_res_get(struct saa7146_fh *f
  	}
  
@@ -1336,10 +1321,9 @@ Index: linux-2.6.35.x86_64/drivers/media/common/saa7146_fops.c
  	vfd->tvnorms = 0;
  	for (i = 0; i < dev->ext_vv_data->num_stds; i++)
  		vfd->tvnorms |= dev->ext_vv_data->stds[i].id;
-Index: linux-2.6.35.x86_64/drivers/media/common/saa7146_hlp.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/common/saa7146_hlp.c
-+++ linux-2.6.35.x86_64/drivers/media/common/saa7146_hlp.c
+diff -Naurp linux-2.6.35/drivers/media/common/saa7146_hlp.c linux-2.6.35.media/drivers/media/common/saa7146_hlp.c
+--- linux-2.6.35/drivers/media/common/saa7146_hlp.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/common/saa7146_hlp.c	2011-01-24 22:56:29.508067382 -0500
 @@ -558,7 +558,7 @@ static void saa7146_set_window(struct sa
  static void saa7146_set_position(struct saa7146_dev *dev, int w_x, int w_y, int w_height, enum v4l2_field field, u32 pixelformat)
  {
@@ -1376,10 +1360,9 @@ Index: linux-2.6.35.x86_64/drivers/media/common/saa7146_hlp.c
  	struct saa7146_vv *vv = dev->vv_data;
  	u32 vdma1_prot_addr;
  
-Index: linux-2.6.35.x86_64/drivers/media/common/saa7146_i2c.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/common/saa7146_i2c.c
-+++ linux-2.6.35.x86_64/drivers/media/common/saa7146_i2c.c
+diff -Naurp linux-2.6.35/drivers/media/common/saa7146_i2c.c linux-2.6.35.media/drivers/media/common/saa7146_i2c.c
+--- linux-2.6.35/drivers/media/common/saa7146_i2c.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/common/saa7146_i2c.c	2011-01-24 22:56:29.467067335 -0500
 @@ -391,7 +391,6 @@ static int saa7146_i2c_xfer(struct i2c_a
  
  /*****************************************************************************/
@@ -1396,10 +1379,9 @@ Index: linux-2.6.35.x86_64/drivers/media/common/saa7146_i2c.c
  		i2c_adapter->timeout = SAA7146_I2C_TIMEOUT;
  		i2c_adapter->retries = SAA7146_I2C_RETRIES;
  	}
-Index: linux-2.6.35.x86_64/drivers/media/common/saa7146.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/common/saa7146.mod.c
+diff -Naurp linux-2.6.35/drivers/media/common/saa7146.mod.c linux-2.6.35.media/drivers/media/common/saa7146.mod.c
+--- linux-2.6.35/drivers/media/common/saa7146.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/common/saa7146.mod.c	2011-01-24 22:56:29.427067291 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -1420,10 +1402,9 @@ Index: linux-2.6.35.x86_64/drivers/media/common/saa7146.mod.c
 +
 +
 +MODULE_INFO(srcversion, "D5AE16BFF6E56A82EA87920");
-Index: linux-2.6.35.x86_64/drivers/media/common/saa7146_vbi.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/common/saa7146_vbi.c
-+++ linux-2.6.35.x86_64/drivers/media/common/saa7146_vbi.c
+diff -Naurp linux-2.6.35/drivers/media/common/saa7146_vbi.c linux-2.6.35.media/drivers/media/common/saa7146_vbi.c
+--- linux-2.6.35/drivers/media/common/saa7146_vbi.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/common/saa7146_vbi.c	2011-01-24 22:56:29.488067360 -0500
 @@ -375,7 +375,7 @@ static void vbi_init(struct saa7146_dev 
  
  static int vbi_open(struct saa7146_dev *dev, struct file *file)
@@ -1451,10 +1432,9 @@ Index: linux-2.6.35.x86_64/drivers/media/common/saa7146_vbi.c
  	struct saa7146_vv *vv = dev->vv_data;
  	DEB_VBI(("dev:%p, fh:%p\n",dev,fh));
  
-Index: linux-2.6.35.x86_64/drivers/media/common/saa7146_video.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/common/saa7146_video.c
-+++ linux-2.6.35.x86_64/drivers/media/common/saa7146_video.c
+diff -Naurp linux-2.6.35/drivers/media/common/saa7146_video.c linux-2.6.35.media/drivers/media/common/saa7146_video.c
+--- linux-2.6.35/drivers/media/common/saa7146_video.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/common/saa7146_video.c	2011-01-24 22:56:29.437067303 -0500
 @@ -84,7 +84,7 @@ static struct saa7146_format formats[] =
  
  static int NUM_FORMATS = sizeof(formats)/sizeof(struct saa7146_format);
@@ -1693,10 +1673,9 @@ Index: linux-2.6.35.x86_64/drivers/media/common/saa7146_video.c
  	struct saa7146_vv *vv = dev->vv_data;
  	struct videobuf_queue *q = &fh->video_q;
  	int err;
-Index: linux-2.6.35.x86_64/drivers/media/common/saa7146_vv.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/common/saa7146_vv.mod.c
+diff -Naurp linux-2.6.35/drivers/media/common/saa7146_vv.mod.c linux-2.6.35.media/drivers/media/common/saa7146_vv.mod.c
+--- linux-2.6.35/drivers/media/common/saa7146_vv.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/common/saa7146_vv.mod.c	2011-01-24 22:56:29.447067313 -0500
 @@ -0,0 +1,23 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -1721,10 +1700,9 @@ Index: linux-2.6.35.x86_64/drivers/media/common/saa7146_vv.mod.c
 +
 +
 +MODULE_INFO(srcversion, "85CEA1BD5DFF850968C5D60");
-Index: linux-2.6.35.x86_64/drivers/media/common/tuners/Kconfig
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/common/tuners/Kconfig
-+++ linux-2.6.35.x86_64/drivers/media/common/tuners/Kconfig
+diff -Naurp linux-2.6.35/drivers/media/common/tuners/Kconfig linux-2.6.35.media/drivers/media/common/tuners/Kconfig
+--- linux-2.6.35/drivers/media/common/tuners/Kconfig	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/common/tuners/Kconfig	2011-01-24 22:56:29.950067876 -0500
 @@ -31,10 +31,10 @@ config MEDIA_TUNER
  	select MEDIA_TUNER_TDA9887 if !MEDIA_TUNER_CUSTOMISE
  	select MEDIA_TUNER_MC44S803 if !MEDIA_TUNER_CUSTOMISE
@@ -1760,10 +1738,9 @@ Index: linux-2.6.35.x86_64/drivers/media/common/tuners/Kconfig
 +	help
 +	  NXP TDA18218 silicon tuner driver.
 +endmenu
-Index: linux-2.6.35.x86_64/drivers/media/common/tuners/Makefile
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/common/tuners/Makefile
-+++ linux-2.6.35.x86_64/drivers/media/common/tuners/Makefile
+diff -Naurp linux-2.6.35/drivers/media/common/tuners/Makefile linux-2.6.35.media/drivers/media/common/tuners/Makefile
+--- linux-2.6.35/drivers/media/common/tuners/Makefile	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/common/tuners/Makefile	2011-01-24 22:56:29.528067404 -0500
 @@ -24,6 +24,7 @@ obj-$(CONFIG_MEDIA_TUNER_MXL5005S) += mx
  obj-$(CONFIG_MEDIA_TUNER_MXL5007T) += mxl5007t.o
  obj-$(CONFIG_MEDIA_TUNER_MC44S803) += mc44s803.o
@@ -1772,10 +1749,9 @@ Index: linux-2.6.35.x86_64/drivers/media/common/tuners/Makefile
  
  EXTRA_CFLAGS += -Idrivers/media/dvb/dvb-core
  EXTRA_CFLAGS += -Idrivers/media/dvb/frontends
-Index: linux-2.6.35.x86_64/drivers/media/common/tuners/max2165.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/common/tuners/max2165.c
-+++ linux-2.6.35.x86_64/drivers/media/common/tuners/max2165.c
+diff -Naurp linux-2.6.35/drivers/media/common/tuners/max2165.c linux-2.6.35.media/drivers/media/common/tuners/max2165.c
+--- linux-2.6.35/drivers/media/common/tuners/max2165.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/common/tuners/max2165.c	2011-01-24 22:56:29.699067595 -0500
 @@ -52,13 +52,12 @@ static int max2165_write_reg(struct max2
  	msg.addr = priv->config->i2c_address;
  
@@ -1809,10 +1785,9 @@ Index: linux-2.6.35.x86_64/drivers/media/common/tuners/max2165.c
  			__func__, reg, b1[0]);
  	return 0;
  }
-Index: linux-2.6.35.x86_64/drivers/media/common/tuners/max2165.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/common/tuners/max2165.mod.c
+diff -Naurp linux-2.6.35/drivers/media/common/tuners/max2165.mod.c linux-2.6.35.media/drivers/media/common/tuners/max2165.mod.c
+--- linux-2.6.35/drivers/media/common/tuners/max2165.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/common/tuners/max2165.mod.c	2011-01-24 22:56:29.608067494 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -1833,10 +1808,9 @@ Index: linux-2.6.35.x86_64/drivers/media/common/tuners/max2165.mod.c
 +
 +
 +MODULE_INFO(srcversion, "F3A1CBB79EB634DE257C804");
-Index: linux-2.6.35.x86_64/drivers/media/common/tuners/mc44s803.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/common/tuners/mc44s803.mod.c
+diff -Naurp linux-2.6.35/drivers/media/common/tuners/mc44s803.mod.c linux-2.6.35.media/drivers/media/common/tuners/mc44s803.mod.c
+--- linux-2.6.35/drivers/media/common/tuners/mc44s803.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/common/tuners/mc44s803.mod.c	2011-01-24 22:56:30.185068141 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -1857,10 +1831,9 @@ Index: linux-2.6.35.x86_64/drivers/media/common/tuners/mc44s803.mod.c
 +
 +
 +MODULE_INFO(srcversion, "2D1FE7F2AEC0BEFF3418A0F");
-Index: linux-2.6.35.x86_64/drivers/media/common/tuners/mt2060.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/common/tuners/mt2060.mod.c
+diff -Naurp linux-2.6.35/drivers/media/common/tuners/mt2060.mod.c linux-2.6.35.media/drivers/media/common/tuners/mt2060.mod.c
+--- linux-2.6.35/drivers/media/common/tuners/mt2060.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/common/tuners/mt2060.mod.c	2011-01-24 22:56:29.770067675 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -1881,10 +1854,9 @@ Index: linux-2.6.35.x86_64/drivers/media/common/tuners/mt2060.mod.c
 +
 +
 +MODULE_INFO(srcversion, "9E92DDF69ECBB44D01DEC2C");
-Index: linux-2.6.35.x86_64/drivers/media/common/tuners/mt20xx.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/common/tuners/mt20xx.mod.c
+diff -Naurp linux-2.6.35/drivers/media/common/tuners/mt20xx.mod.c linux-2.6.35.media/drivers/media/common/tuners/mt20xx.mod.c
+--- linux-2.6.35/drivers/media/common/tuners/mt20xx.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/common/tuners/mt20xx.mod.c	2011-01-24 22:56:30.155068109 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -1905,10 +1877,9 @@ Index: linux-2.6.35.x86_64/drivers/media/common/tuners/mt20xx.mod.c
 +
 +
 +MODULE_INFO(srcversion, "00680932566DF3367D999D4");
-Index: linux-2.6.35.x86_64/drivers/media/common/tuners/mt2131.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/common/tuners/mt2131.mod.c
+diff -Naurp linux-2.6.35/drivers/media/common/tuners/mt2131.mod.c linux-2.6.35.media/drivers/media/common/tuners/mt2131.mod.c
+--- linux-2.6.35/drivers/media/common/tuners/mt2131.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/common/tuners/mt2131.mod.c	2011-01-24 22:56:29.598067482 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -1929,10 +1900,9 @@ Index: linux-2.6.35.x86_64/drivers/media/common/tuners/mt2131.mod.c
 +
 +
 +MODULE_INFO(srcversion, "DFEA27A43D86919E186416D");
-Index: linux-2.6.35.x86_64/drivers/media/common/tuners/mt2266.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/common/tuners/mt2266.mod.c
+diff -Naurp linux-2.6.35/drivers/media/common/tuners/mt2266.mod.c linux-2.6.35.media/drivers/media/common/tuners/mt2266.mod.c
+--- linux-2.6.35/drivers/media/common/tuners/mt2266.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/common/tuners/mt2266.mod.c	2011-01-24 22:56:29.960067888 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -1953,10 +1923,9 @@ Index: linux-2.6.35.x86_64/drivers/media/common/tuners/mt2266.mod.c
 +
 +
 +MODULE_INFO(srcversion, "E5661C0D2474764522FF66F");
-Index: linux-2.6.35.x86_64/drivers/media/common/tuners/mxl5005s.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/common/tuners/mxl5005s.mod.c
+diff -Naurp linux-2.6.35/drivers/media/common/tuners/mxl5005s.mod.c linux-2.6.35.media/drivers/media/common/tuners/mxl5005s.mod.c
+--- linux-2.6.35/drivers/media/common/tuners/mxl5005s.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/common/tuners/mxl5005s.mod.c	2011-01-24 22:56:30.092068037 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -1977,10 +1946,9 @@ Index: linux-2.6.35.x86_64/drivers/media/common/tuners/mxl5005s.mod.c
 +
 +
 +MODULE_INFO(srcversion, "E3884430B2CD6E5FDE81781");
-Index: linux-2.6.35.x86_64/drivers/media/common/tuners/mxl5007t.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/common/tuners/mxl5007t.mod.c
+diff -Naurp linux-2.6.35/drivers/media/common/tuners/mxl5007t.mod.c linux-2.6.35.media/drivers/media/common/tuners/mxl5007t.mod.c
+--- linux-2.6.35/drivers/media/common/tuners/mxl5007t.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/common/tuners/mxl5007t.mod.c	2011-01-24 22:56:29.990067922 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -2001,10 +1969,9 @@ Index: linux-2.6.35.x86_64/drivers/media/common/tuners/mxl5007t.mod.c
 +
 +
 +MODULE_INFO(srcversion, "7293FD8A130A8CDDCC173AD");
-Index: linux-2.6.35.x86_64/drivers/media/common/tuners/qt1010.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/common/tuners/qt1010.mod.c
+diff -Naurp linux-2.6.35/drivers/media/common/tuners/qt1010.mod.c linux-2.6.35.media/drivers/media/common/tuners/qt1010.mod.c
+--- linux-2.6.35/drivers/media/common/tuners/qt1010.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/common/tuners/qt1010.mod.c	2011-01-24 22:56:29.871067788 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -2025,10 +1992,9 @@ Index: linux-2.6.35.x86_64/drivers/media/common/tuners/qt1010.mod.c
 +
 +
 +MODULE_INFO(srcversion, "2FBD525E73187CF9DB2AB03");
-Index: linux-2.6.35.x86_64/drivers/media/common/tuners/tda18218.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/common/tuners/tda18218.c
+diff -Naurp linux-2.6.35/drivers/media/common/tuners/tda18218.c linux-2.6.35.media/drivers/media/common/tuners/tda18218.c
+--- linux-2.6.35/drivers/media/common/tuners/tda18218.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/common/tuners/tda18218.c	2011-01-24 22:56:29.940067866 -0500
 @@ -0,0 +1,334 @@
 +/*
 + * NXP TDA18218HN silicon tuner driver
@@ -2364,10 +2330,9 @@ Index: linux-2.6.35.x86_64/drivers/media/common/tuners/tda18218.c
 +MODULE_DESCRIPTION("NXP TDA18218HN silicon tuner driver");
 +MODULE_AUTHOR("Antti Palosaari <crope at iki.fi>");
 +MODULE_LICENSE("GPL");
-Index: linux-2.6.35.x86_64/drivers/media/common/tuners/tda18218.h
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/common/tuners/tda18218.h
+diff -Naurp linux-2.6.35/drivers/media/common/tuners/tda18218.h linux-2.6.35.media/drivers/media/common/tuners/tda18218.h
+--- linux-2.6.35/drivers/media/common/tuners/tda18218.h	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/common/tuners/tda18218.h	2011-01-24 22:56:30.144068095 -0500
 @@ -0,0 +1,45 @@
 +/*
 + * NXP TDA18218HN silicon tuner driver
@@ -2414,10 +2379,9 @@ Index: linux-2.6.35.x86_64/drivers/media/common/tuners/tda18218.h
 +#endif
 +
 +#endif
-Index: linux-2.6.35.x86_64/drivers/media/common/tuners/tda18218.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/common/tuners/tda18218.mod.c
+diff -Naurp linux-2.6.35/drivers/media/common/tuners/tda18218.mod.c linux-2.6.35.media/drivers/media/common/tuners/tda18218.mod.c
+--- linux-2.6.35/drivers/media/common/tuners/tda18218.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/common/tuners/tda18218.mod.c	2011-01-24 22:56:29.689067585 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -2438,10 +2402,9 @@ Index: linux-2.6.35.x86_64/drivers/media/common/tuners/tda18218.mod.c
 +
 +
 +MODULE_INFO(srcversion, "F4DF7F1DBB4A0C17CE2773D");
-Index: linux-2.6.35.x86_64/drivers/media/common/tuners/tda18218_priv.h
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/common/tuners/tda18218_priv.h
+diff -Naurp linux-2.6.35/drivers/media/common/tuners/tda18218_priv.h linux-2.6.35.media/drivers/media/common/tuners/tda18218_priv.h
+--- linux-2.6.35/drivers/media/common/tuners/tda18218_priv.h	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/common/tuners/tda18218_priv.h	2011-01-24 22:56:29.910067832 -0500
 @@ -0,0 +1,106 @@
 +/*
 + * NXP TDA18218HN silicon tuner driver
@@ -2549,10 +2512,9 @@ Index: linux-2.6.35.x86_64/drivers/media/common/tuners/tda18218_priv.h
 +};
 +
 +#endif
-Index: linux-2.6.35.x86_64/drivers/media/common/tuners/tda18271-common.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/common/tuners/tda18271-common.c
-+++ linux-2.6.35.x86_64/drivers/media/common/tuners/tda18271-common.c
+diff -Naurp linux-2.6.35/drivers/media/common/tuners/tda18271-common.c linux-2.6.35.media/drivers/media/common/tuners/tda18271-common.c
+--- linux-2.6.35/drivers/media/common/tuners/tda18271-common.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/common/tuners/tda18271-common.c	2011-01-24 22:56:29.830067742 -0500
 @@ -193,25 +193,51 @@ int tda18271_write_regs(struct dvb_front
  	unsigned char *regs = priv->tda18271_regs;
  	unsigned char buf[TDA18271_NUM_REGS + 1];
@@ -2640,10 +2602,9 @@ Index: linux-2.6.35.x86_64/drivers/media/common/tuners/tda18271-common.c
  
  	/* setup agc1 gain */
  	regs[R_EB17] = 0x00;
-Index: linux-2.6.35.x86_64/drivers/media/common/tuners/tda18271-fe.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/common/tuners/tda18271-fe.c
-+++ linux-2.6.35.x86_64/drivers/media/common/tuners/tda18271-fe.c
+diff -Naurp linux-2.6.35/drivers/media/common/tuners/tda18271-fe.c linux-2.6.35.media/drivers/media/common/tuners/tda18271-fe.c
+--- linux-2.6.35/drivers/media/common/tuners/tda18271-fe.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/common/tuners/tda18271-fe.c	2011-01-24 22:56:29.780067686 -0500
 @@ -1156,7 +1156,6 @@ static int tda18271_get_id(struct dvb_fr
  	struct tda18271_priv *priv = fe->tuner_priv;
  	unsigned char *regs = priv->tda18271_regs;
@@ -2701,10 +2662,9 @@ Index: linux-2.6.35.x86_64/drivers/media/common/tuners/tda18271-fe.c
  			goto fail;
  
  		mutex_lock(&priv->lock);
-Index: linux-2.6.35.x86_64/drivers/media/common/tuners/tda18271.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/common/tuners/tda18271.h
-+++ linux-2.6.35.x86_64/drivers/media/common/tuners/tda18271.h
+diff -Naurp linux-2.6.35/drivers/media/common/tuners/tda18271.h linux-2.6.35.media/drivers/media/common/tuners/tda18271.h
+--- linux-2.6.35/drivers/media/common/tuners/tda18271.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/common/tuners/tda18271.h	2011-01-24 22:56:29.880067798 -0500
 @@ -80,8 +80,9 @@ enum tda18271_output_options {
  
  enum tda18271_small_i2c {
@@ -2717,10 +2677,9 @@ Index: linux-2.6.35.x86_64/drivers/media/common/tuners/tda18271.h
  };
  
  struct tda18271_config {
-Index: linux-2.6.35.x86_64/drivers/media/common/tuners/tda18271.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/common/tuners/tda18271.mod.c
+diff -Naurp linux-2.6.35/drivers/media/common/tuners/tda18271.mod.c linux-2.6.35.media/drivers/media/common/tuners/tda18271.mod.c
+--- linux-2.6.35/drivers/media/common/tuners/tda18271.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/common/tuners/tda18271.mod.c	2011-01-24 22:56:29.628067516 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -2741,10 +2700,9 @@ Index: linux-2.6.35.x86_64/drivers/media/common/tuners/tda18271.mod.c
 +
 +
 +MODULE_INFO(srcversion, "AC600BE2F67A5CE87D73809");
-Index: linux-2.6.35.x86_64/drivers/media/common/tuners/tda827x.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/common/tuners/tda827x.mod.c
+diff -Naurp linux-2.6.35/drivers/media/common/tuners/tda827x.mod.c linux-2.6.35.media/drivers/media/common/tuners/tda827x.mod.c
+--- linux-2.6.35/drivers/media/common/tuners/tda827x.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/common/tuners/tda827x.mod.c	2011-01-24 22:56:29.729067629 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -2765,10 +2723,9 @@ Index: linux-2.6.35.x86_64/drivers/media/common/tuners/tda827x.mod.c
 +
 +
 +MODULE_INFO(srcversion, "B7B6F44A7BEB9DDB5388A3E");
-Index: linux-2.6.35.x86_64/drivers/media/common/tuners/tda8290.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/common/tuners/tda8290.c
-+++ linux-2.6.35.x86_64/drivers/media/common/tuners/tda8290.c
+diff -Naurp linux-2.6.35/drivers/media/common/tuners/tda8290.c linux-2.6.35.media/drivers/media/common/tuners/tda8290.c
+--- linux-2.6.35/drivers/media/common/tuners/tda8290.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/common/tuners/tda8290.c	2011-01-24 22:56:30.227068189 -0500
 @@ -95,8 +95,7 @@ static int tda8295_i2c_bridge(struct dvb
  		msleep(20);
  	} else {
@@ -3047,10 +3004,9 @@ Index: linux-2.6.35.x86_64/drivers/media/common/tuners/tda8290.c
  		if (data == 0x7b) {
  			return 0;
  		}
-Index: linux-2.6.35.x86_64/drivers/media/common/tuners/tda8290.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/common/tuners/tda8290.mod.c
+diff -Naurp linux-2.6.35/drivers/media/common/tuners/tda8290.mod.c linux-2.6.35.media/drivers/media/common/tuners/tda8290.mod.c
+--- linux-2.6.35/drivers/media/common/tuners/tda8290.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/common/tuners/tda8290.mod.c	2011-01-24 22:56:29.618067504 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -3071,10 +3027,9 @@ Index: linux-2.6.35.x86_64/drivers/media/common/tuners/tda8290.mod.c
 +
 +
 +MODULE_INFO(srcversion, "66E6C54782976BF60D7B9CE");
-Index: linux-2.6.35.x86_64/drivers/media/common/tuners/tda9887.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/common/tuners/tda9887.mod.c
+diff -Naurp linux-2.6.35/drivers/media/common/tuners/tda9887.mod.c linux-2.6.35.media/drivers/media/common/tuners/tda9887.mod.c
+--- linux-2.6.35/drivers/media/common/tuners/tda9887.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/common/tuners/tda9887.mod.c	2011-01-24 22:56:29.558067438 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -3095,10 +3050,9 @@ Index: linux-2.6.35.x86_64/drivers/media/common/tuners/tda9887.mod.c
 +
 +
 +MODULE_INFO(srcversion, "CBF38CE70325CED40B8FB49");
-Index: linux-2.6.35.x86_64/drivers/media/common/tuners/tea5761.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/common/tuners/tea5761.mod.c
+diff -Naurp linux-2.6.35/drivers/media/common/tuners/tea5761.mod.c linux-2.6.35.media/drivers/media/common/tuners/tea5761.mod.c
+--- linux-2.6.35/drivers/media/common/tuners/tea5761.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/common/tuners/tea5761.mod.c	2011-01-24 22:56:29.518067392 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -3119,10 +3073,9 @@ Index: linux-2.6.35.x86_64/drivers/media/common/tuners/tea5761.mod.c
 +
 +
 +MODULE_INFO(srcversion, "C7954FA7B85E75F659DC6D5");
-Index: linux-2.6.35.x86_64/drivers/media/common/tuners/tea5767.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/common/tuners/tea5767.mod.c
+diff -Naurp linux-2.6.35/drivers/media/common/tuners/tea5767.mod.c linux-2.6.35.media/drivers/media/common/tuners/tea5767.mod.c
+--- linux-2.6.35/drivers/media/common/tuners/tea5767.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/common/tuners/tea5767.mod.c	2011-01-24 22:56:29.669067561 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -3143,10 +3096,9 @@ Index: linux-2.6.35.x86_64/drivers/media/common/tuners/tea5767.mod.c
 +
 +
 +MODULE_INFO(srcversion, "8798151416A0A45DA8DED17");
-Index: linux-2.6.35.x86_64/drivers/media/common/tuners/tuner-simple.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/common/tuners/tuner-simple.c
-+++ linux-2.6.35.x86_64/drivers/media/common/tuners/tuner-simple.c
+diff -Naurp linux-2.6.35/drivers/media/common/tuners/tuner-simple.c linux-2.6.35.media/drivers/media/common/tuners/tuner-simple.c
+--- linux-2.6.35/drivers/media/common/tuners/tuner-simple.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/common/tuners/tuner-simple.c	2011-01-24 22:56:30.010067944 -0500
 @@ -546,14 +546,11 @@ static int simple_set_tv_freq(struct dvb
  	struct tuner_simple_priv *priv = fe->tuner_priv;
  	u8 config, cb;
@@ -3162,10 +3114,9 @@ Index: linux-2.6.35.x86_64/drivers/media/common/tuners/tuner-simple.c
  	/* IFPCoff = Video Intermediate Frequency - Vif:
  		940  =16*58.75  NTSC/J (Japan)
  		732  =16*45.75  M/N STD
-Index: linux-2.6.35.x86_64/drivers/media/common/tuners/tuner-simple.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/common/tuners/tuner-simple.mod.c
+diff -Naurp linux-2.6.35/drivers/media/common/tuners/tuner-simple.mod.c linux-2.6.35.media/drivers/media/common/tuners/tuner-simple.mod.c
+--- linux-2.6.35/drivers/media/common/tuners/tuner-simple.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/common/tuners/tuner-simple.mod.c	2011-01-24 22:56:29.860067776 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -3186,10 +3137,47 @@ Index: linux-2.6.35.x86_64/drivers/media/common/tuners/tuner-simple.mod.c
 +
 +
 +MODULE_INFO(srcversion, "CCFB295BA009513BBDD9125");
-Index: linux-2.6.35.x86_64/drivers/media/common/tuners/tuner-types.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/common/tuners/tuner-types.mod.c
+diff -Naurp linux-2.6.35/drivers/media/common/tuners/tuner-types.c linux-2.6.35.media/drivers/media/common/tuners/tuner-types.c
+--- linux-2.6.35/drivers/media/common/tuners/tuner-types.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/common/tuners/tuner-types.c	2011-01-24 22:56:30.021067956 -0500
+@@ -971,6 +971,22 @@ static struct tuner_params tuner_tena_95
+ 	},
+ };
+ 
++/* ------------ TUNER_TENA_TNF_5337 - Tena tnf5337MFD STD M/N ------------ */
++
++static struct tuner_range tuner_tena_tnf_5337_ntsc_ranges[] = {
++	{ 16 * 166.25 /*MHz*/, 0x86, 0x01, },
++	{ 16 * 466.25 /*MHz*/, 0x86, 0x02, },
++	{ 16 * 999.99        , 0x86, 0x08, },
++};
++
++static struct tuner_params tuner_tena_tnf_5337_params[] = {
++	{
++		.type   = TUNER_PARAM_TYPE_NTSC,
++		.ranges = tuner_tena_tnf_5337_ntsc_ranges,
++		.count  = ARRAY_SIZE(tuner_tena_tnf_5337_ntsc_ranges),
++	},
++};
++
+ /* ------------ TUNER_PHILIPS_FMD1216ME(X)_MK3 - Philips PAL ------------ */
+ 
+ static struct tuner_range tuner_philips_fmd1216me_mk3_pal_ranges[] = {
+@@ -1842,6 +1858,11 @@ struct tunertype tuners[] = {
+ 		.params = tuner_philips_fq1236_mk5_params,
+ 		.count  = ARRAY_SIZE(tuner_philips_fq1236_mk5_params),
+ 	},
++	[TUNER_TENA_TNF_5337] = { /* Tena 5337 MFD */
++		.name   = "Tena TNF5337 MFD",
++		.params = tuner_tena_tnf_5337_params,
++		.count  = ARRAY_SIZE(tuner_tena_tnf_5337_params),
++	},
+ };
+ EXPORT_SYMBOL(tuners);
+ 
+diff -Naurp linux-2.6.35/drivers/media/common/tuners/tuner-types.mod.c linux-2.6.35.media/drivers/media/common/tuners/tuner-types.mod.c
+--- linux-2.6.35/drivers/media/common/tuners/tuner-types.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/common/tuners/tuner-types.mod.c	2011-01-24 22:56:30.051067990 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -3210,10 +3198,9 @@ Index: linux-2.6.35.x86_64/drivers/media/common/tuners/tuner-types.mod.c
 +
 +
 +MODULE_INFO(srcversion, "A601281F16B280EDA115735");
-Index: linux-2.6.35.x86_64/drivers/media/common/tuners/tuner-xc2028.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/common/tuners/tuner-xc2028.mod.c
+diff -Naurp linux-2.6.35/drivers/media/common/tuners/tuner-xc2028.mod.c linux-2.6.35.media/drivers/media/common/tuners/tuner-xc2028.mod.c
+--- linux-2.6.35/drivers/media/common/tuners/tuner-xc2028.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/common/tuners/tuner-xc2028.mod.c	2011-01-24 22:56:29.810067720 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -3234,10 +3221,9 @@ Index: linux-2.6.35.x86_64/drivers/media/common/tuners/tuner-xc2028.mod.c
 +
 +
 +MODULE_INFO(srcversion, "F6E1B4E55371AE10656F1F7");
-Index: linux-2.6.35.x86_64/drivers/media/common/tuners/xc5000.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/common/tuners/xc5000.c
-+++ linux-2.6.35.x86_64/drivers/media/common/tuners/xc5000.c
+diff -Naurp linux-2.6.35/drivers/media/common/tuners/xc5000.c linux-2.6.35.media/drivers/media/common/tuners/xc5000.c
+--- linux-2.6.35/drivers/media/common/tuners/xc5000.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/common/tuners/xc5000.c	2011-01-24 22:56:30.134068085 -0500
 @@ -217,6 +217,7 @@ static int xc_send_i2c_data(struct xc500
  	return XC_RESULT_SUCCESS;
  }
@@ -3336,10 +3322,9 @@ Index: linux-2.6.35.x86_64/drivers/media/common/tuners/xc5000.c
  {
  	struct xc5000_priv *priv = NULL;
  	int instance;
-Index: linux-2.6.35.x86_64/drivers/media/common/tuners/xc5000.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/common/tuners/xc5000.h
-+++ linux-2.6.35.x86_64/drivers/media/common/tuners/xc5000.h
+diff -Naurp linux-2.6.35/drivers/media/common/tuners/xc5000.h linux-2.6.35.media/drivers/media/common/tuners/xc5000.h
+--- linux-2.6.35/drivers/media/common/tuners/xc5000.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/common/tuners/xc5000.h	2011-01-24 22:56:29.659067551 -0500
 @@ -53,11 +53,11 @@ struct xc5000_config {
      (defined(CONFIG_MEDIA_TUNER_XC5000_MODULE) && defined(MODULE))
  extern struct dvb_frontend *xc5000_attach(struct dvb_frontend *fe,
@@ -3354,10 +3339,9 @@ Index: linux-2.6.35.x86_64/drivers/media/common/tuners/xc5000.h
  {
  	printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
  	return NULL;
-Index: linux-2.6.35.x86_64/drivers/media/common/tuners/xc5000.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/common/tuners/xc5000.mod.c
+diff -Naurp linux-2.6.35/drivers/media/common/tuners/xc5000.mod.c linux-2.6.35.media/drivers/media/common/tuners/xc5000.mod.c
+--- linux-2.6.35/drivers/media/common/tuners/xc5000.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/common/tuners/xc5000.mod.c	2011-01-24 22:56:29.709067607 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -3378,10 +3362,9 @@ Index: linux-2.6.35.x86_64/drivers/media/common/tuners/xc5000.mod.c
 +
 +
 +MODULE_INFO(srcversion, "6BC3C0991D07492DA8D621E");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/b2c2/b2c2-flexcop.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/b2c2/b2c2-flexcop.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/b2c2/b2c2-flexcop.mod.c linux-2.6.35.media/drivers/media/dvb/b2c2/b2c2-flexcop.mod.c
+--- linux-2.6.35/drivers/media/dvb/b2c2/b2c2-flexcop.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/b2c2/b2c2-flexcop.mod.c	2011-01-24 22:56:43.668084564 -0500
 @@ -0,0 +1,23 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -3406,10 +3389,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/b2c2/b2c2-flexcop.mod.c
 +
 +
 +MODULE_INFO(srcversion, "04C668AC1130FF9A917676D");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/b2c2/b2c2-flexcop-pci.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/b2c2/b2c2-flexcop-pci.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/b2c2/b2c2-flexcop-pci.mod.c linux-2.6.35.media/drivers/media/dvb/b2c2/b2c2-flexcop-pci.mod.c
+--- linux-2.6.35/drivers/media/dvb/b2c2/b2c2-flexcop-pci.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/b2c2/b2c2-flexcop-pci.mod.c	2011-01-24 22:56:43.772084702 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -3435,10 +3417,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/b2c2/b2c2-flexcop-pci.mod.c
 +MODULE_ALIAS("pci:v000013D0d00002103sv*sd*bc*sc*i*");
 +
 +MODULE_INFO(srcversion, "C89F084CB016995D38C71FA");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/b2c2/b2c2-flexcop-usb.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/b2c2/b2c2-flexcop-usb.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/b2c2/b2c2-flexcop-usb.mod.c linux-2.6.35.media/drivers/media/dvb/b2c2/b2c2-flexcop-usb.mod.c
+--- linux-2.6.35/drivers/media/dvb/b2c2/b2c2-flexcop-usb.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/b2c2/b2c2-flexcop-usb.mod.c	2011-01-24 22:56:43.867084824 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -3464,10 +3445,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/b2c2/b2c2-flexcop-usb.mod.c
 +MODULE_ALIAS("usb:v0AF7p0101d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "95EAA3C8CB9322A3032F4F1");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/b2c2/flexcop-i2c.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/b2c2/flexcop-i2c.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/b2c2/flexcop-i2c.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/b2c2/flexcop-i2c.c linux-2.6.35.media/drivers/media/dvb/b2c2/flexcop-i2c.c
+--- linux-2.6.35/drivers/media/dvb/b2c2/flexcop-i2c.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/b2c2/flexcop-i2c.c	2011-01-24 22:56:43.709084618 -0500
 @@ -245,9 +245,6 @@ int flexcop_i2c_init(struct flexcop_devi
  	i2c_set_adapdata(&fc->fc_i2c_adap[1].i2c_adap, &fc->fc_i2c_adap[1]);
  	i2c_set_adapdata(&fc->fc_i2c_adap[2].i2c_adap, &fc->fc_i2c_adap[2]);
@@ -3478,10 +3458,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/b2c2/flexcop-i2c.c
  	fc->fc_i2c_adap[0].i2c_adap.algo =
  		fc->fc_i2c_adap[1].i2c_adap.algo =
  		fc->fc_i2c_adap[2].i2c_adap.algo = &flexcop_algo;
-Index: linux-2.6.35.x86_64/drivers/media/dvb/bt8xx/bt878.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/bt8xx/bt878.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/bt8xx/bt878.mod.c linux-2.6.35.media/drivers/media/dvb/bt8xx/bt878.mod.c
+--- linux-2.6.35/drivers/media/dvb/bt8xx/bt878.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/bt8xx/bt878.mod.c	2011-01-24 22:56:40.512080508 -0500
 @@ -0,0 +1,35 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -3518,10 +3497,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/bt8xx/bt878.mod.c
 +MODULE_ALIAS("pci:v0000109Ed00000878sv00001822sd00000026bc*sc*i*");
 +
 +MODULE_INFO(srcversion, "C50D30D2F665FF9BA9DFE0E");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/bt8xx/dst.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/bt8xx/dst.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/bt8xx/dst.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/bt8xx/dst.c linux-2.6.35.media/drivers/media/dvb/bt8xx/dst.c
+--- linux-2.6.35/drivers/media/dvb/bt8xx/dst.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/bt8xx/dst.c	2011-01-24 22:56:40.502080496 -0500
 @@ -1763,7 +1763,15 @@ static struct dvb_frontend_ops dst_dvbt_
  		.frequency_min = 137000000,
  		.frequency_max = 858000000,
@@ -3539,10 +3517,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/bt8xx/dst.c
  	},
  
  	.release = dst_release,
-Index: linux-2.6.35.x86_64/drivers/media/dvb/bt8xx/dst_ca.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/bt8xx/dst_ca.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/bt8xx/dst_ca.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/bt8xx/dst_ca.c linux-2.6.35.media/drivers/media/dvb/bt8xx/dst_ca.c
+--- linux-2.6.35/drivers/media/dvb/bt8xx/dst_ca.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/bt8xx/dst_ca.c	2011-01-24 22:56:40.481080468 -0500
 @@ -22,7 +22,7 @@
  #include <linux/module.h>
  #include <linux/slab.h>
@@ -3590,10 +3567,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/bt8xx/dst_ca.c
  };
  
  static struct dvb_device dvbdev_ca = {
-Index: linux-2.6.35.x86_64/drivers/media/dvb/bt8xx/dst_ca.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/bt8xx/dst_ca.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/bt8xx/dst_ca.mod.c linux-2.6.35.media/drivers/media/dvb/bt8xx/dst_ca.mod.c
+--- linux-2.6.35/drivers/media/dvb/bt8xx/dst_ca.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/bt8xx/dst_ca.mod.c	2011-01-24 22:56:40.451080431 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -3614,10 +3590,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/bt8xx/dst_ca.mod.c
 +
 +
 +MODULE_INFO(srcversion, "A2199072520DF71419E5A54");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/bt8xx/dst.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/bt8xx/dst.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/bt8xx/dst.mod.c linux-2.6.35.media/drivers/media/dvb/bt8xx/dst.mod.c
+--- linux-2.6.35/drivers/media/dvb/bt8xx/dst.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/bt8xx/dst.mod.c	2011-01-24 22:56:40.379080340 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -3638,10 +3613,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/bt8xx/dst.mod.c
 +
 +
 +MODULE_INFO(srcversion, "B63EDFC069B006AA760E983");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/bt8xx/dvb-bt8xx.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/bt8xx/dvb-bt8xx.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/bt8xx/dvb-bt8xx.mod.c linux-2.6.35.media/drivers/media/dvb/bt8xx/dvb-bt8xx.mod.c
+--- linux-2.6.35/drivers/media/dvb/bt8xx/dvb-bt8xx.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/bt8xx/dvb-bt8xx.mod.c	2011-01-24 22:56:40.390080354 -0500
 @@ -0,0 +1,23 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -3666,10 +3640,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/bt8xx/dvb-bt8xx.mod.c
 +
 +
 +MODULE_INFO(srcversion, "0845AFCF52024AC5609AED7");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dm1105/dm1105.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/dm1105/dm1105.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dm1105/dm1105.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dm1105/dm1105.c linux-2.6.35.media/drivers/media/dvb/dm1105/dm1105.c
+--- linux-2.6.35/drivers/media/dvb/dm1105/dm1105.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/dm1105/dm1105.c	2011-01-24 22:56:40.646080677 -0500
 @@ -26,9 +26,8 @@
  #include <linux/proc_fs.h>
  #include <linux/pci.h>
@@ -3773,10 +3746,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dm1105/dm1105.c
  	dev->i2c_adap.dev.parent = &pdev->dev;
  	dev->i2c_adap.algo = &dm1105_algo;
  	dev->i2c_adap.algo_data = dev;
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dm1105/dm1105.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dm1105/dm1105.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dm1105/dm1105.mod.c linux-2.6.35.media/drivers/media/dvb/dm1105/dm1105.mod.c
+--- linux-2.6.35/drivers/media/dvb/dm1105/dm1105.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/dm1105/dm1105.mod.c	2011-01-24 22:56:40.656080690 -0500
 @@ -0,0 +1,25 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -3803,10 +3775,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dm1105/dm1105.mod.c
 +MODULE_ALIAS("pci:v0000195Dd00001105sv*sd*bc*sc*i*");
 +
 +MODULE_INFO(srcversion, "9B62282FC360DA7767A4A21");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dm1105/Kconfig
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/dm1105/Kconfig
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dm1105/Kconfig
+diff -Naurp linux-2.6.35/drivers/media/dvb/dm1105/Kconfig linux-2.6.35.media/drivers/media/dvb/dm1105/Kconfig
+--- linux-2.6.35/drivers/media/dvb/dm1105/Kconfig	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/dm1105/Kconfig	2011-01-24 22:56:40.666080704 -0500
 @@ -1,7 +1,6 @@
  config DVB_DM1105
  	tristate "SDMC DM1105 based PCI cards"
@@ -3824,10 +3795,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dm1105/Kconfig
  	help
  	  Support for cards based on the SDMC DM1105 PCI chip like
  	  DvbWorld 2002
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-core/dmxdev.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/dvb-core/dmxdev.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-core/dmxdev.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-core/dmxdev.c linux-2.6.35.media/drivers/media/dvb/dvb-core/dmxdev.c
+--- linux-2.6.35/drivers/media/dvb/dvb-core/dmxdev.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/dvb-core/dmxdev.c	2011-01-24 22:56:40.133080028 -0500
 @@ -25,7 +25,6 @@
  #include <linux/slab.h>
  #include <linux/vmalloc.h>
@@ -3907,10 +3877,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-core/dmxdev.c
  };
  
  static struct dvb_device dvbdev_dvr = {
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-core/dvb_ca_en50221.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/dvb-core/dvb_ca_en50221.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-core/dvb_ca_en50221.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-core/dvb_ca_en50221.c linux-2.6.35.media/drivers/media/dvb/dvb-core/dvb_ca_en50221.c
+--- linux-2.6.35/drivers/media/dvb/dvb-core/dvb_ca_en50221.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/dvb-core/dvb_ca_en50221.c	2011-01-24 22:56:40.268080199 -0500
 @@ -36,7 +36,6 @@
  #include <linux/delay.h>
  #include <linux/spinlock.h>
@@ -3968,10 +3937,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-core/dvb_ca_en50221.c
  };
  
  static struct dvb_device dvbdev_ca = {
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-core/dvb-core.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-core/dvb-core.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-core/dvb-core.mod.c linux-2.6.35.media/drivers/media/dvb/dvb-core/dvb-core.mod.c
+--- linux-2.6.35/drivers/media/dvb/dvb-core/dvb-core.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/dvb-core/dvb-core.mod.c	2011-01-24 22:56:40.103079991 -0500
 @@ -0,0 +1,23 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -3996,10 +3964,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-core/dvb-core.mod.c
 +
 +
 +MODULE_INFO(srcversion, "CF8CFB6B2257789859AF5BD");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-core/dvb_demux.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/dvb-core/dvb_demux.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-core/dvb_demux.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-core/dvb_demux.c linux-2.6.35.media/drivers/media/dvb/dvb-core/dvb_demux.c
+--- linux-2.6.35/drivers/media/dvb/dvb-core/dvb_demux.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/dvb-core/dvb_demux.c	2011-01-24 22:56:40.175080081 -0500
 @@ -1130,13 +1130,9 @@ static int dvbdmx_write(struct dmx_demux
  	if ((!demux->frontend) || (demux->frontend->source != DMX_MEMORY_FE))
  		return -EINVAL;
@@ -4017,10 +3984,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-core/dvb_demux.c
  	if (mutex_lock_interruptible(&dvbdemux->mutex)) {
  		kfree(p);
  		return -ERESTARTSYS;
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-core/dvbdev.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/dvb-core/dvbdev.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-core/dvbdev.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-core/dvbdev.c linux-2.6.35.media/drivers/media/dvb/dvb-core/dvbdev.c
+--- linux-2.6.35/drivers/media/dvb/dvb-core/dvbdev.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/dvb-core/dvbdev.c	2011-01-24 22:56:40.247080172 -0500
 @@ -32,9 +32,9 @@
  #include <linux/fs.h>
  #include <linux/cdev.h>
@@ -4096,10 +4062,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-core/dvbdev.c
  
  	if (err < 0)
  		goto out;
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-core/dvb_frontend.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/dvb-core/dvb_frontend.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-core/dvb_frontend.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-core/dvb_frontend.c linux-2.6.35.media/drivers/media/dvb/dvb-core/dvb_frontend.c
+--- linux-2.6.35/drivers/media/dvb/dvb-core/dvb_frontend.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/dvb-core/dvb_frontend.c	2011-01-24 22:56:40.236080159 -0500
 @@ -36,7 +36,6 @@
  #include <linux/list.h>
  #include <linux/freezer.h>
@@ -4181,10 +4146,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-core/dvb_frontend.c
  	init_waitqueue_head (&fepriv->wait_queue);
  	init_waitqueue_head (&fepriv->events.wait_queue);
  	mutex_init(&fepriv->events.mtx);
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-core/dvb_frontend.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/dvb-core/dvb_frontend.h
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-core/dvb_frontend.h
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-core/dvb_frontend.h linux-2.6.35.media/drivers/media/dvb/dvb-core/dvb_frontend.h
+--- linux-2.6.35/drivers/media/dvb/dvb-core/dvb_frontend.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/dvb-core/dvb_frontend.h	2011-01-24 22:56:40.123080016 -0500
 @@ -260,7 +260,7 @@ struct dvb_frontend_ops {
  	int (*init)(struct dvb_frontend* fe);
  	int (*sleep)(struct dvb_frontend* fe);
@@ -4194,10 +4158,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-core/dvb_frontend.h
  
  	/* if this is set, it overrides the default swzigzag */
  	int (*tune)(struct dvb_frontend* fe,
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-core/dvb_net.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/dvb-core/dvb_net.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-core/dvb_net.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-core/dvb_net.c linux-2.6.35.media/drivers/media/dvb/dvb-core/dvb_net.c
+--- linux-2.6.35/drivers/media/dvb/dvb-core/dvb_net.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/dvb-core/dvb_net.c	2011-01-24 22:56:40.206080121 -0500
 @@ -59,7 +59,6 @@
  #include <linux/netdevice.h>
  #include <linux/etherdevice.h>
@@ -4206,7 +4169,17 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-core/dvb_net.c
  #include <linux/uio.h>
  #include <asm/uaccess.h>
  #include <linux/crc32.h>
-@@ -1445,13 +1444,7 @@ static int dvb_net_do_ioctl(struct file 
+@@ -1330,7 +1329,8 @@ static int dvb_net_remove_if(struct dvb_
+ 		return -EBUSY;
+ 
+ 	dvb_net_stop(net);
+-	flush_scheduled_work();
++	flush_work_sync(&priv->set_multicast_list_wq);
++	flush_work_sync(&priv->restart_net_feed_wq);
+ 	printk("dvb_net: removed network interface %s\n", net->name);
+ 	unregister_netdev(net);
+ 	dvbnet->state[num]=0;
+@@ -1445,13 +1445,7 @@ static int dvb_net_do_ioctl(struct file 
  static long dvb_net_ioctl(struct file *file,
  	      unsigned int cmd, unsigned long arg)
  {
@@ -4221,7 +4194,7 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-core/dvb_net.c
  }
  
  static int dvb_net_close(struct inode *inode, struct file *file)
-@@ -1475,6 +1468,7 @@ static const struct file_operations dvb_
+@@ -1475,6 +1469,7 @@ static const struct file_operations dvb_
  	.unlocked_ioctl = dvb_net_ioctl,
  	.open =	dvb_generic_open,
  	.release = dvb_net_close,
@@ -4229,10 +4202,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-core/dvb_net.c
  };
  
  static struct dvb_device dvbdev_net = {
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/a800.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/dvb-usb/a800.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/a800.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/a800.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/a800.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/a800.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/a800.c	2011-01-24 22:56:44.923086214 -0500
 @@ -37,7 +37,7 @@ static int a800_identify_state(struct us
  	return 0;
  }
@@ -4259,10 +4231,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/a800.c
  
  	.i2c_algo         = &dibusb_i2c_algo,
  
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/af9005.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/dvb-usb/af9005.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/af9005.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/af9005.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/af9005.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/af9005.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/af9005.c	2011-01-24 22:56:44.705085927 -0500
 @@ -54,50 +54,6 @@ struct af9005_device_state {
  	int led_state;
  };
@@ -4402,10 +4373,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/af9005.c
  	/* deregister this driver from the USB subsystem */
  	usb_deregister(&af9005_usb_driver);
  }
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/af9005.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/dvb-usb/af9005.h
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/af9005.h
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/af9005.h linux-2.6.35.media/drivers/media/dvb/dvb-usb/af9005.h
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/af9005.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/af9005.h	2011-01-24 22:56:44.539085709 -0500
 @@ -3490,7 +3490,7 @@ extern u8 regmask[8];
  /* remote control decoder */
  extern int af9005_rc_decode(struct dvb_usb_device *d, u8 * data, int len,
@@ -4416,10 +4386,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/af9005.h
 +extern int rc_map_af9005_table_size;
  
  #endif
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/af9005-remote.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/dvb-usb/af9005-remote.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/af9005-remote.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/af9005-remote.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/af9005-remote.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/af9005-remote.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/af9005-remote.c	2011-01-24 22:56:44.444085582 -0500
 @@ -33,7 +33,7 @@ MODULE_PARM_DESC(debug,
  
  #define deb_decode(args...)   dprintk(dvb_usb_af9005_remote_debug,0x01,args)
@@ -4464,10 +4433,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/af9005-remote.c
  EXPORT_SYMBOL(af9005_rc_decode);
  
  MODULE_AUTHOR("Luca Olivetti <luca at ventoso.org>");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/af9015.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/dvb-usb/af9015.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/af9015.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/af9015.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/af9015.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/af9015.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/af9015.c	2011-01-24 22:56:44.193085252 -0500
 @@ -31,6 +31,8 @@
  #include "tda18271.h"
  #include "mxl5005s.h"
@@ -5113,10 +5081,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/af9015.c
  
  	/* remove 2nd I2C adapter */
  	if (d != NULL && d->desc != NULL)
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/af9015.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/dvb-usb/af9015.h
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/af9015.h
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/af9015.h linux-2.6.35.media/drivers/media/dvb/dvb-usb/af9015.h
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/af9015.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/af9015.h	2011-01-24 22:56:44.309085405 -0500
 @@ -100,6 +100,8 @@ enum af9015_ir_mode {
  
  struct af9015_state {
@@ -5871,10 +5838,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/af9015.h
 -};
 -
  #endif
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/anysee.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/dvb-usb/anysee.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/anysee.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/anysee.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/anysee.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/anysee.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/anysee.c	2011-01-24 22:56:44.871086145 -0500
 @@ -354,7 +354,7 @@ static int anysee_frontend_attach(struct
  static int anysee_tuner_attach(struct dvb_usb_adapter *adap)
  {
@@ -6020,10 +5986,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/anysee.c
  
  	.i2c_algo         = &anysee_i2c_algo,
  
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/az6027.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/dvb-usb/az6027.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/az6027.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/az6027.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/az6027.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/az6027.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/az6027.c	2011-01-24 22:56:44.954086255 -0500
 @@ -386,7 +386,7 @@ static int az6027_streaming_ctrl(struct 
  }
  
@@ -6074,10 +6039,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/az6027.c
  		},
  		{ NULL },
  	}
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/cinergyT2-core.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/dvb-usb/cinergyT2-core.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/cinergyT2-core.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/cinergyT2-core.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/cinergyT2-core.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/cinergyT2-core.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/cinergyT2-core.c	2011-01-24 22:56:44.881086158 -0500
 @@ -84,7 +84,7 @@ static int cinergyt2_frontend_attach(str
  	return 0;
  }
@@ -6104,10 +6068,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/cinergyT2-core.c
  
  	.generic_bulk_ctrl_endpoint = 1,
  
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/cxusb.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/dvb-usb/cxusb.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/cxusb.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/cxusb.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/cxusb.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/cxusb.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/cxusb.c	2011-01-24 22:56:44.997086310 -0500
 @@ -385,7 +385,7 @@ static int cxusb_d680_dmb_streaming_ctrl
  
  static int cxusb_rc_query(struct dvb_usb_device *d, u32 *event, int *state)
@@ -6389,10 +6352,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/cxusb.c
  
  	.num_device_descs = 1,
  	.devices = {
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dib0700_core.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/dvb-usb/dib0700_core.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dib0700_core.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/dib0700_core.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/dib0700_core.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/dib0700_core.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/dib0700_core.c	2011-01-24 22:56:44.351085461 -0500
 @@ -13,10 +13,6 @@ int dvb_usb_dib0700_debug;
  module_param_named(debug,dvb_usb_dib0700_debug, int, 0644);
  MODULE_PARM_DESC(debug, "set debugging level (1=info,2=fw,4=fwdata,8=data (or-able))." DVB_USB_DEBUG_STATUS);
@@ -6911,10 +6873,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dib0700_core.c
  			dib0700_rc_setup(dev);
  
  			return 0;
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dib0700_devices.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/dvb-usb/dib0700_devices.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dib0700_devices.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/dib0700_devices.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/dib0700_devices.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/dib0700_devices.c	2011-01-24 22:40:24.075423452 -0500
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/dib0700_devices.c	2011-01-24 22:56:44.561085738 -0500
 @@ -12,6 +12,7 @@
  #include "dib7000m.h"
  #include "dib7000p.h"
@@ -9470,10 +9431,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dib0700_devices.c
  	},
  };
  
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dib0700.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/dvb-usb/dib0700.h
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dib0700.h
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/dib0700.h linux-2.6.35.media/drivers/media/dvb/dvb-usb/dib0700.h
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/dib0700.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/dib0700.h	2011-01-24 22:56:45.162086530 -0500
 @@ -32,6 +32,7 @@ extern int dvb_usb_dib0700_debug;
  	// 1 Byte: 4MSB(1 = enable streaming, 0 = disable streaming) 4LSB(Video Mode: 0 = MPEG2 188Bytes, 1 = Analog)
  	// 2 Byte: MPEG2 mode:  4MSB(1 = Master Mode, 0 = Slave Mode) 4LSB(Channel 1 = bit0, Channel 2 = bit1)
@@ -9491,10 +9451,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dib0700.h
  
  extern int dib0700_device_count;
  extern int dvb_usb_dib0700_ir_proto;
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dibusb-common.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/dvb-usb/dibusb-common.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dibusb-common.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/dibusb-common.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/dibusb-common.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/dibusb-common.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/dibusb-common.c	2011-01-24 22:56:44.797086047 -0500
 @@ -327,7 +327,7 @@ EXPORT_SYMBOL(dibusb_dib3000mc_tuner_att
  /*
   * common remote control stuff
@@ -9513,10 +9472,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dibusb-common.c
  
  int dibusb_rc_query(struct dvb_usb_device *d, u32 *event, int *state)
  {
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dibusb.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/dvb-usb/dibusb.h
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dibusb.h
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/dibusb.h linux-2.6.35.media/drivers/media/dvb/dvb-usb/dibusb.h
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/dibusb.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/dibusb.h	2011-01-24 22:56:44.684085898 -0500
 @@ -124,7 +124,7 @@ extern int dibusb2_0_power_ctrl(struct d
  #define DEFAULT_RC_INTERVAL 150
  //#define DEFAULT_RC_INTERVAL 100000
@@ -9526,10 +9484,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dibusb.h
  extern int dibusb_rc_query(struct dvb_usb_device *, u32 *, int *);
  extern int dibusb_read_eeprom_byte(struct dvb_usb_device *, u8, u8 *);
  
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dibusb-mb.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/dvb-usb/dibusb-mb.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dibusb-mb.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/dibusb-mb.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/dibusb-mb.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/dibusb-mb.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/dibusb-mb.c	2011-01-24 22:56:45.028086351 -0500
 @@ -211,10 +211,12 @@ static struct dvb_usb_device_properties 
  
  	.power_ctrl       = dibusb_power_ctrl,
@@ -9598,10 +9555,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dibusb-mb.c
  
  	.i2c_algo         = &dibusb_i2c_algo,
  
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dibusb-mc.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/dvb-usb/dibusb-mc.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dibusb-mc.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/dibusb-mc.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/dibusb-mc.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/dibusb-mc.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/dibusb-mc.c	2011-01-24 22:56:44.933086227 -0500
 @@ -81,10 +81,12 @@ static struct dvb_usb_device_properties 
  	},
  	.power_ctrl       = dibusb2_0_power_ctrl,
@@ -9619,10 +9575,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dibusb-mc.c
  
  	.i2c_algo         = &dibusb_i2c_algo,
  
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/digitv.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/dvb-usb/digitv.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/digitv.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/digitv.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/digitv.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/digitv.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/digitv.c	2011-01-24 22:56:44.372085487 -0500
 @@ -161,7 +161,7 @@ static int digitv_tuner_attach(struct dv
  	return 0;
  }
@@ -9664,10 +9619,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/digitv.c
  
  	.i2c_algo         = &digitv_i2c_algo,
  
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dtt200u.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/dvb-usb/dtt200u.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dtt200u.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/dtt200u.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/dtt200u.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/dtt200u.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/dtt200u.c	2011-01-24 22:56:45.120086474 -0500
 @@ -57,7 +57,7 @@ static int dtt200u_pid_filter(struct dvb
  
  /* remote control */
@@ -9745,10 +9699,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dtt200u.c
  
  	.generic_bulk_ctrl_endpoint = 0x01,
  
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-a800.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-a800.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-a800.mod.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-a800.mod.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-a800.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-a800.mod.c	2011-01-24 22:56:44.498085655 -0500
 @@ -0,0 +1,25 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -9775,10 +9728,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-a800.mod.c
 +MODULE_ALIAS("usb:v07CApA801d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "E5401794839EBF8F76169D2");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-af9005.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-af9005.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-af9005.mod.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-af9005.mod.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-af9005.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-af9005.mod.c	2011-01-24 22:56:45.089086433 -0500
 @@ -0,0 +1,26 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -9806,10 +9758,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-af9005.mod.c
 +MODULE_ALIAS("usb:v10B9p6000d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "97846C9D5BAB87AFC3FC8DA");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote.mod.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote.mod.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote.mod.c	2011-01-24 22:56:44.582085764 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -9830,10 +9781,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote.mod.c
 +
 +
 +MODULE_INFO(srcversion, "2E1890176DC0B36F1C38A37");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-af9015.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-af9015.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-af9015.mod.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-af9015.mod.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-af9015.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-af9015.mod.c	2011-01-24 22:56:44.487085640 -0500
 @@ -0,0 +1,59 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -9894,10 +9844,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-af9015.mod.c
 +MODULE_ALIAS("usb:v07CAp850Bd*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "3E238A603792F689DD42712");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-anysee.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-anysee.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-anysee.mod.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-anysee.mod.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-anysee.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-anysee.mod.c	2011-01-24 22:56:44.817086075 -0500
 @@ -0,0 +1,25 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -9924,10 +9873,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-anysee.mod.c
 +MODULE_ALIAS("usb:v1C73p861Fd*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "FA05180E2FF072CEC8394A5");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-au6610.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-au6610.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-au6610.mod.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-au6610.mod.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-au6610.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-au6610.mod.c	2011-01-24 22:56:44.913086201 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -9953,10 +9901,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-au6610.mod.c
 +MODULE_ALIAS("usb:v058Fp6610d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "31D6034DD8B814BBC237EE1");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-ce6230.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-ce6230.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-ce6230.mod.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-ce6230.mod.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-ce6230.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-ce6230.mod.c	2011-01-24 22:56:44.413085543 -0500
 @@ -0,0 +1,25 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -9983,10 +9930,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-ce6230.mod.c
 +MODULE_ALIAS("usb:v07CApA310d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "B98D4D24FAE2BD75B4E63BE");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-cinergyT2.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-cinergyT2.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-cinergyT2.mod.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-cinergyT2.mod.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-cinergyT2.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-cinergyT2.mod.c	2011-01-24 22:56:45.234086626 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -10012,10 +9958,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-cinergyT2.mod.c
 +MODULE_ALIAS("usb:v0CCDp0038d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "C6D3218D6D5A5B7DEF4FED7");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-cxusb.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-cxusb.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-cxusb.mod.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-cxusb.mod.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-cxusb.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-cxusb.mod.c	2011-01-24 22:56:44.735085965 -0500
 @@ -0,0 +1,43 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -10060,10 +10005,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-cxusb.mod.c
 +MODULE_ALIAS("usb:v0572pD811d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "4CD9EF94D089B1063C8ADEC");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-dib0700.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-dib0700.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-dib0700.mod.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-dib0700.mod.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-dib0700.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-dib0700.mod.c	2011-01-24 22:56:44.848086116 -0500
 @@ -0,0 +1,94 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -10159,10 +10103,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-dib0700.mod.c
 +MODULE_ALIAS("usb:v0FD9p0011d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "F2EB009F84321210103522F");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common.mod.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common.mod.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common.mod.c	2011-01-24 22:56:44.237085310 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -10183,10 +10126,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common.mod.c
 +
 +
 +MODULE_INFO(srcversion, "3FAC247240C37678A45A61B");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-dibusb-mb.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-dibusb-mb.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-dibusb-mb.mod.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-dibusb-mb.mod.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-dibusb-mb.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-dibusb-mb.mod.c	2011-01-24 22:56:44.550085723 -0500
 @@ -0,0 +1,53 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -10241,10 +10183,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-dibusb-mb.mod.c
 +MODULE_ALIAS("usb:v05D8p810Ad*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "2D7CFB65154EFC80F42155B");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-dibusb-mc.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-dibusb-mc.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-dibusb-mc.mod.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-dibusb-mc.mod.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-dibusb-mc.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-dibusb-mc.mod.c	2011-01-24 22:56:44.807086062 -0500
 @@ -0,0 +1,39 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -10285,10 +10226,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-dibusb-mc.mod.c
 +MODULE_ALIAS("usb:v10B9p5001d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "881E48A7E10226DCB32EA73");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-digitv.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-digitv.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-digitv.mod.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-digitv.mod.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-digitv.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-digitv.mod.c	2011-01-24 22:56:45.079086420 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -10314,10 +10254,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-digitv.mod.c
 +MODULE_ALIAS("usb:v0547p0201d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "AAD66B09670C966672F938B");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-dtt200u.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-dtt200u.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-dtt200u.mod.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-dtt200u.mod.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-dtt200u.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-dtt200u.mod.c	2011-01-24 22:56:44.715085940 -0500
 @@ -0,0 +1,33 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -10352,10 +10291,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-dtt200u.mod.c
 +MODULE_ALIAS("usb:v18F3p0220d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "1AD131B0D8DC126E528C3D7");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-dtv5100.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-dtv5100.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-dtv5100.mod.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-dtv5100.mod.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-dtv5100.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-dtv5100.mod.c	2011-01-24 22:56:45.224086612 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -10381,10 +10319,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-dtv5100.mod.c
 +MODULE_ALIAS("usb:v06BEpA232d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "C00068CC867EAB48FE902AE");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-dw2102.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-dw2102.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-dw2102.mod.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-dw2102.mod.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-dw2102.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-dw2102.mod.c	2011-01-24 22:56:45.059086394 -0500
 @@ -0,0 +1,33 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -10419,10 +10356,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-dw2102.mod.c
 +MODULE_ALIAS("usb:v3034p7500d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "F865B31E2C925CC3A2197DE");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-ec168.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-ec168.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-ec168.mod.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-ec168.mod.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-ec168.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-ec168.mod.c	2011-01-24 22:56:45.142086503 -0500
 @@ -0,0 +1,28 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -10452,10 +10388,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-ec168.mod.c
 +MODULE_ALIAS("usb:v18B4p1002d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "32F9C7BB6278580C0C9285B");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-friio.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-friio.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-friio.mod.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-friio.mod.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-friio.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-friio.mod.c	2011-01-24 22:56:45.038086365 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -10481,10 +10416,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-friio.mod.c
 +MODULE_ALIAS("usb:v7A69p0001d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "940B491703B541C94A23295");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-gl861.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-gl861.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-gl861.mod.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-gl861.mod.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-gl861.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-gl861.mod.c	2011-01-24 22:56:44.976086283 -0500
 @@ -0,0 +1,25 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -10511,10 +10445,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-gl861.mod.c
 +MODULE_ALIAS("usb:v05E3pF170d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "6C950C5E12C8B8055D85F31");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-gp8psk.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-gp8psk.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-gp8psk.mod.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-gp8psk.mod.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-gp8psk.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-gp8psk.mod.c	2011-01-24 22:56:44.362085474 -0500
 @@ -0,0 +1,28 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -10544,10 +10477,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-gp8psk.mod.c
 +MODULE_ALIAS("usb:v09C0p0206d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "C930FE83E91E45AACFF0895");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/dvb-usb/dvb-usb.h
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb.h
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb.h linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb.h
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb.h	2011-01-24 22:56:44.643085844 -0500
 @@ -14,6 +14,7 @@
  #include <linux/usb.h>
  #include <linux/firmware.h>
@@ -10706,10 +10638,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb.h
  	char rc_phys[64];
  	struct delayed_work rc_query_work;
  	u32 last_event;
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-i2c.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/dvb-usb/dvb-usb-i2c.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-i2c.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-i2c.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-i2c.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-i2c.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-i2c.c	2011-01-24 22:56:45.203086585 -0500
 @@ -20,7 +20,6 @@ int dvb_usb_i2c_init(struct dvb_usb_devi
  	}
  
@@ -10718,10 +10649,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-i2c.c
  	d->i2c_adap.algo      = d->props.i2c_algo;
  	d->i2c_adap.algo_data = NULL;
  	d->i2c_adap.dev.parent = &d->udev->dev;
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-ids.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/dvb-usb/dvb-usb-ids.h
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-ids.h
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-ids.h linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-ids.h
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-ids.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-ids.h	2011-01-24 22:56:44.423085556 -0500
 @@ -32,6 +32,7 @@
  #define USB_VID_EMPIA				0xeb1a
  #define USB_VID_GENPIX				0x09c0
@@ -10793,10 +10723,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-ids.h
  #define USB_PID_TECHNISAT_USB2_HDCI_V2			0x0002
 +#define USB_PID_TECHNISAT_USB2_DVB_S2			0x0500
  #endif
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-init.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/dvb-usb/dvb-usb-init.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-init.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-init.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-init.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-init.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-init.c	2011-01-24 22:56:44.892086173 -0500
 @@ -15,7 +15,7 @@
  
  /* debug */
@@ -11010,10 +10939,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-init.c
  
  }
  EXPORT_SYMBOL(dvb_usb_device_exit);
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-m920x.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-m920x.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-m920x.mod.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-m920x.mod.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-m920x.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-m920x.mod.c	2011-01-24 22:56:44.725085952 -0500
 @@ -0,0 +1,30 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -11045,10 +10973,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-m920x.mod.c
 +MODULE_ALIAS("usb:v13D3p3211d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "3B4ECC5CF0758D50CD6E783");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb.mod.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb.mod.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb.mod.c	2011-01-24 22:56:44.860086131 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -11069,10 +10996,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb.mod.c
 +
 +
 +MODULE_INFO(srcversion, "68BF1DBFD7B3E1D9048B696");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-nova-t-usb2.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-nova-t-usb2.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-nova-t-usb2.mod.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-nova-t-usb2.mod.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-nova-t-usb2.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-nova-t-usb2.mod.c	2011-01-24 22:56:44.903086187 -0500
 @@ -0,0 +1,25 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -11099,10 +11025,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-nova-t-usb2.mod.c
 +MODULE_ALIAS("usb:v2040p9301d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "6F12F33FB6F6CB4FB8DE252");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-opera.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-opera.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-opera.mod.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-opera.mod.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-opera.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-opera.mod.c	2011-01-24 22:56:44.466085613 -0500
 @@ -0,0 +1,25 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -11129,10 +11054,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-opera.mod.c
 +MODULE_ALIAS("usb:v695Cp3829d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "370D2F7286A12AF75CC56B2");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-remote.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/dvb-usb/dvb-usb-remote.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-remote.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-remote.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-remote.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-remote.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-remote.c	2011-01-24 22:56:44.476085626 -0500
 @@ -8,29 +8,29 @@
  #include "dvb-usb-common.h"
  #include <linux/usb/input.h>
@@ -11428,14 +11352,14 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-remote.c
  
  	d->state |= DVB_USB_STATE_REMOTE;
  
-@@ -219,9 +313,12 @@ int dvb_usb_remote_init(struct dvb_usb_d
+@@ -219,9 +313,11 @@ int dvb_usb_remote_init(struct dvb_usb_d
  int dvb_usb_remote_exit(struct dvb_usb_device *d)
  {
  	if (d->state & DVB_USB_STATE_REMOTE) {
 -		cancel_rearming_delayed_work(&d->rc_query_work);
-+		cancel_delayed_work_sync(&d->rc_query_work);
- 		flush_scheduled_work();
+-		flush_scheduled_work();
 -		input_unregister_device(d->rc_input_dev);
++		cancel_delayed_work_sync(&d->rc_query_work);
 +		if (d->props.rc.mode == DVB_RC_LEGACY)
 +			input_unregister_device(d->input_dev);
 +		else
@@ -11443,7 +11367,7 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-remote.c
  	}
  	d->state &= ~DVB_USB_STATE_REMOTE;
  	return 0;
-@@ -234,7 +331,7 @@ int dvb_usb_nec_rc_key_to_event(struct d
+@@ -234,7 +330,7 @@ int dvb_usb_nec_rc_key_to_event(struct d
  		u8 keybuf[5], u32 *event, int *state)
  {
  	int i;
@@ -11452,7 +11376,7 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-remote.c
  	*event = 0;
  	*state = REMOTE_NO_KEY_PRESSED;
  	switch (keybuf[0]) {
-@@ -247,10 +344,10 @@ int dvb_usb_nec_rc_key_to_event(struct d
+@@ -247,10 +343,10 @@ int dvb_usb_nec_rc_key_to_event(struct d
  				break;
  			}
  			/* See if we can match the raw key code. */
@@ -11465,10 +11389,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-remote.c
  					*state = REMOTE_KEY_PRESSED;
  					return 0;
  				}
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-ttusb2.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-ttusb2.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-ttusb2.mod.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-ttusb2.mod.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-ttusb2.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-ttusb2.mod.c	2011-01-24 22:56:44.787086034 -0500
 @@ -0,0 +1,27 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -11497,10 +11420,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-ttusb2.mod.c
 +MODULE_ALIAS("usb:v0B48p300Dd*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "C863E50E1B86F1D3D784046");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-umt-010.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-umt-010.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-umt-010.mod.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-umt-010.mod.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-umt-010.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-umt-010.mod.c	2011-01-24 22:56:44.623085818 -0500
 @@ -0,0 +1,25 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -11527,10 +11449,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-umt-010.mod.c
 +MODULE_ALIAS("usb:v15F4p0015d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "C68B9209E9BA153ED2B5F22");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-vp702x.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-vp702x.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-vp702x.mod.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-vp702x.mod.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-vp702x.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-vp702x.mod.c	2011-01-24 22:56:44.330085434 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -11556,10 +11477,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-vp702x.mod.c
 +MODULE_ALIAS("usb:v13D3p3207d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "B38B39737555F60856309C4");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-vp7045.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-vp7045.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-vp7045.mod.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-vp7045.mod.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/dvb-usb-vp7045.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/dvb-usb-vp7045.mod.c	2011-01-24 22:56:44.247085323 -0500
 @@ -0,0 +1,27 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -11588,10 +11508,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dvb-usb-vp7045.mod.c
 +MODULE_ALIAS("usb:v13D3p3224d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "D8F968527A3150AA8A1ACCE");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dw2102.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/dvb-usb/dw2102.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dw2102.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/dw2102.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/dw2102.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/dw2102.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/dw2102.c	2011-01-24 22:56:44.434085570 -0500
 @@ -73,8 +73,8 @@
  		"Please see linux/Documentation/dvb/ for more details " \
  		"on firmware-problems."
@@ -11763,10 +11682,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/dw2102.c
  	p7500->adapter->frontend_attach = prof_7500_frontend_attach;
  
  	if (0 == dvb_usb_device_init(intf, &dw2102_properties,
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/friio-fe.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/dvb-usb/friio-fe.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/friio-fe.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/friio-fe.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/friio-fe.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/friio-fe.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/friio-fe.c	2011-01-24 22:56:44.205085267 -0500
 @@ -75,7 +75,7 @@ static int jdvbt90502_single_reg_write(s
  	return 0;
  }
@@ -11776,10 +11694,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/friio-fe.c
  {
  	struct jdvbt90502_state *state = fe->demodulator_priv;
  	int err, i;
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/gp8psk.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/dvb-usb/gp8psk.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/gp8psk.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/gp8psk.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/gp8psk.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/gp8psk.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/gp8psk.c	2011-01-24 22:56:44.664085871 -0500
 @@ -24,6 +24,33 @@ MODULE_PARM_DESC(debug, "set debugging l
  
  DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr);
@@ -11858,10 +11775,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/gp8psk.c
 +MODULE_DESCRIPTION("Driver for Genpix DVB-S");
  MODULE_VERSION("1.1");
  MODULE_LICENSE("GPL");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/gp8psk-fe.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/dvb-usb/gp8psk-fe.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/gp8psk-fe.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/gp8psk-fe.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/gp8psk-fe.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/gp8psk-fe.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/gp8psk-fe.c	2011-01-24 22:56:45.018086339 -0500
 @@ -109,7 +109,7 @@ static int gp8psk_fe_read_signal_strengt
  
  static int gp8psk_fe_get_tune_settings(struct dvb_frontend* fe, struct dvb_frontend_tune_settings *tune)
@@ -11889,10 +11805,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/gp8psk-fe.c
  	},
  
  	.release = gp8psk_fe_release,
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/gp8psk.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/dvb-usb/gp8psk.h
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/gp8psk.h
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/gp8psk.h linux-2.6.35.media/drivers/media/dvb/dvb-usb/gp8psk.h
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/gp8psk.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/gp8psk.h	2011-01-24 22:56:44.653085857 -0500
 @@ -25,7 +25,6 @@ extern int dvb_usb_gp8psk_debug;
  #define deb_xfer(args...) dprintk(dvb_usb_gp8psk_debug,0x02,args)
  #define deb_rc(args...)   dprintk(dvb_usb_gp8psk_debug,0x04,args)
@@ -11924,10 +11839,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/gp8psk.h
  extern struct dvb_frontend * gp8psk_fe_attach(struct dvb_usb_device *d);
  extern int gp8psk_usb_in_op(struct dvb_usb_device *d, u8 req, u16 value, u16 index, u8 *b, int blen);
  extern int gp8psk_usb_out_op(struct dvb_usb_device *d, u8 req, u16 value,
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/Kconfig
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/dvb-usb/Kconfig
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/Kconfig
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/Kconfig linux-2.6.35.media/drivers/media/dvb/dvb-usb/Kconfig
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/Kconfig	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/Kconfig	2011-01-24 22:56:44.838086102 -0500
 @@ -1,6 +1,6 @@
  config DVB_USB
  	tristate "Support for various USB DVB devices"
@@ -11967,10 +11881,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/Kconfig
 +	select DVB_STB6100 if !DVB_FE_CUSTOMISE
 +	help
 +	  Say Y here to support the Technisat USB2 DVB-S/S2 device
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/lmedm04.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/lmedm04.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/lmedm04.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/lmedm04.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/lmedm04.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/lmedm04.c	2011-01-24 22:56:44.592085777 -0500
 @@ -0,0 +1,1113 @@
 +/* DVB USB compliant linux driver for
 + *
@@ -13085,10 +12998,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/lmedm04.c
 +MODULE_DESCRIPTION("LME2510(C) DVB-S USB2.0");
 +MODULE_VERSION("1.74");
 +MODULE_LICENSE("GPL");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/lmedm04.h
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/lmedm04.h
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/lmedm04.h linux-2.6.35.media/drivers/media/dvb/dvb-usb/lmedm04.h
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/lmedm04.h	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/lmedm04.h	2011-01-24 22:56:45.099086447 -0500
 @@ -0,0 +1,173 @@
 +/* DVB USB compliant linux driver for
 + *
@@ -13263,10 +13175,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/lmedm04.h
 +	0xff, 0xff,
 +};
 +#endif
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/m920x.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/dvb-usb/m920x.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/m920x.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/m920x.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/m920x.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/m920x.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/m920x.c	2011-01-24 22:56:44.571085751 -0500
 @@ -69,7 +69,7 @@ static int m920x_init(struct dvb_usb_dev
  	int adap_enabled[M9206_MAX_ADAPTERS] = { 0 };
  
@@ -13367,10 +13278,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/m920x.c
  
  	.size_of_priv     = sizeof(struct m920x_state),
  
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/Makefile
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/dvb-usb/Makefile
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/Makefile
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/Makefile linux-2.6.35.media/drivers/media/dvb/dvb-usb/Makefile
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/Makefile	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/Makefile	2011-01-24 22:56:44.172085225 -0500
 @@ -88,6 +88,12 @@ obj-$(CONFIG_DVB_USB_EC168) += dvb-usb-e
  dvb-usb-az6027-objs = az6027.o
  obj-$(CONFIG_DVB_USB_AZ6027) += dvb-usb-az6027.o
@@ -13384,10 +13294,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/Makefile
  EXTRA_CFLAGS += -Idrivers/media/dvb/dvb-core/ -Idrivers/media/dvb/frontends/
  # due to tuner-xc3028
  EXTRA_CFLAGS += -Idrivers/media/common/tuners
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/nova-t-usb2.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/dvb-usb/nova-t-usb2.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/nova-t-usb2.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/nova-t-usb2.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/nova-t-usb2.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/nova-t-usb2.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/nova-t-usb2.c	2011-01-24 22:56:44.257085336 -0500
 @@ -21,7 +21,7 @@ DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr
  #define deb_ee(args...) dprintk(debug,0x02,args)
  
@@ -13435,10 +13344,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/nova-t-usb2.c
  
  	.i2c_algo         = &dibusb_i2c_algo,
  
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/opera1.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/dvb-usb/opera1.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/opera1.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/opera1.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/opera1.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/opera1.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/opera1.c	2011-01-24 22:56:45.173086546 -0500
 @@ -35,7 +35,7 @@
  struct opera1_state {
  	u32 last_key_pressed;
@@ -13502,10 +13410,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/opera1.c
  	.read_mac_address = opera1_read_mac_address,
  	.generic_bulk_ctrl_endpoint = 0x00,
  	/* parameter for the MPEG2-data transfer */
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/technisat-usb2.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/technisat-usb2.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/technisat-usb2.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/technisat-usb2.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/technisat-usb2.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/technisat-usb2.c	2011-01-24 22:56:44.403085529 -0500
 @@ -0,0 +1,808 @@
 +/*
 + * Linux driver for Technisat DVB-S/S2 USB 2.0 device
@@ -14315,10 +14222,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/technisat-usb2.c
 +MODULE_DESCRIPTION("Driver for Technisat DVB-S/S2 USB 2.0 device");
 +MODULE_VERSION("1.0");
 +MODULE_LICENSE("GPL");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/ttusb2.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/dvb-usb/ttusb2.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/ttusb2.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/ttusb2.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/ttusb2.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/ttusb2.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/ttusb2.c	2011-01-24 22:56:44.518085681 -0500
 @@ -43,6 +43,7 @@ DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr
  
  struct ttusb2_state {
@@ -14375,10 +14281,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/ttusb2.c
  	.num_adapters = 1,
  	.adapter = {
  		{
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/vp702x.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/dvb-usb/vp702x.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/vp702x.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/vp702x.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/vp702x.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/vp702x.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/vp702x.c	2011-01-24 22:56:44.216085282 -0500
 @@ -174,7 +174,7 @@ static int vp702x_streaming_ctrl(struct 
  }
  
@@ -14419,10 +14324,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/vp702x.c
  
  	.num_device_descs = 1,
  	.devices = {
-Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/vp7045.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/dvb-usb/vp7045.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/vp7045.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/dvb-usb/vp7045.c linux-2.6.35.media/drivers/media/dvb/dvb-usb/vp7045.c
+--- linux-2.6.35/drivers/media/dvb/dvb-usb/vp7045.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/dvb-usb/vp7045.c	2011-01-24 22:56:44.508085668 -0500
 @@ -99,7 +99,7 @@ static int vp7045_power_ctrl(struct dvb_
  
  /* The keymapping struct. Somehow this should be loaded to the driver, but
@@ -14463,10 +14367,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/dvb-usb/vp7045.c
  
  	.num_device_descs = 2,
  	.devices = {
-Index: linux-2.6.35.x86_64/drivers/media/dvb/firewire/firedtv-avc.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/firewire/firedtv-avc.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/firewire/firedtv-avc.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/firewire/firedtv-avc.c linux-2.6.35.media/drivers/media/dvb/firewire/firedtv-avc.c
+--- linux-2.6.35/drivers/media/dvb/firewire/firedtv-avc.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/firewire/firedtv-avc.c	2011-01-24 22:56:43.979084970 -0500
 @@ -24,6 +24,8 @@
  #include <linux/wait.h>
  #include <linux/workqueue.h>
@@ -14563,10 +14466,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/firewire/firedtv-avc.c
  	*len = app_info[3] + 4;
  out:
  	mutex_unlock(&fdtv->avc_mutex);
-Index: linux-2.6.35.x86_64/drivers/media/dvb/firewire/firedtv-ci.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/firewire/firedtv-ci.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/firewire/firedtv-ci.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/firewire/firedtv-ci.c linux-2.6.35.media/drivers/media/dvb/firewire/firedtv-ci.c
+--- linux-2.6.35/drivers/media/dvb/firewire/firedtv-ci.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/firewire/firedtv-ci.c	2011-01-24 22:56:44.000084999 -0500
 @@ -220,6 +220,7 @@ static const struct file_operations fdtv
  	.open		= dvb_generic_open,
  	.release	= dvb_generic_release,
@@ -14575,10 +14477,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/firewire/firedtv-ci.c
  };
  
  static struct dvb_device fdtv_ca = {
-Index: linux-2.6.35.x86_64/drivers/media/dvb/firewire/firedtv-fe.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/firewire/firedtv-fe.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/firewire/firedtv-fe.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/firewire/firedtv-fe.c linux-2.6.35.media/drivers/media/dvb/firewire/firedtv-fe.c
+--- linux-2.6.35/drivers/media/dvb/firewire/firedtv-fe.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/firewire/firedtv-fe.c	2011-01-24 22:56:43.990084986 -0500
 @@ -155,6 +155,16 @@ static int fdtv_get_frontend(struct dvb_
  	return -EOPNOTSUPP;
  }
@@ -14650,10 +14551,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/firewire/firedtv-fe.c
  	case FIREDTV_DVB_C:
  		fi->type		= FE_QAM;
  
-Index: linux-2.6.35.x86_64/drivers/media/dvb/firewire/firedtv-fw.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/firewire/firedtv-fw.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/firewire/firedtv-fw.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/firewire/firedtv-fw.c linux-2.6.35.media/drivers/media/dvb/firewire/firedtv-fw.c
+--- linux-2.6.35/drivers/media/dvb/firewire/firedtv-fw.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/firewire/firedtv-fw.c	2011-01-24 22:56:43.918084891 -0500
 @@ -193,9 +193,9 @@ static const struct firedtv_backend back
  };
  
@@ -14667,10 +14567,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/firewire/firedtv-fw.c
  {
  	struct firedtv *f, *fdtv = NULL;
  	struct fw_device *device;
-Index: linux-2.6.35.x86_64/drivers/media/dvb/firewire/firedtv.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/firewire/firedtv.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/firewire/firedtv.mod.c linux-2.6.35.media/drivers/media/dvb/firewire/firedtv.mod.c
+--- linux-2.6.35/drivers/media/dvb/firewire/firedtv.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/firewire/firedtv.mod.c	2011-01-24 22:56:43.938084917 -0500
 @@ -0,0 +1,29 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -14701,10 +14600,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/firewire/firedtv.mod.c
 +MODULE_ALIAS("ieee1394:ven00001287mo00000036sp0000A02Dver00010001*");
 +
 +MODULE_INFO(srcversion, "F32F80A0189BF4482290E26");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/firewire/firedtv-rc.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/firewire/firedtv-rc.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/firewire/firedtv-rc.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/firewire/firedtv-rc.c linux-2.6.35.media/drivers/media/dvb/firewire/firedtv-rc.c
+--- linux-2.6.35/drivers/media/dvb/firewire/firedtv-rc.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/firewire/firedtv-rc.c	2011-01-24 22:56:43.928084903 -0500
 @@ -172,7 +172,8 @@ void fdtv_unregister_rc(struct firedtv *
  
  void fdtv_handle_rc(struct firedtv *fdtv, unsigned int code)
@@ -14715,20 +14613,20 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/firewire/firedtv-rc.c
  
  	if (code >= 0x0300 && code <= 0x031f)
  		code = keycode[code - 0x0300];
-@@ -188,6 +189,7 @@ void fdtv_handle_rc(struct firedtv *fdtv
+@@ -188,6 +189,8 @@ void fdtv_handle_rc(struct firedtv *fdtv
  		return;
  	}
  
 -	input_report_key(fdtv->remote_ctrl_dev, code, 1);
 -	input_report_key(fdtv->remote_ctrl_dev, code, 0);
 +	input_report_key(idev, code, 1);
++	input_sync(idev);
 +	input_report_key(idev, code, 0);
 +	input_sync(idev);
  }
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/af9013.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/frontends/af9013.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/af9013.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/af9013.c linux-2.6.35.media/drivers/media/dvb/frontends/af9013.c
+--- linux-2.6.35/drivers/media/dvb/frontends/af9013.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/frontends/af9013.c	2011-01-24 22:56:40.729080782 -0500
 @@ -1,5 +1,5 @@
  /*
 - * DVB USB Linux driver for Afatech AF9015 DVB-T USB2.0 receiver
@@ -15187,10 +15085,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/af9013.c
  
  	/* settings for mp2if */
  	if (state->config.output_mode == AF9013_OUTPUT_MODE_USB) {
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/af9013.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/frontends/af9013.h
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/af9013.h
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/af9013.h linux-2.6.35.media/drivers/media/dvb/frontends/af9013.h
+--- linux-2.6.35/drivers/media/dvb/frontends/af9013.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/frontends/af9013.h	2011-01-24 22:56:42.429082957 -0500
 @@ -1,5 +1,5 @@
  /*
 - * DVB USB Linux driver for Afatech AF9015 DVB-T USB2.0 receiver
@@ -15206,10 +15103,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/af9013.h
  	AF9013_TUNER_TDA18218   = 179, /* NXP */
  };
  
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/af9013.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/af9013.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/af9013.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/af9013.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/af9013.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/af9013.mod.c	2011-01-24 22:56:40.966081083 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -15230,10 +15126,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/af9013.mod.c
 +
 +
 +MODULE_INFO(srcversion, "F3D41BFCE66196D16931882");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/af9013_priv.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/frontends/af9013_priv.h
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/af9013_priv.h
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/af9013_priv.h linux-2.6.35.media/drivers/media/dvb/frontends/af9013_priv.h
+--- linux-2.6.35/drivers/media/dvb/frontends/af9013_priv.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/frontends/af9013_priv.h	2011-01-24 22:56:43.215083974 -0500
 @@ -1,5 +1,5 @@
  /*
 - * DVB USB Linux driver for Afatech AF9015 DVB-T USB2.0 receiver
@@ -15357,10 +15252,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/af9013_priv.h
  static struct regdesc tuner_init_tda18271[] = {
  	{ 0x9bd5, 0, 8, 0x01 },
  	{ 0x9bd6, 0, 8, 0x04 },
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/atbm8830.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/frontends/atbm8830.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/atbm8830.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/atbm8830.c linux-2.6.35.media/drivers/media/dvb/frontends/atbm8830.c
+--- linux-2.6.35/drivers/media/dvb/frontends/atbm8830.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/frontends/atbm8830.c	2011-01-24 22:56:42.224082692 -0500
 @@ -50,8 +50,7 @@ static int atbm8830_write_reg(struct atb
  	msg2.addr = dev_addr;
  
@@ -15390,10 +15284,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/atbm8830.c
  			__func__, reg, buf2[0]);
  
  	return 0;
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/atbm8830.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/atbm8830.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/atbm8830.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/atbm8830.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/atbm8830.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/atbm8830.mod.c	2011-01-24 22:56:42.193082652 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -15414,10 +15307,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/atbm8830.mod.c
 +
 +
 +MODULE_INFO(srcversion, "0EEDCC721B6428D4D406C83");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/au8522_decoder.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/frontends/au8522_decoder.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/au8522_decoder.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/au8522_decoder.c linux-2.6.35.media/drivers/media/dvb/frontends/au8522_decoder.c
+--- linux-2.6.35/drivers/media/dvb/frontends/au8522_decoder.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/frontends/au8522_decoder.c	2011-01-24 22:56:41.723082050 -0500
 @@ -36,7 +36,6 @@
  #include <linux/delay.h>
  #include <media/v4l2-common.h>
@@ -15564,10 +15456,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/au8522_decoder.c
 +
 +module_init(init_au8522);
 +module_exit(exit_au8522);
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/au8522.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/au8522.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/au8522.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/au8522.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/au8522.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/au8522.mod.c	2011-01-24 22:56:41.621081918 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -15593,10 +15484,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/au8522.mod.c
 +MODULE_ALIAS("i2c:au8522");
 +
 +MODULE_INFO(srcversion, "BA76DCF8D1E812304D933D3");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/au8522_priv.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/frontends/au8522_priv.h
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/au8522_priv.h
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/au8522_priv.h linux-2.6.35.media/drivers/media/dvb/frontends/au8522_priv.h
+--- linux-2.6.35/drivers/media/dvb/frontends/au8522_priv.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/frontends/au8522_priv.h	2011-01-24 22:56:40.915081019 -0500
 @@ -397,7 +397,9 @@ void au8522_release_state(struct au8522_
  #define AU8522_TVDEC_COMB_HDIF_THR2_REG06AH_CVBS		0x0A
  #define AU8522_TVDEC_COMB_HDIF_THR3_REG06BH_CVBS		0x32
@@ -15607,10 +15497,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/au8522_priv.h
  #define AU8522_TVDEC_COMB_DCDIF_THR3_REG06EH_CVBS		0x6E
  #define AU8522_TVDEC_UV_SEP_THR_REG06FH_CVBS			0x0F
  #define AU8522_TVDEC_COMB_DC_THR1_NTSC_REG070H_CVBS		0x80
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/bcm3510.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/bcm3510.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/bcm3510.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/bcm3510.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/bcm3510.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/bcm3510.mod.c	2011-01-24 22:56:41.325081540 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -15631,10 +15520,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/bcm3510.mod.c
 +
 +
 +MODULE_INFO(srcversion, "F28B5E62EB5D7BDD1F8983F");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/cx22700.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/cx22700.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/cx22700.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/cx22700.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/cx22700.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/cx22700.mod.c	2011-01-24 22:56:41.233081424 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -15655,10 +15543,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/cx22700.mod.c
 +
 +
 +MODULE_INFO(srcversion, "1E3B211E5B264EB4AC11A6E");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/cx22702.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/frontends/cx22702.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/cx22702.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/cx22702.c linux-2.6.35.media/drivers/media/dvb/frontends/cx22702.c
+--- linux-2.6.35/drivers/media/dvb/frontends/cx22702.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/frontends/cx22702.c	2011-01-24 22:56:43.014083712 -0500
 @@ -54,7 +54,7 @@ MODULE_PARM_DESC(debug, "Enable verbose 
  #define dprintk	if (debug) printk
  
@@ -15968,10 +15855,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/cx22702.c
  
  	.info = {
  		.name			= "Conexant CX22702 DVB-T",
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/cx22702.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/cx22702.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/cx22702.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/cx22702.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/cx22702.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/cx22702.mod.c	2011-01-24 22:56:40.770080835 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -15992,10 +15878,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/cx22702.mod.c
 +
 +
 +MODULE_INFO(srcversion, "2AA9CE1DED336B41D49C628");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/cx24110.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/frontends/cx24110.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/cx24110.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/cx24110.c linux-2.6.35.media/drivers/media/dvb/frontends/cx24110.c
+--- linux-2.6.35/drivers/media/dvb/frontends/cx24110.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/frontends/cx24110.c	2011-01-24 22:56:42.962083645 -0500
 @@ -310,7 +310,7 @@ static int cx24110_set_symbolrate (struc
  
  }
@@ -16005,10 +15890,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/cx24110.c
  {
  	struct cx24110_state *state = fe->demodulator_priv;
  
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/cx24110.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/cx24110.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/cx24110.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/cx24110.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/cx24110.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/cx24110.mod.c	2011-01-24 22:56:42.798083433 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -16029,10 +15913,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/cx24110.mod.c
 +
 +
 +MODULE_INFO(srcversion, "8EDAF73C092F2DC5B2E9AC8");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/cx24113.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/cx24113.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/cx24113.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/cx24113.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/cx24113.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/cx24113.mod.c	2011-01-24 22:56:43.298084084 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -16053,10 +15936,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/cx24113.mod.c
 +
 +
 +MODULE_INFO(srcversion, "52F0E7327B847A077F18F0A");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/cx24116.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/cx24116.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/cx24116.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/cx24116.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/cx24116.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/cx24116.mod.c	2011-01-24 22:56:41.079081226 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -16077,10 +15959,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/cx24116.mod.c
 +
 +
 +MODULE_INFO(srcversion, "08166A1122785592C226036");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/cx24123.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/frontends/cx24123.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/cx24123.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/cx24123.c linux-2.6.35.media/drivers/media/dvb/frontends/cx24123.c
+--- linux-2.6.35/drivers/media/dvb/frontends/cx24123.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/frontends/cx24123.c	2011-01-24 22:56:42.747083368 -0500
 @@ -1108,7 +1108,6 @@ struct dvb_frontend *cx24123_attach(cons
  
  	strlcpy(state->tuner_i2c_adapter.name, "CX24123 tuner I2C bus",
@@ -16089,10 +15970,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/cx24123.c
  	state->tuner_i2c_adapter.algo      = &cx24123_tuner_i2c_algo;
  	state->tuner_i2c_adapter.algo_data = NULL;
  	i2c_set_adapdata(&state->tuner_i2c_adapter, state);
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/cx24123.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/cx24123.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/cx24123.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/cx24123.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/cx24123.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/cx24123.mod.c	2011-01-24 22:56:42.491083037 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -16113,10 +15993,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/cx24123.mod.c
 +
 +
 +MODULE_INFO(srcversion, "81E749B13DACEAC8B937DDC");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib0070.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib0070.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/dib0070.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/dib0070.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/dib0070.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/dib0070.mod.c	2011-01-24 22:56:42.614083196 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -16137,10 +16016,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib0070.mod.c
 +
 +
 +MODULE_INFO(srcversion, "A4354D61FC4BB30F205740F");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib0090.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/frontends/dib0090.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib0090.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/dib0090.c linux-2.6.35.media/drivers/media/dvb/frontends/dib0090.c
+--- linux-2.6.35/drivers/media/dvb/frontends/dib0090.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/frontends/dib0090.c	2011-01-24 22:56:40.925081031 -0500
 @@ -45,6 +45,7 @@ MODULE_PARM_DESC(debug, "turn on debuggi
  	} \
  } while (0)
@@ -18193,10 +18071,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib0090.c
  MODULE_AUTHOR("Patrick Boettcher <pboettcher at dibcom.fr>");
  MODULE_AUTHOR("Olivier Grenie <olivier.grenie at dibcom.fr>");
  MODULE_DESCRIPTION("Driver for the DiBcom 0090 base-band RF Tuner");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib0090.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/frontends/dib0090.h
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib0090.h
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/dib0090.h linux-2.6.35.media/drivers/media/dvb/frontends/dib0090.h
+--- linux-2.6.35/drivers/media/dvb/frontends/dib0090.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/frontends/dib0090.h	2011-01-24 22:56:41.611081906 -0500
 @@ -27,6 +27,21 @@ struct dib0090_io_config {
  	u16 pll_int_loop_filt;
  };
@@ -18253,10 +18130,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib0090.h
  static inline void dib0090_dcc_freq(struct dvb_frontend *fe, u8 fast)
  {
  	printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib0090.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib0090.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/dib0090.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/dib0090.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/dib0090.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/dib0090.mod.c	2011-01-24 22:56:42.522083077 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -18277,10 +18153,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib0090.mod.c
 +
 +
 +MODULE_INFO(srcversion, "06639D8DF5B701B6BFD299B");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib3000mb.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/frontends/dib3000mb.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib3000mb.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/dib3000mb.c linux-2.6.35.media/drivers/media/dvb/frontends/dib3000mb.c
+--- linux-2.6.35/drivers/media/dvb/frontends/dib3000mb.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/frontends/dib3000mb.c	2011-01-24 22:56:42.654083248 -0500
 @@ -38,11 +38,10 @@
  #define DRIVER_DESC "DiBcom 3000M-B DVB-T demodulator"
  #define DRIVER_AUTHOR "Patrick Boettcher, patrick.boettcher at desy.de"
@@ -18307,10 +18182,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib3000mb.c
  static int dib3000_read_reg(struct dib3000_state *state, u16 reg)
  {
  	u8 wb[] = { ((reg >> 8) | 0x80) & 0xff, reg & 0xff };
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib3000mb.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib3000mb.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/dib3000mb.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/dib3000mb.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/dib3000mb.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/dib3000mb.mod.c	2011-01-24 22:56:43.004083699 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -18331,10 +18205,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib3000mb.mod.c
 +
 +
 +MODULE_INFO(srcversion, "EEF31D210D47F51D982797E");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib3000mb_priv.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/frontends/dib3000mb_priv.h
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib3000mb_priv.h
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/dib3000mb_priv.h linux-2.6.35.media/drivers/media/dvb/frontends/dib3000mb_priv.h
+--- linux-2.6.35/drivers/media/dvb/frontends/dib3000mb_priv.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/frontends/dib3000mb_priv.h	2011-01-24 22:56:41.765082103 -0500
 @@ -37,12 +37,8 @@
  
  /* debug */
@@ -18348,10 +18221,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib3000mb_priv.h
  
  /* mask for enabling a specific pid for the pid_filter */
  #define DIB3000_ACTIVATE_PID_FILTERING	(0x2000)
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib3000mc.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/frontends/dib3000mc.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib3000mc.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/dib3000mc.c linux-2.6.35.media/drivers/media/dvb/frontends/dib3000mc.c
+--- linux-2.6.35/drivers/media/dvb/frontends/dib3000mc.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/frontends/dib3000mc.c	2011-01-24 22:56:42.327082825 -0500
 @@ -822,7 +822,7 @@ int dib3000mc_i2c_enumeration(struct i2c
  
  	dmcst = kzalloc(sizeof(struct dib3000mc_state), GFP_KERNEL);
@@ -18361,10 +18233,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib3000mc.c
  
  	dmcst->i2c_adap = i2c;
  
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib3000mc.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib3000mc.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/dib3000mc.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/dib3000mc.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/dib3000mc.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/dib3000mc.mod.c	2011-01-24 22:56:42.562083128 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -18385,10 +18256,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib3000mc.mod.c
 +
 +
 +MODULE_INFO(srcversion, "66D21071115E020260053C1");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib7000m.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/frontends/dib7000m.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib7000m.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/dib7000m.c linux-2.6.35.media/drivers/media/dvb/frontends/dib7000m.c
+--- linux-2.6.35/drivers/media/dvb/frontends/dib7000m.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/frontends/dib7000m.c	2011-01-24 22:56:41.652081959 -0500
 @@ -805,7 +805,7 @@ static void dib7000m_set_channel(struct 
  	value = 0;
  	switch (ch->u.ofdm.transmission_mode) {
@@ -18434,10 +18304,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib7000m.c
  		default:
  		case TRANSMISSION_MODE_8K: value |= 0x8; break;
  	}
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib7000m.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib7000m.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/dib7000m.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/dib7000m.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/dib7000m.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/dib7000m.mod.c	2011-01-24 22:56:42.009082415 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -18458,10 +18327,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib7000m.mod.c
 +
 +
 +MODULE_INFO(srcversion, "EDDBC835588AD1E19B63C45");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib7000p.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/frontends/dib7000p.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib7000p.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/dib7000p.c linux-2.6.35.media/drivers/media/dvb/frontends/dib7000p.c
+--- linux-2.6.35/drivers/media/dvb/frontends/dib7000p.c	2011-01-24 22:40:24.082423550 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/dib7000p.c	2011-01-24 22:56:42.665083261 -0500
 @@ -26,24 +26,29 @@ MODULE_PARM_DESC(buggy_sfn_workaround, "
  
  #define dprintk(args...) do { if (debug) { printk(KERN_DEBUG "DiB7000P: "); printk(args); printk("\n"); } } while (0)
@@ -21131,10 +20999,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib7000p.c
  MODULE_AUTHOR("Patrick Boettcher <pboettcher at dibcom.fr>");
  MODULE_DESCRIPTION("Driver for the DiBcom 7000PC COFDM demodulator");
  MODULE_LICENSE("GPL");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib7000p.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/frontends/dib7000p.h
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib7000p.h
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/dib7000p.h linux-2.6.35.media/drivers/media/dvb/frontends/dib7000p.h
+--- linux-2.6.35/drivers/media/dvb/frontends/dib7000p.h	2011-01-24 22:40:24.083423562 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/dib7000p.h	2011-01-24 22:56:41.192081371 -0500
 @@ -33,57 +33,54 @@ struct dib7000p_config {
  	int (*agc_control) (struct dvb_frontend *, u8 before);
  
@@ -21277,10 +21144,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib7000p.h
  }
  #endif
  
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib7000p.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib7000p.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/dib7000p.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/dib7000p.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/dib7000p.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/dib7000p.mod.c	2011-01-24 22:56:43.025083726 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -21301,10 +21167,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib7000p.mod.c
 +
 +
 +MODULE_INFO(srcversion, "6541953C373AC576EEC6E1D");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib8000.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/frontends/dib8000.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib8000.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/dib8000.c linux-2.6.35.media/drivers/media/dvb/frontends/dib8000.c
+--- linux-2.6.35/drivers/media/dvb/frontends/dib8000.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/frontends/dib8000.c	2011-01-24 22:56:42.603083181 -0500
 @@ -22,6 +22,7 @@
  #define LAYER_C   3
  
@@ -22794,10 +22659,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib8000.c
  
  	state->timf_default = cfg->pll->timf;
  
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib8000.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/frontends/dib8000.h
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib8000.h
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/dib8000.h linux-2.6.35.media/drivers/media/dvb/frontends/dib8000.h
+--- linux-2.6.35/drivers/media/dvb/frontends/dib8000.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/frontends/dib8000.h	2011-01-24 22:56:43.184083934 -0500
 @@ -50,6 +50,9 @@ extern int dib8000_set_tune_state(struct
  extern enum frontend_tune_state dib8000_get_tune_state(struct dvb_frontend *fe);
  extern void dib8000_pwm_agc_reset(struct dvb_frontend *fe);
@@ -22832,10 +22696,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib8000.h
  #endif
  
  #endif
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib8000.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib8000.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/dib8000.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/dib8000.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/dib8000.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/dib8000.mod.c	2011-01-24 22:56:41.550081827 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -22856,10 +22719,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib8000.mod.c
 +
 +
 +MODULE_INFO(srcversion, "702A40D0FB4C9D8E2B590B7");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib9000.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib9000.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/dib9000.c linux-2.6.35.media/drivers/media/dvb/frontends/dib9000.c
+--- linux-2.6.35/drivers/media/dvb/frontends/dib9000.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/dib9000.c	2011-01-24 22:56:40.832080913 -0500
 @@ -0,0 +1,2350 @@
 +/*
 + * Linux-DVB Driver for DiBcom's DiB9000 and demodulator-family.
@@ -25211,10 +25073,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib9000.c
 +MODULE_AUTHOR("Olivier Grenie <ogrenie at dibcom.fr>");
 +MODULE_DESCRIPTION("Driver for the DiBcom 9000 COFDM demodulator");
 +MODULE_LICENSE("GPL");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib9000.h
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib9000.h
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/dib9000.h linux-2.6.35.media/drivers/media/dvb/frontends/dib9000.h
+--- linux-2.6.35/drivers/media/dvb/frontends/dib9000.h	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/dib9000.h	2011-01-24 22:56:42.644083235 -0500
 @@ -0,0 +1,131 @@
 +#ifndef DIB9000_H
 +#define DIB9000_H
@@ -25347,10 +25208,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/dib9000.h
 +#endif
 +
 +#endif
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/dibx000_common.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/frontends/dibx000_common.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/dibx000_common.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/dibx000_common.c linux-2.6.35.media/drivers/media/dvb/frontends/dibx000_common.c
+--- linux-2.6.35/drivers/media/dvb/frontends/dibx000_common.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/frontends/dibx000_common.c	2011-01-24 22:56:41.335081553 -0500
 @@ -17,9 +17,145 @@ static int dibx000_write_word(struct dib
  	struct i2c_msg msg = {
  		.addr = mst->i2c_addr,.flags = 0,.buf = b,.len = 4
@@ -25712,10 +25572,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/dibx000_common.c
  }
  EXPORT_SYMBOL(systime);
  
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/dibx000_common.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/frontends/dibx000_common.h
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/dibx000_common.h
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/dibx000_common.h linux-2.6.35.media/drivers/media/dvb/frontends/dibx000_common.h
+--- linux-2.6.35/drivers/media/dvb/frontends/dibx000_common.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/frontends/dibx000_common.h	2011-01-24 22:56:41.007081135 -0500
 @@ -4,7 +4,8 @@
  enum dibx000_i2c_interface {
  	DIBX000_I2C_INTERFACE_TUNER = 0,
@@ -25927,10 +25786,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/dibx000_common.h
 +#define DEMOD_TIMF_UPDATE 0x02
 +
  #endif
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/dibx000_common.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/dibx000_common.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/dibx000_common.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/dibx000_common.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/dibx000_common.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/dibx000_common.mod.c	2011-01-24 22:56:42.276082760 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -25951,10 +25809,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/dibx000_common.mod.c
 +
 +
 +MODULE_INFO(srcversion, "47D9370A5A0D96F8B03E892");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/drx397xD.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/frontends/drx397xD.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/drx397xD.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/drx397xD.c linux-2.6.35.media/drivers/media/dvb/frontends/drx397xD.c
+--- linux-2.6.35/drivers/media/dvb/frontends/drx397xD.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/frontends/drx397xD.c	2011-01-24 22:56:43.121083853 -0500
 @@ -232,7 +232,7 @@ static int write_fw(struct drx397xD_stat
  exit_rc:
  	read_unlock(&fw[s->chip_rev].lock);
@@ -25964,10 +25821,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/drx397xD.c
  }
  
  /* Function is not endian safe, use the RD16 wrapper below */
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/drx397xD.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/drx397xD.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/drx397xD.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/drx397xD.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/drx397xD.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/drx397xD.mod.c	2011-01-24 22:56:41.386081619 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -25988,10 +25844,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/drx397xD.mod.c
 +
 +
 +MODULE_INFO(srcversion, "0092FA98E2E4E2849A5916F");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/ds3000.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/ds3000.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/ds3000.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/ds3000.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/ds3000.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/ds3000.mod.c	2011-01-24 22:56:41.315081528 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -26012,10 +25867,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/ds3000.mod.c
 +
 +
 +MODULE_INFO(srcversion, "15EC669BBC03C958EF737D9");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/dvb_dummy_fe.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/dvb_dummy_fe.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/dvb_dummy_fe.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/dvb_dummy_fe.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/dvb_dummy_fe.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/dvb_dummy_fe.mod.c	2011-01-24 22:56:40.801080874 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -26036,10 +25890,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/dvb_dummy_fe.mod.c
 +
 +
 +MODULE_INFO(srcversion, "D8BF10661860E117EEAD242");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/dvb-pll.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/dvb-pll.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/dvb-pll.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/dvb-pll.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/dvb-pll.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/dvb-pll.mod.c	2011-01-24 22:56:41.928082312 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -26060,10 +25913,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/dvb-pll.mod.c
 +
 +
 +MODULE_INFO(srcversion, "C375991B2006B6241CD1F01");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/ec100.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/ec100.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/ec100.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/ec100.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/ec100.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/ec100.mod.c	2011-01-24 22:56:41.560081841 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -26084,10 +25936,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/ec100.mod.c
 +
 +
 +MODULE_INFO(srcversion, "C66F6B616B00BC01D4ADB16");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/isl6405.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/isl6405.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/isl6405.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/isl6405.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/isl6405.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/isl6405.mod.c	2011-01-24 22:56:40.936081044 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -26108,10 +25959,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/isl6405.mod.c
 +
 +
 +MODULE_INFO(srcversion, "E4BF1103D4D6BE63572808A");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/isl6421.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/isl6421.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/isl6421.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/isl6421.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/isl6421.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/isl6421.mod.c	2011-01-24 22:56:43.081083801 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -26132,10 +25982,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/isl6421.mod.c
 +
 +
 +MODULE_INFO(srcversion, "42DA6149699A82C01E68680");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/isl6423.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/isl6423.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/isl6423.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/isl6423.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/isl6423.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/isl6423.mod.c	2011-01-24 22:56:42.347082851 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -26156,10 +26005,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/isl6423.mod.c
 +
 +
 +MODULE_INFO(srcversion, "829670747C3F4BD668D06F4");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/itd1000.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/itd1000.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/itd1000.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/itd1000.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/itd1000.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/itd1000.mod.c	2011-01-24 22:56:41.274081475 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -26180,10 +26028,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/itd1000.mod.c
 +
 +
 +MODULE_INFO(srcversion, "B9B25C4178A4BEC8F30F9D6");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/ix2505v.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/ix2505v.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/ix2505v.c linux-2.6.35.media/drivers/media/dvb/frontends/ix2505v.c
+--- linux-2.6.35/drivers/media/dvb/frontends/ix2505v.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/ix2505v.c	2011-01-24 22:56:40.997081122 -0500
 @@ -0,0 +1,323 @@
 +/**
 + * Driver for Sharp IX2505V (marked B0017) DVB-S silicon tuner
@@ -26508,10 +26355,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/ix2505v.c
 +MODULE_DESCRIPTION("DVB IX2505V tuner driver");
 +MODULE_AUTHOR("Malcolm Priestley");
 +MODULE_LICENSE("GPL");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/ix2505v.h
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/ix2505v.h
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/ix2505v.h linux-2.6.35.media/drivers/media/dvb/frontends/ix2505v.h
+--- linux-2.6.35/drivers/media/dvb/frontends/ix2505v.h	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/ix2505v.h	2011-01-24 22:56:40.986081108 -0500
 @@ -0,0 +1,64 @@
 +/**
 + * Driver for Sharp IX2505V (marked B0017) DVB-S silicon tuner
@@ -26577,10 +26423,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/ix2505v.h
 +#endif
 +
 +#endif /* DVB_IX2505V_H */
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/ix2505v.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/ix2505v.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/ix2505v.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/ix2505v.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/ix2505v.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/ix2505v.mod.c	2011-01-24 22:56:42.214082679 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -26601,10 +26446,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/ix2505v.mod.c
 +
 +
 +MODULE_INFO(srcversion, "C5BAB279DED1484643DAAEE");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/Kconfig
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/frontends/Kconfig
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/Kconfig
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/Kconfig linux-2.6.35.media/drivers/media/dvb/frontends/Kconfig
+--- linux-2.6.35/drivers/media/dvb/frontends/Kconfig	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/frontends/Kconfig	2011-01-24 22:56:42.471083012 -0500
 @@ -1,7 +1,7 @@
  config DVB_FE_CUSTOMISE
  	bool "Customise the frontend modules to build"
@@ -26723,10 +26567,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/Kconfig
  endmenu
 -
 -endif
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/l64781.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/l64781.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/l64781.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/l64781.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/l64781.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/l64781.mod.c	2011-01-24 22:56:42.696083301 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -26747,10 +26590,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/l64781.mod.c
 +
 +
 +MODULE_INFO(srcversion, "C41D8395519164528B798A4");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/lgdt3304.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/lgdt3304.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/lgdt3304.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/lgdt3304.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/lgdt3304.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/lgdt3304.mod.c	2011-01-24 22:56:40.976081095 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -26771,10 +26613,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/lgdt3304.mod.c
 +
 +
 +MODULE_INFO(srcversion, "B30D043D9A84826959429D1");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/lgdt3305.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/frontends/lgdt3305.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/lgdt3305.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/lgdt3305.c linux-2.6.35.media/drivers/media/dvb/frontends/lgdt3305.c
+--- linux-2.6.35/drivers/media/dvb/frontends/lgdt3305.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/frontends/lgdt3305.c	2011-01-24 22:56:43.351084151 -0500
 @@ -1,7 +1,9 @@
  /*
 - *    Support for LGDT3305 - VSB/QAM
@@ -27132,10 +26973,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/lgdt3305.c
  
  /*
   * Local variables:
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/lgdt3305.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/frontends/lgdt3305.h
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/lgdt3305.h
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/lgdt3305.h linux-2.6.35.media/drivers/media/dvb/frontends/lgdt3305.h
+--- linux-2.6.35/drivers/media/dvb/frontends/lgdt3305.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/frontends/lgdt3305.h	2011-01-24 22:56:40.676080716 -0500
 @@ -1,7 +1,7 @@
  /*
 - *    Support for LGDT3305 - VSB/QAM
@@ -27166,10 +27006,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/lgdt3305.h
  };
  
  #if defined(CONFIG_DVB_LGDT3305) || (defined(CONFIG_DVB_LGDT3305_MODULE) && \
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/lgdt3305.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/lgdt3305.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/lgdt3305.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/lgdt3305.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/lgdt3305.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/lgdt3305.mod.c	2011-01-24 22:56:40.739080795 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -27190,10 +27029,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/lgdt3305.mod.c
 +
 +
 +MODULE_INFO(srcversion, "4032C0B2FEACD348EB4E4BB");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/lgdt330x.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/lgdt330x.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/lgdt330x.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/lgdt330x.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/lgdt330x.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/lgdt330x.mod.c	2011-01-24 22:56:41.437081685 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -27214,10 +27052,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/lgdt330x.mod.c
 +
 +
 +MODULE_INFO(srcversion, "5EB706716289431149006B7");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/lgs8gl5.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/lgs8gl5.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/lgs8gl5.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/lgs8gl5.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/lgs8gl5.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/lgs8gl5.mod.c	2011-01-24 22:56:41.601081894 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -27238,10 +27075,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/lgs8gl5.mod.c
 +
 +
 +MODULE_INFO(srcversion, "907E545A888626EDAEECD00");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/lgs8gxx.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/frontends/lgs8gxx.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/lgs8gxx.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/lgs8gxx.c linux-2.6.35.media/drivers/media/dvb/frontends/lgs8gxx.c
+--- linux-2.6.35/drivers/media/dvb/frontends/lgs8gxx.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/frontends/lgs8gxx.c	2011-01-24 22:56:42.859083512 -0500
 @@ -24,6 +24,7 @@
   */
  
@@ -27372,10 +27208,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/lgs8gxx.c
  {
  	struct lgs8gxx_state *priv = fe->demodulator_priv;
  
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/lgs8gxx.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/lgs8gxx.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/lgs8gxx.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/lgs8gxx.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/lgs8gxx.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/lgs8gxx.mod.c	2011-01-24 22:56:40.873080964 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -27396,10 +27231,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/lgs8gxx.mod.c
 +
 +
 +MODULE_INFO(srcversion, "31A339B33754DFC0955D7B1");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/lnbp21.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/lnbp21.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/lnbp21.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/lnbp21.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/lnbp21.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/lnbp21.mod.c	2011-01-24 22:56:43.056083767 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -27420,10 +27254,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/lnbp21.mod.c
 +
 +
 +MODULE_INFO(srcversion, "588F1CEDBA284D92702C4E2");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/Makefile
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/frontends/Makefile
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/Makefile
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/Makefile linux-2.6.35.media/drivers/media/dvb/frontends/Makefile
+--- linux-2.6.35/drivers/media/dvb/frontends/Makefile	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/frontends/Makefile	2011-01-24 22:56:40.842080925 -0500
 @@ -5,7 +5,6 @@
  EXTRA_CFLAGS += -Idrivers/media/dvb/dvb-core/
  EXTRA_CFLAGS += -Idrivers/media/common/tuners/
@@ -27462,10 +27295,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/Makefile
  obj-$(CONFIG_DVB_MB86A16) += mb86a16.o
 +obj-$(CONFIG_DVB_MB86A20S) += mb86a20s.o
 +obj-$(CONFIG_DVB_IX2505V) += ix2505v.o
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/mb86a16.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/frontends/mb86a16.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/mb86a16.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/mb86a16.c linux-2.6.35.media/drivers/media/dvb/frontends/mb86a16.c
+--- linux-2.6.35/drivers/media/dvb/frontends/mb86a16.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/frontends/mb86a16.c	2011-01-24 22:56:42.183082639 -0500
 @@ -1833,7 +1833,6 @@ static struct dvb_frontend_ops mb86a16_o
  
  	.get_frontend_algo		= mb86a16_frontend_algo,
@@ -27474,10 +27306,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/mb86a16.c
  	.init				= mb86a16_init,
  	.sleep				= mb86a16_sleep,
  	.read_status			= mb86a16_read_status,
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/mb86a16.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/mb86a16.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/mb86a16.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/mb86a16.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/mb86a16.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/mb86a16.mod.c	2011-01-24 22:56:42.030082442 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -27498,10 +27329,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/mb86a16.mod.c
 +
 +
 +MODULE_INFO(srcversion, "A6DC8AFFFEEA1A39BEF293D");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/mb86a20s.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/mb86a20s.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/mb86a20s.c linux-2.6.35.media/drivers/media/dvb/frontends/mb86a20s.c
+--- linux-2.6.35/drivers/media/dvb/frontends/mb86a20s.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/mb86a20s.c	2011-01-24 22:56:42.941083618 -0500
 @@ -0,0 +1,639 @@
 +/*
 + *   Fujitu mb86a20s ISDB-T/ISDB-Tsb Module driver
@@ -28142,10 +27972,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/mb86a20s.c
 +MODULE_DESCRIPTION("DVB Frontend module for Fujitsu mb86A20s hardware");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
 +MODULE_LICENSE("GPL");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/mb86a20s.h
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/mb86a20s.h
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/mb86a20s.h linux-2.6.35.media/drivers/media/dvb/frontends/mb86a20s.h
+--- linux-2.6.35/drivers/media/dvb/frontends/mb86a20s.h	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/mb86a20s.h	2011-01-24 22:56:42.060082480 -0500
 @@ -0,0 +1,52 @@
 +/*
 + *   Fujitsu mb86a20s driver
@@ -28199,10 +28028,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/mb86a20s.h
 +#endif
 +
 +#endif /* MB86A20S */
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/mt312.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/mt312.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/mt312.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/mt312.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/mt312.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/mt312.mod.c	2011-01-24 22:56:42.234082706 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -28223,10 +28051,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/mt312.mod.c
 +
 +
 +MODULE_INFO(srcversion, "A1BC9EF06B80DB286CEA8CF");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/mt352.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/frontends/mt352.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/mt352.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/mt352.c linux-2.6.35.media/drivers/media/dvb/frontends/mt352.c
+--- linux-2.6.35/drivers/media/dvb/frontends/mt352.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/frontends/mt352.c	2011-01-24 22:56:43.043083750 -0500
 @@ -69,7 +69,7 @@ static int mt352_single_write(struct dvb
  	return 0;
  }
@@ -28236,10 +28063,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/mt352.c
  {
  	int err,i;
  	for (i=0; i < ilen-1; i++)
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/mt352.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/frontends/mt352.h
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/mt352.h
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/mt352.h linux-2.6.35.media/drivers/media/dvb/frontends/mt352.h
+--- linux-2.6.35/drivers/media/dvb/frontends/mt352.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/frontends/mt352.h	2011-01-24 22:56:41.406081645 -0500
 @@ -63,7 +63,7 @@ static inline struct dvb_frontend* mt352
  }
  #endif // CONFIG_DVB_MT352
@@ -28249,10 +28075,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/mt352.h
  	int r = 0;
  	if (fe->ops.write)
  		r = fe->ops.write(fe, buf, len);
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/mt352.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/mt352.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/mt352.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/mt352.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/mt352.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/mt352.mod.c	2011-01-24 22:56:42.532083090 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -28273,10 +28098,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/mt352.mod.c
 +
 +
 +MODULE_INFO(srcversion, "29B649665A5632EA44DEF86");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/nxt200x.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/nxt200x.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/nxt200x.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/nxt200x.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/nxt200x.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/nxt200x.mod.c	2011-01-24 22:56:40.697080743 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -28297,10 +28121,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/nxt200x.mod.c
 +
 +
 +MODULE_INFO(srcversion, "15C3C4FE2A3545DD9012B7A");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/nxt6000.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/nxt6000.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/nxt6000.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/nxt6000.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/nxt6000.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/nxt6000.mod.c	2011-01-24 22:56:42.122082560 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -28321,10 +28144,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/nxt6000.mod.c
 +
 +
 +MODULE_INFO(srcversion, "BA09A3E7048E1ACFE45468D");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/or51132.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/or51132.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/or51132.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/or51132.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/or51132.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/or51132.mod.c	2011-01-24 22:56:42.634083221 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -28345,10 +28167,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/or51132.mod.c
 +
 +
 +MODULE_INFO(srcversion, "84304FB9BCA91A4FD8803C4");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/or51211.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/or51211.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/or51211.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/or51211.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/or51211.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/or51211.mod.c	2011-01-24 22:56:42.388082904 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -28369,10 +28190,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/or51211.mod.c
 +
 +
 +MODULE_INFO(srcversion, "42D0D41B6E68522E3532DD0");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/s5h1409.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/s5h1409.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/s5h1409.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/s5h1409.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/s5h1409.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/s5h1409.mod.c	2011-01-24 22:56:43.194083946 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -28393,10 +28213,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/s5h1409.mod.c
 +
 +
 +MODULE_INFO(srcversion, "16D5FA702289EF7E823E93D");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/s5h1411.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/s5h1411.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/s5h1411.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/s5h1411.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/s5h1411.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/s5h1411.mod.c	2011-01-24 22:56:41.958082349 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -28417,10 +28236,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/s5h1411.mod.c
 +
 +
 +MODULE_INFO(srcversion, "511626C9B60052B130C6696");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/s5h1420.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/frontends/s5h1420.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/s5h1420.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/s5h1420.c linux-2.6.35.media/drivers/media/dvb/frontends/s5h1420.c
+--- linux-2.6.35/drivers/media/dvb/frontends/s5h1420.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/frontends/s5h1420.c	2011-01-24 22:56:42.040082455 -0500
 @@ -920,7 +920,6 @@ struct dvb_frontend *s5h1420_attach(cons
  	/* create tuner i2c adapter */
  	strlcpy(state->tuner_i2c_adapter.name, "S5H1420-PN1010 tuner I2C bus",
@@ -28429,10 +28247,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/s5h1420.c
  	state->tuner_i2c_adapter.algo      = &s5h1420_tuner_i2c_algo;
  	state->tuner_i2c_adapter.algo_data = NULL;
  	i2c_set_adapdata(&state->tuner_i2c_adapter, state);
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/s5h1420.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/s5h1420.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/s5h1420.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/s5h1420.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/s5h1420.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/s5h1420.mod.c	2011-01-24 22:56:41.048081186 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -28453,10 +28270,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/s5h1420.mod.c
 +
 +
 +MODULE_INFO(srcversion, "9522D92000F09C72B3250F9");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/s5h1432.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/s5h1432.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/s5h1432.c linux-2.6.35.media/drivers/media/dvb/frontends/s5h1432.c
+--- linux-2.6.35/drivers/media/dvb/frontends/s5h1432.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/s5h1432.c	2011-01-24 22:56:42.849083500 -0500
 @@ -0,0 +1,415 @@
 +/*
 + *  Samsung s5h1432 DVB-T demodulator driver
@@ -28873,10 +28689,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/s5h1432.c
 +MODULE_DESCRIPTION("Samsung s5h1432 DVB-T Demodulator driver");
 +MODULE_AUTHOR("Bill Liu");
 +MODULE_LICENSE("GPL");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/s5h1432.h
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/s5h1432.h
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/s5h1432.h linux-2.6.35.media/drivers/media/dvb/frontends/s5h1432.h
+--- linux-2.6.35/drivers/media/dvb/frontends/s5h1432.h	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/s5h1432.h	2011-01-24 22:56:41.017081148 -0500
 @@ -0,0 +1,91 @@
 +/*
 + *  Samsung s5h1432 VSB/QAM demodulator driver
@@ -28969,10 +28784,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/s5h1432.h
 +#endif /* CONFIG_DVB_s5h1432 */
 +
 +#endif /* __s5h1432_H__ */
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/s5h1432.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/s5h1432.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/s5h1432.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/s5h1432.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/s5h1432.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/s5h1432.mod.c	2011-01-24 22:56:41.417081658 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -28993,10 +28807,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/s5h1432.mod.c
 +
 +
 +MODULE_INFO(srcversion, "18EEDBE8ECD27DB1F4DBDFC");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/s921.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/s921.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/s921.c linux-2.6.35.media/drivers/media/dvb/frontends/s921.c
+--- linux-2.6.35/drivers/media/dvb/frontends/s921.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/s921.c	2011-01-24 22:56:40.956081069 -0500
 @@ -0,0 +1,548 @@
 +/*
 + *   Sharp VA3A5JZ921 One Seg Broadcast Module driver
@@ -29546,10 +29359,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/s921.c
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
 +MODULE_AUTHOR("Douglas Landgraf <dougsland at redhat.com>");
 +MODULE_LICENSE("GPL");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/s921.h
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/s921.h
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/s921.h linux-2.6.35.media/drivers/media/dvb/frontends/s921.h
+--- linux-2.6.35/drivers/media/dvb/frontends/s921.h	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/s921.h	2011-01-24 22:56:42.829083473 -0500
 @@ -0,0 +1,47 @@
 +/*
 + *   Sharp s921 driver
@@ -29598,10 +29410,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/s921.h
 +#endif
 +
 +#endif /* S921_H */
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/s921.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/s921.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/s921.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/s921.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/s921.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/s921.mod.c	2011-01-24 22:56:41.877082246 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -29622,10 +29433,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/s921.mod.c
 +
 +
 +MODULE_INFO(srcversion, "3983C90BE94BC0B2EBB5342");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/si21xx.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/frontends/si21xx.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/si21xx.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/si21xx.c linux-2.6.35.media/drivers/media/dvb/frontends/si21xx.c
+--- linux-2.6.35/drivers/media/dvb/frontends/si21xx.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/frontends/si21xx.c	2011-01-24 22:56:41.223081409 -0500
 @@ -268,7 +268,7 @@ static int si21_writereg(struct si21xx_s
  	return (ret != 1) ? -EREMOTEIO : 0;
  }
@@ -29635,10 +29445,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/si21xx.c
  {
  	struct si21xx_state *state = fe->demodulator_priv;
  
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/si21xx.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/si21xx.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/si21xx.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/si21xx.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/si21xx.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/si21xx.mod.c	2011-01-24 22:56:43.287084069 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -29659,10 +29468,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/si21xx.mod.c
 +
 +
 +MODULE_INFO(srcversion, "CB0F5468A72D99C6B2EF729");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/sp8870.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/sp8870.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/sp8870.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/sp8870.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/sp8870.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/sp8870.mod.c	2011-01-24 22:56:41.887082258 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -29683,10 +29491,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/sp8870.mod.c
 +
 +
 +MODULE_INFO(srcversion, "9F9469C56F5C2003905D091");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/sp887x.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/sp887x.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/sp887x.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/sp887x.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/sp887x.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/sp887x.mod.c	2011-01-24 22:56:40.895080993 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -29707,10 +29514,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/sp887x.mod.c
 +
 +
 +MODULE_INFO(srcversion, "03C6DB375ACFC92C763A585");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/stb0899_drv.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/frontends/stb0899_drv.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/stb0899_drv.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/stb0899_drv.c linux-2.6.35.media/drivers/media/dvb/frontends/stb0899_drv.c
+--- linux-2.6.35/drivers/media/dvb/frontends/stb0899_drv.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/frontends/stb0899_drv.c	2011-01-24 22:56:42.737083354 -0500
 @@ -714,7 +714,7 @@ static int stb0899_send_diseqc_msg(struc
  	reg = stb0899_read_reg(state, STB0899_DISCNTRL1);
  	STB0899_SETFIELD_VAL(DISPRECHARGE, reg, 0);
@@ -29720,10 +29526,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/stb0899_drv.c
  	return 0;
  }
  
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/stb0899.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/stb0899.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/stb0899.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/stb0899.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/stb0899.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/stb0899.mod.c	2011-01-24 22:56:43.173083920 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -29744,10 +29549,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/stb0899.mod.c
 +
 +
 +MODULE_INFO(srcversion, "C62342E95D7D30968F1FDB2");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/stb6000.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/stb6000.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/stb6000.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/stb6000.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/stb6000.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/stb6000.mod.c	2011-01-24 22:56:43.277084057 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -29768,10 +29572,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/stb6000.mod.c
 +
 +
 +MODULE_INFO(srcversion, "4CFCF09E3E4F088A57F9DB8");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/stb6100.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/frontends/stb6100.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/stb6100.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/stb6100.c linux-2.6.35.media/drivers/media/dvb/frontends/stb6100.c
+--- linux-2.6.35/drivers/media/dvb/frontends/stb6100.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/frontends/stb6100.c	2011-01-24 22:56:42.368082879 -0500
 @@ -51,7 +51,7 @@ module_param(verbose, int, 0644);
  		if (x > y)								\
  			printk(format, ##arg);						\
@@ -30110,10 +29913,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/stb6100.c
  				    struct i2c_adapter *i2c)
  {
  	struct stb6100_state *state = NULL;
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/stb6100.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/frontends/stb6100.h
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/stb6100.h
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/stb6100.h linux-2.6.35.media/drivers/media/dvb/frontends/stb6100.h
+--- linux-2.6.35/drivers/media/dvb/frontends/stb6100.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/frontends/stb6100.h	2011-01-24 22:56:42.768083394 -0500
 @@ -97,13 +97,13 @@ struct stb6100_state {
  #if defined(CONFIG_DVB_STB6100) || (defined(CONFIG_DVB_STB6100_MODULE) && defined(MODULE))
  
@@ -30130,10 +29932,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/stb6100.h
  						  struct i2c_adapter *i2c)
  {
  	printk(KERN_WARNING "%s: Driver disabled by Kconfig\n", __func__);
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/stb6100.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/stb6100.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/stb6100.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/stb6100.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/stb6100.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/stb6100.mod.c	2011-01-24 22:56:41.202081384 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -30154,10 +29955,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/stb6100.mod.c
 +
 +
 +MODULE_INFO(srcversion, "78FB3DEA8C795F843FB54F9");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/stv0288.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/frontends/stv0288.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/stv0288.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/stv0288.c linux-2.6.35.media/drivers/media/dvb/frontends/stv0288.c
+--- linux-2.6.35/drivers/media/dvb/frontends/stv0288.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/frontends/stv0288.c	2011-01-24 22:56:41.172081345 -0500
 @@ -6,6 +6,8 @@
  	Copyright (C) 2008 Igor M. Liplianin <liplianin at me.by>
  		Removed stb6000 specific tuner code and revised some
@@ -30243,10 +30043,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/stv0288.c
  			break;
  
  		tda[2] += 40;
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/stv0288.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/stv0288.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/stv0288.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/stv0288.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/stv0288.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/stv0288.mod.c	2011-01-24 22:56:42.552083116 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -30267,10 +30066,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/stv0288.mod.c
 +
 +
 +MODULE_INFO(srcversion, "820D89768F63B562D98FF85");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/stv0297.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/stv0297.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/stv0297.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/stv0297.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/stv0297.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/stv0297.mod.c	2011-01-24 22:56:42.808083447 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -30291,10 +30089,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/stv0297.mod.c
 +
 +
 +MODULE_INFO(srcversion, "4BF20C51FA606F6DC7F1758");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/stv0299.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/frontends/stv0299.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/stv0299.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/stv0299.c linux-2.6.35.media/drivers/media/dvb/frontends/stv0299.c
+--- linux-2.6.35/drivers/media/dvb/frontends/stv0299.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/frontends/stv0299.c	2011-01-24 22:56:41.897082271 -0500
 @@ -92,7 +92,7 @@ static int stv0299_writeregI (struct stv
  	return (ret != 1) ? -EREMOTEIO : 0;
  }
@@ -30304,10 +30101,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/stv0299.c
  {
  	struct stv0299_state* state = fe->demodulator_priv;
  
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/stv0299.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/frontends/stv0299.h
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/stv0299.h
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/stv0299.h linux-2.6.35.media/drivers/media/dvb/frontends/stv0299.h
+--- linux-2.6.35/drivers/media/dvb/frontends/stv0299.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/frontends/stv0299.h	2011-01-24 22:56:41.478081735 -0500
 @@ -65,7 +65,7 @@ struct stv0299_config
  	 * First of each pair is the register, second is the value.
  	 * List should be terminated with an 0xff, 0xff pair.
@@ -30317,10 +30113,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/stv0299.h
  
  	/* master clock to use */
  	u32 mclk;
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/stv0299.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/stv0299.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/stv0299.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/stv0299.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/stv0299.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/stv0299.mod.c	2011-01-24 22:56:41.703082024 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -30341,10 +30136,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/stv0299.mod.c
 +
 +
 +MODULE_INFO(srcversion, "84E526BA0BC6786E23251E8");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/stv0900.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/stv0900.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/stv0900.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/stv0900.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/stv0900.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/stv0900.mod.c	2011-01-24 22:56:42.972083658 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -30365,10 +30159,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/stv0900.mod.c
 +
 +
 +MODULE_INFO(srcversion, "32B188CED9EE4B426CE6FF3");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/stv090x.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/frontends/stv090x.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/stv090x.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/stv090x.c linux-2.6.35.media/drivers/media/dvb/frontends/stv090x.c
+--- linux-2.6.35/drivers/media/dvb/frontends/stv090x.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/frontends/stv090x.c	2011-01-24 22:56:41.090081241 -0500
 @@ -767,8 +767,12 @@ static int stv090x_i2c_gate_ctrl(struct 
  	 * In case of any error, the lock is unlocked and exit within the
  	 * relevant operations themselves.
@@ -30825,10 +30618,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/stv090x.c
  
  	dprintk(FE_ERROR, 1, "Attaching %s demodulator(%d) Cut=0x%02x",
  	       state->device == STV0900 ? "STV0900" : "STV0903",
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/stv090x.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/frontends/stv090x.h
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/stv090x.h
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/stv090x.h linux-2.6.35.media/drivers/media/dvb/frontends/stv090x.h
+--- linux-2.6.35/drivers/media/dvb/frontends/stv090x.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/frontends/stv090x.h	2011-01-24 22:56:41.989082389 -0500
 @@ -78,6 +78,9 @@ struct stv090x_config {
  	u32 ts1_clk;
  	u32 ts2_clk;
@@ -30873,10 +30665,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/stv090x.h
  #endif /* CONFIG_DVB_STV090x */
  
  #endif /* __STV090x_H */
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/stv090x.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/stv090x.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/stv090x.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/stv090x.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/stv090x.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/stv090x.mod.c	2011-01-24 22:56:42.152082599 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -30897,10 +30688,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/stv090x.mod.c
 +
 +
 +MODULE_INFO(srcversion, "22DFB6B2EE3C31ACC945FF3");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/stv090x_reg.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/frontends/stv090x_reg.h
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/stv090x_reg.h
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/stv090x_reg.h linux-2.6.35.media/drivers/media/dvb/frontends/stv090x_reg.h
+--- linux-2.6.35/drivers/media/dvb/frontends/stv090x_reg.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/frontends/stv090x_reg.h	2011-01-24 22:56:43.308084097 -0500
 @@ -1327,10 +1327,10 @@
  #define STV090x_WIDTH_Px_NOSPLHT_UNNORMED_FIELD	8
  
@@ -30952,10 +30742,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/stv090x_reg.h
  #define STV090x_OFFST_Px_CCI_VALUE_FIELD	0
  #define STV090x_WIDTH_Px_CCI_VALUE_FIELD	8
  
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/stv6110.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/stv6110.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/stv6110.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/stv6110.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/stv6110.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/stv6110.mod.c	2011-01-24 22:56:41.734082063 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -30976,10 +30765,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/stv6110.mod.c
 +
 +
 +MODULE_INFO(srcversion, "77EDB401127F4A697A19563");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/stv6110x.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/stv6110x.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/stv6110x.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/stv6110x.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/stv6110x.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/stv6110x.mod.c	2011-01-24 22:56:41.570081854 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -31000,10 +30788,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/stv6110x.mod.c
 +
 +
 +MODULE_INFO(srcversion, "868BDF30D59237AB8EE0747");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/tda10021.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/tda10021.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/tda10021.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/tda10021.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/tda10021.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/tda10021.mod.c	2011-01-24 22:56:41.151081319 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -31024,10 +30811,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/tda10021.mod.c
 +
 +
 +MODULE_INFO(srcversion, "7BA455B8CD96F16BE24B84A");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/tda10023.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/tda10023.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/tda10023.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/tda10023.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/tda10023.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/tda10023.mod.c	2011-01-24 22:56:41.713082037 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -31048,10 +30834,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/tda10023.mod.c
 +
 +
 +MODULE_INFO(srcversion, "B0B9F6965E0EE0356340903");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/tda10048.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/frontends/tda10048.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/tda10048.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/tda10048.c linux-2.6.35.media/drivers/media/dvb/frontends/tda10048.c
+--- linux-2.6.35/drivers/media/dvb/frontends/tda10048.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/frontends/tda10048.c	2011-01-24 22:56:41.121081279 -0500
 @@ -25,6 +25,7 @@
  #include <linux/string.h>
  #include <linux/slab.h>
@@ -31168,10 +30953,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/tda10048.c
  
  	return 0;
  }
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/tda10048.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/tda10048.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/tda10048.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/tda10048.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/tda10048.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/tda10048.mod.c	2011-01-24 22:56:41.294081502 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -31192,10 +30976,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/tda10048.mod.c
 +
 +
 +MODULE_INFO(srcversion, "9E58658ABB449FED90FE3FA");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/tda1004x.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/frontends/tda1004x.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/tda1004x.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/tda1004x.c linux-2.6.35.media/drivers/media/dvb/frontends/tda1004x.c
+--- linux-2.6.35/drivers/media/dvb/frontends/tda1004x.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/frontends/tda1004x.c	2011-01-24 22:56:41.069081214 -0500
 @@ -598,7 +598,7 @@ static int tda1004x_decode_fec(int tdafe
  	return -1;
  }
@@ -31205,10 +30988,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/tda1004x.c
  {
  	struct tda1004x_state* state = fe->demodulator_priv;
  
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/tda1004x.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/tda1004x.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/tda1004x.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/tda1004x.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/tda1004x.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/tda1004x.mod.c	2011-01-24 22:56:42.624083209 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -31229,10 +31011,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/tda1004x.mod.c
 +
 +
 +MODULE_INFO(srcversion, "28D44A520687AD7B5259B94");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/tda10086.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/tda10086.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/tda10086.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/tda10086.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/tda10086.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/tda10086.mod.c	2011-01-24 22:56:43.141083879 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -31253,10 +31034,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/tda10086.mod.c
 +
 +
 +MODULE_INFO(srcversion, "2E2A46F90D6EC8EA2F257AB");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/tda665x.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/tda665x.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/tda665x.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/tda665x.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/tda665x.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/tda665x.mod.c	2011-01-24 22:56:41.243081436 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -31277,10 +31057,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/tda665x.mod.c
 +
 +
 +MODULE_INFO(srcversion, "4BD524F8F6B0D09B4E5BA96");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/tda8083.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/tda8083.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/tda8083.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/tda8083.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/tda8083.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/tda8083.mod.c	2011-01-24 22:56:41.519081789 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -31301,10 +31080,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/tda8083.mod.c
 +
 +
 +MODULE_INFO(srcversion, "594825D592BF5AFF1707C5E");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/tda8261.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/tda8261.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/tda8261.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/tda8261.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/tda8261.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/tda8261.mod.c	2011-01-24 22:56:42.757083380 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -31325,10 +31103,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/tda8261.mod.c
 +
 +
 +MODULE_INFO(srcversion, "372116FBEEE9D8A4CC666C4");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/tda826x.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/tda826x.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/tda826x.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/tda826x.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/tda826x.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/tda826x.mod.c	2011-01-24 22:56:41.162081333 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -31349,10 +31126,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/tda826x.mod.c
 +
 +
 +MODULE_INFO(srcversion, "2E9C87EDB61DB9FAC42244C");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/tua6100.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/tua6100.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/tua6100.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/tua6100.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/tua6100.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/tua6100.mod.c	2011-01-24 22:56:42.542083104 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -31373,10 +31149,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/tua6100.mod.c
 +
 +
 +MODULE_INFO(srcversion, "34B021A22C7B40E3763DD89");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/ves1820.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/ves1820.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/ves1820.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/ves1820.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/ves1820.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/ves1820.mod.c	2011-01-24 22:56:41.795082142 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -31397,10 +31172,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/ves1820.mod.c
 +
 +
 +MODULE_INFO(srcversion, "F237303C16F8720BA17696B");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/ves1x93.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/ves1x93.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/ves1x93.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/ves1x93.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/ves1x93.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/ves1x93.mod.c	2011-01-24 22:56:42.901083566 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -31421,10 +31195,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/ves1x93.mod.c
 +
 +
 +MODULE_INFO(srcversion, "DC84F3631F294AB7D4EF77B");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/zl10036.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/zl10036.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/zl10036.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/zl10036.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/zl10036.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/zl10036.mod.c	2011-01-24 22:56:40.780080848 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -31445,10 +31218,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/zl10036.mod.c
 +
 +
 +MODULE_INFO(srcversion, "D1875FF39248BA51E9D1D93");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/zl10039.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/zl10039.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/zl10039.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/zl10039.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/zl10039.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/zl10039.mod.c	2011-01-24 22:56:42.162082612 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -31469,10 +31241,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/zl10039.mod.c
 +
 +
 +MODULE_INFO(srcversion, "A4239F2BD1F35B50C2BCDC5");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/zl10353.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/frontends/zl10353.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/zl10353.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/zl10353.c linux-2.6.35.media/drivers/media/dvb/frontends/zl10353.c
+--- linux-2.6.35/drivers/media/dvb/frontends/zl10353.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/frontends/zl10353.c	2011-01-24 22:56:41.212081396 -0500
 @@ -64,7 +64,7 @@ static int zl10353_single_write(struct d
  	return 0;
  }
@@ -31482,10 +31253,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/zl10353.c
  {
  	int err, i;
  	for (i = 0; i < ilen - 1; i++)
-Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/zl10353.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/frontends/zl10353.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/frontends/zl10353.mod.c linux-2.6.35.media/drivers/media/dvb/frontends/zl10353.mod.c
+--- linux-2.6.35/drivers/media/dvb/frontends/zl10353.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/frontends/zl10353.mod.c	2011-01-24 22:56:41.816082168 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -31506,10 +31276,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/frontends/zl10353.mod.c
 +
 +
 +MODULE_INFO(srcversion, "DB044B4BDB276D63A10E666");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/mantis/hopper_cards.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/mantis/hopper_cards.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/mantis/hopper_cards.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/mantis/hopper_cards.c linux-2.6.35.media/drivers/media/dvb/mantis/hopper_cards.c
+--- linux-2.6.35/drivers/media/dvb/mantis/hopper_cards.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/mantis/hopper_cards.c	2011-01-24 22:56:45.287086696 -0500
 @@ -251,6 +251,8 @@ static struct pci_device_id hopper_pci_t
  	{ }
  };
@@ -31519,10 +31288,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/mantis/hopper_cards.c
  static struct pci_driver hopper_pci_driver = {
  	.name		= DRIVER_NAME,
  	.id_table	= hopper_pci_table,
-Index: linux-2.6.35.x86_64/drivers/media/dvb/mantis/hopper.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/mantis/hopper.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/mantis/hopper.mod.c linux-2.6.35.media/drivers/media/dvb/mantis/hopper.mod.c
+--- linux-2.6.35/drivers/media/dvb/mantis/hopper.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/mantis/hopper.mod.c	2011-01-24 22:56:45.390086832 -0500
 @@ -0,0 +1,23 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -31547,10 +31315,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/mantis/hopper.mod.c
 +
 +
 +MODULE_INFO(srcversion, "AA8198353571136E619C85B");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/mantis/hopper_vp3028.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/mantis/hopper_vp3028.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/mantis/hopper_vp3028.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/mantis/hopper_vp3028.c linux-2.6.35.media/drivers/media/dvb/mantis/hopper_vp3028.c
+--- linux-2.6.35/drivers/media/dvb/mantis/hopper_vp3028.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/mantis/hopper_vp3028.c	2011-01-24 22:56:45.464086931 -0500
 @@ -47,17 +47,17 @@ static int vp3028_frontend_init(struct m
  	struct mantis_hwconfig *config	= mantis->hwconfig;
  	int err = 0;
@@ -31572,10 +31339,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/mantis/hopper_vp3028.c
  
  		if (!fe)
  			return -1;
-Index: linux-2.6.35.x86_64/drivers/media/dvb/mantis/Kconfig
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/mantis/Kconfig
-+++ linux-2.6.35.x86_64/drivers/media/dvb/mantis/Kconfig
+diff -Naurp linux-2.6.35/drivers/media/dvb/mantis/Kconfig linux-2.6.35.media/drivers/media/dvb/mantis/Kconfig
+--- linux-2.6.35/drivers/media/dvb/mantis/Kconfig	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/mantis/Kconfig	2011-01-24 22:56:45.505086986 -0500
 @@ -1,6 +1,6 @@
  config MANTIS_CORE
  	tristate "Mantis/Hopper PCI bridge based devices"
@@ -31612,10 +31378,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/mantis/Kconfig
  	select DVB_PLL
  	help
  	  Support for PCI cards based on the Hopper  PCI bridge.
-Index: linux-2.6.35.x86_64/drivers/media/dvb/mantis/mantis_cards.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/mantis/mantis_cards.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/mantis/mantis_cards.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/mantis/mantis_cards.c linux-2.6.35.media/drivers/media/dvb/mantis/mantis_cards.c
+--- linux-2.6.35/drivers/media/dvb/mantis/mantis_cards.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/mantis/mantis_cards.c	2011-01-24 22:56:45.665087198 -0500
 @@ -281,6 +281,8 @@ static struct pci_device_id mantis_pci_t
  	{ }
  };
@@ -31625,10 +31390,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/mantis/mantis_cards.c
  static struct pci_driver mantis_pci_driver = {
  	.name		= DRIVER_NAME,
  	.id_table	= mantis_pci_table,
-Index: linux-2.6.35.x86_64/drivers/media/dvb/mantis/mantis_common.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/mantis/mantis_common.h
-+++ linux-2.6.35.x86_64/drivers/media/dvb/mantis/mantis_common.h
+diff -Naurp linux-2.6.35/drivers/media/dvb/mantis/mantis_common.h linux-2.6.35.media/drivers/media/dvb/mantis/mantis_common.h
+--- linux-2.6.35/drivers/media/dvb/mantis/mantis_common.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/mantis/mantis_common.h	2011-01-24 22:56:45.369086806 -0500
 @@ -171,7 +171,9 @@ struct mantis_pci {
  	struct work_struct	uart_work;
  	spinlock_t		uart_lock;
@@ -31640,10 +31404,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/mantis/mantis_common.h
  };
  
  #define MANTIS_HIF_STATUS	(mantis->gpio_status)
-Index: linux-2.6.35.x86_64/drivers/media/dvb/mantis/mantis_core.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/mantis/mantis_core.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/mantis/mantis_core.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/mantis/mantis_core.c linux-2.6.35.media/drivers/media/dvb/mantis/mantis_core.c
+--- linux-2.6.35/drivers/media/dvb/mantis/mantis_core.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/mantis/mantis_core.c	2011-01-24 22:56:45.685087225 -0500
 @@ -91,10 +91,7 @@ static int get_mac_address(struct mantis
  		return err;
  	}
@@ -31656,10 +31419,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/mantis/mantis_core.c
  
  	return 0;
  }
-Index: linux-2.6.35.x86_64/drivers/media/dvb/mantis/mantis_core.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/mantis/mantis_core.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/mantis/mantis_core.mod.c linux-2.6.35.media/drivers/media/dvb/mantis/mantis_core.mod.c
+--- linux-2.6.35/drivers/media/dvb/mantis/mantis_core.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/mantis/mantis_core.mod.c	2011-01-24 22:56:45.454086918 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -31680,10 +31442,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/mantis/mantis_core.mod.c
 +
 +
 +MODULE_INFO(srcversion, "24ECE1898B485D8D921E4B3");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/mantis/mantis_dvb.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/mantis/mantis_dvb.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/mantis/mantis_dvb.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/mantis/mantis_dvb.c linux-2.6.35.media/drivers/media/dvb/mantis/mantis_dvb.c
+--- linux-2.6.35/drivers/media/dvb/mantis/mantis_dvb.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/mantis/mantis_dvb.c	2011-01-24 22:56:45.613087130 -0500
 @@ -47,15 +47,15 @@ int mantis_frontend_power(struct mantis_
  	switch (power) {
  	case POWER_ON:
@@ -31745,10 +31506,21 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/mantis/mantis_dvb.c
  	if (mantis->hwconfig) {
  		result = config->frontend_init(mantis, mantis->fe);
  		if (result < 0) {
-Index: linux-2.6.35.x86_64/drivers/media/dvb/mantis/mantis_i2c.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/mantis/mantis_i2c.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/mantis/mantis_i2c.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/mantis/mantis_evm.c linux-2.6.35.media/drivers/media/dvb/mantis/mantis_evm.c
+--- linux-2.6.35/drivers/media/dvb/mantis/mantis_evm.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/mantis/mantis_evm.c	2011-01-24 22:56:45.624087144 -0500
+@@ -111,7 +111,7 @@ void mantis_evmgr_exit(struct mantis_ca 
+ 	struct mantis_pci *mantis = ca->ca_priv;
+ 
+ 	dprintk(MANTIS_DEBUG, 1, "Mantis Host I/F Event manager exiting");
+-	flush_scheduled_work();
++	flush_work_sync(&ca->hif_evm_work);
+ 	mantis_hif_exit(ca);
+ 	mantis_pcmcia_exit(ca);
+ }
+diff -Naurp linux-2.6.35/drivers/media/dvb/mantis/mantis_i2c.c linux-2.6.35.media/drivers/media/dvb/mantis/mantis_i2c.c
+--- linux-2.6.35/drivers/media/dvb/mantis/mantis_i2c.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/mantis/mantis_i2c.c	2011-01-24 22:56:45.603087117 -0500
 @@ -229,7 +229,6 @@ int __devinit mantis_i2c_init(struct man
  	i2c_set_adapdata(i2c_adapter, mantis);
  
@@ -31757,10 +31529,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/mantis/mantis_i2c.c
  	i2c_adapter->algo	= &mantis_algo;
  	i2c_adapter->algo_data	= NULL;
  	i2c_adapter->timeout	= 500;
-Index: linux-2.6.35.x86_64/drivers/media/dvb/mantis/mantis_input.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/mantis/mantis_input.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/mantis/mantis_input.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/mantis/mantis_input.c linux-2.6.35.media/drivers/media/dvb/mantis/mantis_input.c
+--- linux-2.6.35/drivers/media/dvb/mantis/mantis_input.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/mantis/mantis_input.c	2011-01-24 22:56:45.573087077 -0500
 @@ -18,8 +18,7 @@
  	Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
@@ -31880,10 +31651,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/mantis/mantis_input.c
  	return 0;
  }
 +
-Index: linux-2.6.35.x86_64/drivers/media/dvb/mantis/mantis_ioc.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/mantis/mantis_ioc.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/mantis/mantis_ioc.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/mantis/mantis_ioc.c linux-2.6.35.media/drivers/media/dvb/mantis/mantis_ioc.c
+--- linux-2.6.35/drivers/media/dvb/mantis/mantis_ioc.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/mantis/mantis_ioc.c	2011-01-24 22:56:45.328086751 -0500
 @@ -68,21 +68,14 @@ int mantis_get_mac(struct mantis_pci *ma
  		return err;
  	}
@@ -31917,10 +31687,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/mantis/mantis_ioc.c
  
  int mantis_stream_control(struct mantis_pci *mantis, enum mantis_stream_control stream_ctl)
  {
-Index: linux-2.6.35.x86_64/drivers/media/dvb/mantis/mantis_ioc.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/mantis/mantis_ioc.h
-+++ linux-2.6.35.x86_64/drivers/media/dvb/mantis/mantis_ioc.h
+diff -Naurp linux-2.6.35/drivers/media/dvb/mantis/mantis_ioc.h linux-2.6.35.media/drivers/media/dvb/mantis/mantis_ioc.h
+--- linux-2.6.35/drivers/media/dvb/mantis/mantis_ioc.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/mantis/mantis_ioc.h	2011-01-24 22:56:45.494086972 -0500
 @@ -44,7 +44,7 @@ enum mantis_stream_control {
  };
  
@@ -31930,10 +31699,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/mantis/mantis_ioc.h
  
  extern int mantis_stream_control(struct mantis_pci *mantis, enum mantis_stream_control stream_ctl);
  
-Index: linux-2.6.35.x86_64/drivers/media/dvb/mantis/mantis.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/mantis/mantis.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/mantis/mantis.mod.c linux-2.6.35.media/drivers/media/dvb/mantis/mantis.mod.c
+--- linux-2.6.35/drivers/media/dvb/mantis/mantis.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/mantis/mantis.mod.c	2011-01-24 22:56:45.499086978 -0500
 @@ -0,0 +1,23 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -31958,10 +31726,19 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/mantis/mantis.mod.c
 +
 +
 +MODULE_INFO(srcversion, "64FF266ECD6822CDFD565F4");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/mantis/mantis_vp1033.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/mantis/mantis_vp1033.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/mantis/mantis_vp1033.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/mantis/mantis_uart.c linux-2.6.35.media/drivers/media/dvb/mantis/mantis_uart.c
+--- linux-2.6.35/drivers/media/dvb/mantis/mantis_uart.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/mantis/mantis_uart.c	2011-01-24 22:56:45.474086945 -0500
+@@ -182,5 +182,6 @@ void mantis_uart_exit(struct mantis_pci 
+ {
+ 	/* disable interrupt */
+ 	mmwrite(mmread(MANTIS_UART_CTL) & 0xffef, MANTIS_UART_CTL);
++	flush_work_sync(&mantis->uart_work);
+ }
+ EXPORT_SYMBOL_GPL(mantis_uart_exit);
+diff -Naurp linux-2.6.35/drivers/media/dvb/mantis/mantis_vp1033.c linux-2.6.35.media/drivers/media/dvb/mantis/mantis_vp1033.c
+--- linux-2.6.35/drivers/media/dvb/mantis/mantis_vp1033.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/mantis/mantis_vp1033.c	2011-01-24 22:56:45.655087186 -0500
 @@ -173,7 +173,7 @@ static int vp1033_frontend_init(struct m
  		msleep(250);
  
@@ -31971,10 +31748,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/mantis/mantis_vp1033.c
  
  		if (fe) {
  			fe->ops.tuner_ops.set_params = lgtdqcs001f_tuner_set;
-Index: linux-2.6.35.x86_64/drivers/media/dvb/mantis/mantis_vp1034.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/mantis/mantis_vp1034.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/mantis/mantis_vp1034.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/mantis/mantis_vp1034.c linux-2.6.35.media/drivers/media/dvb/mantis/mantis_vp1034.c
+--- linux-2.6.35/drivers/media/dvb/mantis/mantis_vp1034.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/mantis/mantis_vp1034.c	2011-01-24 22:56:45.490086966 -0500
 @@ -50,13 +50,13 @@ int vp1034_set_voltage(struct dvb_fronte
  	switch (voltage) {
  	case SEC_VOLTAGE_13:
@@ -32002,10 +31778,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/mantis/mantis_vp1034.c
  		if (fe) {
  			dprintk(MANTIS_ERROR, 1,
  			"found MB86A16 DVB-S/DSS frontend @0x%02x",
-Index: linux-2.6.35.x86_64/drivers/media/dvb/mantis/mantis_vp1041.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/mantis/mantis_vp1041.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/mantis/mantis_vp1041.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/mantis/mantis_vp1041.c linux-2.6.35.media/drivers/media/dvb/mantis/mantis_vp1041.c
+--- linux-2.6.35/drivers/media/dvb/mantis/mantis_vp1041.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/mantis/mantis_vp1041.c	2011-01-24 22:56:45.542087035 -0500
 @@ -316,14 +316,14 @@ static int vp1041_frontend_init(struct m
  	if (err == 0) {
  		mantis_frontend_soft_reset(mantis);
@@ -32024,10 +31799,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/mantis/mantis_vp1041.c
  					dprintk(MANTIS_ERROR, 1, "No LNBP21 found!");
  			}
  		} else {
-Index: linux-2.6.35.x86_64/drivers/media/dvb/mantis/mantis_vp2033.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/mantis/mantis_vp2033.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/mantis/mantis_vp2033.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/mantis/mantis_vp2033.c linux-2.6.35.media/drivers/media/dvb/mantis/mantis_vp2033.c
+--- linux-2.6.35/drivers/media/dvb/mantis/mantis_vp2033.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/mantis/mantis_vp2033.c	2011-01-24 22:56:45.338086764 -0500
 @@ -132,7 +132,7 @@ static int vp2033_frontend_init(struct m
  		msleep(250);
  
@@ -32046,10 +31820,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/mantis/mantis_vp2033.c
  					     adapter,
  					     read_pwm(mantis));
  
-Index: linux-2.6.35.x86_64/drivers/media/dvb/mantis/mantis_vp2040.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/mantis/mantis_vp2040.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/mantis/mantis_vp2040.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/mantis/mantis_vp2040.c linux-2.6.35.media/drivers/media/dvb/mantis/mantis_vp2040.c
+--- linux-2.6.35/drivers/media/dvb/mantis/mantis_vp2040.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/mantis/mantis_vp2040.c	2011-01-24 22:56:45.380086820 -0500
 @@ -132,7 +132,7 @@ static int vp2040_frontend_init(struct m
  		msleep(250);
  
@@ -32068,10 +31841,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/mantis/mantis_vp2040.c
  					     adapter,
  					     read_pwm(mantis));
  
-Index: linux-2.6.35.x86_64/drivers/media/dvb/mantis/mantis_vp3030.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/mantis/mantis_vp3030.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/mantis/mantis_vp3030.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/mantis/mantis_vp3030.c linux-2.6.35.media/drivers/media/dvb/mantis/mantis_vp3030.c
+--- linux-2.6.35/drivers/media/dvb/mantis/mantis_vp3030.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/mantis/mantis_vp3030.c	2011-01-24 22:56:45.422086876 -0500
 @@ -59,21 +59,21 @@ static int vp3030_frontend_init(struct m
  	struct mantis_hwconfig *config	= mantis->hwconfig;
  	int err = 0;
@@ -32098,10 +31870,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/mantis/mantis_vp3030.c
  	} else {
  		dprintk(MANTIS_ERROR, 1, "Frontend on <%s> POWER ON failed! <%d>",
  			adapter->name,
-Index: linux-2.6.35.x86_64/drivers/media/dvb/ngene/Makefile
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/ngene/Makefile
-+++ linux-2.6.35.x86_64/drivers/media/dvb/ngene/Makefile
+diff -Naurp linux-2.6.35/drivers/media/dvb/ngene/Makefile linux-2.6.35.media/drivers/media/dvb/ngene/Makefile
+--- linux-2.6.35/drivers/media/dvb/ngene/Makefile	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/ngene/Makefile	2011-01-24 22:56:40.563080572 -0500
 @@ -9,3 +9,6 @@ obj-$(CONFIG_DVB_NGENE) += ngene.o
  EXTRA_CFLAGS += -Idrivers/media/dvb/dvb-core/
  EXTRA_CFLAGS += -Idrivers/media/dvb/frontends/
@@ -32109,10 +31880,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/ngene/Makefile
 +
 +# For the staging CI driver cxd2099
 +EXTRA_CFLAGS += -Idrivers/staging/cxd2099/
-Index: linux-2.6.35.x86_64/drivers/media/dvb/ngene/ngene-cards.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/ngene/ngene-cards.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/ngene/ngene-cards.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/ngene/ngene-cards.c linux-2.6.35.media/drivers/media/dvb/ngene/ngene-cards.c
+--- linux-2.6.35/drivers/media/dvb/ngene/ngene-cards.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/ngene/ngene-cards.c	2011-01-24 22:56:40.604080624 -0500
 @@ -48,20 +48,27 @@
  
  static int tuner_attach_stv6110(struct ngene_channel *chan)
@@ -32381,10 +32151,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/ngene/ngene-cards.c
  };
  
  static __init int module_init_ngene(void)
-Index: linux-2.6.35.x86_64/drivers/media/dvb/ngene/ngene-core.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/ngene/ngene-core.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/ngene/ngene-core.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/ngene/ngene-core.c linux-2.6.35.media/drivers/media/dvb/ngene/ngene-core.c
+--- linux-2.6.35/drivers/media/dvb/ngene/ngene-core.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/ngene/ngene-core.c	2011-01-24 22:56:40.574080586 -0500
 @@ -34,7 +34,6 @@
  #include <linux/io.h>
  #include <asm/div64.h>
@@ -32815,10 +32584,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/ngene/ngene-core.c
  	dev->i2c_current_bus = -1;
  
  	/* Register DVB adapters and devices for both channels */
-Index: linux-2.6.35.x86_64/drivers/media/dvb/ngene/ngene-dvb.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/ngene/ngene-dvb.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/ngene/ngene-dvb.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/ngene/ngene-dvb.c linux-2.6.35.media/drivers/media/dvb/ngene/ngene-dvb.c
+--- linux-2.6.35/drivers/media/dvb/ngene/ngene-dvb.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/ngene/ngene-dvb.c	2011-01-24 22:56:40.584080599 -0500
 @@ -35,7 +35,6 @@
  #include <linux/io.h>
  #include <asm/div64.h>
@@ -32915,10 +32683,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/ngene/ngene-dvb.c
  	return NULL;
  }
  
-Index: linux-2.6.35.x86_64/drivers/media/dvb/ngene/ngene.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/ngene/ngene.h
-+++ linux-2.6.35.x86_64/drivers/media/dvb/ngene/ngene.h
+diff -Naurp linux-2.6.35/drivers/media/dvb/ngene/ngene.h linux-2.6.35.media/drivers/media/dvb/ngene/ngene.h
+--- linux-2.6.35/drivers/media/dvb/ngene/ngene.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/ngene/ngene.h	2011-01-24 22:56:40.615080638 -0500
 @@ -36,8 +36,11 @@
  #include "dmxdev.h"
  #include "dvbdev.h"
@@ -33002,10 +32769,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/ngene/ngene.h
  void *tsout_exchange(void *priv, void *buf, u32 len, u32 clock, u32 flags);
  void *tsin_exchange(void *priv, void *buf, u32 len, u32 clock, u32 flags);
  int ngene_start_feed(struct dvb_demux_feed *dvbdmxfeed);
-Index: linux-2.6.35.x86_64/drivers/media/dvb/ngene/ngene-i2c.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/ngene/ngene-i2c.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/ngene/ngene-i2c.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/ngene/ngene-i2c.c linux-2.6.35.media/drivers/media/dvb/ngene/ngene-i2c.c
+--- linux-2.6.35/drivers/media/dvb/ngene/ngene-i2c.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/ngene/ngene-i2c.c	2011-01-24 22:56:40.594080612 -0500
 @@ -37,7 +37,6 @@
  #include <asm/div64.h>
  #include <linux/pci.h>
@@ -33022,10 +32788,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/ngene/ngene-i2c.c
  
  	strcpy(adap->name, "nGene");
  
-Index: linux-2.6.35.x86_64/drivers/media/dvb/pluto2/pluto2.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/pluto2/pluto2.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/pluto2/pluto2.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/pluto2/pluto2.c linux-2.6.35.media/drivers/media/dvb/pluto2/pluto2.c
+--- linux-2.6.35/drivers/media/dvb/pluto2/pluto2.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/pluto2/pluto2.c	2011-01-24 22:56:44.151085197 -0500
 @@ -647,7 +647,6 @@ static int __devinit pluto2_probe(struct
  	i2c_set_adapdata(&pluto->i2c_adap, pluto);
  	strcpy(pluto->i2c_adap.name, DRIVER_NAME);
@@ -33034,10 +32799,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/pluto2/pluto2.c
  	pluto->i2c_adap.dev.parent = &pdev->dev;
  	pluto->i2c_adap.algo_data = &pluto->i2c_bit;
  	pluto->i2c_bit.data = pluto;
-Index: linux-2.6.35.x86_64/drivers/media/dvb/pluto2/pluto2.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/pluto2/pluto2.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/pluto2/pluto2.mod.c linux-2.6.35.media/drivers/media/dvb/pluto2/pluto2.mod.c
+--- linux-2.6.35/drivers/media/dvb/pluto2/pluto2.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/pluto2/pluto2.mod.c	2011-01-24 22:56:44.140085183 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -33063,10 +32827,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/pluto2/pluto2.mod.c
 +MODULE_ALIAS("pci:v00000432d00000001sv*sd*bc*sc*i*");
 +
 +MODULE_INFO(srcversion, "A05D7B2E7202397C1A5C287");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/pt1/earth-pt1.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/pt1/earth-pt1.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/pt1/earth-pt1.mod.c linux-2.6.35.media/drivers/media/dvb/pt1/earth-pt1.mod.c
+--- linux-2.6.35/drivers/media/dvb/pt1/earth-pt1.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/pt1/earth-pt1.mod.c	2011-01-24 22:56:40.349080301 -0500
 @@ -0,0 +1,25 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -33093,10 +32856,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/pt1/earth-pt1.mod.c
 +MODULE_ALIAS("pci:v000010EEd0000222Asv*sd*bc*sc*i*");
 +
 +MODULE_INFO(srcversion, "04B1D30C6C7FF7B4C285D3A");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/pt1/pt1.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/pt1/pt1.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/pt1/pt1.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/pt1/pt1.c linux-2.6.35.media/drivers/media/dvb/pt1/pt1.c
+--- linux-2.6.35/drivers/media/dvb/pt1/pt1.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/pt1/pt1.c	2011-01-24 22:56:40.329080276 -0500
 @@ -1087,7 +1087,6 @@ pt1_probe(struct pci_dev *pdev, const st
  	pt1_update_power(pt1);
  
@@ -33105,10 +32867,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/pt1/pt1.c
  	i2c_adap->algo = &pt1_i2c_algo;
  	i2c_adap->algo_data = NULL;
  	i2c_adap->dev.parent = &pdev->dev;
-Index: linux-2.6.35.x86_64/drivers/media/dvb/siano/Kconfig
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/siano/Kconfig
-+++ linux-2.6.35.x86_64/drivers/media/dvb/siano/Kconfig
+diff -Naurp linux-2.6.35/drivers/media/dvb/siano/Kconfig linux-2.6.35.media/drivers/media/dvb/siano/Kconfig
+--- linux-2.6.35/drivers/media/dvb/siano/Kconfig	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/siano/Kconfig	2011-01-24 22:56:44.048085060 -0500
 @@ -4,7 +4,7 @@
  
  config SMS_SIANO_MDTV
@@ -33118,10 +32879,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/siano/Kconfig
  	---help---
  	  Choose Y or M here if you have MDTV receiver with a Siano chipset.
  
-Index: linux-2.6.35.x86_64/drivers/media/dvb/siano/sms-cards.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/siano/sms-cards.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/siano/sms-cards.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/siano/sms-cards.c linux-2.6.35.media/drivers/media/dvb/siano/sms-cards.c
+--- linux-2.6.35/drivers/media/dvb/siano/sms-cards.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/siano/sms-cards.c	2011-01-24 22:56:44.099085129 -0500
 @@ -64,9 +64,11 @@ static struct sms_board sms_boards[] = {
  		.type	= SMS_NOVA_B0,
  		.fw[DEVICE_MODE_ISDBT_BDA] = "sms1xxx-hcw-55xxx-isdbt-02.fw",
@@ -33134,10 +32894,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/siano/sms-cards.c
  		.led_power = 26,
  		.led_lo    = 27,
  		.led_hi    = 28,
-Index: linux-2.6.35.x86_64/drivers/media/dvb/siano/sms-cards.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/siano/sms-cards.h
-+++ linux-2.6.35.x86_64/drivers/media/dvb/siano/sms-cards.h
+diff -Naurp linux-2.6.35/drivers/media/dvb/siano/sms-cards.h linux-2.6.35.media/drivers/media/dvb/siano/sms-cards.h
+--- linux-2.6.35/drivers/media/dvb/siano/sms-cards.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/siano/sms-cards.h	2011-01-24 22:56:44.068085088 -0500
 @@ -75,7 +75,7 @@ struct sms_board {
  	enum sms_device_type_st type;
  	char *name, *fw[DEVICE_MODE_MAX];
@@ -33147,10 +32906,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/siano/sms-cards.h
  
  	/* gpios */
  	int led_power, led_hi, led_lo, lna_ctrl, rf_switch;
-Index: linux-2.6.35.x86_64/drivers/media/dvb/siano/smscoreapi.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/siano/smscoreapi.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/siano/smscoreapi.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/siano/smscoreapi.c linux-2.6.35.media/drivers/media/dvb/siano/smscoreapi.c
+--- linux-2.6.35/drivers/media/dvb/siano/smscoreapi.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/siano/smscoreapi.c	2011-01-24 22:56:44.061085079 -0500
 @@ -116,9 +116,7 @@ static struct smscore_registry_entry_t *
  			return entry;
  		}
@@ -33235,10 +32993,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/siano/smscoreapi.c
  		return -EINVAL;
  
  	totalLen = sizeof(struct SmsMsgHdr_ST) +
-Index: linux-2.6.35.x86_64/drivers/media/dvb/siano/smsdvb.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/siano/smsdvb.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/siano/smsdvb.mod.c linux-2.6.35.media/drivers/media/dvb/siano/smsdvb.mod.c
+--- linux-2.6.35/drivers/media/dvb/siano/smsdvb.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/siano/smsdvb.mod.c	2011-01-24 22:56:44.035085044 -0500
 @@ -0,0 +1,23 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -33263,10 +33020,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/siano/smsdvb.mod.c
 +
 +
 +MODULE_INFO(srcversion, "3069935C78F361210E356A2");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/siano/smsir.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/siano/smsir.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/siano/smsir.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/siano/smsir.c linux-2.6.35.media/drivers/media/dvb/siano/smsir.c
+--- linux-2.6.35/drivers/media/dvb/siano/smsir.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/siano/smsir.c	2011-01-24 22:56:44.054085070 -0500
 @@ -4,6 +4,11 @@
   MDTV receiver kernel modules.
   Copyright (C) 2006-2009, Uri Shkolnik
@@ -33602,10 +33358,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/siano/smsir.c
  	sms_log("");
  }
 -
-Index: linux-2.6.35.x86_64/drivers/media/dvb/siano/smsir.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/siano/smsir.h
-+++ linux-2.6.35.x86_64/drivers/media/dvb/siano/smsir.h
+diff -Naurp linux-2.6.35/drivers/media/dvb/siano/smsir.h linux-2.6.35.media/drivers/media/dvb/siano/smsir.h
+--- linux-2.6.35/drivers/media/dvb/siano/smsir.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/siano/smsir.h	2011-01-24 22:56:44.088085114 -0500
 @@ -4,6 +4,11 @@ Siano Mobile Silicon, Inc.
  MDTV receiver kernel modules.
  Copyright (C) 2006-2009, Uri Shkolnik
@@ -33690,10 +33445,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/siano/smsir.h
  	u32 timeout;
  	u32 controller;
  };
-Index: linux-2.6.35.x86_64/drivers/media/dvb/siano/smsmdtv.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/siano/smsmdtv.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/siano/smsmdtv.mod.c linux-2.6.35.media/drivers/media/dvb/siano/smsmdtv.mod.c
+--- linux-2.6.35/drivers/media/dvb/siano/smsmdtv.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/siano/smsmdtv.mod.c	2011-01-24 22:56:44.077085100 -0500
 @@ -0,0 +1,23 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -33718,10 +33472,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/siano/smsmdtv.mod.c
 +
 +
 +MODULE_INFO(srcversion, "7568607CB12D57740BCFB33");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/siano/smssdio.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/siano/smssdio.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/siano/smssdio.mod.c linux-2.6.35.media/drivers/media/dvb/siano/smssdio.mod.c
+--- linux-2.6.35/drivers/media/dvb/siano/smssdio.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/siano/smssdio.mod.c	2011-01-24 22:56:44.016085019 -0500
 @@ -0,0 +1,28 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -33751,10 +33504,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/siano/smssdio.mod.c
 +MODULE_ALIAS("sdio:c*v039Ad0301*");
 +
 +MODULE_INFO(srcversion, "ACE4C4174791034B1950F0A");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/siano/smsusb.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/siano/smsusb.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/siano/smsusb.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/siano/smsusb.c linux-2.6.35.media/drivers/media/dvb/siano/smsusb.c
+--- linux-2.6.35/drivers/media/dvb/siano/smsusb.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/siano/smsusb.c	2011-01-24 22:56:44.027085033 -0500
 @@ -288,8 +288,7 @@ static int smsusb1_setmode(void *context
  
  static void smsusb_term_device(struct usb_interface *intf)
@@ -33795,10 +33547,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/siano/smsusb.c
  	struct usb_device *udev = interface_to_usbdev(intf);
  
  	printk(KERN_INFO "%s: Entering.\n", __func__);
-Index: linux-2.6.35.x86_64/drivers/media/dvb/siano/smsusb.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/siano/smsusb.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/siano/smsusb.mod.c linux-2.6.35.media/drivers/media/dvb/siano/smsusb.mod.c
+--- linux-2.6.35/drivers/media/dvb/siano/smsusb.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/siano/smsusb.mod.c	2011-01-24 22:56:44.019085024 -0500
 @@ -0,0 +1,53 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -33853,10 +33604,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/siano/smsusb.mod.c
 +MODULE_ALIAS("usb:v2040pC090d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "DFEAA2F4F9F4AE5B2884387");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/ttpci/av7110_av.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/ttpci/av7110_av.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/ttpci/av7110_av.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/ttpci/av7110_av.c linux-2.6.35.media/drivers/media/dvb/ttpci/av7110_av.c
+--- linux-2.6.35/drivers/media/dvb/ttpci/av7110_av.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/ttpci/av7110_av.c	2011-01-24 22:56:43.625084510 -0500
 @@ -25,7 +25,7 @@
   * Or, point your browser to http://www.gnu.org/copyleft/gpl.html
   *
@@ -33895,10 +33645,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/ttpci/av7110_av.c
  };
  
  static struct dvb_device dvbdev_audio = {
-Index: linux-2.6.35.x86_64/drivers/media/dvb/ttpci/av7110.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/ttpci/av7110.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/ttpci/av7110.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/ttpci/av7110.c linux-2.6.35.media/drivers/media/dvb/ttpci/av7110.c
+--- linux-2.6.35/drivers/media/dvb/ttpci/av7110.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/ttpci/av7110.c	2011-01-24 22:56:43.477084317 -0500
 @@ -26,7 +26,7 @@
   * Or, point your browser to http://www.gnu.org/copyleft/gpl.html
   *
@@ -33947,10 +33696,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/ttpci/av7110.c
  	.flags		= SAA7146_USE_I2C_IRQ,
  
  	.module		= THIS_MODULE,
-Index: linux-2.6.35.x86_64/drivers/media/dvb/ttpci/av7110_ca.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/ttpci/av7110_ca.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/ttpci/av7110_ca.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/ttpci/av7110_ca.c linux-2.6.35.media/drivers/media/dvb/ttpci/av7110_ca.c
+--- linux-2.6.35/drivers/media/dvb/ttpci/av7110_ca.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/ttpci/av7110_ca.c	2011-01-24 22:56:43.445084275 -0500
 @@ -25,7 +25,7 @@
   * Or, point your browser to http://www.gnu.org/copyleft/gpl.html
   *
@@ -33977,10 +33725,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/ttpci/av7110_ca.c
  };
  
  static struct dvb_device dvbdev_ca = {
-Index: linux-2.6.35.x86_64/drivers/media/dvb/ttpci/av7110_hw.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/ttpci/av7110_hw.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/ttpci/av7110_hw.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/ttpci/av7110_hw.c linux-2.6.35.media/drivers/media/dvb/ttpci/av7110_hw.c
+--- linux-2.6.35/drivers/media/dvb/ttpci/av7110_hw.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/ttpci/av7110_hw.c	2011-01-24 22:56:43.593084469 -0500
 @@ -22,7 +22,7 @@
   * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
   * Or, point your browser to http://www.gnu.org/copyleft/gpl.html
@@ -33990,10 +33737,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/ttpci/av7110_hw.c
   */
  
  /* for debugging ARM communication: */
-Index: linux-2.6.35.x86_64/drivers/media/dvb/ttpci/av7110_ir.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/ttpci/av7110_ir.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/ttpci/av7110_ir.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/ttpci/av7110_ir.c linux-2.6.35.media/drivers/media/dvb/ttpci/av7110_ir.c
+--- linux-2.6.35/drivers/media/dvb/ttpci/av7110_ir.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/ttpci/av7110_ir.c	2011-01-24 22:56:43.424084248 -0500
 @@ -312,6 +312,7 @@ static ssize_t av7110_ir_proc_write(stru
  static const struct file_operations av7110_ir_proc_fops = {
  	.owner		= THIS_MODULE,
@@ -34002,10 +33748,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/ttpci/av7110_ir.c
  };
  
  /* interrupt handler */
-Index: linux-2.6.35.x86_64/drivers/media/dvb/ttpci/av7110_v4l.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/ttpci/av7110_v4l.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/ttpci/av7110_v4l.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/ttpci/av7110_v4l.c linux-2.6.35.media/drivers/media/dvb/ttpci/av7110_v4l.c
+--- linux-2.6.35/drivers/media/dvb/ttpci/av7110_v4l.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/ttpci/av7110_v4l.c	2011-01-24 22:56:43.647084538 -0500
 @@ -22,7 +22,7 @@
   * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
   * Or, point your browser to http://www.gnu.org/copyleft/gpl.html
@@ -34047,10 +33792,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/ttpci/av7110_v4l.c
  	}
  };
  
-Index: linux-2.6.35.x86_64/drivers/media/dvb/ttpci/budget-av.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/ttpci/budget-av.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/ttpci/budget-av.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/ttpci/budget-av.c linux-2.6.35.media/drivers/media/dvb/ttpci/budget-av.c
+--- linux-2.6.35/drivers/media/dvb/ttpci/budget-av.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/ttpci/budget-av.c	2011-01-24 22:56:43.521084373 -0500
 @@ -30,7 +30,7 @@
   * Or, point your browser to http://www.gnu.org/copyleft/gpl.html
   *
@@ -34073,10 +33817,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/ttpci/budget-av.c
  };
  
  static int vidioc_enum_input(struct file *file, void *fh, struct v4l2_input *i)
-Index: linux-2.6.35.x86_64/drivers/media/dvb/ttpci/budget-av.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/ttpci/budget-av.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/ttpci/budget-av.mod.c linux-2.6.35.media/drivers/media/dvb/ttpci/budget-av.mod.c
+--- linux-2.6.35/drivers/media/dvb/ttpci/budget-av.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/ttpci/budget-av.mod.c	2011-01-24 22:56:43.498084343 -0500
 @@ -0,0 +1,51 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -34129,10 +33872,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/ttpci/budget-av.mod.c
 +MODULE_ALIAS("pci:v00001131d00007146sv0000153Bsd00001157bc*sc*i*");
 +
 +MODULE_INFO(srcversion, "323BB0B0AC466CCD1A4DDD8");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/ttpci/budget.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/ttpci/budget.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/ttpci/budget.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/ttpci/budget.c linux-2.6.35.media/drivers/media/dvb/ttpci/budget.c
+--- linux-2.6.35/drivers/media/dvb/ttpci/budget.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/ttpci/budget.c	2011-01-24 22:56:43.488084331 -0500
 @@ -31,7 +31,7 @@
   * Or, point your browser to http://www.gnu.org/copyleft/gpl.html
   *
@@ -34142,10 +33884,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/ttpci/budget.c
   */
  
  #include "budget.h"
-Index: linux-2.6.35.x86_64/drivers/media/dvb/ttpci/budget-ci.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/ttpci/budget-ci.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/ttpci/budget-ci.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/ttpci/budget-ci.c linux-2.6.35.media/drivers/media/dvb/ttpci/budget-ci.c
+--- linux-2.6.35/drivers/media/dvb/ttpci/budget-ci.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/ttpci/budget-ci.c	2011-01-24 22:56:43.466084303 -0500
 @@ -26,16 +26,15 @@
   * Or, point your browser to http://www.gnu.org/copyleft/gpl.html
   *
@@ -34291,10 +34032,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/ttpci/budget-ci.c
  }
  
  static int ciintf_read_attribute_mem(struct dvb_ca_en50221 *ca, int slot, int address)
-Index: linux-2.6.35.x86_64/drivers/media/dvb/ttpci/budget-ci.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/ttpci/budget-ci.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/ttpci/budget-ci.mod.c linux-2.6.35.media/drivers/media/dvb/ttpci/budget-ci.mod.c
+--- linux-2.6.35/drivers/media/dvb/ttpci/budget-ci.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/ttpci/budget-ci.mod.c	2011-01-24 22:56:43.542084400 -0500
 @@ -0,0 +1,31 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -34327,10 +34067,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/ttpci/budget-ci.mod.c
 +MODULE_ALIAS("pci:v00001131d00007146sv000013C2sd00001019bc*sc*i*");
 +
 +MODULE_INFO(srcversion, "85C8ADB9F19E340F12D1030");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/ttpci/budget-core.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/ttpci/budget-core.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/ttpci/budget-core.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/ttpci/budget-core.c linux-2.6.35.media/drivers/media/dvb/ttpci/budget-core.c
+--- linux-2.6.35/drivers/media/dvb/ttpci/budget-core.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/ttpci/budget-core.c	2011-01-24 22:56:43.604084483 -0500
 @@ -31,7 +31,7 @@
   * Or, point your browser to http://www.gnu.org/copyleft/gpl.html
   *
@@ -34349,10 +34088,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/ttpci/budget-core.c
  	strlcpy(budget->i2c_adap.name, budget->card->name, sizeof(budget->i2c_adap.name));
  
  	saa7146_i2c_adapter_prepare(dev, &budget->i2c_adap, SAA7146_I2C_BUS_BIT_RATE_120);
-Index: linux-2.6.35.x86_64/drivers/media/dvb/ttpci/budget-core.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/ttpci/budget-core.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/ttpci/budget-core.mod.c linux-2.6.35.media/drivers/media/dvb/ttpci/budget-core.mod.c
+--- linux-2.6.35/drivers/media/dvb/ttpci/budget-core.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/ttpci/budget-core.mod.c	2011-01-24 22:56:43.414084234 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -34373,10 +34111,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/ttpci/budget-core.mod.c
 +
 +
 +MODULE_INFO(srcversion, "276125C19C647F8387B0B40");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/ttpci/budget.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/ttpci/budget.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/ttpci/budget.mod.c linux-2.6.35.media/drivers/media/dvb/ttpci/budget.mod.c
+--- linux-2.6.35/drivers/media/dvb/ttpci/budget.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/ttpci/budget.mod.c	2011-01-24 22:56:43.573084442 -0500
 @@ -0,0 +1,34 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -34412,10 +34149,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/ttpci/budget.mod.c
 +MODULE_ALIAS("pci:v00001131d00007146sv00001131sd00005F61bc*sc*i*");
 +
 +MODULE_INFO(srcversion, "86A88EC29F4BF8E7411CEAB");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/ttpci/budget-patch.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/ttpci/budget-patch.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/ttpci/budget-patch.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/ttpci/budget-patch.c linux-2.6.35.media/drivers/media/dvb/ttpci/budget-patch.c
+--- linux-2.6.35/drivers/media/dvb/ttpci/budget-patch.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/ttpci/budget-patch.c	2011-01-24 22:56:43.636084524 -0500
 @@ -27,7 +27,7 @@
   * Or, point your browser to http://www.gnu.org/copyleft/gpl.html
   *
@@ -34425,10 +34161,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/ttpci/budget-patch.c
   */
  
  #include "av7110.h"
-Index: linux-2.6.35.x86_64/drivers/media/dvb/ttpci/budget-patch.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/ttpci/budget-patch.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/ttpci/budget-patch.mod.c linux-2.6.35.media/drivers/media/dvb/ttpci/budget-patch.mod.c
+--- linux-2.6.35/drivers/media/dvb/ttpci/budget-patch.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/ttpci/budget-patch.mod.c	2011-01-24 22:56:43.404084220 -0500
 @@ -0,0 +1,23 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -34453,10 +34188,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/ttpci/budget-patch.mod.c
 +
 +
 +MODULE_INFO(srcversion, "957D71B0C985C63D0E2F21F");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/ttpci/dvb-ttpci.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/ttpci/dvb-ttpci.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/ttpci/dvb-ttpci.mod.c linux-2.6.35.media/drivers/media/dvb/ttpci/dvb-ttpci.mod.c
+--- linux-2.6.35/drivers/media/dvb/ttpci/dvb-ttpci.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/ttpci/dvb-ttpci.mod.c	2011-01-24 22:56:43.373084180 -0500
 @@ -0,0 +1,34 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -34492,10 +34226,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/ttpci/dvb-ttpci.mod.c
 +MODULE_ALIAS("pci:v00001131d00007146sv000013C2sd00001002bc*sc*i*");
 +
 +MODULE_INFO(srcversion, "F774685151DFCF4E15D311A");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/ttpci/Kconfig
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/ttpci/Kconfig
-+++ linux-2.6.35.x86_64/drivers/media/dvb/ttpci/Kconfig
+diff -Naurp linux-2.6.35/drivers/media/dvb/ttpci/Kconfig linux-2.6.35.media/drivers/media/dvb/ttpci/Kconfig
+--- linux-2.6.35/drivers/media/dvb/ttpci/Kconfig	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/ttpci/Kconfig	2011-01-24 22:56:43.552084414 -0500
 @@ -89,7 +89,6 @@ config DVB_BUDGET
  config DVB_BUDGET_CI
  	tristate "Budget cards with onboard CI connector"
@@ -34513,10 +34246,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/ttpci/Kconfig
  	help
  	  Support for simple SAA7146 based DVB cards
  	  (so called Budget- or Nova-PCI cards) without onboard
-Index: linux-2.6.35.x86_64/drivers/media/dvb/ttpci/ttpci-eeprom.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/ttpci/ttpci-eeprom.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/ttpci/ttpci-eeprom.mod.c linux-2.6.35.media/drivers/media/dvb/ttpci/ttpci-eeprom.mod.c
+--- linux-2.6.35/drivers/media/dvb/ttpci/ttpci-eeprom.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/ttpci/ttpci-eeprom.mod.c	2011-01-24 22:56:43.435084263 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -34537,10 +34269,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/ttpci/ttpci-eeprom.mod.c
 +
 +
 +MODULE_INFO(srcversion, "63E1EC1501630331897545F");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c
-+++ linux-2.6.35.x86_64/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c linux-2.6.35.media/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c
+--- linux-2.6.35/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c	2011-01-24 22:56:40.553080560 -0500
 @@ -1694,7 +1694,6 @@ static int ttusb_probe(struct usb_interf
  
  	i2c_set_adapdata(&ttusb->i2c_adap, ttusb);
@@ -34549,10 +34280,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c
  	ttusb->i2c_adap.algo              = &ttusb_dec_algo;
  	ttusb->i2c_adap.algo_data         = NULL;
  	ttusb->i2c_adap.dev.parent	  = &udev->dev;
-Index: linux-2.6.35.x86_64/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.mod.c linux-2.6.35.media/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.mod.c
+--- linux-2.6.35/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.mod.c	2011-01-24 22:56:40.532080533 -0500
 @@ -0,0 +1,26 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -34580,10 +34310,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.mod.c
 +MODULE_ALIAS("usb:v0B48p1005d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "3AC72EE3280A43B2F7B3BB5");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/ttusb-dec/ttusbdecfe.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/ttusb-dec/ttusbdecfe.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/ttusb-dec/ttusbdecfe.mod.c linux-2.6.35.media/drivers/media/dvb/ttusb-dec/ttusbdecfe.mod.c
+--- linux-2.6.35/drivers/media/dvb/ttusb-dec/ttusbdecfe.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/ttusb-dec/ttusbdecfe.mod.c	2011-01-24 22:56:45.705087252 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -34604,10 +34333,9 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/ttusb-dec/ttusbdecfe.mod.c
 +
 +
 +MODULE_INFO(srcversion, "91B69D7FDADA88C0909883A");
-Index: linux-2.6.35.x86_64/drivers/media/dvb/ttusb-dec/ttusb_dec.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/dvb/ttusb-dec/ttusb_dec.mod.c
+diff -Naurp linux-2.6.35/drivers/media/dvb/ttusb-dec/ttusb_dec.mod.c linux-2.6.35.media/drivers/media/dvb/ttusb-dec/ttusb_dec.mod.c
+--- linux-2.6.35/drivers/media/dvb/ttusb-dec/ttusb_dec.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/dvb/ttusb-dec/ttusb_dec.mod.c	2011-01-24 22:56:45.726087279 -0500
 @@ -0,0 +1,26 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -34635,2971 +34363,12376 @@ Index: linux-2.6.35.x86_64/drivers/media/dvb/ttusb-dec/ttusb_dec.mod.c
 +MODULE_ALIAS("usb:v0B48p1009d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "48BE4CED14AA51FC40D4F48");
-Index: linux-2.6.35.x86_64/drivers/media/IR/ene_ir.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/ene_ir.mod.c
-@@ -0,0 +1,31 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+MODULE_ALIAS("pnp:dENE0100*");
-+MODULE_ALIAS("acpi*:ENE0100:*");
-+MODULE_ALIAS("pnp:dENE0200*");
-+MODULE_ALIAS("acpi*:ENE0200:*");
-+MODULE_ALIAS("pnp:dENE0201*");
-+MODULE_ALIAS("acpi*:ENE0201:*");
-+MODULE_ALIAS("pnp:dENE0202*");
-+MODULE_ALIAS("acpi*:ENE0202:*");
-+
-+MODULE_INFO(srcversion, "B0353E559E83E3F2FABC2E1");
-Index: linux-2.6.35.x86_64/drivers/media/IR/imon.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/imon.mod.c
-@@ -0,0 +1,43 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+MODULE_ALIAS("usb:v15C2pFFDCd*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v15C2p0034d*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v15C2p0035d*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v15C2p0036d*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v15C2p0037d*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v15C2p0038d*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v15C2p0039d*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v15C2p003Ad*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v15C2p003Bd*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v15C2p003Cd*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v15C2p003Dd*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v15C2p003Ed*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v15C2p003Fd*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v15C2p0040d*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v15C2p0041d*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v15C2p0042d*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v15C2p0043d*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v15C2p0044d*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v15C2p0045d*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v15C2p0046d*dc*dsc*dp*ic*isc*ip*");
-+
-+MODULE_INFO(srcversion, "055E95C73CE0494E4FC7956");
-Index: linux-2.6.35.x86_64/drivers/media/IR/ir-common.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/ir-common.mod.c
-@@ -0,0 +1,19 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "C7EB483EC933FFBCC753E92");
-Index: linux-2.6.35.x86_64/drivers/media/IR/ir-core.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/ir-core.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=";
-+
-+
-+MODULE_INFO(srcversion, "0CF2148D3BDC946989AB566");
-Index: linux-2.6.35.x86_64/drivers/media/IR/ir-jvc-decoder.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/ir-jvc-decoder.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "82EDEC1D25F81B0C1333A86");
-Index: linux-2.6.35.x86_64/drivers/media/IR/ir-lirc-codec.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/ir-lirc-codec.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=lirc_dev,ir-core";
-+
-+
-+MODULE_INFO(srcversion, "9D3F0C9367BBE6C8AE8ADD2");
-Index: linux-2.6.35.x86_64/drivers/media/IR/ir-nec-decoder.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/ir-nec-decoder.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "80FE858EE1EFD48E4608863");
-Index: linux-2.6.35.x86_64/drivers/media/IR/ir-rc5-decoder.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/ir-rc5-decoder.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "F01A81B01096C668E24D431");
-Index: linux-2.6.35.x86_64/drivers/media/IR/ir-rc5-sz-decoder.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/ir-rc5-sz-decoder.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "92FEFC6BEC3B2A78BAFA900");
-Index: linux-2.6.35.x86_64/drivers/media/IR/ir-rc6-decoder.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/ir-rc6-decoder.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "5711F1820C49F7E0CE72E03");
-Index: linux-2.6.35.x86_64/drivers/media/IR/ir-sony-decoder.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/ir-sony-decoder.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "CCEC0054C10E3E583DA495F");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-adstech-dvb-t-pci.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-adstech-dvb-t-pci.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "A3AFC12895D7A499B4A813A");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-alink-dtu-m.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-alink-dtu-m.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "86B3D6348018C2EAEAB9562");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-apac-viewcomp.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-apac-viewcomp.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "411120CEE7889022FC186B8");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-asus-pc39.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-asus-pc39.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "3A0984CD487816C3C395AE8");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-ati-tv-wonder-hd-600.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-ati-tv-wonder-hd-600.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "A4922FCD09ADAE699FDC76B");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-avermedia-a16d.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-avermedia-a16d.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "D18015ECA275A53FBAC18AA");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-avermedia-cardbus.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-avermedia-cardbus.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "F56ED1425E34B00A5297AAE");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-avermedia-dvbt.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-avermedia-dvbt.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "B9AB4FE3D8D0F40497F94AD");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-avermedia-m135a.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-avermedia-m135a.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "9E4BC626D7A5FED66F1BE10");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-avermedia-m733a-rm-k6.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-avermedia-m733a-rm-k6.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "8ED9102F257B530039BCCF4");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-avermedia.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-avermedia.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "E2B044AFB5266B176B6647E");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-avermedia-rm-ks.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-avermedia-rm-ks.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "B688DB18048EB1BC82E6921");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-avertv-303.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-avertv-303.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "8F09253F72E1E1DE4C96141");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-azurewave-ad-tu700.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-azurewave-ad-tu700.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "F0D4B49E576FC190DCF4721");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-behold-columbus.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-behold-columbus.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "4FD0256D821C314796E4C0C");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-behold.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-behold.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "189220B8C54ED79E8EBDC52");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-budget-ci-old.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-budget-ci-old.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "477362995557DE10EEA2938");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-cinergy-1400.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-cinergy-1400.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "69F67A531E73599172A73F2");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-cinergy.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-cinergy.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "81CCE3BA7FB9FB1C398E2BD");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-dib0700-nec.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-dib0700-nec.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "145BDF7616F8CA7BAA04B41");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-dib0700-rc5.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-dib0700-rc5.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "C1CF116E58EA1BC1E31B140");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-digittrade.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-digittrade.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "7C379CFA91B6522E8B2231E");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-dm1105-nec.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-dm1105-nec.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "D641D3B1993928E70D54450");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-dntv-live-dvb-t.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-dntv-live-dvb-t.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "7D49CDB21B8A40E6AB4368C");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-dntv-live-dvbt-pro.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-dntv-live-dvbt-pro.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "94B123207676CB6175E5F63");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-empty.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-empty.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "BD60E58FBBA2C3A97526B91");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-em-terratec.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-em-terratec.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "03910CA5E6956599371C7D0");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-encore-enltv2.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-encore-enltv2.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "46868BE2FE5D53D996AD58C");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-encore-enltv-fm53.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-encore-enltv-fm53.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "0576381EB01F42EB29DDD38");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-encore-enltv.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-encore-enltv.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "A18F4E22153F1580452C617");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-evga-indtube.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-evga-indtube.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "469104EBCE4C19892BEDB58");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-eztv.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-eztv.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "0DB12A7E0A4069E1C87514D");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-flydvb.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-flydvb.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "67EA8D42E2B109FE70EB897");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-flyvideo.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-flyvideo.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "7C7778EE7521981481F04AD");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-fusionhdtv-mce.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-fusionhdtv-mce.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "AEE2C903F28FB75D6235410");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-gadmei-rm008z.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-gadmei-rm008z.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "50AE6E202F6190237383C57");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-genius-tvgo-a11mce.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-genius-tvgo-a11mce.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "84E5266A806C3D0C8B4C837");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-gotview7135.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-gotview7135.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "42977C6A1B82AA845B5AD4D");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-hauppauge-new.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-hauppauge-new.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "B1C2F8BF409F9E53B2947DF");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-imon-mce.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-imon-mce.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "82C03DC12A8AF675A64F5A8");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-imon-pad.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-imon-pad.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "35B82C13567ED8E953C13E5");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-iodata-bctv7e.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-iodata-bctv7e.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "F4FA3806FFE91A304ADB3AB");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-kaiomy.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-kaiomy.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "3BB8DBEA4CF8687618AE4B4");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-kworld-315u.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-kworld-315u.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "22809F3EB71EB1C55F6C241");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-kworld-plus-tv-analog.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-kworld-plus-tv-analog.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "B07FD96E048147A4E1A48CF");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-leadtek-y04g0051.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-leadtek-y04g0051.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "941C4C79704594D42348487");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-lirc.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-lirc.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "E3D5D16B859AE5B74F269B3");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-lme2510.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-lme2510.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "DC3DE330742BD39222D1B1A");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-manli.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-manli.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "A172F23CEF829F7993B1EB6");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-msi-digivox-iii.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-msi-digivox-iii.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "E1A79111B66B0C28DC15033");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-msi-digivox-ii.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-msi-digivox-ii.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "10E83287FF7506B9A3FE07B");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-msi-tvanywhere.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-msi-tvanywhere.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "DD58308841F14EC650FA978");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-msi-tvanywhere-plus.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-msi-tvanywhere-plus.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "BC73B30ABD5B5C1885DEF46");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-nebula.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-nebula.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "EF8C5DA8BBFC429C0C98D87");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-nec-terratec-cinergy-xs.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-nec-terratec-cinergy-xs.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "41B07B222C0CA22C61E04DC");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-norwood.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-norwood.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "0B531DD5E3A0DDE827F3E7B");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-npgtech.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-npgtech.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "03EC453A756D21D7EECD9D5");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-pctv-sedna.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-pctv-sedna.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "5451E29B8E4F16C0ED71294");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-pinnacle-color.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-pinnacle-color.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "296E9FFEDDD622EB89A7340");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-pinnacle-grey.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-pinnacle-grey.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "3C4A26279F7E5593A58E1A1");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-pinnacle-pctv-hd.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-pinnacle-pctv-hd.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "FCB8E8C1B87FC4FF37D21FF");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-pixelview-mk12.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-pixelview-mk12.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "0323FE1B91E9F8968300B4C");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-pixelview.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-pixelview.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "C18E35575F0DF3BA527B2E8");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-pixelview-new.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-pixelview-new.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "06496F4505742DDAE17A12F");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-powercolor-real-angel.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-powercolor-real-angel.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "518DF06FEC6D582C9E600EC");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-proteus-2309.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-proteus-2309.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "5857077AE27B70264511DD0");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-purpletv.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-purpletv.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "6C9886589931B7C4AC947CD");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-pv951.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-pv951.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "D1FC7A4F6F71FC445A80BFA");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-rc5-hauppauge-new.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-rc5-hauppauge-new.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "59183EB3BAD37DFA3FC18FA");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-rc5-streamzap.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-rc5-streamzap.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "3E1E47FE53E996369EF572A");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-rc5-tv.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-rc5-tv.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "E6DA3EE5750364C245F9006");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-rc6-mce.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-rc6-mce.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "2D7000E9D2E222C4A0BEEC0");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-real-audio-220-32-keys.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-real-audio-220-32-keys.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "4078F0798B4F51E9554F0CA");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-streamzap.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-streamzap.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "9E4ECAB0453B0C694E807EF");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-tbs-nec.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-tbs-nec.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "F65E433EE1B03688B59B938");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-terratec-cinergy-xs.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-terratec-cinergy-xs.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "DB3C623BB3472F6736576E1");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-terratec-slim.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-terratec-slim.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "6CE462D1AFC44D55279F62A");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-tevii-nec.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-tevii-nec.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "0AF3E5B3B179501549F2250");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-total-media-in-hand.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-total-media-in-hand.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "B1C63F562D6CC4022B8BB0D");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-trekstor.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-trekstor.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "25796E7A660C4DD647E2A47");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-tt-1500.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-tt-1500.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "D0B1577D61022667DE43447");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-twinhan1027.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-twinhan1027.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "1F2977E76C3676EEB148FCD");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-videomate-s350.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-videomate-s350.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "C8934BF989773F545F942B2");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-videomate-tv-pvr.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-videomate-tv-pvr.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "E8DFCF9F7EF43E12782305A");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-winfast.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-winfast.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "7FD5E99BCF11C2782DB5560");
-Index: linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-winfast-usbii-deluxe.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/keymaps/rc-winfast-usbii-deluxe.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+
-+MODULE_INFO(srcversion, "62A6B071706EC89891A68DC");
-Index: linux-2.6.35.x86_64/drivers/media/IR/lirc_dev.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/lirc_dev.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=";
-+
-+
-+MODULE_INFO(srcversion, "577D458FCC96D7FA01E8718");
-Index: linux-2.6.35.x86_64/drivers/media/IR/mceusb.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/mceusb.mod.c
-@@ -0,0 +1,69 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+MODULE_ALIAS("usb:v045Ep006Dd*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v0471p0608d*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v0471p060Cd*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v0471p060Dd*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v0471p060Fd*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v0471p0613d*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v0471p0815d*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v0471p206Cd*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v0471p2088d*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v0BDAp0161d*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v0609p031Dd*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v0609p0322d*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v0609p0334d*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v0609p0338d*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v1460p9150d*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v1308pC001d*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v051CpC001d*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v107Bp3009d*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v03EEp2501d*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v1784p0001d*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v1784p0006d*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v1784p0007d*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v1784p0008d*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v1784p000Ad*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v1784p0011d*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v179Dp0010d*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v195Dp7002d*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v1509p9242d*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v043Ep9803d*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v045Ep00A0d*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v147ApE015d*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v147ApE016d*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v147ApE017d*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v147ApE018d*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v147ApE03Ad*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v147ApE03Cd*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v147ApE03Ed*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v1934p0602d*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v1934p0702d*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v2304p0225d*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v1019p0F38d*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v0FB8p0002d*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v185Bp3020d*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v185Bp3082d*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v04EBpE004d*dc*dsc*dp*ic*isc*ip*");
-+MODULE_ALIAS("usb:v105Ap2000d*dc*dsc*dp*ic*isc*ip*");
-+
-+MODULE_INFO(srcversion, "7CF83D5466192A564ADBBCB");
-Index: linux-2.6.35.x86_64/drivers/media/IR/nuvoton-cir.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/nuvoton-cir.mod.c
-@@ -0,0 +1,27 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+MODULE_ALIAS("pnp:dWEC0530*");
-+MODULE_ALIAS("acpi*:WEC0530:*");
-+MODULE_ALIAS("pnp:dNTN0530*");
-+MODULE_ALIAS("acpi*:NTN0530:*");
-+
-+MODULE_INFO(srcversion, "BD1F8374E71E54F23C6BF55");
-Index: linux-2.6.35.x86_64/drivers/media/IR/rc-core.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/rc-core.mod.c
-@@ -0,0 +1,23 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=";
-+
-+
-+MODULE_INFO(srcversion, "59F42673CC188577FE8757A");
-Index: linux-2.6.35.x86_64/drivers/media/IR/streamzap.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/streamzap.mod.c
-@@ -0,0 +1,24 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=ir-core";
-+
-+MODULE_ALIAS("usb:v0E9Cp0000d*dc*dsc*dp*ic*isc*ip*");
-+
-+MODULE_INFO(srcversion, "03A31A37A2A9C03958EBA1F");
-Index: linux-2.6.35.x86_64/drivers/media/IR/winbond-cir.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/IR/winbond-cir.mod.c
-@@ -0,0 +1,25 @@
-+#include <linux/module.h>
-+#include <linux/vermagic.h>
-+#include <linux/compiler.h>
-+
-+MODULE_INFO(vermagic, VERMAGIC_STRING);
-+
-+struct module __this_module
-+__attribute__((section(".gnu.linkonce.this_module"))) = {
-+ .name = KBUILD_MODNAME,
-+ .init = init_module,
-+#ifdef CONFIG_MODULE_UNLOAD
-+ .exit = cleanup_module,
-+#endif
-+ .arch = MODULE_ARCH_INIT,
-+};
-+
-+static const char __module_depends[]
-+__used
-+__attribute__((section(".modinfo"))) =
-+"depends=rc-core";
-+
-+MODULE_ALIAS("pnp:dWEC1022*");
-+MODULE_ALIAS("acpi*:WEC1022:*");
-+
-+MODULE_INFO(srcversion, "6EA372594ACD5D26F222C86");
-Index: linux-2.6.35.x86_64/drivers/media/Kconfig
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/Kconfig
-+++ linux-2.6.35.x86_64/drivers/media/Kconfig
+diff -Naurp linux-2.6.35/drivers/media/IR/imon.c linux-2.6.35.media/drivers/media/IR/imon.c
+--- linux-2.6.35/drivers/media/IR/imon.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/imon.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,2403 +0,0 @@
+-/*
+- *   imon.c:	input and display driver for SoundGraph iMON IR/VFD/LCD
+- *
+- *   Copyright(C) 2009  Jarod Wilson <jarod at wilsonet.com>
+- *   Portions based on the original lirc_imon driver,
+- *	Copyright(C) 2004  Venky Raju(dev at venky.ws)
+- *
+- *   Huge thanks to R. Geoff Newbury for invaluable debugging on the
+- *   0xffdc iMON devices, and for sending me one to hack on, without
+- *   which the support for them wouldn't be nearly as good. Thanks
+- *   also to the numerous 0xffdc device owners that tested auto-config
+- *   support for me and provided debug dumps from their devices.
+- *
+- *   imon is free software; you can redistribute it and/or modify
+- *   it under the terms of the GNU General Public License as published by
+- *   the Free Software Foundation; either version 2 of the License, or
+- *   (at your option) any later version.
+- *
+- *   This program is distributed in the hope that it will be useful,
+- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- *   GNU General Public License for more details.
+- *
+- *   You should have received a copy of the GNU General Public License
+- *   along with this program; if not, write to the Free Software
+- *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+- */
+-
+-#include <linux/errno.h>
+-#include <linux/init.h>
+-#include <linux/kernel.h>
+-#include <linux/module.h>
+-#include <linux/slab.h>
+-#include <linux/uaccess.h>
+-
+-#include <linux/input.h>
+-#include <linux/usb.h>
+-#include <linux/usb/input.h>
+-#include <media/ir-core.h>
+-
+-#include <linux/time.h>
+-#include <linux/timer.h>
+-
+-#define MOD_AUTHOR	"Jarod Wilson <jarod at wilsonet.com>"
+-#define MOD_DESC	"Driver for SoundGraph iMON MultiMedia IR/Display"
+-#define MOD_NAME	"imon"
+-#define MOD_VERSION	"0.9.1"
+-
+-#define DISPLAY_MINOR_BASE	144
+-#define DEVICE_NAME	"lcd%d"
+-
+-#define BUF_CHUNK_SIZE	8
+-#define BUF_SIZE	128
+-
+-#define BIT_DURATION	250	/* each bit received is 250us */
+-
+-#define IMON_CLOCK_ENABLE_PACKETS	2
+-
+-/*** P R O T O T Y P E S ***/
+-
+-/* USB Callback prototypes */
+-static int imon_probe(struct usb_interface *interface,
+-		      const struct usb_device_id *id);
+-static void imon_disconnect(struct usb_interface *interface);
+-static void usb_rx_callback_intf0(struct urb *urb);
+-static void usb_rx_callback_intf1(struct urb *urb);
+-static void usb_tx_callback(struct urb *urb);
+-
+-/* suspend/resume support */
+-static int imon_resume(struct usb_interface *intf);
+-static int imon_suspend(struct usb_interface *intf, pm_message_t message);
+-
+-/* Display file_operations function prototypes */
+-static int display_open(struct inode *inode, struct file *file);
+-static int display_close(struct inode *inode, struct file *file);
+-
+-/* VFD write operation */
+-static ssize_t vfd_write(struct file *file, const char *buf,
+-			 size_t n_bytes, loff_t *pos);
+-
+-/* LCD file_operations override function prototypes */
+-static ssize_t lcd_write(struct file *file, const char *buf,
+-			 size_t n_bytes, loff_t *pos);
+-
+-/*** G L O B A L S ***/
+-
+-struct imon_context {
+-	struct device *dev;
+-	struct ir_dev_props *props;
+-	struct ir_input_dev *ir;
+-	/* Newer devices have two interfaces */
+-	struct usb_device *usbdev_intf0;
+-	struct usb_device *usbdev_intf1;
+-
+-	bool display_supported;		/* not all controllers do */
+-	bool display_isopen;		/* display port has been opened */
+-	bool rf_device;			/* true if iMON 2.4G LT/DT RF device */
+-	bool rf_isassociating;		/* RF remote associating */
+-	bool dev_present_intf0;		/* USB device presence, interface 0 */
+-	bool dev_present_intf1;		/* USB device presence, interface 1 */
+-
+-	struct mutex lock;		/* to lock this object */
+-	wait_queue_head_t remove_ok;	/* For unexpected USB disconnects */
+-
+-	struct usb_endpoint_descriptor *rx_endpoint_intf0;
+-	struct usb_endpoint_descriptor *rx_endpoint_intf1;
+-	struct usb_endpoint_descriptor *tx_endpoint;
+-	struct urb *rx_urb_intf0;
+-	struct urb *rx_urb_intf1;
+-	struct urb *tx_urb;
+-	bool tx_control;
+-	unsigned char usb_rx_buf[8];
+-	unsigned char usb_tx_buf[8];
+-
+-	struct tx_t {
+-		unsigned char data_buf[35];	/* user data buffer */
+-		struct completion finished;	/* wait for write to finish */
+-		bool busy;			/* write in progress */
+-		int status;			/* status of tx completion */
+-	} tx;
+-
+-	u16 vendor;			/* usb vendor ID */
+-	u16 product;			/* usb product ID */
+-
+-	struct input_dev *idev;		/* input device for remote */
+-	struct input_dev *touch;	/* input device for touchscreen */
+-
+-	u32 kc;				/* current input keycode */
+-	u32 last_keycode;		/* last reported input keycode */
+-	u64 ir_type;			/* iMON or MCE (RC6) IR protocol? */
+-	u8 mce_toggle_bit;		/* last mce toggle bit */
+-	bool release_code;		/* some keys send a release code */
+-
+-	u8 display_type;		/* store the display type */
+-	bool pad_mouse;			/* toggle kbd(0)/mouse(1) mode */
+-
+-	char name_idev[128];		/* input device name */
+-	char phys_idev[64];		/* input device phys path */
+-	struct timer_list itimer;	/* input device timer, need for rc6 */
+-
+-	char name_touch[128];		/* touch screen name */
+-	char phys_touch[64];		/* touch screen phys path */
+-	struct timer_list ttimer;	/* touch screen timer */
+-	int touch_x;			/* x coordinate on touchscreen */
+-	int touch_y;			/* y coordinate on touchscreen */
+-};
+-
+-#define TOUCH_TIMEOUT	(HZ/30)
+-
+-/* vfd character device file operations */
+-static const struct file_operations vfd_fops = {
+-	.owner		= THIS_MODULE,
+-	.open		= &display_open,
+-	.write		= &vfd_write,
+-	.release	= &display_close
+-};
+-
+-/* lcd character device file operations */
+-static const struct file_operations lcd_fops = {
+-	.owner		= THIS_MODULE,
+-	.open		= &display_open,
+-	.write		= &lcd_write,
+-	.release	= &display_close
+-};
+-
+-enum {
+-	IMON_DISPLAY_TYPE_AUTO = 0,
+-	IMON_DISPLAY_TYPE_VFD  = 1,
+-	IMON_DISPLAY_TYPE_LCD  = 2,
+-	IMON_DISPLAY_TYPE_VGA  = 3,
+-	IMON_DISPLAY_TYPE_NONE = 4,
+-};
+-
+-enum {
+-	IMON_KEY_IMON	= 0,
+-	IMON_KEY_MCE	= 1,
+-	IMON_KEY_PANEL	= 2,
+-};
+-
+-/*
+- * USB Device ID for iMON USB Control Boards
+- *
+- * The Windows drivers contain 6 different inf files, more or less one for
+- * each new device until the 0x0034-0x0046 devices, which all use the same
+- * driver. Some of the devices in the 34-46 range haven't been definitively
+- * identified yet. Early devices have either a TriGem Computer, Inc. or a
+- * Samsung vendor ID (0x0aa8 and 0x04e8 respectively), while all later
+- * devices use the SoundGraph vendor ID (0x15c2). This driver only supports
+- * the ffdc and later devices, which do onboard decoding.
+- */
+-static struct usb_device_id imon_usb_id_table[] = {
+-	/*
+-	 * Several devices with this same device ID, all use iMON_PAD.inf
+-	 * SoundGraph iMON PAD (IR & VFD)
+-	 * SoundGraph iMON PAD (IR & LCD)
+-	 * SoundGraph iMON Knob (IR only)
+-	 */
+-	{ USB_DEVICE(0x15c2, 0xffdc) },
+-
+-	/*
+-	 * Newer devices, all driven by the latest iMON Windows driver, full
+-	 * list of device IDs extracted via 'strings Setup/data1.hdr |grep 15c2'
+-	 * Need user input to fill in details on unknown devices.
+-	 */
+-	/* SoundGraph iMON OEM Touch LCD (IR & 7" VGA LCD) */
+-	{ USB_DEVICE(0x15c2, 0x0034) },
+-	/* SoundGraph iMON OEM Touch LCD (IR & 4.3" VGA LCD) */
+-	{ USB_DEVICE(0x15c2, 0x0035) },
+-	/* SoundGraph iMON OEM VFD (IR & VFD) */
+-	{ USB_DEVICE(0x15c2, 0x0036) },
+-	/* device specifics unknown */
+-	{ USB_DEVICE(0x15c2, 0x0037) },
+-	/* SoundGraph iMON OEM LCD (IR & LCD) */
+-	{ USB_DEVICE(0x15c2, 0x0038) },
+-	/* SoundGraph iMON UltraBay (IR & LCD) */
+-	{ USB_DEVICE(0x15c2, 0x0039) },
+-	/* device specifics unknown */
+-	{ USB_DEVICE(0x15c2, 0x003a) },
+-	/* device specifics unknown */
+-	{ USB_DEVICE(0x15c2, 0x003b) },
+-	/* SoundGraph iMON OEM Inside (IR only) */
+-	{ USB_DEVICE(0x15c2, 0x003c) },
+-	/* device specifics unknown */
+-	{ USB_DEVICE(0x15c2, 0x003d) },
+-	/* device specifics unknown */
+-	{ USB_DEVICE(0x15c2, 0x003e) },
+-	/* device specifics unknown */
+-	{ USB_DEVICE(0x15c2, 0x003f) },
+-	/* device specifics unknown */
+-	{ USB_DEVICE(0x15c2, 0x0040) },
+-	/* SoundGraph iMON MINI (IR only) */
+-	{ USB_DEVICE(0x15c2, 0x0041) },
+-	/* Antec Veris Multimedia Station EZ External (IR only) */
+-	{ USB_DEVICE(0x15c2, 0x0042) },
+-	/* Antec Veris Multimedia Station Basic Internal (IR only) */
+-	{ USB_DEVICE(0x15c2, 0x0043) },
+-	/* Antec Veris Multimedia Station Elite (IR & VFD) */
+-	{ USB_DEVICE(0x15c2, 0x0044) },
+-	/* Antec Veris Multimedia Station Premiere (IR & LCD) */
+-	{ USB_DEVICE(0x15c2, 0x0045) },
+-	/* device specifics unknown */
+-	{ USB_DEVICE(0x15c2, 0x0046) },
+-	{}
+-};
+-
+-/* USB Device data */
+-static struct usb_driver imon_driver = {
+-	.name		= MOD_NAME,
+-	.probe		= imon_probe,
+-	.disconnect	= imon_disconnect,
+-	.suspend	= imon_suspend,
+-	.resume		= imon_resume,
+-	.id_table	= imon_usb_id_table,
+-};
+-
+-static struct usb_class_driver imon_vfd_class = {
+-	.name		= DEVICE_NAME,
+-	.fops		= &vfd_fops,
+-	.minor_base	= DISPLAY_MINOR_BASE,
+-};
+-
+-static struct usb_class_driver imon_lcd_class = {
+-	.name		= DEVICE_NAME,
+-	.fops		= &lcd_fops,
+-	.minor_base	= DISPLAY_MINOR_BASE,
+-};
+-
+-/* imon receiver front panel/knob key table */
+-static const struct {
+-	u64 hw_code;
+-	u32 keycode;
+-} imon_panel_key_table[] = {
+-	{ 0x000000000f00ffeell, KEY_PROG1 }, /* Go */
+-	{ 0x000000001f00ffeell, KEY_AUDIO },
+-	{ 0x000000002000ffeell, KEY_VIDEO },
+-	{ 0x000000002100ffeell, KEY_CAMERA },
+-	{ 0x000000002700ffeell, KEY_DVD },
+-	{ 0x000000002300ffeell, KEY_TV },
+-	{ 0x000000000500ffeell, KEY_PREVIOUS },
+-	{ 0x000000000700ffeell, KEY_REWIND },
+-	{ 0x000000000400ffeell, KEY_STOP },
+-	{ 0x000000003c00ffeell, KEY_PLAYPAUSE },
+-	{ 0x000000000800ffeell, KEY_FASTFORWARD },
+-	{ 0x000000000600ffeell, KEY_NEXT },
+-	{ 0x000000010000ffeell, KEY_RIGHT },
+-	{ 0x000001000000ffeell, KEY_LEFT },
+-	{ 0x000000003d00ffeell, KEY_SELECT },
+-	{ 0x000100000000ffeell, KEY_VOLUMEUP },
+-	{ 0x010000000000ffeell, KEY_VOLUMEDOWN },
+-	{ 0x000000000100ffeell, KEY_MUTE },
+-	/* iMON Knob values */
+-	{ 0x000100ffffffffeell, KEY_VOLUMEUP },
+-	{ 0x010000ffffffffeell, KEY_VOLUMEDOWN },
+-	{ 0x000008ffffffffeell, KEY_MUTE },
+-};
+-
+-/* to prevent races between open() and disconnect(), probing, etc */
+-static DEFINE_MUTEX(driver_lock);
+-
+-/* Module bookkeeping bits */
+-MODULE_AUTHOR(MOD_AUTHOR);
+-MODULE_DESCRIPTION(MOD_DESC);
+-MODULE_VERSION(MOD_VERSION);
+-MODULE_LICENSE("GPL");
+-MODULE_DEVICE_TABLE(usb, imon_usb_id_table);
+-
+-static bool debug;
+-module_param(debug, bool, S_IRUGO | S_IWUSR);
+-MODULE_PARM_DESC(debug, "Debug messages: 0=no, 1=yes(default: no)");
+-
+-/* lcd, vfd, vga or none? should be auto-detected, but can be overridden... */
+-static int display_type;
+-module_param(display_type, int, S_IRUGO);
+-MODULE_PARM_DESC(display_type, "Type of attached display. 0=autodetect, "
+-		 "1=vfd, 2=lcd, 3=vga, 4=none (default: autodetect)");
+-
+-static int pad_stabilize = 1;
+-module_param(pad_stabilize, int, S_IRUGO | S_IWUSR);
+-MODULE_PARM_DESC(pad_stabilize, "Apply stabilization algorithm to iMON PAD "
+-		 "presses in arrow key mode. 0=disable, 1=enable (default).");
+-
+-/*
+- * In certain use cases, mouse mode isn't really helpful, and could actually
+- * cause confusion, so allow disabling it when the IR device is open.
+- */
+-static bool nomouse;
+-module_param(nomouse, bool, S_IRUGO | S_IWUSR);
+-MODULE_PARM_DESC(nomouse, "Disable mouse input device mode when IR device is "
+-		 "open. 0=don't disable, 1=disable. (default: don't disable)");
+-
+-/* threshold at which a pad push registers as an arrow key in kbd mode */
+-static int pad_thresh;
+-module_param(pad_thresh, int, S_IRUGO | S_IWUSR);
+-MODULE_PARM_DESC(pad_thresh, "Threshold at which a pad push registers as an "
+-		 "arrow key in kbd mode (default: 28)");
+-
+-
+-static void free_imon_context(struct imon_context *ictx)
+-{
+-	struct device *dev = ictx->dev;
+-
+-	usb_free_urb(ictx->tx_urb);
+-	usb_free_urb(ictx->rx_urb_intf0);
+-	usb_free_urb(ictx->rx_urb_intf1);
+-	kfree(ictx);
+-
+-	dev_dbg(dev, "%s: iMON context freed\n", __func__);
+-}
+-
+-/**
+- * Called when the Display device (e.g. /dev/lcd0)
+- * is opened by the application.
+- */
+-static int display_open(struct inode *inode, struct file *file)
+-{
+-	struct usb_interface *interface;
+-	struct imon_context *ictx = NULL;
+-	int subminor;
+-	int retval = 0;
+-
+-	/* prevent races with disconnect */
+-	mutex_lock(&driver_lock);
+-
+-	subminor = iminor(inode);
+-	interface = usb_find_interface(&imon_driver, subminor);
+-	if (!interface) {
+-		err("%s: could not find interface for minor %d",
+-		    __func__, subminor);
+-		retval = -ENODEV;
+-		goto exit;
+-	}
+-	ictx = usb_get_intfdata(interface);
+-
+-	if (!ictx) {
+-		err("%s: no context found for minor %d", __func__, subminor);
+-		retval = -ENODEV;
+-		goto exit;
+-	}
+-
+-	mutex_lock(&ictx->lock);
+-
+-	if (!ictx->display_supported) {
+-		err("%s: display not supported by device", __func__);
+-		retval = -ENODEV;
+-	} else if (ictx->display_isopen) {
+-		err("%s: display port is already open", __func__);
+-		retval = -EBUSY;
+-	} else {
+-		ictx->display_isopen = true;
+-		file->private_data = ictx;
+-		dev_dbg(ictx->dev, "display port opened\n");
+-	}
+-
+-	mutex_unlock(&ictx->lock);
+-
+-exit:
+-	mutex_unlock(&driver_lock);
+-	return retval;
+-}
+-
+-/**
+- * Called when the display device (e.g. /dev/lcd0)
+- * is closed by the application.
+- */
+-static int display_close(struct inode *inode, struct file *file)
+-{
+-	struct imon_context *ictx = NULL;
+-	int retval = 0;
+-
+-	ictx = (struct imon_context *)file->private_data;
+-
+-	if (!ictx) {
+-		err("%s: no context for device", __func__);
+-		return -ENODEV;
+-	}
+-
+-	mutex_lock(&ictx->lock);
+-
+-	if (!ictx->display_supported) {
+-		err("%s: display not supported by device", __func__);
+-		retval = -ENODEV;
+-	} else if (!ictx->display_isopen) {
+-		err("%s: display is not open", __func__);
+-		retval = -EIO;
+-	} else {
+-		ictx->display_isopen = false;
+-		dev_dbg(ictx->dev, "display port closed\n");
+-		if (!ictx->dev_present_intf0) {
+-			/*
+-			 * Device disconnected before close and IR port is not
+-			 * open. If IR port is open, context will be deleted by
+-			 * ir_close.
+-			 */
+-			mutex_unlock(&ictx->lock);
+-			free_imon_context(ictx);
+-			return retval;
+-		}
+-	}
+-
+-	mutex_unlock(&ictx->lock);
+-	return retval;
+-}
+-
+-/**
+- * Sends a packet to the device -- this function must be called
+- * with ictx->lock held.
+- */
+-static int send_packet(struct imon_context *ictx)
+-{
+-	unsigned int pipe;
+-	unsigned long timeout;
+-	int interval = 0;
+-	int retval = 0;
+-	struct usb_ctrlrequest *control_req = NULL;
+-
+-	/* Check if we need to use control or interrupt urb */
+-	if (!ictx->tx_control) {
+-		pipe = usb_sndintpipe(ictx->usbdev_intf0,
+-				      ictx->tx_endpoint->bEndpointAddress);
+-		interval = ictx->tx_endpoint->bInterval;
+-
+-		usb_fill_int_urb(ictx->tx_urb, ictx->usbdev_intf0, pipe,
+-				 ictx->usb_tx_buf,
+-				 sizeof(ictx->usb_tx_buf),
+-				 usb_tx_callback, ictx, interval);
+-
+-		ictx->tx_urb->actual_length = 0;
+-	} else {
+-		/* fill request into kmalloc'ed space: */
+-		control_req = kmalloc(sizeof(struct usb_ctrlrequest),
+-				      GFP_KERNEL);
+-		if (control_req == NULL)
+-			return -ENOMEM;
+-
+-		/* setup packet is '21 09 0200 0001 0008' */
+-		control_req->bRequestType = 0x21;
+-		control_req->bRequest = 0x09;
+-		control_req->wValue = cpu_to_le16(0x0200);
+-		control_req->wIndex = cpu_to_le16(0x0001);
+-		control_req->wLength = cpu_to_le16(0x0008);
+-
+-		/* control pipe is endpoint 0x00 */
+-		pipe = usb_sndctrlpipe(ictx->usbdev_intf0, 0);
+-
+-		/* build the control urb */
+-		usb_fill_control_urb(ictx->tx_urb, ictx->usbdev_intf0,
+-				     pipe, (unsigned char *)control_req,
+-				     ictx->usb_tx_buf,
+-				     sizeof(ictx->usb_tx_buf),
+-				     usb_tx_callback, ictx);
+-		ictx->tx_urb->actual_length = 0;
+-	}
+-
+-	init_completion(&ictx->tx.finished);
+-	ictx->tx.busy = true;
+-	smp_rmb(); /* ensure later readers know we're busy */
+-
+-	retval = usb_submit_urb(ictx->tx_urb, GFP_KERNEL);
+-	if (retval) {
+-		ictx->tx.busy = false;
+-		smp_rmb(); /* ensure later readers know we're not busy */
+-		err("%s: error submitting urb(%d)", __func__, retval);
+-	} else {
+-		/* Wait for transmission to complete (or abort) */
+-		mutex_unlock(&ictx->lock);
+-		retval = wait_for_completion_interruptible(
+-				&ictx->tx.finished);
+-		if (retval)
+-			err("%s: task interrupted", __func__);
+-		mutex_lock(&ictx->lock);
+-
+-		retval = ictx->tx.status;
+-		if (retval)
+-			err("%s: packet tx failed (%d)", __func__, retval);
+-	}
+-
+-	kfree(control_req);
+-
+-	/*
+-	 * Induce a mandatory 5ms delay before returning, as otherwise,
+-	 * send_packet can get called so rapidly as to overwhelm the device,
+-	 * particularly on faster systems and/or those with quirky usb.
+-	 */
+-	timeout = msecs_to_jiffies(5);
+-	set_current_state(TASK_UNINTERRUPTIBLE);
+-	schedule_timeout(timeout);
+-
+-	return retval;
+-}
+-
+-/**
+- * Sends an associate packet to the iMON 2.4G.
+- *
+- * This might not be such a good idea, since it has an id collision with
+- * some versions of the "IR & VFD" combo. The only way to determine if it
+- * is an RF version is to look at the product description string. (Which
+- * we currently do not fetch).
+- */
+-static int send_associate_24g(struct imon_context *ictx)
+-{
+-	int retval;
+-	const unsigned char packet[8] = { 0x01, 0x00, 0x00, 0x00,
+-					  0x00, 0x00, 0x00, 0x20 };
+-
+-	if (!ictx) {
+-		err("%s: no context for device", __func__);
+-		return -ENODEV;
+-	}
+-
+-	if (!ictx->dev_present_intf0) {
+-		err("%s: no iMON device present", __func__);
+-		return -ENODEV;
+-	}
+-
+-	memcpy(ictx->usb_tx_buf, packet, sizeof(packet));
+-	retval = send_packet(ictx);
+-
+-	return retval;
+-}
+-
+-/**
+- * Sends packets to setup and show clock on iMON display
+- *
+- * Arguments: year - last 2 digits of year, month - 1..12,
+- * day - 1..31, dow - day of the week (0-Sun...6-Sat),
+- * hour - 0..23, minute - 0..59, second - 0..59
+- */
+-static int send_set_imon_clock(struct imon_context *ictx,
+-			       unsigned int year, unsigned int month,
+-			       unsigned int day, unsigned int dow,
+-			       unsigned int hour, unsigned int minute,
+-			       unsigned int second)
+-{
+-	unsigned char clock_enable_pkt[IMON_CLOCK_ENABLE_PACKETS][8];
+-	int retval = 0;
+-	int i;
+-
+-	if (!ictx) {
+-		err("%s: no context for device", __func__);
+-		return -ENODEV;
+-	}
+-
+-	switch (ictx->display_type) {
+-	case IMON_DISPLAY_TYPE_LCD:
+-		clock_enable_pkt[0][0] = 0x80;
+-		clock_enable_pkt[0][1] = year;
+-		clock_enable_pkt[0][2] = month-1;
+-		clock_enable_pkt[0][3] = day;
+-		clock_enable_pkt[0][4] = hour;
+-		clock_enable_pkt[0][5] = minute;
+-		clock_enable_pkt[0][6] = second;
+-
+-		clock_enable_pkt[1][0] = 0x80;
+-		clock_enable_pkt[1][1] = 0;
+-		clock_enable_pkt[1][2] = 0;
+-		clock_enable_pkt[1][3] = 0;
+-		clock_enable_pkt[1][4] = 0;
+-		clock_enable_pkt[1][5] = 0;
+-		clock_enable_pkt[1][6] = 0;
+-
+-		if (ictx->product == 0xffdc) {
+-			clock_enable_pkt[0][7] = 0x50;
+-			clock_enable_pkt[1][7] = 0x51;
+-		} else {
+-			clock_enable_pkt[0][7] = 0x88;
+-			clock_enable_pkt[1][7] = 0x8a;
+-		}
+-
+-		break;
+-
+-	case IMON_DISPLAY_TYPE_VFD:
+-		clock_enable_pkt[0][0] = year;
+-		clock_enable_pkt[0][1] = month-1;
+-		clock_enable_pkt[0][2] = day;
+-		clock_enable_pkt[0][3] = dow;
+-		clock_enable_pkt[0][4] = hour;
+-		clock_enable_pkt[0][5] = minute;
+-		clock_enable_pkt[0][6] = second;
+-		clock_enable_pkt[0][7] = 0x40;
+-
+-		clock_enable_pkt[1][0] = 0;
+-		clock_enable_pkt[1][1] = 0;
+-		clock_enable_pkt[1][2] = 1;
+-		clock_enable_pkt[1][3] = 0;
+-		clock_enable_pkt[1][4] = 0;
+-		clock_enable_pkt[1][5] = 0;
+-		clock_enable_pkt[1][6] = 0;
+-		clock_enable_pkt[1][7] = 0x42;
+-
+-		break;
+-
+-	default:
+-		return -ENODEV;
+-	}
+-
+-	for (i = 0; i < IMON_CLOCK_ENABLE_PACKETS; i++) {
+-		memcpy(ictx->usb_tx_buf, clock_enable_pkt[i], 8);
+-		retval = send_packet(ictx);
+-		if (retval) {
+-			err("%s: send_packet failed for packet %d",
+-			    __func__, i);
+-			break;
+-		}
+-	}
+-
+-	return retval;
+-}
+-
+-/**
+- * These are the sysfs functions to handle the association on the iMON 2.4G LT.
+- */
+-static ssize_t show_associate_remote(struct device *d,
+-				     struct device_attribute *attr,
+-				     char *buf)
+-{
+-	struct imon_context *ictx = dev_get_drvdata(d);
+-
+-	if (!ictx)
+-		return -ENODEV;
+-
+-	mutex_lock(&ictx->lock);
+-	if (ictx->rf_isassociating)
+-		strcpy(buf, "associating\n");
+-	else
+-		strcpy(buf, "closed\n");
+-
+-	dev_info(d, "Visit http://www.lirc.org/html/imon-24g.html for "
+-		 "instructions on how to associate your iMON 2.4G DT/LT "
+-		 "remote\n");
+-	mutex_unlock(&ictx->lock);
+-	return strlen(buf);
+-}
+-
+-static ssize_t store_associate_remote(struct device *d,
+-				      struct device_attribute *attr,
+-				      const char *buf, size_t count)
+-{
+-	struct imon_context *ictx;
+-
+-	ictx = dev_get_drvdata(d);
+-
+-	if (!ictx)
+-		return -ENODEV;
+-
+-	mutex_lock(&ictx->lock);
+-	ictx->rf_isassociating = true;
+-	send_associate_24g(ictx);
+-	mutex_unlock(&ictx->lock);
+-
+-	return count;
+-}
+-
+-/**
+- * sysfs functions to control internal imon clock
+- */
+-static ssize_t show_imon_clock(struct device *d,
+-			       struct device_attribute *attr, char *buf)
+-{
+-	struct imon_context *ictx = dev_get_drvdata(d);
+-	size_t len;
+-
+-	if (!ictx)
+-		return -ENODEV;
+-
+-	mutex_lock(&ictx->lock);
+-
+-	if (!ictx->display_supported) {
+-		len = snprintf(buf, PAGE_SIZE, "Not supported.");
+-	} else {
+-		len = snprintf(buf, PAGE_SIZE,
+-			"To set the clock on your iMON display:\n"
+-			"# date \"+%%y %%m %%d %%w %%H %%M %%S\" > imon_clock\n"
+-			"%s", ictx->display_isopen ?
+-			"\nNOTE: imon device must be closed\n" : "");
+-	}
+-
+-	mutex_unlock(&ictx->lock);
+-
+-	return len;
+-}
+-
+-static ssize_t store_imon_clock(struct device *d,
+-				struct device_attribute *attr,
+-				const char *buf, size_t count)
+-{
+-	struct imon_context *ictx = dev_get_drvdata(d);
+-	ssize_t retval;
+-	unsigned int year, month, day, dow, hour, minute, second;
+-
+-	if (!ictx)
+-		return -ENODEV;
+-
+-	mutex_lock(&ictx->lock);
+-
+-	if (!ictx->display_supported) {
+-		retval = -ENODEV;
+-		goto exit;
+-	} else if (ictx->display_isopen) {
+-		retval = -EBUSY;
+-		goto exit;
+-	}
+-
+-	if (sscanf(buf, "%u %u %u %u %u %u %u",	&year, &month, &day, &dow,
+-		   &hour, &minute, &second) != 7) {
+-		retval = -EINVAL;
+-		goto exit;
+-	}
+-
+-	if ((month < 1 || month > 12) ||
+-	    (day < 1 || day > 31) || (dow > 6) ||
+-	    (hour > 23) || (minute > 59) || (second > 59)) {
+-		retval = -EINVAL;
+-		goto exit;
+-	}
+-
+-	retval = send_set_imon_clock(ictx, year, month, day, dow,
+-				     hour, minute, second);
+-	if (retval)
+-		goto exit;
+-
+-	retval = count;
+-exit:
+-	mutex_unlock(&ictx->lock);
+-
+-	return retval;
+-}
+-
+-
+-static DEVICE_ATTR(imon_clock, S_IWUSR | S_IRUGO, show_imon_clock,
+-		   store_imon_clock);
+-
+-static DEVICE_ATTR(associate_remote, S_IWUSR | S_IRUGO, show_associate_remote,
+-		   store_associate_remote);
+-
+-static struct attribute *imon_display_sysfs_entries[] = {
+-	&dev_attr_imon_clock.attr,
+-	NULL
+-};
+-
+-static struct attribute_group imon_display_attribute_group = {
+-	.attrs = imon_display_sysfs_entries
+-};
+-
+-static struct attribute *imon_rf_sysfs_entries[] = {
+-	&dev_attr_associate_remote.attr,
+-	NULL
+-};
+-
+-static struct attribute_group imon_rf_attribute_group = {
+-	.attrs = imon_rf_sysfs_entries
+-};
+-
+-/**
+- * Writes data to the VFD.  The iMON VFD is 2x16 characters
+- * and requires data in 5 consecutive USB interrupt packets,
+- * each packet but the last carrying 7 bytes.
+- *
+- * I don't know if the VFD board supports features such as
+- * scrolling, clearing rows, blanking, etc. so at
+- * the caller must provide a full screen of data.  If fewer
+- * than 32 bytes are provided spaces will be appended to
+- * generate a full screen.
+- */
+-static ssize_t vfd_write(struct file *file, const char *buf,
+-			 size_t n_bytes, loff_t *pos)
+-{
+-	int i;
+-	int offset;
+-	int seq;
+-	int retval = 0;
+-	struct imon_context *ictx;
+-	const unsigned char vfd_packet6[] = {
+-		0x01, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF };
+-
+-	ictx = (struct imon_context *)file->private_data;
+-	if (!ictx) {
+-		err("%s: no context for device", __func__);
+-		return -ENODEV;
+-	}
+-
+-	mutex_lock(&ictx->lock);
+-
+-	if (!ictx->dev_present_intf0) {
+-		err("%s: no iMON device present", __func__);
+-		retval = -ENODEV;
+-		goto exit;
+-	}
+-
+-	if (n_bytes <= 0 || n_bytes > 32) {
+-		err("%s: invalid payload size", __func__);
+-		retval = -EINVAL;
+-		goto exit;
+-	}
+-
+-	if (copy_from_user(ictx->tx.data_buf, buf, n_bytes)) {
+-		retval = -EFAULT;
+-		goto exit;
+-	}
+-
+-	/* Pad with spaces */
+-	for (i = n_bytes; i < 32; ++i)
+-		ictx->tx.data_buf[i] = ' ';
+-
+-	for (i = 32; i < 35; ++i)
+-		ictx->tx.data_buf[i] = 0xFF;
+-
+-	offset = 0;
+-	seq = 0;
+-
+-	do {
+-		memcpy(ictx->usb_tx_buf, ictx->tx.data_buf + offset, 7);
+-		ictx->usb_tx_buf[7] = (unsigned char) seq;
+-
+-		retval = send_packet(ictx);
+-		if (retval) {
+-			err("%s: send packet failed for packet #%d",
+-					__func__, seq/2);
+-			goto exit;
+-		} else {
+-			seq += 2;
+-			offset += 7;
+-		}
+-
+-	} while (offset < 35);
+-
+-	/* Send packet #6 */
+-	memcpy(ictx->usb_tx_buf, &vfd_packet6, sizeof(vfd_packet6));
+-	ictx->usb_tx_buf[7] = (unsigned char) seq;
+-	retval = send_packet(ictx);
+-	if (retval)
+-		err("%s: send packet failed for packet #%d",
+-		    __func__, seq / 2);
+-
+-exit:
+-	mutex_unlock(&ictx->lock);
+-
+-	return (!retval) ? n_bytes : retval;
+-}
+-
+-/**
+- * Writes data to the LCD.  The iMON OEM LCD screen expects 8-byte
+- * packets. We accept data as 16 hexadecimal digits, followed by a
+- * newline (to make it easy to drive the device from a command-line
+- * -- even though the actual binary data is a bit complicated).
+- *
+- * The device itself is not a "traditional" text-mode display. It's
+- * actually a 16x96 pixel bitmap display. That means if you want to
+- * display text, you've got to have your own "font" and translate the
+- * text into bitmaps for display. This is really flexible (you can
+- * display whatever diacritics you need, and so on), but it's also
+- * a lot more complicated than most LCDs...
+- */
+-static ssize_t lcd_write(struct file *file, const char *buf,
+-			 size_t n_bytes, loff_t *pos)
+-{
+-	int retval = 0;
+-	struct imon_context *ictx;
+-
+-	ictx = (struct imon_context *)file->private_data;
+-	if (!ictx) {
+-		err("%s: no context for device", __func__);
+-		return -ENODEV;
+-	}
+-
+-	mutex_lock(&ictx->lock);
+-
+-	if (!ictx->display_supported) {
+-		err("%s: no iMON display present", __func__);
+-		retval = -ENODEV;
+-		goto exit;
+-	}
+-
+-	if (n_bytes != 8) {
+-		err("%s: invalid payload size: %d (expecting 8)",
+-		    __func__, (int) n_bytes);
+-		retval = -EINVAL;
+-		goto exit;
+-	}
+-
+-	if (copy_from_user(ictx->usb_tx_buf, buf, 8)) {
+-		retval = -EFAULT;
+-		goto exit;
+-	}
+-
+-	retval = send_packet(ictx);
+-	if (retval) {
+-		err("%s: send packet failed!", __func__);
+-		goto exit;
+-	} else {
+-		dev_dbg(ictx->dev, "%s: write %d bytes to LCD\n",
+-			__func__, (int) n_bytes);
+-	}
+-exit:
+-	mutex_unlock(&ictx->lock);
+-	return (!retval) ? n_bytes : retval;
+-}
+-
+-/**
+- * Callback function for USB core API: transmit data
+- */
+-static void usb_tx_callback(struct urb *urb)
+-{
+-	struct imon_context *ictx;
+-
+-	if (!urb)
+-		return;
+-	ictx = (struct imon_context *)urb->context;
+-	if (!ictx)
+-		return;
+-
+-	ictx->tx.status = urb->status;
+-
+-	/* notify waiters that write has finished */
+-	ictx->tx.busy = false;
+-	smp_rmb(); /* ensure later readers know we're not busy */
+-	complete(&ictx->tx.finished);
+-}
+-
+-/**
+- * mce/rc6 keypresses have no distinct release code, use timer
+- */
+-static void imon_mce_timeout(unsigned long data)
+-{
+-	struct imon_context *ictx = (struct imon_context *)data;
+-
+-	input_report_key(ictx->idev, ictx->last_keycode, 0);
+-	input_sync(ictx->idev);
+-}
+-
+-/**
+- * report touchscreen input
+- */
+-static void imon_touch_display_timeout(unsigned long data)
+-{
+-	struct imon_context *ictx = (struct imon_context *)data;
+-
+-	if (ictx->display_type != IMON_DISPLAY_TYPE_VGA)
+-		return;
+-
+-	input_report_abs(ictx->touch, ABS_X, ictx->touch_x);
+-	input_report_abs(ictx->touch, ABS_Y, ictx->touch_y);
+-	input_report_key(ictx->touch, BTN_TOUCH, 0x00);
+-	input_sync(ictx->touch);
+-}
+-
+-/**
+- * iMON IR receivers support two different signal sets -- those used by
+- * the iMON remotes, and those used by the Windows MCE remotes (which is
+- * really just RC-6), but only one or the other at a time, as the signals
+- * are decoded onboard the receiver.
+- */
+-int imon_ir_change_protocol(void *priv, u64 ir_type)
+-{
+-	int retval;
+-	struct imon_context *ictx = priv;
+-	struct device *dev = ictx->dev;
+-	bool pad_mouse;
+-	unsigned char ir_proto_packet[] = {
+-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86 };
+-
+-	if (ir_type && !(ir_type & ictx->props->allowed_protos))
+-		dev_warn(dev, "Looks like you're trying to use an IR protocol "
+-			 "this device does not support\n");
+-
+-	switch (ir_type) {
+-	case IR_TYPE_RC6:
+-		dev_dbg(dev, "Configuring IR receiver for MCE protocol\n");
+-		ir_proto_packet[0] = 0x01;
+-		pad_mouse = false;
+-		init_timer(&ictx->itimer);
+-		ictx->itimer.data = (unsigned long)ictx;
+-		ictx->itimer.function = imon_mce_timeout;
+-		break;
+-	case IR_TYPE_UNKNOWN:
+-	case IR_TYPE_OTHER:
+-		dev_dbg(dev, "Configuring IR receiver for iMON protocol\n");
+-		if (pad_stabilize)
+-			pad_mouse = true;
+-		else {
+-			dev_dbg(dev, "PAD stabilize functionality disabled\n");
+-			pad_mouse = false;
+-		}
+-		/* ir_proto_packet[0] = 0x00; // already the default */
+-		ir_type = IR_TYPE_OTHER;
+-		break;
+-	default:
+-		dev_warn(dev, "Unsupported IR protocol specified, overriding "
+-			 "to iMON IR protocol\n");
+-		if (pad_stabilize)
+-			pad_mouse = true;
+-		else {
+-			dev_dbg(dev, "PAD stabilize functionality disabled\n");
+-			pad_mouse = false;
+-		}
+-		/* ir_proto_packet[0] = 0x00; // already the default */
+-		ir_type = IR_TYPE_OTHER;
+-		break;
+-	}
+-
+-	memcpy(ictx->usb_tx_buf, &ir_proto_packet, sizeof(ir_proto_packet));
+-
+-	retval = send_packet(ictx);
+-	if (retval)
+-		goto out;
+-
+-	ictx->ir_type = ir_type;
+-	ictx->pad_mouse = pad_mouse;
+-
+-out:
+-	return retval;
+-}
+-
+-static inline int tv2int(const struct timeval *a, const struct timeval *b)
+-{
+-	int usecs = 0;
+-	int sec   = 0;
+-
+-	if (b->tv_usec > a->tv_usec) {
+-		usecs = 1000000;
+-		sec--;
+-	}
+-
+-	usecs += a->tv_usec - b->tv_usec;
+-
+-	sec += a->tv_sec - b->tv_sec;
+-	sec *= 1000;
+-	usecs /= 1000;
+-	sec += usecs;
+-
+-	if (sec < 0)
+-		sec = 1000;
+-
+-	return sec;
+-}
+-
+-/**
+- * The directional pad behaves a bit differently, depending on whether this is
+- * one of the older ffdc devices or a newer device. Newer devices appear to
+- * have a higher resolution matrix for more precise mouse movement, but it
+- * makes things overly sensitive in keyboard mode, so we do some interesting
+- * contortions to make it less touchy. Older devices run through the same
+- * routine with shorter timeout and a smaller threshold.
+- */
+-static int stabilize(int a, int b, u16 timeout, u16 threshold)
+-{
+-	struct timeval ct;
+-	static struct timeval prev_time = {0, 0};
+-	static struct timeval hit_time  = {0, 0};
+-	static int x, y, prev_result, hits;
+-	int result = 0;
+-	int msec, msec_hit;
+-
+-	do_gettimeofday(&ct);
+-	msec = tv2int(&ct, &prev_time);
+-	msec_hit = tv2int(&ct, &hit_time);
+-
+-	if (msec > 100) {
+-		x = 0;
+-		y = 0;
+-		hits = 0;
+-	}
+-
+-	x += a;
+-	y += b;
+-
+-	prev_time = ct;
+-
+-	if (abs(x) > threshold || abs(y) > threshold) {
+-		if (abs(y) > abs(x))
+-			result = (y > 0) ? 0x7F : 0x80;
+-		else
+-			result = (x > 0) ? 0x7F00 : 0x8000;
+-
+-		x = 0;
+-		y = 0;
+-
+-		if (result == prev_result) {
+-			hits++;
+-
+-			if (hits > 3) {
+-				switch (result) {
+-				case 0x7F:
+-					y = 17 * threshold / 30;
+-					break;
+-				case 0x80:
+-					y -= 17 * threshold / 30;
+-					break;
+-				case 0x7F00:
+-					x = 17 * threshold / 30;
+-					break;
+-				case 0x8000:
+-					x -= 17 * threshold / 30;
+-					break;
+-				}
+-			}
+-
+-			if (hits == 2 && msec_hit < timeout) {
+-				result = 0;
+-				hits = 1;
+-			}
+-		} else {
+-			prev_result = result;
+-			hits = 1;
+-			hit_time = ct;
+-		}
+-	}
+-
+-	return result;
+-}
+-
+-static u32 imon_remote_key_lookup(struct imon_context *ictx, u32 hw_code)
+-{
+-	u32 scancode = be32_to_cpu(hw_code);
+-	u32 keycode;
+-	u32 release;
+-	bool is_release_code = false;
+-
+-	/* Look for the initial press of a button */
+-	keycode = ir_g_keycode_from_table(ictx->idev, scancode);
+-
+-	/* Look for the release of a button */
+-	if (keycode == KEY_RESERVED) {
+-		release = scancode & ~0x4000;
+-		keycode = ir_g_keycode_from_table(ictx->idev, release);
+-		if (keycode != KEY_RESERVED)
+-			is_release_code = true;
+-	}
+-
+-	ictx->release_code = is_release_code;
+-
+-	return keycode;
+-}
+-
+-static u32 imon_mce_key_lookup(struct imon_context *ictx, u32 hw_code)
+-{
+-	u32 scancode = be32_to_cpu(hw_code);
+-	u32 keycode;
+-
+-#define MCE_KEY_MASK 0x7000
+-#define MCE_TOGGLE_BIT 0x8000
+-
+-	/*
+-	 * On some receivers, mce keys decode to 0x8000f04xx and 0x8000f84xx
+-	 * (the toggle bit flipping between alternating key presses), while
+-	 * on other receivers, we see 0x8000f74xx and 0x8000ff4xx. To keep
+-	 * the table trim, we always or in the bits to look up 0x8000ff4xx,
+-	 * but we can't or them into all codes, as some keys are decoded in
+-	 * a different way w/o the same use of the toggle bit...
+-	 */
+-	if ((scancode >> 24) & 0x80)
+-		scancode = scancode | MCE_KEY_MASK | MCE_TOGGLE_BIT;
+-
+-	keycode = ir_g_keycode_from_table(ictx->idev, scancode);
+-
+-	return keycode;
+-}
+-
+-static u32 imon_panel_key_lookup(u64 hw_code)
+-{
+-	int i;
+-	u64 code = be64_to_cpu(hw_code);
+-	u32 keycode = KEY_RESERVED;
+-
+-	for (i = 0; i < ARRAY_SIZE(imon_panel_key_table); i++) {
+-		if (imon_panel_key_table[i].hw_code == (code | 0xffee)) {
+-			keycode = imon_panel_key_table[i].keycode;
+-			break;
+-		}
+-	}
+-
+-	return keycode;
+-}
+-
+-static bool imon_mouse_event(struct imon_context *ictx,
+-			     unsigned char *buf, int len)
+-{
+-	char rel_x = 0x00, rel_y = 0x00;
+-	u8 right_shift = 1;
+-	bool mouse_input = true;
+-	int dir = 0;
+-
+-	/* newer iMON device PAD or mouse button */
+-	if (ictx->product != 0xffdc && (buf[0] & 0x01) && len == 5) {
+-		rel_x = buf[2];
+-		rel_y = buf[3];
+-		right_shift = 1;
+-	/* 0xffdc iMON PAD or mouse button input */
+-	} else if (ictx->product == 0xffdc && (buf[0] & 0x40) &&
+-			!((buf[1] & 0x01) || ((buf[1] >> 2) & 0x01))) {
+-		rel_x = (buf[1] & 0x08) | (buf[1] & 0x10) >> 2 |
+-			(buf[1] & 0x20) >> 4 | (buf[1] & 0x40) >> 6;
+-		if (buf[0] & 0x02)
+-			rel_x |= ~0x0f;
+-		rel_x = rel_x + rel_x / 2;
+-		rel_y = (buf[2] & 0x08) | (buf[2] & 0x10) >> 2 |
+-			(buf[2] & 0x20) >> 4 | (buf[2] & 0x40) >> 6;
+-		if (buf[0] & 0x01)
+-			rel_y |= ~0x0f;
+-		rel_y = rel_y + rel_y / 2;
+-		right_shift = 2;
+-	/* some ffdc devices decode mouse buttons differently... */
+-	} else if (ictx->product == 0xffdc && (buf[0] == 0x68)) {
+-		right_shift = 2;
+-	/* ch+/- buttons, which we use for an emulated scroll wheel */
+-	} else if (ictx->kc == KEY_CHANNELUP && (buf[2] & 0x40) != 0x40) {
+-		dir = 1;
+-	} else if (ictx->kc == KEY_CHANNELDOWN && (buf[2] & 0x40) != 0x40) {
+-		dir = -1;
+-	} else
+-		mouse_input = false;
+-
+-	if (mouse_input) {
+-		dev_dbg(ictx->dev, "sending mouse data via input subsystem\n");
+-
+-		if (dir) {
+-			input_report_rel(ictx->idev, REL_WHEEL, dir);
+-		} else if (rel_x || rel_y) {
+-			input_report_rel(ictx->idev, REL_X, rel_x);
+-			input_report_rel(ictx->idev, REL_Y, rel_y);
+-		} else {
+-			input_report_key(ictx->idev, BTN_LEFT, buf[1] & 0x1);
+-			input_report_key(ictx->idev, BTN_RIGHT,
+-					 buf[1] >> right_shift & 0x1);
+-		}
+-		input_sync(ictx->idev);
+-		ictx->last_keycode = ictx->kc;
+-	}
+-
+-	return mouse_input;
+-}
+-
+-static void imon_touch_event(struct imon_context *ictx, unsigned char *buf)
+-{
+-	mod_timer(&ictx->ttimer, jiffies + TOUCH_TIMEOUT);
+-	ictx->touch_x = (buf[0] << 4) | (buf[1] >> 4);
+-	ictx->touch_y = 0xfff - ((buf[2] << 4) | (buf[1] & 0xf));
+-	input_report_abs(ictx->touch, ABS_X, ictx->touch_x);
+-	input_report_abs(ictx->touch, ABS_Y, ictx->touch_y);
+-	input_report_key(ictx->touch, BTN_TOUCH, 0x01);
+-	input_sync(ictx->touch);
+-}
+-
+-static void imon_pad_to_keys(struct imon_context *ictx, unsigned char *buf)
+-{
+-	int dir = 0;
+-	char rel_x = 0x00, rel_y = 0x00;
+-	u16 timeout, threshold;
+-	u64 temp_key;
+-	u32 remote_key;
+-
+-	/*
+-	 * The imon directional pad functions more like a touchpad. Bytes 3 & 4
+-	 * contain a position coordinate (x,y), with each component ranging
+-	 * from -14 to 14. We want to down-sample this to only 4 discrete values
+-	 * for up/down/left/right arrow keys. Also, when you get too close to
+-	 * diagonals, it has a tendancy to jump back and forth, so lets try to
+-	 * ignore when they get too close.
+-	 */
+-	if (ictx->product != 0xffdc) {
+-		/* first, pad to 8 bytes so it conforms with everything else */
+-		buf[5] = buf[6] = buf[7] = 0;
+-		timeout = 500;	/* in msecs */
+-		/* (2*threshold) x (2*threshold) square */
+-		threshold = pad_thresh ? pad_thresh : 28;
+-		rel_x = buf[2];
+-		rel_y = buf[3];
+-
+-		if (ictx->ir_type == IR_TYPE_OTHER && pad_stabilize) {
+-			if ((buf[1] == 0) && ((rel_x != 0) || (rel_y != 0))) {
+-				dir = stabilize((int)rel_x, (int)rel_y,
+-						timeout, threshold);
+-				if (!dir) {
+-					ictx->kc = KEY_UNKNOWN;
+-					return;
+-				}
+-				buf[2] = dir & 0xFF;
+-				buf[3] = (dir >> 8) & 0xFF;
+-				memcpy(&temp_key, buf, sizeof(temp_key));
+-				remote_key = (u32) (le64_to_cpu(temp_key)
+-						    & 0xffffffff);
+-				ictx->kc = imon_remote_key_lookup(ictx,
+-								  remote_key);
+-			}
+-		} else {
+-			if (abs(rel_y) > abs(rel_x)) {
+-				buf[2] = (rel_y > 0) ? 0x7F : 0x80;
+-				buf[3] = 0;
+-				ictx->kc = (rel_y > 0) ? KEY_DOWN : KEY_UP;
+-			} else {
+-				buf[2] = 0;
+-				buf[3] = (rel_x > 0) ? 0x7F : 0x80;
+-				ictx->kc = (rel_x > 0) ? KEY_RIGHT : KEY_LEFT;
+-			}
+-		}
+-
+-	/*
+-	 * Handle on-board decoded pad events for e.g. older VFD/iMON-Pad
+-	 * device (15c2:ffdc). The remote generates various codes from
+-	 * 0x68nnnnB7 to 0x6AnnnnB7, the left mouse button generates
+-	 * 0x688301b7 and the right one 0x688481b7. All other keys generate
+-	 * 0x2nnnnnnn. Position coordinate is encoded in buf[1] and buf[2] with
+-	 * reversed endianess. Extract direction from buffer, rotate endianess,
+-	 * adjust sign and feed the values into stabilize(). The resulting codes
+-	 * will be 0x01008000, 0x01007F00, which match the newer devices.
+-	 */
+-	} else {
+-		timeout = 10;	/* in msecs */
+-		/* (2*threshold) x (2*threshold) square */
+-		threshold = pad_thresh ? pad_thresh : 15;
+-
+-		/* buf[1] is x */
+-		rel_x = (buf[1] & 0x08) | (buf[1] & 0x10) >> 2 |
+-			(buf[1] & 0x20) >> 4 | (buf[1] & 0x40) >> 6;
+-		if (buf[0] & 0x02)
+-			rel_x |= ~0x10+1;
+-		/* buf[2] is y */
+-		rel_y = (buf[2] & 0x08) | (buf[2] & 0x10) >> 2 |
+-			(buf[2] & 0x20) >> 4 | (buf[2] & 0x40) >> 6;
+-		if (buf[0] & 0x01)
+-			rel_y |= ~0x10+1;
+-
+-		buf[0] = 0x01;
+-		buf[1] = buf[4] = buf[5] = buf[6] = buf[7] = 0;
+-
+-		if (ictx->ir_type == IR_TYPE_OTHER && pad_stabilize) {
+-			dir = stabilize((int)rel_x, (int)rel_y,
+-					timeout, threshold);
+-			if (!dir) {
+-				ictx->kc = KEY_UNKNOWN;
+-				return;
+-			}
+-			buf[2] = dir & 0xFF;
+-			buf[3] = (dir >> 8) & 0xFF;
+-			memcpy(&temp_key, buf, sizeof(temp_key));
+-			remote_key = (u32) (le64_to_cpu(temp_key) & 0xffffffff);
+-			ictx->kc = imon_remote_key_lookup(ictx, remote_key);
+-		} else {
+-			if (abs(rel_y) > abs(rel_x)) {
+-				buf[2] = (rel_y > 0) ? 0x7F : 0x80;
+-				buf[3] = 0;
+-				ictx->kc = (rel_y > 0) ? KEY_DOWN : KEY_UP;
+-			} else {
+-				buf[2] = 0;
+-				buf[3] = (rel_x > 0) ? 0x7F : 0x80;
+-				ictx->kc = (rel_x > 0) ? KEY_RIGHT : KEY_LEFT;
+-			}
+-		}
+-	}
+-}
+-
+-static int imon_parse_press_type(struct imon_context *ictx,
+-				 unsigned char *buf, u8 ktype)
+-{
+-	int press_type = 0;
+-	int rep_delay = ictx->idev->rep[REP_DELAY];
+-	int rep_period = ictx->idev->rep[REP_PERIOD];
+-
+-	/* key release of 0x02XXXXXX key */
+-	if (ictx->kc == KEY_RESERVED && buf[0] == 0x02 && buf[3] == 0x00)
+-		ictx->kc = ictx->last_keycode;
+-
+-	/* mouse button release on (some) 0xffdc devices */
+-	else if (ictx->kc == KEY_RESERVED && buf[0] == 0x68 && buf[1] == 0x82 &&
+-		 buf[2] == 0x81 && buf[3] == 0xb7)
+-		ictx->kc = ictx->last_keycode;
+-
+-	/* mouse button release on (some other) 0xffdc devices */
+-	else if (ictx->kc == KEY_RESERVED && buf[0] == 0x01 && buf[1] == 0x00 &&
+-		 buf[2] == 0x81 && buf[3] == 0xb7)
+-		ictx->kc = ictx->last_keycode;
+-
+-	/* mce-specific button handling */
+-	else if (ktype == IMON_KEY_MCE) {
+-		/* initial press */
+-		if (ictx->kc != ictx->last_keycode
+-		    || buf[2] != ictx->mce_toggle_bit) {
+-			ictx->last_keycode = ictx->kc;
+-			ictx->mce_toggle_bit = buf[2];
+-			press_type = 1;
+-			mod_timer(&ictx->itimer,
+-				  jiffies + msecs_to_jiffies(rep_delay));
+-		/* repeat */
+-		} else {
+-			press_type = 2;
+-			mod_timer(&ictx->itimer,
+-				  jiffies + msecs_to_jiffies(rep_period));
+-		}
+-
+-	/* incoherent or irrelevant data */
+-	} else if (ictx->kc == KEY_RESERVED)
+-		press_type = -EINVAL;
+-
+-	/* key release of 0xXXXXXXb7 key */
+-	else if (ictx->release_code)
+-		press_type = 0;
+-
+-	/* this is a button press */
+-	else
+-		press_type = 1;
+-
+-	return press_type;
+-}
+-
+-/**
+- * Process the incoming packet
+- */
+-static void imon_incoming_packet(struct imon_context *ictx,
+-				 struct urb *urb, int intf)
+-{
+-	int len = urb->actual_length;
+-	unsigned char *buf = urb->transfer_buffer;
+-	struct device *dev = ictx->dev;
+-	u32 kc;
+-	bool norelease = false;
+-	int i;
+-	u64 temp_key;
+-	u64 panel_key = 0;
+-	u32 remote_key = 0;
+-	struct input_dev *idev = NULL;
+-	int press_type = 0;
+-	int msec;
+-	struct timeval t;
+-	static struct timeval prev_time = { 0, 0 };
+-	u8 ktype = IMON_KEY_IMON;
+-
+-	idev = ictx->idev;
+-
+-	/* filter out junk data on the older 0xffdc imon devices */
+-	if ((buf[0] == 0xff) && (buf[1] == 0xff) && (buf[2] == 0xff))
+-		return;
+-
+-	/* Figure out what key was pressed */
+-	memcpy(&temp_key, buf, sizeof(temp_key));
+-	if (len == 8 && buf[7] == 0xee) {
+-		ktype = IMON_KEY_PANEL;
+-		panel_key = le64_to_cpu(temp_key);
+-		kc = imon_panel_key_lookup(panel_key);
+-	} else {
+-		remote_key = (u32) (le64_to_cpu(temp_key) & 0xffffffff);
+-		if (ictx->ir_type == IR_TYPE_RC6) {
+-			if (buf[0] == 0x80)
+-				ktype = IMON_KEY_MCE;
+-			kc = imon_mce_key_lookup(ictx, remote_key);
+-		} else
+-			kc = imon_remote_key_lookup(ictx, remote_key);
+-	}
+-
+-	/* keyboard/mouse mode toggle button */
+-	if (kc == KEY_KEYBOARD && !ictx->release_code) {
+-		ictx->last_keycode = kc;
+-		if (!nomouse) {
+-			ictx->pad_mouse = ~(ictx->pad_mouse) & 0x1;
+-			dev_dbg(dev, "toggling to %s mode\n",
+-				ictx->pad_mouse ? "mouse" : "keyboard");
+-			return;
+-		} else {
+-			ictx->pad_mouse = 0;
+-			dev_dbg(dev, "mouse mode disabled, passing key value\n");
+-		}
+-	}
+-
+-	ictx->kc = kc;
+-
+-	/* send touchscreen events through input subsystem if touchpad data */
+-	if (ictx->display_type == IMON_DISPLAY_TYPE_VGA && len == 8 &&
+-	    buf[7] == 0x86) {
+-		imon_touch_event(ictx, buf);
+-
+-	/* look for mouse events with pad in mouse mode */
+-	} else if (ictx->pad_mouse) {
+-		if (imon_mouse_event(ictx, buf, len))
+-			return;
+-	}
+-
+-	/* Now for some special handling to convert pad input to arrow keys */
+-	if (((len == 5) && (buf[0] == 0x01) && (buf[4] == 0x00)) ||
+-	    ((len == 8) && (buf[0] & 0x40) &&
+-	     !(buf[1] & 0x1 || buf[1] >> 2 & 0x1))) {
+-		len = 8;
+-		imon_pad_to_keys(ictx, buf);
+-		norelease = true;
+-	}
+-
+-	if (debug) {
+-		printk(KERN_INFO "intf%d decoded packet: ", intf);
+-		for (i = 0; i < len; ++i)
+-			printk("%02x ", buf[i]);
+-		printk("\n");
+-	}
+-
+-	press_type = imon_parse_press_type(ictx, buf, ktype);
+-	if (press_type < 0)
+-		goto not_input_data;
+-
+-	if (ictx->kc == KEY_UNKNOWN)
+-		goto unknown_key;
+-
+-	/* KEY_MUTE repeats from MCE and knob need to be suppressed */
+-	if ((ictx->kc == KEY_MUTE && ictx->kc == ictx->last_keycode)
+-	    && (buf[7] == 0xee || ktype == IMON_KEY_MCE)) {
+-		do_gettimeofday(&t);
+-		msec = tv2int(&t, &prev_time);
+-		prev_time = t;
+-		if (msec < idev->rep[REP_DELAY])
+-			return;
+-	}
+-
+-	input_report_key(idev, ictx->kc, press_type);
+-	input_sync(idev);
+-
+-	/* panel keys and some remote keys don't generate a release */
+-	if (panel_key || norelease) {
+-		input_report_key(idev, ictx->kc, 0);
+-		input_sync(idev);
+-	}
+-
+-	ictx->last_keycode = ictx->kc;
+-
+-	return;
+-
+-unknown_key:
+-	dev_info(dev, "%s: unknown keypress, code 0x%llx\n", __func__,
+-		 (panel_key ? be64_to_cpu(panel_key) :
+-			      be32_to_cpu(remote_key)));
+-	return;
+-
+-not_input_data:
+-	if (len != 8) {
+-		dev_warn(dev, "imon %s: invalid incoming packet "
+-			 "size (len = %d, intf%d)\n", __func__, len, intf);
+-		return;
+-	}
+-
+-	/* iMON 2.4G associate frame */
+-	if (buf[0] == 0x00 &&
+-	    buf[2] == 0xFF &&				/* REFID */
+-	    buf[3] == 0xFF &&
+-	    buf[4] == 0xFF &&
+-	    buf[5] == 0xFF &&				/* iMON 2.4G */
+-	   ((buf[6] == 0x4E && buf[7] == 0xDF) ||	/* LT */
+-	    (buf[6] == 0x5E && buf[7] == 0xDF))) {	/* DT */
+-		dev_warn(dev, "%s: remote associated refid=%02X\n",
+-			 __func__, buf[1]);
+-		ictx->rf_isassociating = false;
+-	}
+-}
+-
+-/**
+- * Callback function for USB core API: receive data
+- */
+-static void usb_rx_callback_intf0(struct urb *urb)
+-{
+-	struct imon_context *ictx;
+-	int intfnum = 0;
+-
+-	if (!urb)
+-		return;
+-
+-	ictx = (struct imon_context *)urb->context;
+-	if (!ictx)
+-		return;
+-
+-	switch (urb->status) {
+-	case -ENOENT:		/* usbcore unlink successful! */
+-		return;
+-
+-	case -ESHUTDOWN:	/* transport endpoint was shut down */
+-		break;
+-
+-	case 0:
+-		imon_incoming_packet(ictx, urb, intfnum);
+-		break;
+-
+-	default:
+-		dev_warn(ictx->dev, "imon %s: status(%d): ignored\n",
+-			 __func__, urb->status);
+-		break;
+-	}
+-
+-	usb_submit_urb(ictx->rx_urb_intf0, GFP_ATOMIC);
+-}
+-
+-static void usb_rx_callback_intf1(struct urb *urb)
+-{
+-	struct imon_context *ictx;
+-	int intfnum = 1;
+-
+-	if (!urb)
+-		return;
+-
+-	ictx = (struct imon_context *)urb->context;
+-	if (!ictx)
+-		return;
+-
+-	switch (urb->status) {
+-	case -ENOENT:		/* usbcore unlink successful! */
+-		return;
+-
+-	case -ESHUTDOWN:	/* transport endpoint was shut down */
+-		break;
+-
+-	case 0:
+-		imon_incoming_packet(ictx, urb, intfnum);
+-		break;
+-
+-	default:
+-		dev_warn(ictx->dev, "imon %s: status(%d): ignored\n",
+-			 __func__, urb->status);
+-		break;
+-	}
+-
+-	usb_submit_urb(ictx->rx_urb_intf1, GFP_ATOMIC);
+-}
+-
+-static struct input_dev *imon_init_idev(struct imon_context *ictx)
+-{
+-	struct input_dev *idev;
+-	struct ir_dev_props *props;
+-	struct ir_input_dev *ir;
+-	int ret, i;
+-
+-	idev = input_allocate_device();
+-	if (!idev) {
+-		dev_err(ictx->dev, "remote input dev allocation failed\n");
+-		goto idev_alloc_failed;
+-	}
+-
+-	props = kzalloc(sizeof(struct ir_dev_props), GFP_KERNEL);
+-	if (!props) {
+-		dev_err(ictx->dev, "remote ir dev props allocation failed\n");
+-		goto props_alloc_failed;
+-	}
+-
+-	ir = kzalloc(sizeof(struct ir_input_dev), GFP_KERNEL);
+-	if (!ir) {
+-		dev_err(ictx->dev, "remote ir input dev allocation failed\n");
+-		goto ir_dev_alloc_failed;
+-	}
+-
+-	snprintf(ictx->name_idev, sizeof(ictx->name_idev),
+-		 "iMON Remote (%04x:%04x)", ictx->vendor, ictx->product);
+-	idev->name = ictx->name_idev;
+-
+-	usb_make_path(ictx->usbdev_intf0, ictx->phys_idev,
+-		      sizeof(ictx->phys_idev));
+-	strlcat(ictx->phys_idev, "/input0", sizeof(ictx->phys_idev));
+-	idev->phys = ictx->phys_idev;
+-
+-	idev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_REP) | BIT_MASK(EV_REL);
+-
+-	idev->keybit[BIT_WORD(BTN_MOUSE)] =
+-		BIT_MASK(BTN_LEFT) | BIT_MASK(BTN_RIGHT);
+-	idev->relbit[0] = BIT_MASK(REL_X) | BIT_MASK(REL_Y) |
+-		BIT_MASK(REL_WHEEL);
+-
+-	/* panel and/or knob code support */
+-	for (i = 0; i < ARRAY_SIZE(imon_panel_key_table); i++) {
+-		u32 kc = imon_panel_key_table[i].keycode;
+-		__set_bit(kc, idev->keybit);
+-	}
+-
+-	props->priv = ictx;
+-	props->driver_type = RC_DRIVER_SCANCODE;
+-	/* IR_TYPE_OTHER maps to iMON PAD remote, IR_TYPE_RC6 to MCE remote */
+-	props->allowed_protos = IR_TYPE_OTHER | IR_TYPE_RC6;
+-	props->change_protocol = imon_ir_change_protocol;
+-	ictx->props = props;
+-
+-	ictx->ir = ir;
+-	memcpy(&ir->dev, ictx->dev, sizeof(struct device));
+-
+-	usb_to_input_id(ictx->usbdev_intf0, &idev->id);
+-	idev->dev.parent = ictx->dev;
+-
+-	input_set_drvdata(idev, ir);
+-
+-	ret = ir_input_register(idev, RC_MAP_IMON_PAD, props, MOD_NAME);
+-	if (ret < 0) {
+-		dev_err(ictx->dev, "remote input dev register failed\n");
+-		goto idev_register_failed;
+-	}
+-
+-	return idev;
+-
+-idev_register_failed:
+-	kfree(ir);
+-ir_dev_alloc_failed:
+-	kfree(props);
+-props_alloc_failed:
+-	input_free_device(idev);
+-idev_alloc_failed:
+-
+-	return NULL;
+-}
+-
+-static struct input_dev *imon_init_touch(struct imon_context *ictx)
+-{
+-	struct input_dev *touch;
+-	int ret;
+-
+-	touch = input_allocate_device();
+-	if (!touch) {
+-		dev_err(ictx->dev, "touchscreen input dev allocation failed\n");
+-		goto touch_alloc_failed;
+-	}
+-
+-	snprintf(ictx->name_touch, sizeof(ictx->name_touch),
+-		 "iMON USB Touchscreen (%04x:%04x)",
+-		 ictx->vendor, ictx->product);
+-	touch->name = ictx->name_touch;
+-
+-	usb_make_path(ictx->usbdev_intf1, ictx->phys_touch,
+-		      sizeof(ictx->phys_touch));
+-	strlcat(ictx->phys_touch, "/input1", sizeof(ictx->phys_touch));
+-	touch->phys = ictx->phys_touch;
+-
+-	touch->evbit[0] =
+-		BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS);
+-	touch->keybit[BIT_WORD(BTN_TOUCH)] =
+-		BIT_MASK(BTN_TOUCH);
+-	input_set_abs_params(touch, ABS_X,
+-			     0x00, 0xfff, 0, 0);
+-	input_set_abs_params(touch, ABS_Y,
+-			     0x00, 0xfff, 0, 0);
+-
+-	input_set_drvdata(touch, ictx);
+-
+-	usb_to_input_id(ictx->usbdev_intf1, &touch->id);
+-	touch->dev.parent = ictx->dev;
+-	ret = input_register_device(touch);
+-	if (ret <  0) {
+-		dev_info(ictx->dev, "touchscreen input dev register failed\n");
+-		goto touch_register_failed;
+-	}
+-
+-	return touch;
+-
+-touch_register_failed:
+-	input_free_device(ictx->touch);
+-
+-touch_alloc_failed:
+-	return NULL;
+-}
+-
+-static bool imon_find_endpoints(struct imon_context *ictx,
+-				struct usb_host_interface *iface_desc)
+-{
+-	struct usb_endpoint_descriptor *ep;
+-	struct usb_endpoint_descriptor *rx_endpoint = NULL;
+-	struct usb_endpoint_descriptor *tx_endpoint = NULL;
+-	int ifnum = iface_desc->desc.bInterfaceNumber;
+-	int num_endpts = iface_desc->desc.bNumEndpoints;
+-	int i, ep_dir, ep_type;
+-	bool ir_ep_found = false;
+-	bool display_ep_found = false;
+-	bool tx_control = false;
+-
+-	/*
+-	 * Scan the endpoint list and set:
+-	 *	first input endpoint = IR endpoint
+-	 *	first output endpoint = display endpoint
+-	 */
+-	for (i = 0; i < num_endpts && !(ir_ep_found && display_ep_found); ++i) {
+-		ep = &iface_desc->endpoint[i].desc;
+-		ep_dir = ep->bEndpointAddress & USB_ENDPOINT_DIR_MASK;
+-		ep_type = ep->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK;
+-
+-		if (!ir_ep_found && ep_dir == USB_DIR_IN &&
+-		    ep_type == USB_ENDPOINT_XFER_INT) {
+-
+-			rx_endpoint = ep;
+-			ir_ep_found = true;
+-			dev_dbg(ictx->dev, "%s: found IR endpoint\n", __func__);
+-
+-		} else if (!display_ep_found && ep_dir == USB_DIR_OUT &&
+-			   ep_type == USB_ENDPOINT_XFER_INT) {
+-			tx_endpoint = ep;
+-			display_ep_found = true;
+-			dev_dbg(ictx->dev, "%s: found display endpoint\n", __func__);
+-		}
+-	}
+-
+-	if (ifnum == 0) {
+-		ictx->rx_endpoint_intf0 = rx_endpoint;
+-		/*
+-		 * tx is used to send characters to lcd/vfd, associate RF
+-		 * remotes, set IR protocol, and maybe more...
+-		 */
+-		ictx->tx_endpoint = tx_endpoint;
+-	} else {
+-		ictx->rx_endpoint_intf1 = rx_endpoint;
+-	}
+-
+-	/*
+-	 * If we didn't find a display endpoint, this is probably one of the
+-	 * newer iMON devices that use control urb instead of interrupt
+-	 */
+-	if (!display_ep_found) {
+-		tx_control = true;
+-		display_ep_found = true;
+-		dev_dbg(ictx->dev, "%s: device uses control endpoint, not "
+-			"interface OUT endpoint\n", __func__);
+-	}
+-
+-	/*
+-	 * Some iMON receivers have no display. Unfortunately, it seems
+-	 * that SoundGraph recycles device IDs between devices both with
+-	 * and without... :\
+-	 */
+-	if (ictx->display_type == IMON_DISPLAY_TYPE_NONE) {
+-		display_ep_found = false;
+-		dev_dbg(ictx->dev, "%s: device has no display\n", __func__);
+-	}
+-
+-	/*
+-	 * iMON Touch devices have a VGA touchscreen, but no "display", as
+-	 * that refers to e.g. /dev/lcd0 (a character device LCD or VFD).
+-	 */
+-	if (ictx->display_type == IMON_DISPLAY_TYPE_VGA) {
+-		display_ep_found = false;
+-		dev_dbg(ictx->dev, "%s: iMON Touch device found\n", __func__);
+-	}
+-
+-	/* Input endpoint is mandatory */
+-	if (!ir_ep_found)
+-		err("%s: no valid input (IR) endpoint found.", __func__);
+-
+-	ictx->tx_control = tx_control;
+-
+-	if (display_ep_found)
+-		ictx->display_supported = true;
+-
+-	return ir_ep_found;
+-
+-}
+-
+-static struct imon_context *imon_init_intf0(struct usb_interface *intf)
+-{
+-	struct imon_context *ictx;
+-	struct urb *rx_urb;
+-	struct urb *tx_urb;
+-	struct device *dev = &intf->dev;
+-	struct usb_host_interface *iface_desc;
+-	int ret = -ENOMEM;
+-
+-	ictx = kzalloc(sizeof(struct imon_context), GFP_KERNEL);
+-	if (!ictx) {
+-		dev_err(dev, "%s: kzalloc failed for context", __func__);
+-		goto exit;
+-	}
+-	rx_urb = usb_alloc_urb(0, GFP_KERNEL);
+-	if (!rx_urb) {
+-		dev_err(dev, "%s: usb_alloc_urb failed for IR urb", __func__);
+-		goto rx_urb_alloc_failed;
+-	}
+-	tx_urb = usb_alloc_urb(0, GFP_KERNEL);
+-	if (!tx_urb) {
+-		dev_err(dev, "%s: usb_alloc_urb failed for display urb",
+-			__func__);
+-		goto tx_urb_alloc_failed;
+-	}
+-
+-	mutex_init(&ictx->lock);
+-
+-	mutex_lock(&ictx->lock);
+-
+-	ictx->dev = dev;
+-	ictx->usbdev_intf0 = usb_get_dev(interface_to_usbdev(intf));
+-	ictx->dev_present_intf0 = true;
+-	ictx->rx_urb_intf0 = rx_urb;
+-	ictx->tx_urb = tx_urb;
+-	ictx->rf_device = false;
+-
+-	ictx->vendor  = le16_to_cpu(ictx->usbdev_intf0->descriptor.idVendor);
+-	ictx->product = le16_to_cpu(ictx->usbdev_intf0->descriptor.idProduct);
+-
+-	ret = -ENODEV;
+-	iface_desc = intf->cur_altsetting;
+-	if (!imon_find_endpoints(ictx, iface_desc)) {
+-		goto find_endpoint_failed;
+-	}
+-
+-	ictx->idev = imon_init_idev(ictx);
+-	if (!ictx->idev) {
+-		dev_err(dev, "%s: input device setup failed\n", __func__);
+-		goto idev_setup_failed;
+-	}
+-
+-	usb_fill_int_urb(ictx->rx_urb_intf0, ictx->usbdev_intf0,
+-		usb_rcvintpipe(ictx->usbdev_intf0,
+-			ictx->rx_endpoint_intf0->bEndpointAddress),
+-		ictx->usb_rx_buf, sizeof(ictx->usb_rx_buf),
+-		usb_rx_callback_intf0, ictx,
+-		ictx->rx_endpoint_intf0->bInterval);
+-
+-	ret = usb_submit_urb(ictx->rx_urb_intf0, GFP_KERNEL);
+-	if (ret) {
+-		err("%s: usb_submit_urb failed for intf0 (%d)",
+-		    __func__, ret);
+-		goto urb_submit_failed;
+-	}
+-
+-	return ictx;
+-
+-urb_submit_failed:
+-	input_unregister_device(ictx->idev);
+-	input_free_device(ictx->idev);
+-idev_setup_failed:
+-find_endpoint_failed:
+-	mutex_unlock(&ictx->lock);
+-	usb_free_urb(tx_urb);
+-tx_urb_alloc_failed:
+-	usb_free_urb(rx_urb);
+-rx_urb_alloc_failed:
+-	kfree(ictx);
+-exit:
+-	dev_err(dev, "unable to initialize intf0, err %d\n", ret);
+-
+-	return NULL;
+-}
+-
+-static struct imon_context *imon_init_intf1(struct usb_interface *intf,
+-					    struct imon_context *ictx)
+-{
+-	struct urb *rx_urb;
+-	struct usb_host_interface *iface_desc;
+-	int ret = -ENOMEM;
+-
+-	rx_urb = usb_alloc_urb(0, GFP_KERNEL);
+-	if (!rx_urb) {
+-		err("%s: usb_alloc_urb failed for IR urb", __func__);
+-		goto rx_urb_alloc_failed;
+-	}
+-
+-	mutex_lock(&ictx->lock);
+-
+-	if (ictx->display_type == IMON_DISPLAY_TYPE_VGA) {
+-		init_timer(&ictx->ttimer);
+-		ictx->ttimer.data = (unsigned long)ictx;
+-		ictx->ttimer.function = imon_touch_display_timeout;
+-	}
+-
+-	ictx->usbdev_intf1 = usb_get_dev(interface_to_usbdev(intf));
+-	ictx->dev_present_intf1 = true;
+-	ictx->rx_urb_intf1 = rx_urb;
+-
+-	ret = -ENODEV;
+-	iface_desc = intf->cur_altsetting;
+-	if (!imon_find_endpoints(ictx, iface_desc))
+-		goto find_endpoint_failed;
+-
+-	if (ictx->display_type == IMON_DISPLAY_TYPE_VGA) {
+-		ictx->touch = imon_init_touch(ictx);
+-		if (!ictx->touch)
+-			goto touch_setup_failed;
+-	} else
+-		ictx->touch = NULL;
+-
+-	usb_fill_int_urb(ictx->rx_urb_intf1, ictx->usbdev_intf1,
+-		usb_rcvintpipe(ictx->usbdev_intf1,
+-			ictx->rx_endpoint_intf1->bEndpointAddress),
+-		ictx->usb_rx_buf, sizeof(ictx->usb_rx_buf),
+-		usb_rx_callback_intf1, ictx,
+-		ictx->rx_endpoint_intf1->bInterval);
+-
+-	ret = usb_submit_urb(ictx->rx_urb_intf1, GFP_KERNEL);
+-
+-	if (ret) {
+-		err("%s: usb_submit_urb failed for intf1 (%d)",
+-		    __func__, ret);
+-		goto urb_submit_failed;
+-	}
+-
+-	return ictx;
+-
+-urb_submit_failed:
+-	if (ictx->touch) {
+-		input_unregister_device(ictx->touch);
+-		input_free_device(ictx->touch);
+-	}
+-touch_setup_failed:
+-find_endpoint_failed:
+-	mutex_unlock(&ictx->lock);
+-	usb_free_urb(rx_urb);
+-rx_urb_alloc_failed:
+-	dev_err(ictx->dev, "unable to initialize intf0, err %d\n", ret);
+-
+-	return NULL;
+-}
+-
+-/*
+- * The 0x15c2:0xffdc device ID was used for umpteen different imon
+- * devices, and all of them constantly spew interrupts, even when there
+- * is no actual data to report. However, byte 6 of this buffer looks like
+- * its unique across device variants, so we're trying to key off that to
+- * figure out which display type (if any) and what IR protocol the device
+- * actually supports. These devices have their IR protocol hard-coded into
+- * their firmware, they can't be changed on the fly like the newer hardware.
+- */
+-static void imon_get_ffdc_type(struct imon_context *ictx)
+-{
+-	u8 ffdc_cfg_byte = ictx->usb_rx_buf[6];
+-	u8 detected_display_type = IMON_DISPLAY_TYPE_NONE;
+-	u64 allowed_protos = IR_TYPE_OTHER;
+-
+-	switch (ffdc_cfg_byte) {
+-	/* iMON Knob, no display, iMON IR + vol knob */
+-	case 0x21:
+-		dev_info(ictx->dev, "0xffdc iMON Knob, iMON IR");
+-		ictx->display_supported = false;
+-		break;
+-	/* iMON 2.4G LT (usb stick), no display, iMON RF */
+-	case 0x4e:
+-		dev_info(ictx->dev, "0xffdc iMON 2.4G LT, iMON RF");
+-		ictx->display_supported = false;
+-		ictx->rf_device = true;
+-		break;
+-	/* iMON VFD, no IR (does have vol knob tho) */
+-	case 0x35:
+-		dev_info(ictx->dev, "0xffdc iMON VFD + knob, no IR");
+-		detected_display_type = IMON_DISPLAY_TYPE_VFD;
+-		break;
+-	/* iMON VFD, iMON IR */
+-	case 0x24:
+-	case 0x85:
+-		dev_info(ictx->dev, "0xffdc iMON VFD, iMON IR");
+-		detected_display_type = IMON_DISPLAY_TYPE_VFD;
+-		break;
+-	/* iMON LCD, MCE IR */
+-	case 0x9f:
+-		dev_info(ictx->dev, "0xffdc iMON LCD, MCE IR");
+-		detected_display_type = IMON_DISPLAY_TYPE_LCD;
+-		allowed_protos = IR_TYPE_RC6;
+-		break;
+-	default:
+-		dev_info(ictx->dev, "Unknown 0xffdc device, "
+-			 "defaulting to VFD and iMON IR");
+-		detected_display_type = IMON_DISPLAY_TYPE_VFD;
+-		break;
+-	}
+-
+-	printk(KERN_CONT " (id 0x%02x)\n", ffdc_cfg_byte);
+-
+-	ictx->display_type = detected_display_type;
+-	ictx->props->allowed_protos = allowed_protos;
+-	ictx->ir_type = allowed_protos;
+-}
+-
+-static void imon_set_display_type(struct imon_context *ictx,
+-				  struct usb_interface *intf)
+-{
+-	u8 configured_display_type = IMON_DISPLAY_TYPE_VFD;
+-
+-	/*
+-	 * Try to auto-detect the type of display if the user hasn't set
+-	 * it by hand via the display_type modparam. Default is VFD.
+-	 */
+-
+-	if (display_type == IMON_DISPLAY_TYPE_AUTO) {
+-		switch (ictx->product) {
+-		case 0xffdc:
+-			/* set in imon_get_ffdc_type() */
+-			configured_display_type = ictx->display_type;
+-			break;
+-		case 0x0034:
+-		case 0x0035:
+-			configured_display_type = IMON_DISPLAY_TYPE_VGA;
+-			break;
+-		case 0x0038:
+-		case 0x0039:
+-		case 0x0045:
+-			configured_display_type = IMON_DISPLAY_TYPE_LCD;
+-			break;
+-		case 0x003c:
+-		case 0x0041:
+-		case 0x0042:
+-		case 0x0043:
+-			configured_display_type = IMON_DISPLAY_TYPE_NONE;
+-			ictx->display_supported = false;
+-			break;
+-		case 0x0036:
+-		case 0x0044:
+-		default:
+-			configured_display_type = IMON_DISPLAY_TYPE_VFD;
+-			break;
+-		}
+-	} else {
+-		configured_display_type = display_type;
+-		if (display_type == IMON_DISPLAY_TYPE_NONE)
+-			ictx->display_supported = false;
+-		else
+-			ictx->display_supported = true;
+-		dev_info(ictx->dev, "%s: overriding display type to %d via "
+-			 "modparam\n", __func__, display_type);
+-	}
+-
+-	ictx->display_type = configured_display_type;
+-}
+-
+-static void imon_init_display(struct imon_context *ictx,
+-			      struct usb_interface *intf)
+-{
+-	int ret;
+-
+-	dev_dbg(ictx->dev, "Registering iMON display with sysfs\n");
+-
+-	/* set up sysfs entry for built-in clock */
+-	ret = sysfs_create_group(&intf->dev.kobj,
+-				 &imon_display_attribute_group);
+-	if (ret)
+-		dev_err(ictx->dev, "Could not create display sysfs "
+-			"entries(%d)", ret);
+-
+-	if (ictx->display_type == IMON_DISPLAY_TYPE_LCD)
+-		ret = usb_register_dev(intf, &imon_lcd_class);
+-	else
+-		ret = usb_register_dev(intf, &imon_vfd_class);
+-	if (ret)
+-		/* Not a fatal error, so ignore */
+-		dev_info(ictx->dev, "could not get a minor number for "
+-			 "display\n");
+-
+-}
+-
+-/**
+- * Callback function for USB core API: Probe
+- */
+-static int __devinit imon_probe(struct usb_interface *interface,
+-				const struct usb_device_id *id)
+-{
+-	struct usb_device *usbdev = NULL;
+-	struct usb_host_interface *iface_desc = NULL;
+-	struct usb_interface *first_if;
+-	struct device *dev = &interface->dev;
+-	int ifnum, code_length, sysfs_err;
+-	int ret = 0;
+-	struct imon_context *ictx = NULL;
+-	struct imon_context *first_if_ctx = NULL;
+-	u16 vendor, product;
+-	const unsigned char fp_packet[] = { 0x40, 0x00, 0x00, 0x00,
+-					    0x00, 0x00, 0x00, 0x88 };
+-
+-	code_length = BUF_CHUNK_SIZE * 8;
+-
+-	usbdev     = usb_get_dev(interface_to_usbdev(interface));
+-	iface_desc = interface->cur_altsetting;
+-	ifnum      = iface_desc->desc.bInterfaceNumber;
+-	vendor     = le16_to_cpu(usbdev->descriptor.idVendor);
+-	product    = le16_to_cpu(usbdev->descriptor.idProduct);
+-
+-	dev_dbg(dev, "%s: found iMON device (%04x:%04x, intf%d)\n",
+-		__func__, vendor, product, ifnum);
+-
+-	/* prevent races probing devices w/multiple interfaces */
+-	mutex_lock(&driver_lock);
+-
+-	first_if = usb_ifnum_to_if(usbdev, 0);
+-	first_if_ctx = (struct imon_context *)usb_get_intfdata(first_if);
+-
+-	if (ifnum == 0) {
+-		ictx = imon_init_intf0(interface);
+-		if (!ictx) {
+-			err("%s: failed to initialize context!\n", __func__);
+-			ret = -ENODEV;
+-			goto fail;
+-		}
+-
+-	} else {
+-	/* this is the secondary interface on the device */
+-		ictx = imon_init_intf1(interface, first_if_ctx);
+-		if (!ictx) {
+-			err("%s: failed to attach to context!\n", __func__);
+-			ret = -ENODEV;
+-			goto fail;
+-		}
+-
+-	}
+-
+-	usb_set_intfdata(interface, ictx);
+-
+-	if (ifnum == 0) {
+-		/* Enable front-panel buttons and/or knobs */
+-		memcpy(ictx->usb_tx_buf, &fp_packet, sizeof(fp_packet));
+-		ret = send_packet(ictx);
+-		/* Not fatal, but warn about it */
+-		if (ret)
+-			dev_info(dev, "failed to enable panel buttons "
+-				 "and/or knobs\n");
+-
+-		if (product == 0xffdc)
+-			imon_get_ffdc_type(ictx);
+-
+-		imon_set_display_type(ictx, interface);
+-
+-		if (product == 0xffdc && ictx->rf_device) {
+-			sysfs_err = sysfs_create_group(&interface->dev.kobj,
+-						       &imon_rf_attribute_group);
+-			if (sysfs_err)
+-				err("%s: Could not create RF sysfs entries(%d)",
+-				    __func__, sysfs_err);
+-		}
+-
+-		if (ictx->display_supported)
+-			imon_init_display(ictx, interface);
+-	}
+-
+-	/* set IR protocol/remote type */
+-	ret = imon_ir_change_protocol(ictx, ictx->ir_type);
+-	if (ret) {
+-		dev_warn(dev, "%s: failed to set IR protocol, falling back "
+-			 "to standard iMON protocol mode\n", __func__);
+-		ictx->ir_type = IR_TYPE_OTHER;
+-	}
+-
+-	dev_info(dev, "iMON device (%04x:%04x, intf%d) on "
+-		 "usb<%d:%d> initialized\n", vendor, product, ifnum,
+-		 usbdev->bus->busnum, usbdev->devnum);
+-
+-	mutex_unlock(&ictx->lock);
+-	mutex_unlock(&driver_lock);
+-
+-	return 0;
+-
+-fail:
+-	mutex_unlock(&driver_lock);
+-	dev_err(dev, "unable to register, err %d\n", ret);
+-
+-	return ret;
+-}
+-
+-/**
+- * Callback function for USB core API: disconnect
+- */
+-static void __devexit imon_disconnect(struct usb_interface *interface)
+-{
+-	struct imon_context *ictx;
+-	struct device *dev;
+-	int ifnum;
+-
+-	/* prevent races with multi-interface device probing and display_open */
+-	mutex_lock(&driver_lock);
+-
+-	ictx = usb_get_intfdata(interface);
+-	dev = ictx->dev;
+-	ifnum = interface->cur_altsetting->desc.bInterfaceNumber;
+-
+-	mutex_lock(&ictx->lock);
+-
+-	/*
+-	 * sysfs_remove_group is safe to call even if sysfs_create_group
+-	 * hasn't been called
+-	 */
+-	sysfs_remove_group(&interface->dev.kobj,
+-			   &imon_display_attribute_group);
+-	sysfs_remove_group(&interface->dev.kobj,
+-			   &imon_rf_attribute_group);
+-
+-	usb_set_intfdata(interface, NULL);
+-
+-	/* Abort ongoing write */
+-	if (ictx->tx.busy) {
+-		usb_kill_urb(ictx->tx_urb);
+-		complete_all(&ictx->tx.finished);
+-	}
+-
+-	if (ifnum == 0) {
+-		ictx->dev_present_intf0 = false;
+-		usb_kill_urb(ictx->rx_urb_intf0);
+-		input_unregister_device(ictx->idev);
+-		if (ictx->display_supported) {
+-			if (ictx->display_type == IMON_DISPLAY_TYPE_LCD)
+-				usb_deregister_dev(interface, &imon_lcd_class);
+-			else
+-				usb_deregister_dev(interface, &imon_vfd_class);
+-		}
+-	} else {
+-		ictx->dev_present_intf1 = false;
+-		usb_kill_urb(ictx->rx_urb_intf1);
+-		if (ictx->display_type == IMON_DISPLAY_TYPE_VGA)
+-			input_unregister_device(ictx->touch);
+-	}
+-
+-	if (!ictx->dev_present_intf0 && !ictx->dev_present_intf1) {
+-		if (ictx->display_type == IMON_DISPLAY_TYPE_VGA)
+-			del_timer_sync(&ictx->ttimer);
+-		mutex_unlock(&ictx->lock);
+-		if (!ictx->display_isopen)
+-			free_imon_context(ictx);
+-	} else {
+-		if (ictx->ir_type == IR_TYPE_RC6)
+-			del_timer_sync(&ictx->itimer);
+-		mutex_unlock(&ictx->lock);
+-	}
+-
+-	mutex_unlock(&driver_lock);
+-
+-	dev_dbg(dev, "%s: iMON device (intf%d) disconnected\n",
+-		__func__, ifnum);
+-}
+-
+-static int imon_suspend(struct usb_interface *intf, pm_message_t message)
+-{
+-	struct imon_context *ictx = usb_get_intfdata(intf);
+-	int ifnum = intf->cur_altsetting->desc.bInterfaceNumber;
+-
+-	if (ifnum == 0)
+-		usb_kill_urb(ictx->rx_urb_intf0);
+-	else
+-		usb_kill_urb(ictx->rx_urb_intf1);
+-
+-	return 0;
+-}
+-
+-static int imon_resume(struct usb_interface *intf)
+-{
+-	int rc = 0;
+-	struct imon_context *ictx = usb_get_intfdata(intf);
+-	int ifnum = intf->cur_altsetting->desc.bInterfaceNumber;
+-
+-	if (ifnum == 0) {
+-		usb_fill_int_urb(ictx->rx_urb_intf0, ictx->usbdev_intf0,
+-			usb_rcvintpipe(ictx->usbdev_intf0,
+-				ictx->rx_endpoint_intf0->bEndpointAddress),
+-			ictx->usb_rx_buf, sizeof(ictx->usb_rx_buf),
+-			usb_rx_callback_intf0, ictx,
+-			ictx->rx_endpoint_intf0->bInterval);
+-
+-		rc = usb_submit_urb(ictx->rx_urb_intf0, GFP_ATOMIC);
+-
+-	} else {
+-		usb_fill_int_urb(ictx->rx_urb_intf1, ictx->usbdev_intf1,
+-			usb_rcvintpipe(ictx->usbdev_intf1,
+-				ictx->rx_endpoint_intf1->bEndpointAddress),
+-			ictx->usb_rx_buf, sizeof(ictx->usb_rx_buf),
+-			usb_rx_callback_intf1, ictx,
+-			ictx->rx_endpoint_intf1->bInterval);
+-
+-		rc = usb_submit_urb(ictx->rx_urb_intf1, GFP_ATOMIC);
+-	}
+-
+-	return rc;
+-}
+-
+-static int __init imon_init(void)
+-{
+-	int rc;
+-
+-	rc = usb_register(&imon_driver);
+-	if (rc) {
+-		err("%s: usb register failed(%d)", __func__, rc);
+-		rc = -ENODEV;
+-	}
+-
+-	return rc;
+-}
+-
+-static void __exit imon_exit(void)
+-{
+-	usb_deregister(&imon_driver);
+-}
+-
+-module_init(imon_init);
+-module_exit(imon_exit);
+diff -Naurp linux-2.6.35/drivers/media/IR/ir-core-priv.h linux-2.6.35.media/drivers/media/IR/ir-core-priv.h
+--- linux-2.6.35/drivers/media/IR/ir-core-priv.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/ir-core-priv.h	1969-12-31 19:00:00.000000000 -0500
+@@ -1,126 +0,0 @@
+-/*
+- * Remote Controller core raw events header
+- *
+- * Copyright (C) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- *  it under the terms of the GNU General Public License as published by
+- *  the Free Software Foundation version 2 of the License.
+- *
+- *  This program is distributed in the hope that it will be useful,
+- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- *  GNU General Public License for more details.
+- */
+-
+-#ifndef _IR_RAW_EVENT
+-#define _IR_RAW_EVENT
+-
+-#include <linux/slab.h>
+-#include <media/ir-core.h>
+-
+-struct ir_raw_handler {
+-	struct list_head list;
+-
+-	int (*decode)(struct input_dev *input_dev, struct ir_raw_event event);
+-	int (*raw_register)(struct input_dev *input_dev);
+-	int (*raw_unregister)(struct input_dev *input_dev);
+-};
+-
+-struct ir_raw_event_ctrl {
+-	struct work_struct		rx_work;	/* for the rx decoding workqueue */
+-	struct kfifo			kfifo;		/* fifo for the pulse/space durations */
+-	ktime_t				last_event;	/* when last event occurred */
+-	enum raw_event_type		last_type;	/* last event type */
+-	struct input_dev		*input_dev;	/* pointer to the parent input_dev */
+-};
+-
+-/* macros for IR decoders */
+-static inline bool geq_margin(unsigned d1, unsigned d2, unsigned margin)
+-{
+-	return d1 > (d2 - margin);
+-}
+-
+-static inline bool eq_margin(unsigned d1, unsigned d2, unsigned margin)
+-{
+-	return ((d1 > (d2 - margin)) && (d1 < (d2 + margin)));
+-}
+-
+-static inline bool is_transition(struct ir_raw_event *x, struct ir_raw_event *y)
+-{
+-	return x->pulse != y->pulse;
+-}
+-
+-static inline void decrease_duration(struct ir_raw_event *ev, unsigned duration)
+-{
+-	if (duration > ev->duration)
+-		ev->duration = 0;
+-	else
+-		ev->duration -= duration;
+-}
+-
+-#define TO_US(duration)			(((duration) + 500) / 1000)
+-#define TO_STR(is_pulse)		((is_pulse) ? "pulse" : "space")
+-#define IS_RESET(ev)			(ev.duration == 0)
+-
+-/*
+- * Routines from ir-sysfs.c - Meant to be called only internally inside
+- * ir-core
+- */
+-
+-int ir_register_class(struct input_dev *input_dev);
+-void ir_unregister_class(struct input_dev *input_dev);
+-
+-/*
+- * Routines from ir-raw-event.c to be used internally and by decoders
+- */
+-int ir_raw_event_register(struct input_dev *input_dev);
+-void ir_raw_event_unregister(struct input_dev *input_dev);
+-int ir_raw_handler_register(struct ir_raw_handler *ir_raw_handler);
+-void ir_raw_handler_unregister(struct ir_raw_handler *ir_raw_handler);
+-void ir_raw_init(void);
+-
+-
+-/*
+- * Decoder initialization code
+- *
+- * Those load logic are called during ir-core init, and automatically
+- * loads the compiled decoders for their usage with IR raw events
+- */
+-
+-/* from ir-nec-decoder.c */
+-#ifdef CONFIG_IR_NEC_DECODER_MODULE
+-#define load_nec_decode()	request_module("ir-nec-decoder")
+-#else
+-#define load_nec_decode()	0
+-#endif
+-
+-/* from ir-rc5-decoder.c */
+-#ifdef CONFIG_IR_RC5_DECODER_MODULE
+-#define load_rc5_decode()	request_module("ir-rc5-decoder")
+-#else
+-#define load_rc5_decode()	0
+-#endif
+-
+-/* from ir-rc6-decoder.c */
+-#ifdef CONFIG_IR_RC6_DECODER_MODULE
+-#define load_rc6_decode()	request_module("ir-rc6-decoder")
+-#else
+-#define load_rc6_decode()	0
+-#endif
+-
+-/* from ir-jvc-decoder.c */
+-#ifdef CONFIG_IR_JVC_DECODER_MODULE
+-#define load_jvc_decode()	request_module("ir-jvc-decoder")
+-#else
+-#define load_jvc_decode()	0
+-#endif
+-
+-/* from ir-sony-decoder.c */
+-#ifdef CONFIG_IR_SONY_DECODER_MODULE
+-#define load_sony_decode()	request_module("ir-sony-decoder")
+-#else
+-#define load_sony_decode()	0
+-#endif
+-
+-#endif /* _IR_RAW_EVENT */
+diff -Naurp linux-2.6.35/drivers/media/IR/ir-functions.c linux-2.6.35.media/drivers/media/IR/ir-functions.c
+--- linux-2.6.35/drivers/media/IR/ir-functions.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/ir-functions.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,356 +0,0 @@
+-/*
+- *
+- * some common structs and functions to handle infrared remotes via
+- * input layer ...
+- *
+- * (c) 2003 Gerd Knorr <kraxel at bytesex.org> [SuSE Labs]
+- *
+- *  This program is free software; you can redistribute it and/or modify
+- *  it under the terms of the GNU General Public License as published by
+- *  the Free Software Foundation; either version 2 of the License, or
+- *  (at your option) any later version.
+- *
+- *  This program is distributed in the hope that it will be useful,
+- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- *  GNU General Public License for more details.
+- *
+- *  You should have received a copy of the GNU General Public License
+- *  along with this program; if not, write to the Free Software
+- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+- */
+-
+-#include <linux/module.h>
+-#include <linux/string.h>
+-#include <linux/jiffies.h>
+-#include <media/ir-common.h>
+-#include "ir-core-priv.h"
+-
+-/* -------------------------------------------------------------------------- */
+-
+-MODULE_AUTHOR("Gerd Knorr <kraxel at bytesex.org> [SuSE Labs]");
+-MODULE_LICENSE("GPL");
+-
+-static int repeat = 1;
+-module_param(repeat, int, 0444);
+-MODULE_PARM_DESC(repeat,"auto-repeat for IR keys (default: on)");
+-
+-/* -------------------------------------------------------------------------- */
+-
+-static void ir_input_key_event(struct input_dev *dev, struct ir_input_state *ir)
+-{
+-	if (KEY_RESERVED == ir->keycode) {
+-		printk(KERN_INFO "%s: unknown key: key=0x%02x down=%d\n",
+-		       dev->name, ir->ir_key, ir->keypressed);
+-		return;
+-	}
+-	IR_dprintk(1,"%s: key event code=%d down=%d\n",
+-		dev->name,ir->keycode,ir->keypressed);
+-	input_report_key(dev,ir->keycode,ir->keypressed);
+-	input_sync(dev);
+-}
+-
+-/* -------------------------------------------------------------------------- */
+-
+-int ir_input_init(struct input_dev *dev, struct ir_input_state *ir,
+-		  const u64 ir_type)
+-{
+-	ir->ir_type = ir_type;
+-
+-	if (repeat)
+-		set_bit(EV_REP, dev->evbit);
+-
+-	return 0;
+-}
+-EXPORT_SYMBOL_GPL(ir_input_init);
+-
+-
+-void ir_input_nokey(struct input_dev *dev, struct ir_input_state *ir)
+-{
+-	if (ir->keypressed) {
+-		ir->keypressed = 0;
+-		ir_input_key_event(dev,ir);
+-	}
+-}
+-EXPORT_SYMBOL_GPL(ir_input_nokey);
+-
+-void ir_input_keydown(struct input_dev *dev, struct ir_input_state *ir,
+-		      u32 ir_key)
+-{
+-	u32 keycode = ir_g_keycode_from_table(dev, ir_key);
+-
+-	if (ir->keypressed && ir->keycode != keycode) {
+-		ir->keypressed = 0;
+-		ir_input_key_event(dev,ir);
+-	}
+-	if (!ir->keypressed) {
+-		ir->ir_key  = ir_key;
+-		ir->keycode = keycode;
+-		ir->keypressed = 1;
+-		ir_input_key_event(dev,ir);
+-	}
+-}
+-EXPORT_SYMBOL_GPL(ir_input_keydown);
+-
+-/* -------------------------------------------------------------------------- */
+-/* extract mask bits out of data and pack them into the result */
+-u32 ir_extract_bits(u32 data, u32 mask)
+-{
+-	u32 vbit = 1, value = 0;
+-
+-	do {
+-	    if (mask&1) {
+-		if (data&1)
+-			value |= vbit;
+-		vbit<<=1;
+-	    }
+-	    data>>=1;
+-	} while (mask>>=1);
+-
+-	return value;
+-}
+-EXPORT_SYMBOL_GPL(ir_extract_bits);
+-
+-static int inline getbit(u32 *samples, int bit)
+-{
+-	return (samples[bit/32] & (1 << (31-(bit%32)))) ? 1 : 0;
+-}
+-
+-/* sump raw samples for visual debugging ;) */
+-int ir_dump_samples(u32 *samples, int count)
+-{
+-	int i, bit, start;
+-
+-	printk(KERN_DEBUG "ir samples: ");
+-	start = 0;
+-	for (i = 0; i < count * 32; i++) {
+-		bit = getbit(samples,i);
+-		if (bit)
+-			start = 1;
+-		if (0 == start)
+-			continue;
+-		printk("%s", bit ? "#" : "_");
+-	}
+-	printk("\n");
+-	return 0;
+-}
+-EXPORT_SYMBOL_GPL(ir_dump_samples);
+-
+-/* decode raw samples, pulse distance coding used by NEC remotes */
+-int ir_decode_pulsedistance(u32 *samples, int count, int low, int high)
+-{
+-	int i,last,bit,len;
+-	u32 curBit;
+-	u32 value;
+-
+-	/* find start burst */
+-	for (i = len = 0; i < count * 32; i++) {
+-		bit = getbit(samples,i);
+-		if (bit) {
+-			len++;
+-		} else {
+-			if (len >= 29)
+-				break;
+-			len = 0;
+-		}
+-	}
+-
+-	/* start burst to short */
+-	if (len < 29)
+-		return 0xffffffff;
+-
+-	/* find start silence */
+-	for (len = 0; i < count * 32; i++) {
+-		bit = getbit(samples,i);
+-		if (bit) {
+-			break;
+-		} else {
+-			len++;
+-		}
+-	}
+-
+-	/* silence to short */
+-	if (len < 7)
+-		return 0xffffffff;
+-
+-	/* go decoding */
+-	len   = 0;
+-	last = 1;
+-	value = 0; curBit = 1;
+-	for (; i < count * 32; i++) {
+-		bit  = getbit(samples,i);
+-		if (last) {
+-			if(bit) {
+-				continue;
+-			} else {
+-				len = 1;
+-			}
+-		} else {
+-			if (bit) {
+-				if (len > (low + high) /2)
+-					value |= curBit;
+-				curBit <<= 1;
+-				if (curBit == 1)
+-					break;
+-			} else {
+-				len++;
+-			}
+-		}
+-		last = bit;
+-	}
+-
+-	return value;
+-}
+-EXPORT_SYMBOL_GPL(ir_decode_pulsedistance);
+-
+-/* decode raw samples, biphase coding, used by rc5 for example */
+-int ir_decode_biphase(u32 *samples, int count, int low, int high)
+-{
+-	int i,last,bit,len,flips;
+-	u32 value;
+-
+-	/* find start bit (1) */
+-	for (i = 0; i < 32; i++) {
+-		bit = getbit(samples,i);
+-		if (bit)
+-			break;
+-	}
+-
+-	/* go decoding */
+-	len   = 0;
+-	flips = 0;
+-	value = 1;
+-	for (; i < count * 32; i++) {
+-		if (len > high)
+-			break;
+-		if (flips > 1)
+-			break;
+-		last = bit;
+-		bit  = getbit(samples,i);
+-		if (last == bit) {
+-			len++;
+-			continue;
+-		}
+-		if (len < low) {
+-			len++;
+-			flips++;
+-			continue;
+-		}
+-		value <<= 1;
+-		value |= bit;
+-		flips = 0;
+-		len   = 1;
+-	}
+-	return value;
+-}
+-EXPORT_SYMBOL_GPL(ir_decode_biphase);
+-
+-/* RC5 decoding stuff, moved from bttv-input.c to share it with
+- * saa7134 */
+-
+-/* decode raw bit pattern to RC5 code */
+-u32 ir_rc5_decode(unsigned int code)
+-{
+-	unsigned int org_code = code;
+-	unsigned int pair;
+-	unsigned int rc5 = 0;
+-	int i;
+-
+-	for (i = 0; i < 14; ++i) {
+-		pair = code & 0x3;
+-		code >>= 2;
+-
+-		rc5 <<= 1;
+-		switch (pair) {
+-		case 0:
+-		case 2:
+-			break;
+-		case 1:
+-			rc5 |= 1;
+-			break;
+-		case 3:
+-			IR_dprintk(1, "ir-common: ir_rc5_decode(%x) bad code\n", org_code);
+-			return 0;
+-		}
+-	}
+-	IR_dprintk(1, "ir-common: code=%x, rc5=%x, start=%x, toggle=%x, address=%x, "
+-		"instr=%x\n", rc5, org_code, RC5_START(rc5),
+-		RC5_TOGGLE(rc5), RC5_ADDR(rc5), RC5_INSTR(rc5));
+-	return rc5;
+-}
+-EXPORT_SYMBOL_GPL(ir_rc5_decode);
+-
+-void ir_rc5_timer_end(unsigned long data)
+-{
+-	struct card_ir *ir = (struct card_ir *)data;
+-	struct timeval tv;
+-	unsigned long current_jiffies, timeout;
+-	u32 gap;
+-	u32 rc5 = 0;
+-
+-	/* get time */
+-	current_jiffies = jiffies;
+-	do_gettimeofday(&tv);
+-
+-	/* avoid overflow with gap >1s */
+-	if (tv.tv_sec - ir->base_time.tv_sec > 1) {
+-		gap = 200000;
+-	} else {
+-		gap = 1000000 * (tv.tv_sec - ir->base_time.tv_sec) +
+-		    tv.tv_usec - ir->base_time.tv_usec;
+-	}
+-
+-	/* signal we're ready to start a new code */
+-	ir->active = 0;
+-
+-	/* Allow some timer jitter (RC5 is ~24ms anyway so this is ok) */
+-	if (gap < 28000) {
+-		IR_dprintk(1, "ir-common: spurious timer_end\n");
+-		return;
+-	}
+-
+-	if (ir->last_bit < 20) {
+-		/* ignore spurious codes (caused by light/other remotes) */
+-		IR_dprintk(1, "ir-common: short code: %x\n", ir->code);
+-	} else {
+-		ir->code = (ir->code << ir->shift_by) | 1;
+-		rc5 = ir_rc5_decode(ir->code);
+-
+-		/* two start bits? */
+-		if (RC5_START(rc5) != ir->start) {
+-			IR_dprintk(1, "ir-common: rc5 start bits invalid: %u\n", RC5_START(rc5));
+-
+-			/* right address? */
+-		} else if (RC5_ADDR(rc5) == ir->addr) {
+-			u32 toggle = RC5_TOGGLE(rc5);
+-			u32 instr = RC5_INSTR(rc5);
+-
+-			/* Good code, decide if repeat/repress */
+-			if (toggle != RC5_TOGGLE(ir->last_rc5) ||
+-			    instr != RC5_INSTR(ir->last_rc5)) {
+-				IR_dprintk(1, "ir-common: instruction %x, toggle %x\n", instr,
+-					toggle);
+-				ir_input_nokey(ir->dev, &ir->ir);
+-				ir_input_keydown(ir->dev, &ir->ir, instr);
+-			}
+-
+-			/* Set/reset key-up timer */
+-			timeout = current_jiffies +
+-				  msecs_to_jiffies(ir->rc5_key_timeout);
+-			mod_timer(&ir->timer_keyup, timeout);
+-
+-			/* Save code for repeat test */
+-			ir->last_rc5 = rc5;
+-		}
+-	}
+-}
+-EXPORT_SYMBOL_GPL(ir_rc5_timer_end);
+-
+-void ir_rc5_timer_keyup(unsigned long data)
+-{
+-	struct card_ir *ir = (struct card_ir *)data;
+-
+-	IR_dprintk(1, "ir-common: key released\n");
+-	ir_input_nokey(ir->dev, &ir->ir);
+-}
+-EXPORT_SYMBOL_GPL(ir_rc5_timer_keyup);
+diff -Naurp linux-2.6.35/drivers/media/IR/ir-jvc-decoder.c linux-2.6.35.media/drivers/media/IR/ir-jvc-decoder.c
+--- linux-2.6.35/drivers/media/IR/ir-jvc-decoder.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/ir-jvc-decoder.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,320 +0,0 @@
+-/* ir-jvc-decoder.c - handle JVC IR Pulse/Space protocol
+- *
+- * Copyright (C) 2010 by David Härdeman <david at hardeman.nu>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation version 2 of the License.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- * GNU General Public License for more details.
+- */
+-
+-#include <linux/bitrev.h>
+-#include "ir-core-priv.h"
+-
+-#define JVC_NBITS		16		/* dev(8) + func(8) */
+-#define JVC_UNIT		525000		/* ns */
+-#define JVC_HEADER_PULSE	(16 * JVC_UNIT) /* lack of header -> repeat */
+-#define JVC_HEADER_SPACE	(8  * JVC_UNIT)
+-#define JVC_BIT_PULSE		(1  * JVC_UNIT)
+-#define JVC_BIT_0_SPACE		(1  * JVC_UNIT)
+-#define JVC_BIT_1_SPACE		(3  * JVC_UNIT)
+-#define JVC_TRAILER_PULSE	(1  * JVC_UNIT)
+-#define	JVC_TRAILER_SPACE	(35 * JVC_UNIT)
+-
+-/* Used to register jvc_decoder clients */
+-static LIST_HEAD(decoder_list);
+-DEFINE_SPINLOCK(decoder_lock);
+-
+-enum jvc_state {
+-	STATE_INACTIVE,
+-	STATE_HEADER_SPACE,
+-	STATE_BIT_PULSE,
+-	STATE_BIT_SPACE,
+-	STATE_TRAILER_PULSE,
+-	STATE_TRAILER_SPACE,
+-};
+-
+-struct decoder_data {
+-	struct list_head	list;
+-	struct ir_input_dev	*ir_dev;
+-	int			enabled:1;
+-
+-	/* State machine control */
+-	enum jvc_state		state;
+-	u16			jvc_bits;
+-	u16			jvc_old_bits;
+-	unsigned		count;
+-	bool			first;
+-	bool			toggle;
+-};
+-
+-
+-/**
+- * get_decoder_data()	- gets decoder data
+- * @input_dev:	input device
+- *
+- * Returns the struct decoder_data that corresponds to a device
+- */
+-static struct decoder_data *get_decoder_data(struct  ir_input_dev *ir_dev)
+-{
+-	struct decoder_data *data = NULL;
+-
+-	spin_lock(&decoder_lock);
+-	list_for_each_entry(data, &decoder_list, list) {
+-		if (data->ir_dev == ir_dev)
+-			break;
+-	}
+-	spin_unlock(&decoder_lock);
+-	return data;
+-}
+-
+-static ssize_t store_enabled(struct device *d,
+-			     struct device_attribute *mattr,
+-			     const char *buf,
+-			     size_t len)
+-{
+-	unsigned long value;
+-	struct ir_input_dev *ir_dev = dev_get_drvdata(d);
+-	struct decoder_data *data = get_decoder_data(ir_dev);
+-
+-	if (!data)
+-		return -EINVAL;
+-
+-	if (strict_strtoul(buf, 10, &value) || value > 1)
+-		return -EINVAL;
+-
+-	data->enabled = value;
+-
+-	return len;
+-}
+-
+-static ssize_t show_enabled(struct device *d,
+-			     struct device_attribute *mattr, char *buf)
+-{
+-	struct ir_input_dev *ir_dev = dev_get_drvdata(d);
+-	struct decoder_data *data = get_decoder_data(ir_dev);
+-
+-	if (!data)
+-		return -EINVAL;
+-
+-	if (data->enabled)
+-		return sprintf(buf, "1\n");
+-	else
+-	return sprintf(buf, "0\n");
+-}
+-
+-static DEVICE_ATTR(enabled, S_IRUGO | S_IWUSR, show_enabled, store_enabled);
+-
+-static struct attribute *decoder_attributes[] = {
+-	&dev_attr_enabled.attr,
+-	NULL
+-};
+-
+-static struct attribute_group decoder_attribute_group = {
+-	.name	= "jvc_decoder",
+-	.attrs	= decoder_attributes,
+-};
+-
+-/**
+- * ir_jvc_decode() - Decode one JVC pulse or space
+- * @input_dev:	the struct input_dev descriptor of the device
+- * @duration:   the struct ir_raw_event descriptor of the pulse/space
+- *
+- * This function returns -EINVAL if the pulse violates the state machine
+- */
+-static int ir_jvc_decode(struct input_dev *input_dev, struct ir_raw_event ev)
+-{
+-	struct decoder_data *data;
+-	struct ir_input_dev *ir_dev = input_get_drvdata(input_dev);
+-
+-	data = get_decoder_data(ir_dev);
+-	if (!data)
+-		return -EINVAL;
+-
+-	if (!data->enabled)
+-		return 0;
+-
+-	if (IS_RESET(ev)) {
+-		data->state = STATE_INACTIVE;
+-		return 0;
+-	}
+-
+-	if (!geq_margin(ev.duration, JVC_UNIT, JVC_UNIT / 2))
+-		goto out;
+-
+-	IR_dprintk(2, "JVC decode started at state %d (%uus %s)\n",
+-		   data->state, TO_US(ev.duration), TO_STR(ev.pulse));
+-
+-	switch (data->state) {
+-
+-	case STATE_INACTIVE:
+-		if (!ev.pulse)
+-			break;
+-
+-		if (!eq_margin(ev.duration, JVC_HEADER_PULSE, JVC_UNIT / 2))
+-			break;
+-
+-		data->count = 0;
+-		data->first = true;
+-		data->toggle = !data->toggle;
+-		data->state = STATE_HEADER_SPACE;
+-		return 0;
+-
+-	case STATE_HEADER_SPACE:
+-		if (ev.pulse)
+-			break;
+-
+-		if (!eq_margin(ev.duration, JVC_HEADER_SPACE, JVC_UNIT / 2))
+-			break;
+-
+-		data->state = STATE_BIT_PULSE;
+-		return 0;
+-
+-	case STATE_BIT_PULSE:
+-		if (!ev.pulse)
+-			break;
+-
+-		if (!eq_margin(ev.duration, JVC_BIT_PULSE, JVC_UNIT / 2))
+-			break;
+-
+-		data->state = STATE_BIT_SPACE;
+-		return 0;
+-
+-	case STATE_BIT_SPACE:
+-		if (ev.pulse)
+-			break;
+-
+-		data->jvc_bits <<= 1;
+-		if (eq_margin(ev.duration, JVC_BIT_1_SPACE, JVC_UNIT / 2)) {
+-			data->jvc_bits |= 1;
+-			decrease_duration(&ev, JVC_BIT_1_SPACE);
+-		} else if (eq_margin(ev.duration, JVC_BIT_0_SPACE, JVC_UNIT / 2))
+-			decrease_duration(&ev, JVC_BIT_0_SPACE);
+-		else
+-			break;
+-		data->count++;
+-
+-		if (data->count == JVC_NBITS)
+-			data->state = STATE_TRAILER_PULSE;
+-		else
+-			data->state = STATE_BIT_PULSE;
+-		return 0;
+-
+-	case STATE_TRAILER_PULSE:
+-		if (!ev.pulse)
+-			break;
+-
+-		if (!eq_margin(ev.duration, JVC_TRAILER_PULSE, JVC_UNIT / 2))
+-			break;
+-
+-		data->state = STATE_TRAILER_SPACE;
+-		return 0;
+-
+-	case STATE_TRAILER_SPACE:
+-		if (ev.pulse)
+-			break;
+-
+-		if (!geq_margin(ev.duration, JVC_TRAILER_SPACE, JVC_UNIT / 2))
+-			break;
+-
+-		if (data->first) {
+-			u32 scancode;
+-			scancode = (bitrev8((data->jvc_bits >> 8) & 0xff) << 8) |
+-				   (bitrev8((data->jvc_bits >> 0) & 0xff) << 0);
+-			IR_dprintk(1, "JVC scancode 0x%04x\n", scancode);
+-			ir_keydown(input_dev, scancode, data->toggle);
+-			data->first = false;
+-			data->jvc_old_bits = data->jvc_bits;
+-		} else if (data->jvc_bits == data->jvc_old_bits) {
+-			IR_dprintk(1, "JVC repeat\n");
+-			ir_repeat(input_dev);
+-		} else {
+-			IR_dprintk(1, "JVC invalid repeat msg\n");
+-			break;
+-		}
+-
+-		data->count = 0;
+-		data->state = STATE_BIT_PULSE;
+-		return 0;
+-	}
+-
+-out:
+-	IR_dprintk(1, "JVC decode failed at state %d (%uus %s)\n",
+-		   data->state, TO_US(ev.duration), TO_STR(ev.pulse));
+-	data->state = STATE_INACTIVE;
+-	return -EINVAL;
+-}
+-
+-static int ir_jvc_register(struct input_dev *input_dev)
+-{
+-	struct ir_input_dev *ir_dev = input_get_drvdata(input_dev);
+-	struct decoder_data *data;
+-	int rc;
+-
+-	rc = sysfs_create_group(&ir_dev->dev.kobj, &decoder_attribute_group);
+-	if (rc < 0)
+-		return rc;
+-
+-	data = kzalloc(sizeof(*data), GFP_KERNEL);
+-	if (!data) {
+-		sysfs_remove_group(&ir_dev->dev.kobj, &decoder_attribute_group);
+-		return -ENOMEM;
+-	}
+-
+-	data->ir_dev = ir_dev;
+-	data->enabled = 1;
+-
+-	spin_lock(&decoder_lock);
+-	list_add_tail(&data->list, &decoder_list);
+-	spin_unlock(&decoder_lock);
+-
+-	return 0;
+-}
+-
+-static int ir_jvc_unregister(struct input_dev *input_dev)
+-{
+-	struct ir_input_dev *ir_dev = input_get_drvdata(input_dev);
+-	static struct decoder_data *data;
+-
+-	data = get_decoder_data(ir_dev);
+-	if (!data)
+-		return 0;
+-
+-	sysfs_remove_group(&ir_dev->dev.kobj, &decoder_attribute_group);
+-
+-	spin_lock(&decoder_lock);
+-	list_del(&data->list);
+-	spin_unlock(&decoder_lock);
+-
+-	return 0;
+-}
+-
+-static struct ir_raw_handler jvc_handler = {
+-	.decode		= ir_jvc_decode,
+-	.raw_register	= ir_jvc_register,
+-	.raw_unregister	= ir_jvc_unregister,
+-};
+-
+-static int __init ir_jvc_decode_init(void)
+-{
+-	ir_raw_handler_register(&jvc_handler);
+-
+-	printk(KERN_INFO "IR JVC protocol handler initialized\n");
+-	return 0;
+-}
+-
+-static void __exit ir_jvc_decode_exit(void)
+-{
+-	ir_raw_handler_unregister(&jvc_handler);
+-}
+-
+-module_init(ir_jvc_decode_init);
+-module_exit(ir_jvc_decode_exit);
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("David Härdeman <david at hardeman.nu>");
+-MODULE_DESCRIPTION("JVC IR protocol decoder");
+diff -Naurp linux-2.6.35/drivers/media/IR/ir-keytable.c linux-2.6.35.media/drivers/media/IR/ir-keytable.c
+--- linux-2.6.35/drivers/media/IR/ir-keytable.c	2011-01-24 22:40:24.063423295 -0500
++++ linux-2.6.35.media/drivers/media/IR/ir-keytable.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,555 +0,0 @@
+-/* ir-keytable.c - handle IR scancode->keycode tables
+- *
+- * Copyright (C) 2009 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- *  it under the terms of the GNU General Public License as published by
+- *  the Free Software Foundation version 2 of the License.
+- *
+- *  This program is distributed in the hope that it will be useful,
+- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- *  GNU General Public License for more details.
+- */
+-
+-
+-#include <linux/input.h>
+-#include <linux/slab.h>
+-#include "ir-core-priv.h"
+-
+-/* Sizes are in bytes, 256 bytes allows for 32 entries on x64 */
+-#define IR_TAB_MIN_SIZE	256
+-#define IR_TAB_MAX_SIZE	8192
+-
+-/* FIXME: IR_KEYPRESS_TIMEOUT should be protocol specific */
+-#define IR_KEYPRESS_TIMEOUT 250
+-
+-/**
+- * ir_resize_table() - resizes a scancode table if necessary
+- * @rc_tab:	the ir_scancode_table to resize
+- * @return:	zero on success or a negative error code
+- *
+- * This routine will shrink the ir_scancode_table if it has lots of
+- * unused entries and grow it if it is full.
+- */
+-static int ir_resize_table(struct ir_scancode_table *rc_tab)
+-{
+-	unsigned int oldalloc = rc_tab->alloc;
+-	unsigned int newalloc = oldalloc;
+-	struct ir_scancode *oldscan = rc_tab->scan;
+-	struct ir_scancode *newscan;
+-
+-	if (rc_tab->size == rc_tab->len) {
+-		/* All entries in use -> grow keytable */
+-		if (rc_tab->alloc >= IR_TAB_MAX_SIZE)
+-			return -ENOMEM;
+-
+-		newalloc *= 2;
+-		IR_dprintk(1, "Growing table to %u bytes\n", newalloc);
+-	}
+-
+-	if ((rc_tab->len * 3 < rc_tab->size) && (oldalloc > IR_TAB_MIN_SIZE)) {
+-		/* Less than 1/3 of entries in use -> shrink keytable */
+-		newalloc /= 2;
+-		IR_dprintk(1, "Shrinking table to %u bytes\n", newalloc);
+-	}
+-
+-	if (newalloc == oldalloc)
+-		return 0;
+-
+-	newscan = kmalloc(newalloc, GFP_ATOMIC);
+-	if (!newscan) {
+-		IR_dprintk(1, "Failed to kmalloc %u bytes\n", newalloc);
+-		return -ENOMEM;
+-	}
+-
+-	memcpy(newscan, rc_tab->scan, rc_tab->len * sizeof(struct ir_scancode));
+-	rc_tab->scan = newscan;
+-	rc_tab->alloc = newalloc;
+-	rc_tab->size = rc_tab->alloc / sizeof(struct ir_scancode);
+-	kfree(oldscan);
+-	return 0;
+-}
+-
+-/**
+- * ir_do_setkeycode() - internal function to set a keycode in the
+- *			scancode->keycode table
+- * @dev:	the struct input_dev device descriptor
+- * @rc_tab:	the struct ir_scancode_table to set the keycode in
+- * @scancode:	the scancode for the ir command
+- * @keycode:	the keycode for the ir command
+- * @resize:	whether the keytable may be shrunk
+- * @return:	-EINVAL if the keycode could not be inserted, otherwise zero.
+- *
+- * This routine is used internally to manipulate the scancode->keycode table.
+- * The caller has to hold @rc_tab->lock.
+- */
+-static int ir_do_setkeycode(struct input_dev *dev,
+-			    struct ir_scancode_table *rc_tab,
+-			    unsigned scancode, unsigned keycode,
+-			    bool resize)
+-{
+-	unsigned int i;
+-	int old_keycode = KEY_RESERVED;
+-	struct ir_input_dev *ir_dev = input_get_drvdata(dev);
+-
+-	/*
+-	 * Unfortunately, some hardware-based IR decoders don't provide
+-	 * all bits for the complete IR code. In general, they provide only
+-	 * the command part of the IR code. Yet, as it is possible to replace
+-	 * the provided IR with another one, it is needed to allow loading
+-	 * IR tables from other remotes. So,
+-	 */
+-	if (ir_dev->props && ir_dev->props->scanmask) {
+-		scancode &= ir_dev->props->scanmask;
+-	}
+-
+-	/* First check if we already have a mapping for this ir command */
+-	for (i = 0; i < rc_tab->len; i++) {
+-		/* Keytable is sorted from lowest to highest scancode */
+-		if (rc_tab->scan[i].scancode > scancode)
+-			break;
+-		else if (rc_tab->scan[i].scancode < scancode)
+-			continue;
+-
+-		old_keycode = rc_tab->scan[i].keycode;
+-		rc_tab->scan[i].keycode = keycode;
+-
+-		/* Did the user wish to remove the mapping? */
+-		if (keycode == KEY_RESERVED || keycode == KEY_UNKNOWN) {
+-			IR_dprintk(1, "#%d: Deleting scan 0x%04x\n",
+-				   i, scancode);
+-			rc_tab->len--;
+-			memmove(&rc_tab->scan[i], &rc_tab->scan[i + 1],
+-				(rc_tab->len - i) * sizeof(struct ir_scancode));
+-		}
+-
+-		/* Possibly shrink the keytable, failure is not a problem */
+-		ir_resize_table(rc_tab);
+-		break;
+-	}
+-
+-	if (old_keycode == KEY_RESERVED && keycode != KEY_RESERVED) {
+-		/* No previous mapping found, we might need to grow the table */
+-		if (resize && ir_resize_table(rc_tab))
+-			return -ENOMEM;
+-
+-		IR_dprintk(1, "#%d: New scan 0x%04x with key 0x%04x\n",
+-			   i, scancode, keycode);
+-
+-		/* i is the proper index to insert our new keycode */
+-		memmove(&rc_tab->scan[i + 1], &rc_tab->scan[i],
+-			(rc_tab->len - i) * sizeof(struct ir_scancode));
+-		rc_tab->scan[i].scancode = scancode;
+-		rc_tab->scan[i].keycode = keycode;
+-		rc_tab->len++;
+-		set_bit(keycode, dev->keybit);
+-	} else {
+-		IR_dprintk(1, "#%d: Replacing scan 0x%04x with key 0x%04x\n",
+-			   i, scancode, keycode);
+-		/* A previous mapping was updated... */
+-		clear_bit(old_keycode, dev->keybit);
+-		/* ...but another scancode might use the same keycode */
+-		for (i = 0; i < rc_tab->len; i++) {
+-			if (rc_tab->scan[i].keycode == old_keycode) {
+-				set_bit(old_keycode, dev->keybit);
+-				break;
+-			}
+-		}
+-	}
+-
+-	return 0;
+-}
+-
+-/**
+- * ir_setkeycode() - set a keycode in the scancode->keycode table
+- * @dev:	the struct input_dev device descriptor
+- * @scancode:	the desired scancode
+- * @keycode:	result
+- * @return:	-EINVAL if the keycode could not be inserted, otherwise zero.
+- *
+- * This routine is used to handle evdev EVIOCSKEY ioctl.
+- */
+-static int ir_setkeycode(struct input_dev *dev,
+-			 unsigned int scancode, unsigned int keycode)
+-{
+-	int rc;
+-	unsigned long flags;
+-	struct ir_input_dev *ir_dev = input_get_drvdata(dev);
+-	struct ir_scancode_table *rc_tab = &ir_dev->rc_tab;
+-
+-	spin_lock_irqsave(&rc_tab->lock, flags);
+-	rc = ir_do_setkeycode(dev, rc_tab, scancode, keycode, true);
+-	spin_unlock_irqrestore(&rc_tab->lock, flags);
+-	return rc;
+-}
+-
+-/**
+- * ir_setkeytable() - sets several entries in the scancode->keycode table
+- * @dev:	the struct input_dev device descriptor
+- * @to:		the struct ir_scancode_table to copy entries to
+- * @from:	the struct ir_scancode_table to copy entries from
+- * @return:	-EINVAL if all keycodes could not be inserted, otherwise zero.
+- *
+- * This routine is used to handle table initialization.
+- */
+-static int ir_setkeytable(struct input_dev *dev,
+-			  struct ir_scancode_table *to,
+-			  const struct ir_scancode_table *from)
+-{
+-	struct ir_input_dev *ir_dev = input_get_drvdata(dev);
+-	struct ir_scancode_table *rc_tab = &ir_dev->rc_tab;
+-	unsigned long flags;
+-	unsigned int i;
+-	int rc = 0;
+-
+-	spin_lock_irqsave(&rc_tab->lock, flags);
+-	for (i = 0; i < from->size; i++) {
+-		rc = ir_do_setkeycode(dev, to, from->scan[i].scancode,
+-				      from->scan[i].keycode, false);
+-		if (rc)
+-			break;
+-	}
+-	spin_unlock_irqrestore(&rc_tab->lock, flags);
+-	return rc;
+-}
+-
+-/**
+- * ir_getkeycode() - get a keycode from the scancode->keycode table
+- * @dev:	the struct input_dev device descriptor
+- * @scancode:	the desired scancode
+- * @keycode:	used to return the keycode, if found, or KEY_RESERVED
+- * @return:	always returns zero.
+- *
+- * This routine is used to handle evdev EVIOCGKEY ioctl.
+- */
+-static int ir_getkeycode(struct input_dev *dev,
+-			 unsigned int scancode, unsigned int *keycode)
+-{
+-	int start, end, mid;
+-	unsigned long flags;
+-	int key = KEY_RESERVED;
+-	struct ir_input_dev *ir_dev = input_get_drvdata(dev);
+-	struct ir_scancode_table *rc_tab = &ir_dev->rc_tab;
+-
+-	spin_lock_irqsave(&rc_tab->lock, flags);
+-	start = 0;
+-	end = rc_tab->len - 1;
+-	while (start <= end) {
+-		mid = (start + end) / 2;
+-		if (rc_tab->scan[mid].scancode < scancode)
+-			start = mid + 1;
+-		else if (rc_tab->scan[mid].scancode > scancode)
+-			end = mid - 1;
+-		else {
+-			key = rc_tab->scan[mid].keycode;
+-			break;
+-		}
+-	}
+-	spin_unlock_irqrestore(&rc_tab->lock, flags);
+-
+-	if (key == KEY_RESERVED)
+-		IR_dprintk(1, "unknown key for scancode 0x%04x\n",
+-			   scancode);
+-
+-	*keycode = key;
+-	return 0;
+-}
+-
+-/**
+- * ir_g_keycode_from_table() - gets the keycode that corresponds to a scancode
+- * @input_dev:	the struct input_dev descriptor of the device
+- * @scancode:	the scancode that we're seeking
+- *
+- * This routine is used by the input routines when a key is pressed at the
+- * IR. The scancode is received and needs to be converted into a keycode.
+- * If the key is not found, it returns KEY_RESERVED. Otherwise, returns the
+- * corresponding keycode from the table.
+- */
+-u32 ir_g_keycode_from_table(struct input_dev *dev, u32 scancode)
+-{
+-	int keycode;
+-
+-	ir_getkeycode(dev, scancode, &keycode);
+-	if (keycode != KEY_RESERVED)
+-		IR_dprintk(1, "%s: scancode 0x%04x keycode 0x%02x\n",
+-			   dev->name, scancode, keycode);
+-	return keycode;
+-}
+-EXPORT_SYMBOL_GPL(ir_g_keycode_from_table);
+-
+-/**
+- * ir_keyup() - generates input event to cleanup a key press
+- * @ir:         the struct ir_input_dev descriptor of the device
+- *
+- * This routine is used to signal that a key has been released on the
+- * remote control. It reports a keyup input event via input_report_key().
+- */
+-static void ir_keyup(struct ir_input_dev *ir)
+-{
+-	if (!ir->keypressed)
+-		return;
+-
+-	IR_dprintk(1, "keyup key 0x%04x\n", ir->last_keycode);
+-	input_report_key(ir->input_dev, ir->last_keycode, 0);
+-	input_sync(ir->input_dev);
+-	ir->keypressed = false;
+-}
+-
+-/**
+- * ir_timer_keyup() - generates a keyup event after a timeout
+- * @cookie:     a pointer to struct ir_input_dev passed to setup_timer()
+- *
+- * This routine will generate a keyup event some time after a keydown event
+- * is generated when no further activity has been detected.
+- */
+-static void ir_timer_keyup(unsigned long cookie)
+-{
+-	struct ir_input_dev *ir = (struct ir_input_dev *)cookie;
+-	unsigned long flags;
+-
+-	/*
+-	 * ir->keyup_jiffies is used to prevent a race condition if a
+-	 * hardware interrupt occurs at this point and the keyup timer
+-	 * event is moved further into the future as a result.
+-	 *
+-	 * The timer will then be reactivated and this function called
+-	 * again in the future. We need to exit gracefully in that case
+-	 * to allow the input subsystem to do its auto-repeat magic or
+-	 * a keyup event might follow immediately after the keydown.
+-	 */
+-	spin_lock_irqsave(&ir->keylock, flags);
+-	if (time_is_before_eq_jiffies(ir->keyup_jiffies))
+-		ir_keyup(ir);
+-	spin_unlock_irqrestore(&ir->keylock, flags);
+-}
+-
+-/**
+- * ir_repeat() - notifies the IR core that a key is still pressed
+- * @dev:        the struct input_dev descriptor of the device
+- *
+- * This routine is used by IR decoders when a repeat message which does
+- * not include the necessary bits to reproduce the scancode has been
+- * received.
+- */
+-void ir_repeat(struct input_dev *dev)
+-{
+-	unsigned long flags;
+-	struct ir_input_dev *ir = input_get_drvdata(dev);
+-
+-	spin_lock_irqsave(&ir->keylock, flags);
+-
+-	if (!ir->keypressed)
+-		goto out;
+-
+-	ir->keyup_jiffies = jiffies + msecs_to_jiffies(IR_KEYPRESS_TIMEOUT);
+-	mod_timer(&ir->timer_keyup, ir->keyup_jiffies);
+-
+-out:
+-	spin_unlock_irqrestore(&ir->keylock, flags);
+-}
+-EXPORT_SYMBOL_GPL(ir_repeat);
+-
+-/**
+- * ir_keydown() - generates input event for a key press
+- * @dev:        the struct input_dev descriptor of the device
+- * @scancode:   the scancode that we're seeking
+- * @toggle:     the toggle value (protocol dependent, if the protocol doesn't
+- *              support toggle values, this should be set to zero)
+- *
+- * This routine is used by the input routines when a key is pressed at the
+- * IR. It gets the keycode for a scancode and reports an input event via
+- * input_report_key().
+- */
+-void ir_keydown(struct input_dev *dev, int scancode, u8 toggle)
+-{
+-	unsigned long flags;
+-	struct ir_input_dev *ir = input_get_drvdata(dev);
+-
+-	u32 keycode = ir_g_keycode_from_table(dev, scancode);
+-
+-	spin_lock_irqsave(&ir->keylock, flags);
+-
+-	/* Repeat event? */
+-	if (ir->keypressed &&
+-	    ir->last_scancode == scancode &&
+-	    ir->last_toggle == toggle)
+-		goto set_timer;
+-
+-	/* Release old keypress */
+-	ir_keyup(ir);
+-
+-	ir->last_scancode = scancode;
+-	ir->last_toggle = toggle;
+-	ir->last_keycode = keycode;
+-
+-	if (keycode == KEY_RESERVED)
+-		goto out;
+-
+-	/* Register a keypress */
+-	ir->keypressed = true;
+-	IR_dprintk(1, "%s: key down event, key 0x%04x, scancode 0x%04x\n",
+-		   dev->name, keycode, scancode);
+-	input_report_key(dev, ir->last_keycode, 1);
+-	input_sync(dev);
+-
+-set_timer:
+-	ir->keyup_jiffies = jiffies + msecs_to_jiffies(IR_KEYPRESS_TIMEOUT);
+-	mod_timer(&ir->timer_keyup, ir->keyup_jiffies);
+-out:
+-	spin_unlock_irqrestore(&ir->keylock, flags);
+-}
+-EXPORT_SYMBOL_GPL(ir_keydown);
+-
+-static int ir_open(struct input_dev *input_dev)
+-{
+-	struct ir_input_dev *ir_dev = input_get_drvdata(input_dev);
+-
+-	return ir_dev->props->open(ir_dev->props->priv);
+-}
+-
+-static void ir_close(struct input_dev *input_dev)
+-{
+-	struct ir_input_dev *ir_dev = input_get_drvdata(input_dev);
+-
+-	ir_dev->props->close(ir_dev->props->priv);
+-}
+-
+-/**
+- * __ir_input_register() - sets the IR keycode table and add the handlers
+- *			    for keymap table get/set
+- * @input_dev:	the struct input_dev descriptor of the device
+- * @rc_tab:	the struct ir_scancode_table table of scancode/keymap
+- *
+- * This routine is used to initialize the input infrastructure
+- * to work with an IR.
+- * It will register the input/evdev interface for the device and
+- * register the syfs code for IR class
+- */
+-int __ir_input_register(struct input_dev *input_dev,
+-		      const struct ir_scancode_table *rc_tab,
+-		      const struct ir_dev_props *props,
+-		      const char *driver_name)
+-{
+-	struct ir_input_dev *ir_dev;
+-	int rc;
+-
+-	if (rc_tab->scan == NULL || !rc_tab->size)
+-		return -EINVAL;
+-
+-	ir_dev = kzalloc(sizeof(*ir_dev), GFP_KERNEL);
+-	if (!ir_dev)
+-		return -ENOMEM;
+-
+-	ir_dev->driver_name = kasprintf(GFP_KERNEL, "%s", driver_name);
+-	if (!ir_dev->driver_name) {
+-		rc = -ENOMEM;
+-		goto out_dev;
+-	}
+-
+-	input_dev->getkeycode = ir_getkeycode;
+-	input_dev->setkeycode = ir_setkeycode;
+-	input_set_drvdata(input_dev, ir_dev);
+-	ir_dev->input_dev = input_dev;
+-
+-	spin_lock_init(&ir_dev->rc_tab.lock);
+-	spin_lock_init(&ir_dev->keylock);
+-	setup_timer(&ir_dev->timer_keyup, ir_timer_keyup, (unsigned long)ir_dev);
+-
+-	ir_dev->rc_tab.name = rc_tab->name;
+-	ir_dev->rc_tab.ir_type = rc_tab->ir_type;
+-	ir_dev->rc_tab.alloc = roundup_pow_of_two(rc_tab->size *
+-						  sizeof(struct ir_scancode));
+-	ir_dev->rc_tab.scan = kmalloc(ir_dev->rc_tab.alloc, GFP_KERNEL);
+-	ir_dev->rc_tab.size = ir_dev->rc_tab.alloc / sizeof(struct ir_scancode);
+-	if (props) {
+-		ir_dev->props = props;
+-		if (props->open)
+-			input_dev->open = ir_open;
+-		if (props->close)
+-			input_dev->close = ir_close;
+-	}
+-
+-	if (!ir_dev->rc_tab.scan) {
+-		rc = -ENOMEM;
+-		goto out_name;
+-	}
+-
+-	IR_dprintk(1, "Allocated space for %u keycode entries (%u bytes)\n",
+-		   ir_dev->rc_tab.size, ir_dev->rc_tab.alloc);
+-
+-	set_bit(EV_KEY, input_dev->evbit);
+-	set_bit(EV_REP, input_dev->evbit);
+-
+-	if (ir_setkeytable(input_dev, &ir_dev->rc_tab, rc_tab)) {
+-		rc = -ENOMEM;
+-		goto out_table;
+-	}
+-
+-	rc = ir_register_class(input_dev);
+-	if (rc < 0)
+-		goto out_table;
+-
+-	if (ir_dev->props)
+-		if (ir_dev->props->driver_type == RC_DRIVER_IR_RAW) {
+-			rc = ir_raw_event_register(input_dev);
+-			if (rc < 0)
+-				goto out_event;
+-		}
+-
+-	IR_dprintk(1, "Registered input device on %s for %s remote.\n",
+-		   driver_name, rc_tab->name);
+-
+-	return 0;
+-
+-out_event:
+-	ir_unregister_class(input_dev);
+-out_table:
+-	kfree(ir_dev->rc_tab.scan);
+-out_name:
+-	kfree(ir_dev->driver_name);
+-out_dev:
+-	kfree(ir_dev);
+-	return rc;
+-}
+-EXPORT_SYMBOL_GPL(__ir_input_register);
+-
+-/**
+- * ir_input_unregister() - unregisters IR and frees resources
+- * @input_dev:	the struct input_dev descriptor of the device
+-
+- * This routine is used to free memory and de-register interfaces.
+- */
+-void ir_input_unregister(struct input_dev *input_dev)
+-{
+-	struct ir_input_dev *ir_dev = input_get_drvdata(input_dev);
+-	struct ir_scancode_table *rc_tab;
+-
+-	if (!ir_dev)
+-		return;
+-
+-	IR_dprintk(1, "Freed keycode table\n");
+-
+-	del_timer_sync(&ir_dev->timer_keyup);
+-	if (ir_dev->props)
+-		if (ir_dev->props->driver_type == RC_DRIVER_IR_RAW)
+-			ir_raw_event_unregister(input_dev);
+-
+-	rc_tab = &ir_dev->rc_tab;
+-	rc_tab->size = 0;
+-	kfree(rc_tab->scan);
+-	rc_tab->scan = NULL;
+-
+-	ir_unregister_class(input_dev);
+-
+-	kfree(ir_dev->driver_name);
+-	kfree(ir_dev);
+-}
+-EXPORT_SYMBOL_GPL(ir_input_unregister);
+-
+-int ir_core_debug;    /* ir_debug level (0,1,2) */
+-EXPORT_SYMBOL_GPL(ir_core_debug);
+-module_param_named(debug, ir_core_debug, int, 0644);
+-
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+-MODULE_LICENSE("GPL");
+diff -Naurp linux-2.6.35/drivers/media/IR/ir-nec-decoder.c linux-2.6.35.media/drivers/media/IR/ir-nec-decoder.c
+--- linux-2.6.35/drivers/media/IR/ir-nec-decoder.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/ir-nec-decoder.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,328 +0,0 @@
+-/* ir-nec-decoder.c - handle NEC IR Pulse/Space protocol
+- *
+- * Copyright (C) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- *  it under the terms of the GNU General Public License as published by
+- *  the Free Software Foundation version 2 of the License.
+- *
+- *  This program is distributed in the hope that it will be useful,
+- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- *  GNU General Public License for more details.
+- */
+-
+-#include <linux/bitrev.h>
+-#include "ir-core-priv.h"
+-
+-#define NEC_NBITS		32
+-#define NEC_UNIT		562500  /* ns */
+-#define NEC_HEADER_PULSE	(16 * NEC_UNIT)
+-#define NECX_HEADER_PULSE	(8  * NEC_UNIT) /* Less common NEC variant */
+-#define NEC_HEADER_SPACE	(8  * NEC_UNIT)
+-#define NEC_REPEAT_SPACE	(8  * NEC_UNIT)
+-#define NEC_BIT_PULSE		(1  * NEC_UNIT)
+-#define NEC_BIT_0_SPACE		(1  * NEC_UNIT)
+-#define NEC_BIT_1_SPACE		(3  * NEC_UNIT)
+-#define	NEC_TRAILER_PULSE	(1  * NEC_UNIT)
+-#define	NEC_TRAILER_SPACE	(10 * NEC_UNIT) /* even longer in reality */
+-
+-/* Used to register nec_decoder clients */
+-static LIST_HEAD(decoder_list);
+-static DEFINE_SPINLOCK(decoder_lock);
+-
+-enum nec_state {
+-	STATE_INACTIVE,
+-	STATE_HEADER_SPACE,
+-	STATE_BIT_PULSE,
+-	STATE_BIT_SPACE,
+-	STATE_TRAILER_PULSE,
+-	STATE_TRAILER_SPACE,
+-};
+-
+-struct decoder_data {
+-	struct list_head	list;
+-	struct ir_input_dev	*ir_dev;
+-	int			enabled:1;
+-
+-	/* State machine control */
+-	enum nec_state		state;
+-	u32			nec_bits;
+-	unsigned		count;
+-};
+-
+-
+-/**
+- * get_decoder_data()	- gets decoder data
+- * @input_dev:	input device
+- *
+- * Returns the struct decoder_data that corresponds to a device
+- */
+-static struct decoder_data *get_decoder_data(struct  ir_input_dev *ir_dev)
+-{
+-	struct decoder_data *data = NULL;
+-
+-	spin_lock(&decoder_lock);
+-	list_for_each_entry(data, &decoder_list, list) {
+-		if (data->ir_dev == ir_dev)
+-			break;
+-	}
+-	spin_unlock(&decoder_lock);
+-	return data;
+-}
+-
+-static ssize_t store_enabled(struct device *d,
+-			     struct device_attribute *mattr,
+-			     const char *buf,
+-			     size_t len)
+-{
+-	unsigned long value;
+-	struct ir_input_dev *ir_dev = dev_get_drvdata(d);
+-	struct decoder_data *data = get_decoder_data(ir_dev);
+-
+-	if (!data)
+-		return -EINVAL;
+-
+-	if (strict_strtoul(buf, 10, &value) || value > 1)
+-		return -EINVAL;
+-
+-	data->enabled = value;
+-
+-	return len;
+-}
+-
+-static ssize_t show_enabled(struct device *d,
+-			     struct device_attribute *mattr, char *buf)
+-{
+-	struct ir_input_dev *ir_dev = dev_get_drvdata(d);
+-	struct decoder_data *data = get_decoder_data(ir_dev);
+-
+-	if (!data)
+-		return -EINVAL;
+-
+-	if (data->enabled)
+-		return sprintf(buf, "1\n");
+-	else
+-	return sprintf(buf, "0\n");
+-}
+-
+-static DEVICE_ATTR(enabled, S_IRUGO | S_IWUSR, show_enabled, store_enabled);
+-
+-static struct attribute *decoder_attributes[] = {
+-	&dev_attr_enabled.attr,
+-	NULL
+-};
+-
+-static struct attribute_group decoder_attribute_group = {
+-	.name	= "nec_decoder",
+-	.attrs	= decoder_attributes,
+-};
+-
+-/**
+- * ir_nec_decode() - Decode one NEC pulse or space
+- * @input_dev:	the struct input_dev descriptor of the device
+- * @duration:	the struct ir_raw_event descriptor of the pulse/space
+- *
+- * This function returns -EINVAL if the pulse violates the state machine
+- */
+-static int ir_nec_decode(struct input_dev *input_dev, struct ir_raw_event ev)
+-{
+-	struct decoder_data *data;
+-	struct ir_input_dev *ir_dev = input_get_drvdata(input_dev);
+-	u32 scancode;
+-	u8 address, not_address, command, not_command;
+-
+-	data = get_decoder_data(ir_dev);
+-	if (!data)
+-		return -EINVAL;
+-
+-	if (!data->enabled)
+-		return 0;
+-
+-	if (IS_RESET(ev)) {
+-		data->state = STATE_INACTIVE;
+-		return 0;
+-	}
+-
+-	IR_dprintk(2, "NEC decode started at state %d (%uus %s)\n",
+-		   data->state, TO_US(ev.duration), TO_STR(ev.pulse));
+-
+-	switch (data->state) {
+-
+-	case STATE_INACTIVE:
+-		if (!ev.pulse)
+-			break;
+-
+-		if (!eq_margin(ev.duration, NEC_HEADER_PULSE, NEC_UNIT / 2) &&
+-		    !eq_margin(ev.duration, NECX_HEADER_PULSE, NEC_UNIT / 2))
+-			break;
+-
+-		data->count = 0;
+-		data->state = STATE_HEADER_SPACE;
+-		return 0;
+-
+-	case STATE_HEADER_SPACE:
+-		if (ev.pulse)
+-			break;
+-
+-		if (eq_margin(ev.duration, NEC_HEADER_SPACE, NEC_UNIT / 2)) {
+-			data->state = STATE_BIT_PULSE;
+-			return 0;
+-		} else if (eq_margin(ev.duration, NEC_REPEAT_SPACE, NEC_UNIT / 2)) {
+-			ir_repeat(input_dev);
+-			IR_dprintk(1, "Repeat last key\n");
+-			data->state = STATE_TRAILER_PULSE;
+-			return 0;
+-		}
+-
+-		break;
+-
+-	case STATE_BIT_PULSE:
+-		if (!ev.pulse)
+-			break;
+-
+-		if (!eq_margin(ev.duration, NEC_BIT_PULSE, NEC_UNIT / 2))
+-			break;
+-
+-		data->state = STATE_BIT_SPACE;
+-		return 0;
+-
+-	case STATE_BIT_SPACE:
+-		if (ev.pulse)
+-			break;
+-
+-		data->nec_bits <<= 1;
+-		if (eq_margin(ev.duration, NEC_BIT_1_SPACE, NEC_UNIT / 2))
+-			data->nec_bits |= 1;
+-		else if (!eq_margin(ev.duration, NEC_BIT_0_SPACE, NEC_UNIT / 2))
+-			break;
+-		data->count++;
+-
+-		if (data->count == NEC_NBITS)
+-			data->state = STATE_TRAILER_PULSE;
+-		else
+-			data->state = STATE_BIT_PULSE;
+-
+-		return 0;
+-
+-	case STATE_TRAILER_PULSE:
+-		if (!ev.pulse)
+-			break;
+-
+-		if (!eq_margin(ev.duration, NEC_TRAILER_PULSE, NEC_UNIT / 2))
+-			break;
+-
+-		data->state = STATE_TRAILER_SPACE;
+-		return 0;
+-
+-	case STATE_TRAILER_SPACE:
+-		if (ev.pulse)
+-			break;
+-
+-		if (!geq_margin(ev.duration, NEC_TRAILER_SPACE, NEC_UNIT / 2))
+-			break;
+-
+-		address     = bitrev8((data->nec_bits >> 24) & 0xff);
+-		not_address = bitrev8((data->nec_bits >> 16) & 0xff);
+-		command	    = bitrev8((data->nec_bits >>  8) & 0xff);
+-		not_command = bitrev8((data->nec_bits >>  0) & 0xff);
+-
+-		if ((command ^ not_command) != 0xff) {
+-			IR_dprintk(1, "NEC checksum error: received 0x%08x\n",
+-				   data->nec_bits);
+-			break;
+-		}
+-
+-		if ((address ^ not_address) != 0xff) {
+-			/* Extended NEC */
+-			scancode = address     << 16 |
+-				   not_address <<  8 |
+-				   command;
+-			IR_dprintk(1, "NEC (Ext) scancode 0x%06x\n", scancode);
+-		} else {
+-			/* Normal NEC */
+-			scancode = address << 8 | command;
+-			IR_dprintk(1, "NEC scancode 0x%04x\n", scancode);
+-		}
+-
+-		ir_keydown(input_dev, scancode, 0);
+-		data->state = STATE_INACTIVE;
+-		return 0;
+-	}
+-
+-	IR_dprintk(1, "NEC decode failed at state %d (%uus %s)\n",
+-		   data->state, TO_US(ev.duration), TO_STR(ev.pulse));
+-	data->state = STATE_INACTIVE;
+-	return -EINVAL;
+-}
+-
+-static int ir_nec_register(struct input_dev *input_dev)
+-{
+-	struct ir_input_dev *ir_dev = input_get_drvdata(input_dev);
+-	struct decoder_data *data;
+-	int rc;
+-
+-	rc = sysfs_create_group(&ir_dev->dev.kobj, &decoder_attribute_group);
+-	if (rc < 0)
+-		return rc;
+-
+-	data = kzalloc(sizeof(*data), GFP_KERNEL);
+-	if (!data) {
+-		sysfs_remove_group(&ir_dev->dev.kobj, &decoder_attribute_group);
+-		return -ENOMEM;
+-	}
+-
+-	data->ir_dev = ir_dev;
+-	data->enabled = 1;
+-
+-	spin_lock(&decoder_lock);
+-	list_add_tail(&data->list, &decoder_list);
+-	spin_unlock(&decoder_lock);
+-
+-	return 0;
+-}
+-
+-static int ir_nec_unregister(struct input_dev *input_dev)
+-{
+-	struct ir_input_dev *ir_dev = input_get_drvdata(input_dev);
+-	static struct decoder_data *data;
+-
+-	data = get_decoder_data(ir_dev);
+-	if (!data)
+-		return 0;
+-
+-	sysfs_remove_group(&ir_dev->dev.kobj, &decoder_attribute_group);
+-
+-	spin_lock(&decoder_lock);
+-	list_del(&data->list);
+-	spin_unlock(&decoder_lock);
+-
+-	return 0;
+-}
+-
+-static struct ir_raw_handler nec_handler = {
+-	.decode		= ir_nec_decode,
+-	.raw_register	= ir_nec_register,
+-	.raw_unregister	= ir_nec_unregister,
+-};
+-
+-static int __init ir_nec_decode_init(void)
+-{
+-	ir_raw_handler_register(&nec_handler);
+-
+-	printk(KERN_INFO "IR NEC protocol handler initialized\n");
+-	return 0;
+-}
+-
+-static void __exit ir_nec_decode_exit(void)
+-{
+-	ir_raw_handler_unregister(&nec_handler);
+-}
+-
+-module_init(ir_nec_decode_init);
+-module_exit(ir_nec_decode_exit);
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+-MODULE_AUTHOR("Red Hat Inc. (http://www.redhat.com)");
+-MODULE_DESCRIPTION("NEC IR protocol decoder");
+diff -Naurp linux-2.6.35/drivers/media/IR/ir-raw-event.c linux-2.6.35.media/drivers/media/IR/ir-raw-event.c
+--- linux-2.6.35/drivers/media/IR/ir-raw-event.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/ir-raw-event.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,251 +0,0 @@
+-/* ir-raw-event.c - handle IR Pulse/Space event
+- *
+- * Copyright (C) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- *  it under the terms of the GNU General Public License as published by
+- *  the Free Software Foundation version 2 of the License.
+- *
+- *  This program is distributed in the hope that it will be useful,
+- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- *  GNU General Public License for more details.
+- */
+-
+-#include <linux/workqueue.h>
+-#include <linux/spinlock.h>
+-#include <linux/sched.h>
+-#include "ir-core-priv.h"
+-
+-/* Define the max number of pulse/space transitions to buffer */
+-#define MAX_IR_EVENT_SIZE      512
+-
+-/* Used to handle IR raw handler extensions */
+-static LIST_HEAD(ir_raw_handler_list);
+-static DEFINE_SPINLOCK(ir_raw_handler_lock);
+-
+-/**
+- * RUN_DECODER()	- runs an operation on all IR decoders
+- * @ops:	IR raw handler operation to be called
+- * @arg:	arguments to be passed to the callback
+- *
+- * Calls ir_raw_handler::ops for all registered IR handlers. It prevents
+- * new decode addition/removal while running, by locking ir_raw_handler_lock
+- * mutex. If an error occurs, it stops the ops. Otherwise, it returns a sum
+- * of the return codes.
+- */
+-#define RUN_DECODER(ops, ...) ({					    \
+-	struct ir_raw_handler		*_ir_raw_handler;		    \
+-	int _sumrc = 0, _rc;						    \
+-	spin_lock(&ir_raw_handler_lock);				    \
+-	list_for_each_entry(_ir_raw_handler, &ir_raw_handler_list, list) {  \
+-		if (_ir_raw_handler->ops) {				    \
+-			_rc = _ir_raw_handler->ops(__VA_ARGS__);	    \
+-			if (_rc < 0)					    \
+-				break;					    \
+-			_sumrc += _rc;					    \
+-		}							    \
+-	}								    \
+-	spin_unlock(&ir_raw_handler_lock);				    \
+-	_sumrc;								    \
+-})
+-
+-#ifdef MODULE
+-/* Used to load the decoders */
+-static struct work_struct wq_load;
+-#endif
+-
+-static void ir_raw_event_work(struct work_struct *work)
+-{
+-	struct ir_raw_event ev;
+-	struct ir_raw_event_ctrl *raw =
+-		container_of(work, struct ir_raw_event_ctrl, rx_work);
+-
+-	while (kfifo_out(&raw->kfifo, &ev, sizeof(ev)) == sizeof(ev))
+-		RUN_DECODER(decode, raw->input_dev, ev);
+-}
+-
+-int ir_raw_event_register(struct input_dev *input_dev)
+-{
+-	struct ir_input_dev *ir = input_get_drvdata(input_dev);
+-	int rc;
+-
+-	ir->raw = kzalloc(sizeof(*ir->raw), GFP_KERNEL);
+-	if (!ir->raw)
+-		return -ENOMEM;
+-
+-	ir->raw->input_dev = input_dev;
+-	INIT_WORK(&ir->raw->rx_work, ir_raw_event_work);
+-
+-	rc = kfifo_alloc(&ir->raw->kfifo, sizeof(s64) * MAX_IR_EVENT_SIZE,
+-			 GFP_KERNEL);
+-	if (rc < 0) {
+-		kfree(ir->raw);
+-		ir->raw = NULL;
+-		return rc;
+-	}
+-
+-	rc = RUN_DECODER(raw_register, input_dev);
+-	if (rc < 0) {
+-		kfifo_free(&ir->raw->kfifo);
+-		kfree(ir->raw);
+-		ir->raw = NULL;
+-		return rc;
+-	}
+-
+-	return rc;
+-}
+-
+-void ir_raw_event_unregister(struct input_dev *input_dev)
+-{
+-	struct ir_input_dev *ir = input_get_drvdata(input_dev);
+-
+-	if (!ir->raw)
+-		return;
+-
+-	cancel_work_sync(&ir->raw->rx_work);
+-	RUN_DECODER(raw_unregister, input_dev);
+-
+-	kfifo_free(&ir->raw->kfifo);
+-	kfree(ir->raw);
+-	ir->raw = NULL;
+-}
+-
+-/**
+- * ir_raw_event_store() - pass a pulse/space duration to the raw ir decoders
+- * @input_dev:	the struct input_dev device descriptor
+- * @ev:		the struct ir_raw_event descriptor of the pulse/space
+- *
+- * This routine (which may be called from an interrupt context) stores a
+- * pulse/space duration for the raw ir decoding state machines. Pulses are
+- * signalled as positive values and spaces as negative values. A zero value
+- * will reset the decoding state machines.
+- */
+-int ir_raw_event_store(struct input_dev *input_dev, struct ir_raw_event *ev)
+-{
+-	struct ir_input_dev *ir = input_get_drvdata(input_dev);
+-
+-	if (!ir->raw)
+-		return -EINVAL;
+-
+-	if (kfifo_in(&ir->raw->kfifo, ev, sizeof(*ev)) != sizeof(*ev))
+-		return -ENOMEM;
+-
+-	return 0;
+-}
+-EXPORT_SYMBOL_GPL(ir_raw_event_store);
+-
+-/**
+- * ir_raw_event_store_edge() - notify raw ir decoders of the start of a pulse/space
+- * @input_dev:	the struct input_dev device descriptor
+- * @type:	the type of the event that has occurred
+- *
+- * This routine (which may be called from an interrupt context) is used to
+- * store the beginning of an ir pulse or space (or the start/end of ir
+- * reception) for the raw ir decoding state machines. This is used by
+- * hardware which does not provide durations directly but only interrupts
+- * (or similar events) on state change.
+- */
+-int ir_raw_event_store_edge(struct input_dev *input_dev, enum raw_event_type type)
+-{
+-	struct ir_input_dev	*ir = input_get_drvdata(input_dev);
+-	ktime_t			now;
+-	s64			delta; /* ns */
+-	struct ir_raw_event	ev;
+-	int			rc = 0;
+-
+-	if (!ir->raw)
+-		return -EINVAL;
+-
+-	now = ktime_get();
+-	delta = ktime_to_ns(ktime_sub(now, ir->raw->last_event));
+-
+-	/* Check for a long duration since last event or if we're
+-	 * being called for the first time, note that delta can't
+-	 * possibly be negative.
+-	 */
+-	ev.duration = 0;
+-	if (delta > IR_MAX_DURATION || !ir->raw->last_type)
+-		type |= IR_START_EVENT;
+-	else
+-		ev.duration = delta;
+-
+-	if (type & IR_START_EVENT)
+-		ir_raw_event_reset(input_dev);
+-	else if (ir->raw->last_type & IR_SPACE) {
+-		ev.pulse = false;
+-		rc = ir_raw_event_store(input_dev, &ev);
+-	} else if (ir->raw->last_type & IR_PULSE) {
+-		ev.pulse = true;
+-		rc = ir_raw_event_store(input_dev, &ev);
+-	} else
+-		return 0;
+-
+-	ir->raw->last_event = now;
+-	ir->raw->last_type = type;
+-	return rc;
+-}
+-EXPORT_SYMBOL_GPL(ir_raw_event_store_edge);
+-
+-/**
+- * ir_raw_event_handle() - schedules the decoding of stored ir data
+- * @input_dev:	the struct input_dev device descriptor
+- *
+- * This routine will signal the workqueue to start decoding stored ir data.
+- */
+-void ir_raw_event_handle(struct input_dev *input_dev)
+-{
+-	struct ir_input_dev *ir = input_get_drvdata(input_dev);
+-
+-	if (!ir->raw)
+-		return;
+-
+-	schedule_work(&ir->raw->rx_work);
+-}
+-EXPORT_SYMBOL_GPL(ir_raw_event_handle);
+-
+-/*
+- * Extension interface - used to register the IR decoders
+- */
+-
+-int ir_raw_handler_register(struct ir_raw_handler *ir_raw_handler)
+-{
+-	spin_lock(&ir_raw_handler_lock);
+-	list_add_tail(&ir_raw_handler->list, &ir_raw_handler_list);
+-	spin_unlock(&ir_raw_handler_lock);
+-	return 0;
+-}
+-EXPORT_SYMBOL(ir_raw_handler_register);
+-
+-void ir_raw_handler_unregister(struct ir_raw_handler *ir_raw_handler)
+-{
+-	spin_lock(&ir_raw_handler_lock);
+-	list_del(&ir_raw_handler->list);
+-	spin_unlock(&ir_raw_handler_lock);
+-}
+-EXPORT_SYMBOL(ir_raw_handler_unregister);
+-
+-#ifdef MODULE
+-static void init_decoders(struct work_struct *work)
+-{
+-	/* Load the decoder modules */
+-
+-	load_nec_decode();
+-	load_rc5_decode();
+-	load_rc6_decode();
+-	load_jvc_decode();
+-	load_sony_decode();
+-
+-	/* If needed, we may later add some init code. In this case,
+-	   it is needed to change the CONFIG_MODULE test at ir-core.h
+-	 */
+-}
+-#endif
+-
+-void ir_raw_init(void)
+-{
+-#ifdef MODULE
+-	INIT_WORK(&wq_load, init_decoders);
+-	schedule_work(&wq_load);
+-#endif
+-}
+diff -Naurp linux-2.6.35/drivers/media/IR/ir-rc5-decoder.c linux-2.6.35.media/drivers/media/IR/ir-rc5-decoder.c
+--- linux-2.6.35/drivers/media/IR/ir-rc5-decoder.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/ir-rc5-decoder.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,324 +0,0 @@
+-/* ir-rc5-decoder.c - handle RC5(x) IR Pulse/Space protocol
+- *
+- * Copyright (C) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- *  it under the terms of the GNU General Public License as published by
+- *  the Free Software Foundation version 2 of the License.
+- *
+- *  This program is distributed in the hope that it will be useful,
+- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- *  GNU General Public License for more details.
+- */
+-
+-/*
+- * This code handles 14 bits RC5 protocols and 20 bits RC5x protocols.
+- * There are other variants that use a different number of bits.
+- * This is currently unsupported.
+- * It considers a carrier of 36 kHz, with a total of 14/20 bits, where
+- * the first two bits are start bits, and a third one is a filing bit
+- */
+-
+-#include "ir-core-priv.h"
+-
+-#define RC5_NBITS		14
+-#define RC5X_NBITS		20
+-#define CHECK_RC5X_NBITS	8
+-#define RC5_UNIT		888888 /* ns */
+-#define RC5_BIT_START		(1 * RC5_UNIT)
+-#define RC5_BIT_END		(1 * RC5_UNIT)
+-#define RC5X_SPACE		(4 * RC5_UNIT)
+-
+-/* Used to register rc5_decoder clients */
+-static LIST_HEAD(decoder_list);
+-static DEFINE_SPINLOCK(decoder_lock);
+-
+-enum rc5_state {
+-	STATE_INACTIVE,
+-	STATE_BIT_START,
+-	STATE_BIT_END,
+-	STATE_CHECK_RC5X,
+-	STATE_FINISHED,
+-};
+-
+-struct decoder_data {
+-	struct list_head	list;
+-	struct ir_input_dev	*ir_dev;
+-	int			enabled:1;
+-
+-	/* State machine control */
+-	enum rc5_state		state;
+-	u32			rc5_bits;
+-	struct ir_raw_event	prev_ev;
+-	unsigned		count;
+-	unsigned		wanted_bits;
+-};
+-
+-
+-/**
+- * get_decoder_data()	- gets decoder data
+- * @input_dev:	input device
+- *
+- * Returns the struct decoder_data that corresponds to a device
+- */
+-
+-static struct decoder_data *get_decoder_data(struct  ir_input_dev *ir_dev)
+-{
+-	struct decoder_data *data = NULL;
+-
+-	spin_lock(&decoder_lock);
+-	list_for_each_entry(data, &decoder_list, list) {
+-		if (data->ir_dev == ir_dev)
+-			break;
+-	}
+-	spin_unlock(&decoder_lock);
+-	return data;
+-}
+-
+-static ssize_t store_enabled(struct device *d,
+-			     struct device_attribute *mattr,
+-			     const char *buf,
+-			     size_t len)
+-{
+-	unsigned long value;
+-	struct ir_input_dev *ir_dev = dev_get_drvdata(d);
+-	struct decoder_data *data = get_decoder_data(ir_dev);
+-
+-	if (!data)
+-		return -EINVAL;
+-
+-	if (strict_strtoul(buf, 10, &value) || value > 1)
+-		return -EINVAL;
+-
+-	data->enabled = value;
+-
+-	return len;
+-}
+-
+-static ssize_t show_enabled(struct device *d,
+-			     struct device_attribute *mattr, char *buf)
+-{
+-	struct ir_input_dev *ir_dev = dev_get_drvdata(d);
+-	struct decoder_data *data = get_decoder_data(ir_dev);
+-
+-	if (!data)
+-		return -EINVAL;
+-
+-	if (data->enabled)
+-		return sprintf(buf, "1\n");
+-	else
+-	return sprintf(buf, "0\n");
+-}
+-
+-static DEVICE_ATTR(enabled, S_IRUGO | S_IWUSR, show_enabled, store_enabled);
+-
+-static struct attribute *decoder_attributes[] = {
+-	&dev_attr_enabled.attr,
+-	NULL
+-};
+-
+-static struct attribute_group decoder_attribute_group = {
+-	.name	= "rc5_decoder",
+-	.attrs	= decoder_attributes,
+-};
+-
+-/**
+- * ir_rc5_decode() - Decode one RC-5 pulse or space
+- * @input_dev:	the struct input_dev descriptor of the device
+- * @ev:		the struct ir_raw_event descriptor of the pulse/space
+- *
+- * This function returns -EINVAL if the pulse violates the state machine
+- */
+-static int ir_rc5_decode(struct input_dev *input_dev, struct ir_raw_event ev)
+-{
+-	struct decoder_data *data;
+-	struct ir_input_dev *ir_dev = input_get_drvdata(input_dev);
+-	u8 toggle;
+-	u32 scancode;
+-
+-	data = get_decoder_data(ir_dev);
+-	if (!data)
+-		return -EINVAL;
+-
+-	if (!data->enabled)
+-		return 0;
+-
+-	if (IS_RESET(ev)) {
+-		data->state = STATE_INACTIVE;
+-		return 0;
+-	}
+-
+-	if (!geq_margin(ev.duration, RC5_UNIT, RC5_UNIT / 2))
+-		goto out;
+-
+-again:
+-	IR_dprintk(2, "RC5(x) decode started at state %i (%uus %s)\n",
+-		   data->state, TO_US(ev.duration), TO_STR(ev.pulse));
+-
+-	if (!geq_margin(ev.duration, RC5_UNIT, RC5_UNIT / 2))
+-		return 0;
+-
+-	switch (data->state) {
+-
+-	case STATE_INACTIVE:
+-		if (!ev.pulse)
+-			break;
+-
+-		data->state = STATE_BIT_START;
+-		data->count = 1;
+-		/* We just need enough bits to get to STATE_CHECK_RC5X */
+-		data->wanted_bits = RC5X_NBITS;
+-		decrease_duration(&ev, RC5_BIT_START);
+-		goto again;
+-
+-	case STATE_BIT_START:
+-		if (!eq_margin(ev.duration, RC5_BIT_START, RC5_UNIT / 2))
+-			break;
+-
+-		data->rc5_bits <<= 1;
+-		if (!ev.pulse)
+-			data->rc5_bits |= 1;
+-		data->count++;
+-		data->prev_ev = ev;
+-		data->state = STATE_BIT_END;
+-		return 0;
+-
+-	case STATE_BIT_END:
+-		if (!is_transition(&ev, &data->prev_ev))
+-			break;
+-
+-		if (data->count == data->wanted_bits)
+-			data->state = STATE_FINISHED;
+-		else if (data->count == CHECK_RC5X_NBITS)
+-			data->state = STATE_CHECK_RC5X;
+-		else
+-			data->state = STATE_BIT_START;
+-
+-		decrease_duration(&ev, RC5_BIT_END);
+-		goto again;
+-
+-	case STATE_CHECK_RC5X:
+-		if (!ev.pulse && geq_margin(ev.duration, RC5X_SPACE, RC5_UNIT / 2)) {
+-			/* RC5X */
+-			data->wanted_bits = RC5X_NBITS;
+-			decrease_duration(&ev, RC5X_SPACE);
+-		} else {
+-			/* RC5 */
+-			data->wanted_bits = RC5_NBITS;
+-		}
+-		data->state = STATE_BIT_START;
+-		goto again;
+-
+-	case STATE_FINISHED:
+-		if (ev.pulse)
+-			break;
+-
+-		if (data->wanted_bits == RC5X_NBITS) {
+-			/* RC5X */
+-			u8 xdata, command, system;
+-			xdata    = (data->rc5_bits & 0x0003F) >> 0;
+-			command  = (data->rc5_bits & 0x00FC0) >> 6;
+-			system   = (data->rc5_bits & 0x1F000) >> 12;
+-			toggle   = (data->rc5_bits & 0x20000) ? 1 : 0;
+-			command += (data->rc5_bits & 0x01000) ? 0 : 0x40;
+-			scancode = system << 16 | command << 8 | xdata;
+-
+-			IR_dprintk(1, "RC5X scancode 0x%06x (toggle: %u)\n",
+-				   scancode, toggle);
+-
+-		} else {
+-			/* RC5 */
+-			u8 command, system;
+-			command  = (data->rc5_bits & 0x0003F) >> 0;
+-			system   = (data->rc5_bits & 0x007C0) >> 6;
+-			toggle   = (data->rc5_bits & 0x00800) ? 1 : 0;
+-			command += (data->rc5_bits & 0x01000) ? 0 : 0x40;
+-			scancode = system << 8 | command;
+-
+-			IR_dprintk(1, "RC5 scancode 0x%04x (toggle: %u)\n",
+-				   scancode, toggle);
+-		}
+-
+-		ir_keydown(input_dev, scancode, toggle);
+-		data->state = STATE_INACTIVE;
+-		return 0;
+-	}
+-
+-out:
+-	IR_dprintk(1, "RC5(x) decode failed at state %i (%uus %s)\n",
+-		   data->state, TO_US(ev.duration), TO_STR(ev.pulse));
+-	data->state = STATE_INACTIVE;
+-	return -EINVAL;
+-}
+-
+-static int ir_rc5_register(struct input_dev *input_dev)
+-{
+-	struct ir_input_dev *ir_dev = input_get_drvdata(input_dev);
+-	struct decoder_data *data;
+-	int rc;
+-
+-	rc = sysfs_create_group(&ir_dev->dev.kobj, &decoder_attribute_group);
+-	if (rc < 0)
+-		return rc;
+-
+-	data = kzalloc(sizeof(*data), GFP_KERNEL);
+-	if (!data) {
+-		sysfs_remove_group(&ir_dev->dev.kobj, &decoder_attribute_group);
+-		return -ENOMEM;
+-	}
+-
+-	data->ir_dev = ir_dev;
+-	data->enabled = 1;
+-
+-	spin_lock(&decoder_lock);
+-	list_add_tail(&data->list, &decoder_list);
+-	spin_unlock(&decoder_lock);
+-
+-	return 0;
+-}
+-
+-static int ir_rc5_unregister(struct input_dev *input_dev)
+-{
+-	struct ir_input_dev *ir_dev = input_get_drvdata(input_dev);
+-	static struct decoder_data *data;
+-
+-	data = get_decoder_data(ir_dev);
+-	if (!data)
+-		return 0;
+-
+-	sysfs_remove_group(&ir_dev->dev.kobj, &decoder_attribute_group);
+-
+-	spin_lock(&decoder_lock);
+-	list_del(&data->list);
+-	spin_unlock(&decoder_lock);
+-
+-	return 0;
+-}
+-
+-static struct ir_raw_handler rc5_handler = {
+-	.decode		= ir_rc5_decode,
+-	.raw_register	= ir_rc5_register,
+-	.raw_unregister	= ir_rc5_unregister,
+-};
+-
+-static int __init ir_rc5_decode_init(void)
+-{
+-	ir_raw_handler_register(&rc5_handler);
+-
+-	printk(KERN_INFO "IR RC5(x) protocol handler initialized\n");
+-	return 0;
+-}
+-
+-static void __exit ir_rc5_decode_exit(void)
+-{
+-	ir_raw_handler_unregister(&rc5_handler);
+-}
+-
+-module_init(ir_rc5_decode_init);
+-module_exit(ir_rc5_decode_exit);
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+-MODULE_AUTHOR("Red Hat Inc. (http://www.redhat.com)");
+-MODULE_DESCRIPTION("RC5(x) IR protocol decoder");
+diff -Naurp linux-2.6.35/drivers/media/IR/ir-rc6-decoder.c linux-2.6.35.media/drivers/media/IR/ir-rc6-decoder.c
+--- linux-2.6.35/drivers/media/IR/ir-rc6-decoder.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/ir-rc6-decoder.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,419 +0,0 @@
+-/* ir-rc6-decoder.c - A decoder for the RC6 IR protocol
+- *
+- * Copyright (C) 2010 by David Härdeman <david at hardeman.nu>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation version 2 of the License.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- * GNU General Public License for more details.
+- */
+-
+-#include "ir-core-priv.h"
+-
+-/*
+- * This decoder currently supports:
+- * RC6-0-16	(standard toggle bit in header)
+- * RC6-6A-24	(no toggle bit)
+- * RC6-6A-32	(MCE version with toggle bit in body)
+- */
+-
+-#define RC6_UNIT		444444	/* us */
+-#define RC6_HEADER_NBITS	4	/* not including toggle bit */
+-#define RC6_0_NBITS		16
+-#define RC6_6A_SMALL_NBITS	24
+-#define RC6_6A_LARGE_NBITS	32
+-#define RC6_PREFIX_PULSE	(6 * RC6_UNIT)
+-#define RC6_PREFIX_SPACE	(2 * RC6_UNIT)
+-#define RC6_BIT_START		(1 * RC6_UNIT)
+-#define RC6_BIT_END		(1 * RC6_UNIT)
+-#define RC6_TOGGLE_START	(2 * RC6_UNIT)
+-#define RC6_TOGGLE_END		(2 * RC6_UNIT)
+-#define RC6_MODE_MASK		0x07	/* for the header bits */
+-#define RC6_STARTBIT_MASK	0x08	/* for the header bits */
+-#define RC6_6A_MCE_TOGGLE_MASK	0x8000	/* for the body bits */
+-
+-/* Used to register rc6_decoder clients */
+-static LIST_HEAD(decoder_list);
+-static DEFINE_SPINLOCK(decoder_lock);
+-
+-enum rc6_mode {
+-	RC6_MODE_0,
+-	RC6_MODE_6A,
+-	RC6_MODE_UNKNOWN,
+-};
+-
+-enum rc6_state {
+-	STATE_INACTIVE,
+-	STATE_PREFIX_SPACE,
+-	STATE_HEADER_BIT_START,
+-	STATE_HEADER_BIT_END,
+-	STATE_TOGGLE_START,
+-	STATE_TOGGLE_END,
+-	STATE_BODY_BIT_START,
+-	STATE_BODY_BIT_END,
+-	STATE_FINISHED,
+-};
+-
+-struct decoder_data {
+-	struct list_head	list;
+-	struct ir_input_dev	*ir_dev;
+-	int			enabled:1;
+-
+-	/* State machine control */
+-	enum rc6_state		state;
+-	u8			header;
+-	u32			body;
+-	struct ir_raw_event	prev_ev;
+-	bool			toggle;
+-	unsigned		count;
+-	unsigned		wanted_bits;
+-};
+-
+-
+-/**
+- * get_decoder_data()	- gets decoder data
+- * @input_dev:	input device
+- *
+- * Returns the struct decoder_data that corresponds to a device
+- */
+-static struct decoder_data *get_decoder_data(struct  ir_input_dev *ir_dev)
+-{
+-	struct decoder_data *data = NULL;
+-
+-	spin_lock(&decoder_lock);
+-	list_for_each_entry(data, &decoder_list, list) {
+-		if (data->ir_dev == ir_dev)
+-			break;
+-	}
+-	spin_unlock(&decoder_lock);
+-	return data;
+-}
+-
+-static ssize_t store_enabled(struct device *d,
+-			     struct device_attribute *mattr,
+-			     const char *buf,
+-			     size_t len)
+-{
+-	unsigned long value;
+-	struct ir_input_dev *ir_dev = dev_get_drvdata(d);
+-	struct decoder_data *data = get_decoder_data(ir_dev);
+-
+-	if (!data)
+-		return -EINVAL;
+-
+-	if (strict_strtoul(buf, 10, &value) || value > 1)
+-		return -EINVAL;
+-
+-	data->enabled = value;
+-
+-	return len;
+-}
+-
+-static ssize_t show_enabled(struct device *d,
+-			     struct device_attribute *mattr, char *buf)
+-{
+-	struct ir_input_dev *ir_dev = dev_get_drvdata(d);
+-	struct decoder_data *data = get_decoder_data(ir_dev);
+-
+-	if (!data)
+-		return -EINVAL;
+-
+-	if (data->enabled)
+-		return sprintf(buf, "1\n");
+-	else
+-	return sprintf(buf, "0\n");
+-}
+-
+-static DEVICE_ATTR(enabled, S_IRUGO | S_IWUSR, show_enabled, store_enabled);
+-
+-static struct attribute *decoder_attributes[] = {
+-	&dev_attr_enabled.attr,
+-	NULL
+-};
+-
+-static struct attribute_group decoder_attribute_group = {
+-	.name	= "rc6_decoder",
+-	.attrs	= decoder_attributes,
+-};
+-
+-static enum rc6_mode rc6_mode(struct decoder_data *data) {
+-	switch (data->header & RC6_MODE_MASK) {
+-	case 0:
+-		return RC6_MODE_0;
+-	case 6:
+-		if (!data->toggle)
+-			return RC6_MODE_6A;
+-		/* fall through */
+-	default:
+-		return RC6_MODE_UNKNOWN;
+-	}
+-}
+-
+-/**
+- * ir_rc6_decode() - Decode one RC6 pulse or space
+- * @input_dev:	the struct input_dev descriptor of the device
+- * @ev:		the struct ir_raw_event descriptor of the pulse/space
+- *
+- * This function returns -EINVAL if the pulse violates the state machine
+- */
+-static int ir_rc6_decode(struct input_dev *input_dev, struct ir_raw_event ev)
+-{
+-	struct decoder_data *data;
+-	struct ir_input_dev *ir_dev = input_get_drvdata(input_dev);
+-	u32 scancode;
+-	u8 toggle;
+-
+-	data = get_decoder_data(ir_dev);
+-	if (!data)
+-		return -EINVAL;
+-
+-	if (!data->enabled)
+-		return 0;
+-
+-	if (IS_RESET(ev)) {
+-		data->state = STATE_INACTIVE;
+-		return 0;
+-	}
+-
+-	if (!geq_margin(ev.duration, RC6_UNIT, RC6_UNIT / 2))
+-		goto out;
+-
+-again:
+-	IR_dprintk(2, "RC6 decode started at state %i (%uus %s)\n",
+-		   data->state, TO_US(ev.duration), TO_STR(ev.pulse));
+-
+-	if (!geq_margin(ev.duration, RC6_UNIT, RC6_UNIT / 2))
+-		return 0;
+-
+-	switch (data->state) {
+-
+-	case STATE_INACTIVE:
+-		if (!ev.pulse)
+-			break;
+-
+-		/* Note: larger margin on first pulse since each RC6_UNIT
+-		   is quite short and some hardware takes some time to
+-		   adjust to the signal */
+-		if (!eq_margin(ev.duration, RC6_PREFIX_PULSE, RC6_UNIT))
+-			break;
+-
+-		data->state = STATE_PREFIX_SPACE;
+-		data->count = 0;
+-		return 0;
+-
+-	case STATE_PREFIX_SPACE:
+-		if (ev.pulse)
+-			break;
+-
+-		if (!eq_margin(ev.duration, RC6_PREFIX_SPACE, RC6_UNIT / 2))
+-			break;
+-
+-		data->state = STATE_HEADER_BIT_START;
+-		return 0;
+-
+-	case STATE_HEADER_BIT_START:
+-		if (!eq_margin(ev.duration, RC6_BIT_START, RC6_UNIT / 2))
+-			break;
+-
+-		data->header <<= 1;
+-		if (ev.pulse)
+-			data->header |= 1;
+-		data->count++;
+-		data->prev_ev = ev;
+-		data->state = STATE_HEADER_BIT_END;
+-		return 0;
+-
+-	case STATE_HEADER_BIT_END:
+-		if (!is_transition(&ev, &data->prev_ev))
+-			break;
+-
+-		if (data->count == RC6_HEADER_NBITS)
+-			data->state = STATE_TOGGLE_START;
+-		else
+-			data->state = STATE_HEADER_BIT_START;
+-
+-		decrease_duration(&ev, RC6_BIT_END);
+-		goto again;
+-
+-	case STATE_TOGGLE_START:
+-		if (!eq_margin(ev.duration, RC6_TOGGLE_START, RC6_UNIT / 2))
+-			break;
+-
+-		data->toggle = ev.pulse;
+-		data->prev_ev = ev;
+-		data->state = STATE_TOGGLE_END;
+-		return 0;
+-
+-	case STATE_TOGGLE_END:
+-		if (!is_transition(&ev, &data->prev_ev) ||
+-		    !geq_margin(ev.duration, RC6_TOGGLE_END, RC6_UNIT / 2))
+-			break;
+-
+-		if (!(data->header & RC6_STARTBIT_MASK)) {
+-			IR_dprintk(1, "RC6 invalid start bit\n");
+-			break;
+-		}
+-
+-		data->state = STATE_BODY_BIT_START;
+-		data->prev_ev = ev;
+-		decrease_duration(&ev, RC6_TOGGLE_END);
+-		data->count = 0;
+-
+-		switch (rc6_mode(data)) {
+-		case RC6_MODE_0:
+-			data->wanted_bits = RC6_0_NBITS;
+-			break;
+-		case RC6_MODE_6A:
+-			/* This might look weird, but we basically
+-			   check the value of the first body bit to
+-			   determine the number of bits in mode 6A */
+-			if ((!ev.pulse && !geq_margin(ev.duration, RC6_UNIT, RC6_UNIT / 2)) ||
+-			    geq_margin(ev.duration, RC6_UNIT, RC6_UNIT / 2))
+-				data->wanted_bits = RC6_6A_LARGE_NBITS;
+-			else
+-				data->wanted_bits = RC6_6A_SMALL_NBITS;
+-			break;
+-		default:
+-			IR_dprintk(1, "RC6 unknown mode\n");
+-			goto out;
+-		}
+-		goto again;
+-
+-	case STATE_BODY_BIT_START:
+-		if (!eq_margin(ev.duration, RC6_BIT_START, RC6_UNIT / 2))
+-			break;
+-
+-		data->body <<= 1;
+-		if (ev.pulse)
+-			data->body |= 1;
+-		data->count++;
+-		data->prev_ev = ev;
+-
+-		data->state = STATE_BODY_BIT_END;
+-		return 0;
+-
+-	case STATE_BODY_BIT_END:
+-		if (!is_transition(&ev, &data->prev_ev))
+-			break;
+-
+-		if (data->count == data->wanted_bits)
+-			data->state = STATE_FINISHED;
+-		else
+-			data->state = STATE_BODY_BIT_START;
+-
+-		decrease_duration(&ev, RC6_BIT_END);
+-		goto again;
+-
+-	case STATE_FINISHED:
+-		if (ev.pulse)
+-			break;
+-
+-		switch (rc6_mode(data)) {
+-		case RC6_MODE_0:
+-			scancode = data->body & 0xffff;
+-			toggle = data->toggle;
+-			IR_dprintk(1, "RC6(0) scancode 0x%04x (toggle: %u)\n",
+-				   scancode, toggle);
+-			break;
+-		case RC6_MODE_6A:
+-			if (data->wanted_bits == RC6_6A_LARGE_NBITS) {
+-				toggle = data->body & RC6_6A_MCE_TOGGLE_MASK ? 1 : 0;
+-				scancode = data->body & ~RC6_6A_MCE_TOGGLE_MASK;
+-			} else {
+-				toggle = 0;
+-				scancode = data->body & 0xffffff;
+-			}
+-
+-			IR_dprintk(1, "RC6(6A) scancode 0x%08x (toggle: %u)\n",
+-				   scancode, toggle);
+-			break;
+-		default:
+-			IR_dprintk(1, "RC6 unknown mode\n");
+-			goto out;
+-		}
+-
+-		ir_keydown(input_dev, scancode, toggle);
+-		data->state = STATE_INACTIVE;
+-		return 0;
+-	}
+-
+-out:
+-	IR_dprintk(1, "RC6 decode failed at state %i (%uus %s)\n",
+-		   data->state, TO_US(ev.duration), TO_STR(ev.pulse));
+-	data->state = STATE_INACTIVE;
+-	return -EINVAL;
+-}
+-
+-static int ir_rc6_register(struct input_dev *input_dev)
+-{
+-	struct ir_input_dev *ir_dev = input_get_drvdata(input_dev);
+-	struct decoder_data *data;
+-	int rc;
+-
+-	rc = sysfs_create_group(&ir_dev->dev.kobj, &decoder_attribute_group);
+-	if (rc < 0)
+-		return rc;
+-
+-	data = kzalloc(sizeof(*data), GFP_KERNEL);
+-	if (!data) {
+-		sysfs_remove_group(&ir_dev->dev.kobj, &decoder_attribute_group);
+-		return -ENOMEM;
+-	}
+-
+-	data->ir_dev = ir_dev;
+-	data->enabled = 1;
+-
+-	spin_lock(&decoder_lock);
+-	list_add_tail(&data->list, &decoder_list);
+-	spin_unlock(&decoder_lock);
+-
+-	return 0;
+-}
+-
+-static int ir_rc6_unregister(struct input_dev *input_dev)
+-{
+-	struct ir_input_dev *ir_dev = input_get_drvdata(input_dev);
+-	static struct decoder_data *data;
+-
+-	data = get_decoder_data(ir_dev);
+-	if (!data)
+-		return 0;
+-
+-	sysfs_remove_group(&ir_dev->dev.kobj, &decoder_attribute_group);
+-
+-	spin_lock(&decoder_lock);
+-	list_del(&data->list);
+-	spin_unlock(&decoder_lock);
+-
+-	return 0;
+-}
+-
+-static struct ir_raw_handler rc6_handler = {
+-	.decode		= ir_rc6_decode,
+-	.raw_register	= ir_rc6_register,
+-	.raw_unregister	= ir_rc6_unregister,
+-};
+-
+-static int __init ir_rc6_decode_init(void)
+-{
+-	ir_raw_handler_register(&rc6_handler);
+-
+-	printk(KERN_INFO "IR RC6 protocol handler initialized\n");
+-	return 0;
+-}
+-
+-static void __exit ir_rc6_decode_exit(void)
+-{
+-	ir_raw_handler_unregister(&rc6_handler);
+-}
+-
+-module_init(ir_rc6_decode_init);
+-module_exit(ir_rc6_decode_exit);
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("David Härdeman <david at hardeman.nu>");
+-MODULE_DESCRIPTION("RC6 IR protocol decoder");
+diff -Naurp linux-2.6.35/drivers/media/IR/ir-sony-decoder.c linux-2.6.35.media/drivers/media/IR/ir-sony-decoder.c
+--- linux-2.6.35/drivers/media/IR/ir-sony-decoder.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/ir-sony-decoder.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,312 +0,0 @@
+-/* ir-sony-decoder.c - handle Sony IR Pulse/Space protocol
+- *
+- * Copyright (C) 2010 by David Härdeman <david at hardeman.nu>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation version 2 of the License.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- * GNU General Public License for more details.
+- */
+-
+-#include <linux/bitrev.h>
+-#include "ir-core-priv.h"
+-
+-#define SONY_UNIT		600000 /* ns */
+-#define SONY_HEADER_PULSE	(4 * SONY_UNIT)
+-#define	SONY_HEADER_SPACE	(1 * SONY_UNIT)
+-#define SONY_BIT_0_PULSE	(1 * SONY_UNIT)
+-#define SONY_BIT_1_PULSE	(2 * SONY_UNIT)
+-#define SONY_BIT_SPACE		(1 * SONY_UNIT)
+-#define SONY_TRAILER_SPACE	(10 * SONY_UNIT) /* minimum */
+-
+-/* Used to register sony_decoder clients */
+-static LIST_HEAD(decoder_list);
+-static DEFINE_SPINLOCK(decoder_lock);
+-
+-enum sony_state {
+-	STATE_INACTIVE,
+-	STATE_HEADER_SPACE,
+-	STATE_BIT_PULSE,
+-	STATE_BIT_SPACE,
+-	STATE_FINISHED,
+-};
+-
+-struct decoder_data {
+-	struct list_head	list;
+-	struct ir_input_dev	*ir_dev;
+-	int			enabled:1;
+-
+-	/* State machine control */
+-	enum sony_state		state;
+-	u32			sony_bits;
+-	unsigned		count;
+-};
+-
+-
+-/**
+- * get_decoder_data()	- gets decoder data
+- * @input_dev:	input device
+- *
+- * Returns the struct decoder_data that corresponds to a device
+- */
+-static struct decoder_data *get_decoder_data(struct  ir_input_dev *ir_dev)
+-{
+-	struct decoder_data *data = NULL;
+-
+-	spin_lock(&decoder_lock);
+-	list_for_each_entry(data, &decoder_list, list) {
+-		if (data->ir_dev == ir_dev)
+-			break;
+-	}
+-	spin_unlock(&decoder_lock);
+-	return data;
+-}
+-
+-static ssize_t store_enabled(struct device *d,
+-			     struct device_attribute *mattr,
+-			     const char *buf,
+-			     size_t len)
+-{
+-	unsigned long value;
+-	struct ir_input_dev *ir_dev = dev_get_drvdata(d);
+-	struct decoder_data *data = get_decoder_data(ir_dev);
+-
+-	if (!data)
+-		return -EINVAL;
+-
+-	if (strict_strtoul(buf, 10, &value) || value > 1)
+-		return -EINVAL;
+-
+-	data->enabled = value;
+-
+-	return len;
+-}
+-
+-static ssize_t show_enabled(struct device *d,
+-			     struct device_attribute *mattr, char *buf)
+-{
+-	struct ir_input_dev *ir_dev = dev_get_drvdata(d);
+-	struct decoder_data *data = get_decoder_data(ir_dev);
+-
+-	if (!data)
+-		return -EINVAL;
+-
+-	if (data->enabled)
+-		return sprintf(buf, "1\n");
+-	else
+-	return sprintf(buf, "0\n");
+-}
+-
+-static DEVICE_ATTR(enabled, S_IRUGO | S_IWUSR, show_enabled, store_enabled);
+-
+-static struct attribute *decoder_attributes[] = {
+-	&dev_attr_enabled.attr,
+-	NULL
+-};
+-
+-static struct attribute_group decoder_attribute_group = {
+-	.name	= "sony_decoder",
+-	.attrs	= decoder_attributes,
+-};
+-
+-/**
+- * ir_sony_decode() - Decode one Sony pulse or space
+- * @input_dev:	the struct input_dev descriptor of the device
+- * @ev:         the struct ir_raw_event descriptor of the pulse/space
+- *
+- * This function returns -EINVAL if the pulse violates the state machine
+- */
+-static int ir_sony_decode(struct input_dev *input_dev, struct ir_raw_event ev)
+-{
+-	struct decoder_data *data;
+-	struct ir_input_dev *ir_dev = input_get_drvdata(input_dev);
+-	u32 scancode;
+-	u8 device, subdevice, function;
+-
+-	data = get_decoder_data(ir_dev);
+-	if (!data)
+-		return -EINVAL;
+-
+-	if (!data->enabled)
+-		return 0;
+-
+-	if (IS_RESET(ev)) {
+-		data->state = STATE_INACTIVE;
+-		return 0;
+-	}
+-
+-	if (!geq_margin(ev.duration, SONY_UNIT, SONY_UNIT / 2))
+-		goto out;
+-
+-	IR_dprintk(2, "Sony decode started at state %d (%uus %s)\n",
+-		   data->state, TO_US(ev.duration), TO_STR(ev.pulse));
+-
+-	switch (data->state) {
+-
+-	case STATE_INACTIVE:
+-		if (!ev.pulse)
+-			break;
+-
+-		if (!eq_margin(ev.duration, SONY_HEADER_PULSE, SONY_UNIT / 2))
+-			break;
+-
+-		data->count = 0;
+-		data->state = STATE_HEADER_SPACE;
+-		return 0;
+-
+-	case STATE_HEADER_SPACE:
+-		if (ev.pulse)
+-			break;
+-
+-		if (!eq_margin(ev.duration, SONY_HEADER_SPACE, SONY_UNIT / 2))
+-			break;
+-
+-		data->state = STATE_BIT_PULSE;
+-		return 0;
+-
+-	case STATE_BIT_PULSE:
+-		if (!ev.pulse)
+-			break;
+-
+-		data->sony_bits <<= 1;
+-		if (eq_margin(ev.duration, SONY_BIT_1_PULSE, SONY_UNIT / 2))
+-			data->sony_bits |= 1;
+-		else if (!eq_margin(ev.duration, SONY_BIT_0_PULSE, SONY_UNIT / 2))
+-			break;
+-
+-		data->count++;
+-		data->state = STATE_BIT_SPACE;
+-		return 0;
+-
+-	case STATE_BIT_SPACE:
+-		if (ev.pulse)
+-			break;
+-
+-		if (!geq_margin(ev.duration, SONY_BIT_SPACE, SONY_UNIT / 2))
+-			break;
+-
+-		decrease_duration(&ev, SONY_BIT_SPACE);
+-
+-		if (!geq_margin(ev.duration, SONY_UNIT, SONY_UNIT / 2)) {
+-			data->state = STATE_BIT_PULSE;
+-			return 0;
+-		}
+-
+-		data->state = STATE_FINISHED;
+-		/* Fall through */
+-
+-	case STATE_FINISHED:
+-		if (ev.pulse)
+-			break;
+-
+-		if (!geq_margin(ev.duration, SONY_TRAILER_SPACE, SONY_UNIT / 2))
+-			break;
+-
+-		switch (data->count) {
+-		case 12:
+-			device    = bitrev8((data->sony_bits <<  3) & 0xF8);
+-			subdevice = 0;
+-			function  = bitrev8((data->sony_bits >>  4) & 0xFE);
+-			break;
+-		case 15:
+-			device    = bitrev8((data->sony_bits >>  0) & 0xFF);
+-			subdevice = 0;
+-			function  = bitrev8((data->sony_bits >>  7) & 0xFD);
+-			break;
+-		case 20:
+-			device    = bitrev8((data->sony_bits >>  5) & 0xF8);
+-			subdevice = bitrev8((data->sony_bits >>  0) & 0xFF);
+-			function  = bitrev8((data->sony_bits >> 12) & 0xFE);
+-			break;
+-		default:
+-			IR_dprintk(1, "Sony invalid bitcount %u\n", data->count);
+-			goto out;
+-		}
+-
+-		scancode = device << 16 | subdevice << 8 | function;
+-		IR_dprintk(1, "Sony(%u) scancode 0x%05x\n", data->count, scancode);
+-		ir_keydown(input_dev, scancode, 0);
+-		data->state = STATE_INACTIVE;
+-		return 0;
+-	}
+-
+-out:
+-	IR_dprintk(1, "Sony decode failed at state %d (%uus %s)\n",
+-		   data->state, TO_US(ev.duration), TO_STR(ev.pulse));
+-	data->state = STATE_INACTIVE;
+-	return -EINVAL;
+-}
+-
+-static int ir_sony_register(struct input_dev *input_dev)
+-{
+-	struct ir_input_dev *ir_dev = input_get_drvdata(input_dev);
+-	struct decoder_data *data;
+-	int rc;
+-
+-	rc = sysfs_create_group(&ir_dev->dev.kobj, &decoder_attribute_group);
+-	if (rc < 0)
+-		return rc;
+-
+-	data = kzalloc(sizeof(*data), GFP_KERNEL);
+-	if (!data) {
+-		sysfs_remove_group(&ir_dev->dev.kobj, &decoder_attribute_group);
+-		return -ENOMEM;
+-	}
+-
+-	data->ir_dev = ir_dev;
+-	data->enabled = 1;
+-
+-	spin_lock(&decoder_lock);
+-	list_add_tail(&data->list, &decoder_list);
+-	spin_unlock(&decoder_lock);
+-
+-	return 0;
+-}
+-
+-static int ir_sony_unregister(struct input_dev *input_dev)
+-{
+-	struct ir_input_dev *ir_dev = input_get_drvdata(input_dev);
+-	static struct decoder_data *data;
+-
+-	data = get_decoder_data(ir_dev);
+-	if (!data)
+-		return 0;
+-
+-	sysfs_remove_group(&ir_dev->dev.kobj, &decoder_attribute_group);
+-
+-	spin_lock(&decoder_lock);
+-	list_del(&data->list);
+-	spin_unlock(&decoder_lock);
+-
+-	return 0;
+-}
+-
+-static struct ir_raw_handler sony_handler = {
+-	.decode		= ir_sony_decode,
+-	.raw_register	= ir_sony_register,
+-	.raw_unregister	= ir_sony_unregister,
+-};
+-
+-static int __init ir_sony_decode_init(void)
+-{
+-	ir_raw_handler_register(&sony_handler);
+-
+-	printk(KERN_INFO "IR Sony protocol handler initialized\n");
+-	return 0;
+-}
+-
+-static void __exit ir_sony_decode_exit(void)
+-{
+-	ir_raw_handler_unregister(&sony_handler);
+-}
+-
+-module_init(ir_sony_decode_init);
+-module_exit(ir_sony_decode_exit);
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("David Härdeman <david at hardeman.nu>");
+-MODULE_DESCRIPTION("Sony IR protocol decoder");
+diff -Naurp linux-2.6.35/drivers/media/IR/ir-sysfs.c linux-2.6.35.media/drivers/media/IR/ir-sysfs.c
+--- linux-2.6.35/drivers/media/IR/ir-sysfs.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/ir-sysfs.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,303 +0,0 @@
+-/* ir-sysfs.c - sysfs interface for RC devices (/sys/class/rc)
+- *
+- * Copyright (C) 2009-2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- *  it under the terms of the GNU General Public License as published by
+- *  the Free Software Foundation version 2 of the License.
+- *
+- *  This program is distributed in the hope that it will be useful,
+- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- *  GNU General Public License for more details.
+- */
+-
+-#include <linux/slab.h>
+-#include <linux/input.h>
+-#include <linux/device.h>
+-#include "ir-core-priv.h"
+-
+-#define IRRCV_NUM_DEVICES	256
+-
+-/* bit array to represent IR sysfs device number */
+-static unsigned long ir_core_dev_number;
+-
+-/* class for /sys/class/rc */
+-static char *ir_devnode(struct device *dev, mode_t *mode)
+-{
+-	return kasprintf(GFP_KERNEL, "rc/%s", dev_name(dev));
+-}
+-
+-static struct class ir_input_class = {
+-	.name		= "rc",
+-	.devnode	= ir_devnode,
+-};
+-
+-/**
+- * show_protocol() - shows the current IR protocol
+- * @d:		the device descriptor
+- * @mattr:	the device attribute struct (unused)
+- * @buf:	a pointer to the output buffer
+- *
+- * This routine is a callback routine for input read the IR protocol type.
+- * it is trigged by reading /sys/class/rc/rc?/current_protocol.
+- * It returns the protocol name, as understood by the driver.
+- */
+-static ssize_t show_protocol(struct device *d,
+-			     struct device_attribute *mattr, char *buf)
+-{
+-	char *s;
+-	struct ir_input_dev *ir_dev = dev_get_drvdata(d);
+-	u64 ir_type = ir_dev->rc_tab.ir_type;
+-
+-	IR_dprintk(1, "Current protocol is %lld\n", (long long)ir_type);
+-
+-	/* FIXME: doesn't support multiple protocols at the same time */
+-	if (ir_type == IR_TYPE_UNKNOWN)
+-		s = "Unknown";
+-	else if (ir_type == IR_TYPE_RC5)
+-		s = "rc-5";
+-	else if (ir_type == IR_TYPE_NEC)
+-		s = "nec";
+-	else if (ir_type == IR_TYPE_RC6)
+-		s = "rc6";
+-	else if (ir_type == IR_TYPE_JVC)
+-		s = "jvc";
+-	else if (ir_type == IR_TYPE_SONY)
+-		s = "sony";
+-	else
+-		s = "other";
+-
+-	return sprintf(buf, "%s\n", s);
+-}
+-
+-/**
+- * store_protocol() - shows the current IR protocol
+- * @d:		the device descriptor
+- * @mattr:	the device attribute struct (unused)
+- * @buf:	a pointer to the input buffer
+- * @len:	length of the input buffer
+- *
+- * This routine is a callback routine for changing the IR protocol type.
+- * it is trigged by reading /sys/class/rc/rc?/current_protocol.
+- * It changes the IR the protocol name, if the IR type is recognized
+- * by the driver.
+- * If an unknown protocol name is used, returns -EINVAL.
+- */
+-static ssize_t store_protocol(struct device *d,
+-			      struct device_attribute *mattr,
+-			      const char *data,
+-			      size_t len)
+-{
+-	struct ir_input_dev *ir_dev = dev_get_drvdata(d);
+-	u64 ir_type = 0;
+-	int rc = -EINVAL;
+-	unsigned long flags;
+-	char *buf;
+-
+-	while ((buf = strsep((char **) &data, " \n")) != NULL) {
+-		if (!strcasecmp(buf, "rc-5") || !strcasecmp(buf, "rc5"))
+-			ir_type |= IR_TYPE_RC5;
+-		if (!strcasecmp(buf, "nec"))
+-			ir_type |= IR_TYPE_NEC;
+-		if (!strcasecmp(buf, "jvc"))
+-			ir_type |= IR_TYPE_JVC;
+-		if (!strcasecmp(buf, "sony"))
+-			ir_type |= IR_TYPE_SONY;
+-	}
+-
+-	if (!ir_type) {
+-		IR_dprintk(1, "Unknown protocol\n");
+-		return -EINVAL;
+-	}
+-
+-	if (ir_dev->props && ir_dev->props->change_protocol)
+-		rc = ir_dev->props->change_protocol(ir_dev->props->priv,
+-						    ir_type);
+-
+-	if (rc < 0) {
+-		IR_dprintk(1, "Error setting protocol to %lld\n",
+-			   (long long)ir_type);
+-		return -EINVAL;
+-	}
+-
+-	spin_lock_irqsave(&ir_dev->rc_tab.lock, flags);
+-	ir_dev->rc_tab.ir_type = ir_type;
+-	spin_unlock_irqrestore(&ir_dev->rc_tab.lock, flags);
+-
+-	IR_dprintk(1, "Current protocol(s) is(are) %lld\n",
+-		   (long long)ir_type);
+-
+-	return len;
+-}
+-
+-static ssize_t show_supported_protocols(struct device *d,
+-			     struct device_attribute *mattr, char *buf)
+-{
+-	char *orgbuf = buf;
+-	struct ir_input_dev *ir_dev = dev_get_drvdata(d);
+-
+-	/* FIXME: doesn't support multiple protocols at the same time */
+-	if (ir_dev->props->allowed_protos == IR_TYPE_UNKNOWN)
+-		buf += sprintf(buf, "unknown ");
+-	if (ir_dev->props->allowed_protos & IR_TYPE_RC5)
+-		buf += sprintf(buf, "rc-5 ");
+-	if (ir_dev->props->allowed_protos & IR_TYPE_NEC)
+-		buf += sprintf(buf, "nec ");
+-	if (buf == orgbuf)
+-		buf += sprintf(buf, "other ");
+-
+-	buf += sprintf(buf - 1, "\n");
+-
+-	return buf - orgbuf;
+-}
+-
+-#define ADD_HOTPLUG_VAR(fmt, val...)					\
+-	do {								\
+-		int err = add_uevent_var(env, fmt, val);		\
+-		if (err)						\
+-			return err;					\
+-	} while (0)
+-
+-static int ir_dev_uevent(struct device *device, struct kobj_uevent_env *env)
+-{
+-	struct ir_input_dev *ir_dev = dev_get_drvdata(device);
+-
+-	if (ir_dev->rc_tab.name)
+-		ADD_HOTPLUG_VAR("NAME=%s", ir_dev->rc_tab.name);
+-	if (ir_dev->driver_name)
+-		ADD_HOTPLUG_VAR("DRV_NAME=%s", ir_dev->driver_name);
+-
+-	return 0;
+-}
+-
+-/*
+- * Static device attribute struct with the sysfs attributes for IR's
+- */
+-static DEVICE_ATTR(protocol, S_IRUGO | S_IWUSR,
+-		   show_protocol, store_protocol);
+-
+-static DEVICE_ATTR(supported_protocols, S_IRUGO | S_IWUSR,
+-		   show_supported_protocols, NULL);
+-
+-static struct attribute *ir_hw_dev_attrs[] = {
+-	&dev_attr_protocol.attr,
+-	&dev_attr_supported_protocols.attr,
+-	NULL,
+-};
+-
+-static struct attribute_group ir_hw_dev_attr_grp = {
+-	.attrs	= ir_hw_dev_attrs,
+-};
+-
+-static const struct attribute_group *ir_hw_dev_attr_groups[] = {
+-	&ir_hw_dev_attr_grp,
+-	NULL
+-};
+-
+-static struct device_type rc_dev_type = {
+-	.groups		= ir_hw_dev_attr_groups,
+-	.uevent		= ir_dev_uevent,
+-};
+-
+-static struct device_type ir_raw_dev_type = {
+-	.uevent		= ir_dev_uevent,
+-};
+-
+-/**
+- * ir_register_class() - creates the sysfs for /sys/class/rc/rc?
+- * @input_dev:	the struct input_dev descriptor of the device
+- *
+- * This routine is used to register the syfs code for IR class
+- */
+-int ir_register_class(struct input_dev *input_dev)
+-{
+-	int rc;
+-	const char *path;
+-	struct ir_input_dev *ir_dev = input_get_drvdata(input_dev);
+-	int devno = find_first_zero_bit(&ir_core_dev_number,
+-					IRRCV_NUM_DEVICES);
+-
+-	if (unlikely(devno < 0))
+-		return devno;
+-
+-	if (ir_dev->props) {
+-		if (ir_dev->props->driver_type == RC_DRIVER_SCANCODE)
+-			ir_dev->dev.type = &rc_dev_type;
+-	} else
+-		ir_dev->dev.type = &ir_raw_dev_type;
+-
+-	ir_dev->dev.class = &ir_input_class;
+-	ir_dev->dev.parent = input_dev->dev.parent;
+-	dev_set_name(&ir_dev->dev, "rc%d", devno);
+-	dev_set_drvdata(&ir_dev->dev, ir_dev);
+-	rc = device_register(&ir_dev->dev);
+-	if (rc)
+-		return rc;
+-
+-
+-	input_dev->dev.parent = &ir_dev->dev;
+-	rc = input_register_device(input_dev);
+-	if (rc < 0) {
+-		device_del(&ir_dev->dev);
+-		return rc;
+-	}
+-
+-	__module_get(THIS_MODULE);
+-
+-	path = kobject_get_path(&ir_dev->dev.kobj, GFP_KERNEL);
+-	printk(KERN_INFO "%s: %s as %s\n",
+-		dev_name(&ir_dev->dev),
+-		input_dev->name ? input_dev->name : "Unspecified device",
+-		path ? path : "N/A");
+-	kfree(path);
+-
+-	ir_dev->devno = devno;
+-	set_bit(devno, &ir_core_dev_number);
+-
+-	return 0;
+-};
+-
+-/**
+- * ir_unregister_class() - removes the sysfs for sysfs for
+- *			   /sys/class/rc/rc?
+- * @input_dev:	the struct input_dev descriptor of the device
+- *
+- * This routine is used to unregister the syfs code for IR class
+- */
+-void ir_unregister_class(struct input_dev *input_dev)
+-{
+-	struct ir_input_dev *ir_dev = input_get_drvdata(input_dev);
+-
+-	clear_bit(ir_dev->devno, &ir_core_dev_number);
+-	input_unregister_device(input_dev);
+-	device_del(&ir_dev->dev);
+-
+-	module_put(THIS_MODULE);
+-}
+-
+-/*
+- * Init/exit code for the module. Basically, creates/removes /sys/class/rc
+- */
+-
+-static int __init ir_core_init(void)
+-{
+-	int rc = class_register(&ir_input_class);
+-	if (rc) {
+-		printk(KERN_ERR "ir_core: unable to register rc class\n");
+-		return rc;
+-	}
+-
+-	/* Initialize/load the decoders/keymap code that will be used */
+-	ir_raw_init();
+-
+-	return 0;
+-}
+-
+-static void __exit ir_core_exit(void)
+-{
+-	class_unregister(&ir_input_class);
+-}
+-
+-module_init(ir_core_init);
+-module_exit(ir_core_exit);
+diff -Naurp linux-2.6.35/drivers/media/IR/Kconfig linux-2.6.35.media/drivers/media/IR/Kconfig
+--- linux-2.6.35/drivers/media/IR/Kconfig	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/Kconfig	1969-12-31 19:00:00.000000000 -0500
+@@ -1,70 +0,0 @@
+-config IR_CORE
+-	tristate
+-	depends on INPUT
+-	default INPUT
+-
+-config VIDEO_IR
+-	tristate
+-	depends on IR_CORE
+-	default IR_CORE
+-
+-source "drivers/media/IR/keymaps/Kconfig"
+-
+-config IR_NEC_DECODER
+-	tristate "Enable IR raw decoder for the NEC protocol"
+-	depends on IR_CORE
+-	select BITREVERSE
+-	default y
+-
+-	---help---
+-	   Enable this option if you have IR with NEC protocol, and
+-	   if the IR is decoded in software
+-
+-config IR_RC5_DECODER
+-	tristate "Enable IR raw decoder for the RC-5 protocol"
+-	depends on IR_CORE
+-	select BITREVERSE
+-	default y
+-
+-	---help---
+-	   Enable this option if you have IR with RC-5 protocol, and
+-	   if the IR is decoded in software
+-
+-config IR_RC6_DECODER
+-	tristate "Enable IR raw decoder for the RC6 protocol"
+-	depends on IR_CORE
+-	default y
+-
+-	---help---
+-	   Enable this option if you have an infrared remote control which
+-	   uses the RC6 protocol, and you need software decoding support.
+-
+-config IR_JVC_DECODER
+-	tristate "Enable IR raw decoder for the JVC protocol"
+-	depends on IR_CORE
+-	default y
+-
+-	---help---
+-	   Enable this option if you have an infrared remote control which
+-	   uses the JVC protocol, and you need software decoding support.
+-
+-config IR_SONY_DECODER
+-	tristate "Enable IR raw decoder for the Sony protocol"
+-	depends on IR_CORE
+-	default y
+-
+-	---help---
+-	   Enable this option if you have an infrared remote control which
+-	   uses the Sony protocol, and you need software decoding support.
+-
+-config IR_IMON
+-	tristate "SoundGraph iMON Receiver and Display"
+-	depends on USB_ARCH_HAS_HCD
+-	depends on IR_CORE
+-	select USB
+-	---help---
+-	   Say Y here if you want to use a SoundGraph iMON (aka Antec Veris)
+-	   IR Receiver and/or LCD/VFD/VGA display.
+-
+-	   To compile this driver as a module, choose M here: the
+-	   module will be called imon.
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/Kconfig linux-2.6.35.media/drivers/media/IR/keymaps/Kconfig
+--- linux-2.6.35/drivers/media/IR/keymaps/Kconfig	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/Kconfig	1969-12-31 19:00:00.000000000 -0500
+@@ -1,15 +0,0 @@
+-config RC_MAP
+-	tristate "Compile Remote Controller keymap modules"
+-	depends on IR_CORE
+-	default y
+-
+-	---help---
+-	   This option enables the compilation of lots of Remote
+-	   Controller tables. They are short tables, but if you
+-	   don't use a remote controller, or prefer to load the
+-	   tables on userspace, you should disable it.
+-
+-	   The ir-keytable program, available at v4l-utils package
+-	   provide the tool and the same RC maps for load from
+-	   userspace. Its available at
+-			http://git.linuxtv.org/v4l-utils
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/Makefile linux-2.6.35.media/drivers/media/IR/keymaps/Makefile
+--- linux-2.6.35/drivers/media/IR/keymaps/Makefile	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/Makefile	1969-12-31 19:00:00.000000000 -0500
+@@ -1,68 +0,0 @@
+-obj-$(CONFIG_RC_MAP) += rc-adstech-dvb-t-pci.o \
+-			rc-apac-viewcomp.o \
+-			rc-asus-pc39.o \
+-			rc-ati-tv-wonder-hd-600.o \
+-			rc-avermedia-a16d.o \
+-			rc-avermedia.o \
+-			rc-avermedia-cardbus.o \
+-			rc-avermedia-dvbt.o \
+-			rc-avermedia-m135a.o \
+-			rc-avermedia-m733a-rm-k6.o \
+-			rc-avertv-303.o \
+-			rc-behold.o \
+-			rc-behold-columbus.o \
+-			rc-budget-ci-old.o \
+-			rc-cinergy-1400.o \
+-			rc-cinergy.o \
+-			rc-dm1105-nec.o \
+-			rc-dntv-live-dvb-t.o \
+-			rc-dntv-live-dvbt-pro.o \
+-			rc-empty.o \
+-			rc-em-terratec.o \
+-			rc-encore-enltv2.o \
+-			rc-encore-enltv.o \
+-			rc-encore-enltv-fm53.o \
+-			rc-evga-indtube.o \
+-			rc-eztv.o \
+-			rc-flydvb.o \
+-			rc-flyvideo.o \
+-			rc-fusionhdtv-mce.o \
+-			rc-gadmei-rm008z.o \
+-			rc-genius-tvgo-a11mce.o \
+-			rc-gotview7135.o \
+-			rc-hauppauge-new.o \
+-			rc-imon-mce.o \
+-			rc-imon-pad.o \
+-			rc-iodata-bctv7e.o \
+-			rc-kaiomy.o \
+-			rc-kworld-315u.o \
+-			rc-kworld-plus-tv-analog.o \
+-			rc-manli.o \
+-			rc-msi-tvanywhere.o \
+-			rc-msi-tvanywhere-plus.o \
+-			rc-nebula.o \
+-			rc-nec-terratec-cinergy-xs.o \
+-			rc-norwood.o \
+-			rc-npgtech.o \
+-			rc-pctv-sedna.o \
+-			rc-pinnacle-color.o \
+-			rc-pinnacle-grey.o \
+-			rc-pinnacle-pctv-hd.o \
+-			rc-pixelview.o \
+-			rc-pixelview-mk12.o \
+-			rc-pixelview-new.o \
+-			rc-powercolor-real-angel.o \
+-			rc-proteus-2309.o \
+-			rc-purpletv.o \
+-			rc-pv951.o \
+-			rc-rc5-hauppauge-new.o \
+-			rc-rc5-tv.o \
+-			rc-real-audio-220-32-keys.o \
+-			rc-tbs-nec.o \
+-			rc-terratec-cinergy-xs.o \
+-			rc-tevii-nec.o \
+-			rc-tt-1500.o \
+-			rc-videomate-s350.o \
+-			rc-videomate-tv-pvr.o \
+-			rc-winfast.o \
+-			rc-winfast-usbii-deluxe.o
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-adstech-dvb-t-pci.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-adstech-dvb-t-pci.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-adstech-dvb-t-pci.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-adstech-dvb-t-pci.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,89 +0,0 @@
+-/* adstech-dvb-t-pci.h - Keytable for adstech_dvb_t_pci Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/* ADS Tech Instant TV DVB-T PCI Remote */
+-
+-static struct ir_scancode adstech_dvb_t_pci[] = {
+-	/* Keys 0 to 9 */
+-	{ 0x4d, KEY_0 },
+-	{ 0x57, KEY_1 },
+-	{ 0x4f, KEY_2 },
+-	{ 0x53, KEY_3 },
+-	{ 0x56, KEY_4 },
+-	{ 0x4e, KEY_5 },
+-	{ 0x5e, KEY_6 },
+-	{ 0x54, KEY_7 },
+-	{ 0x4c, KEY_8 },
+-	{ 0x5c, KEY_9 },
+-
+-	{ 0x5b, KEY_POWER },
+-	{ 0x5f, KEY_MUTE },
+-	{ 0x55, KEY_GOTO },
+-	{ 0x5d, KEY_SEARCH },
+-	{ 0x17, KEY_EPG },		/* Guide */
+-	{ 0x1f, KEY_MENU },
+-	{ 0x0f, KEY_UP },
+-	{ 0x46, KEY_DOWN },
+-	{ 0x16, KEY_LEFT },
+-	{ 0x1e, KEY_RIGHT },
+-	{ 0x0e, KEY_SELECT },		/* Enter */
+-	{ 0x5a, KEY_INFO },
+-	{ 0x52, KEY_EXIT },
+-	{ 0x59, KEY_PREVIOUS },
+-	{ 0x51, KEY_NEXT },
+-	{ 0x58, KEY_REWIND },
+-	{ 0x50, KEY_FORWARD },
+-	{ 0x44, KEY_PLAYPAUSE },
+-	{ 0x07, KEY_STOP },
+-	{ 0x1b, KEY_RECORD },
+-	{ 0x13, KEY_TUNER },		/* Live */
+-	{ 0x0a, KEY_A },
+-	{ 0x12, KEY_B },
+-	{ 0x03, KEY_PROG1 },		/* 1 */
+-	{ 0x01, KEY_PROG2 },		/* 2 */
+-	{ 0x00, KEY_PROG3 },		/* 3 */
+-	{ 0x06, KEY_DVD },
+-	{ 0x48, KEY_AUX },		/* Photo */
+-	{ 0x40, KEY_VIDEO },
+-	{ 0x19, KEY_AUDIO },		/* Music */
+-	{ 0x0b, KEY_CHANNELUP },
+-	{ 0x08, KEY_CHANNELDOWN },
+-	{ 0x15, KEY_VOLUMEUP },
+-	{ 0x1c, KEY_VOLUMEDOWN },
+-};
+-
+-static struct rc_keymap adstech_dvb_t_pci_map = {
+-	.map = {
+-		.scan    = adstech_dvb_t_pci,
+-		.size    = ARRAY_SIZE(adstech_dvb_t_pci),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_ADSTECH_DVB_T_PCI,
+-	}
+-};
+-
+-static int __init init_rc_map_adstech_dvb_t_pci(void)
+-{
+-	return ir_register_map(&adstech_dvb_t_pci_map);
+-}
+-
+-static void __exit exit_rc_map_adstech_dvb_t_pci(void)
+-{
+-	ir_unregister_map(&adstech_dvb_t_pci_map);
+-}
+-
+-module_init(init_rc_map_adstech_dvb_t_pci)
+-module_exit(exit_rc_map_adstech_dvb_t_pci)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-apac-viewcomp.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-apac-viewcomp.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-apac-viewcomp.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-apac-viewcomp.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,80 +0,0 @@
+-/* apac-viewcomp.h - Keytable for apac_viewcomp Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/* Attila Kondoros <attila.kondoros at chello.hu> */
+-
+-static struct ir_scancode apac_viewcomp[] = {
+-
+-	{ 0x01, KEY_1 },
+-	{ 0x02, KEY_2 },
+-	{ 0x03, KEY_3 },
+-	{ 0x04, KEY_4 },
+-	{ 0x05, KEY_5 },
+-	{ 0x06, KEY_6 },
+-	{ 0x07, KEY_7 },
+-	{ 0x08, KEY_8 },
+-	{ 0x09, KEY_9 },
+-	{ 0x00, KEY_0 },
+-	{ 0x17, KEY_LAST },		/* +100 */
+-	{ 0x0a, KEY_LIST },		/* recall */
+-
+-
+-	{ 0x1c, KEY_TUNER },		/* TV/FM */
+-	{ 0x15, KEY_SEARCH },		/* scan */
+-	{ 0x12, KEY_POWER },		/* power */
+-	{ 0x1f, KEY_VOLUMEDOWN },	/* vol up */
+-	{ 0x1b, KEY_VOLUMEUP },		/* vol down */
+-	{ 0x1e, KEY_CHANNELDOWN },	/* chn up */
+-	{ 0x1a, KEY_CHANNELUP },	/* chn down */
+-
+-	{ 0x11, KEY_VIDEO },		/* video */
+-	{ 0x0f, KEY_ZOOM },		/* full screen */
+-	{ 0x13, KEY_MUTE },		/* mute/unmute */
+-	{ 0x10, KEY_TEXT },		/* min */
+-
+-	{ 0x0d, KEY_STOP },		/* freeze */
+-	{ 0x0e, KEY_RECORD },		/* record */
+-	{ 0x1d, KEY_PLAYPAUSE },	/* stop */
+-	{ 0x19, KEY_PLAY },		/* play */
+-
+-	{ 0x16, KEY_GOTO },		/* osd */
+-	{ 0x14, KEY_REFRESH },		/* default */
+-	{ 0x0c, KEY_KPPLUS },		/* fine tune >>>> */
+-	{ 0x18, KEY_KPMINUS },		/* fine tune <<<< */
+-};
+-
+-static struct rc_keymap apac_viewcomp_map = {
+-	.map = {
+-		.scan    = apac_viewcomp,
+-		.size    = ARRAY_SIZE(apac_viewcomp),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_APAC_VIEWCOMP,
+-	}
+-};
+-
+-static int __init init_rc_map_apac_viewcomp(void)
+-{
+-	return ir_register_map(&apac_viewcomp_map);
+-}
+-
+-static void __exit exit_rc_map_apac_viewcomp(void)
+-{
+-	ir_unregister_map(&apac_viewcomp_map);
+-}
+-
+-module_init(init_rc_map_apac_viewcomp)
+-module_exit(exit_rc_map_apac_viewcomp)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-asus-pc39.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-asus-pc39.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-asus-pc39.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-asus-pc39.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,91 +0,0 @@
+-/* asus-pc39.h - Keytable for asus_pc39 Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/*
+- * Marc Fargas <telenieko at telenieko.com>
+- * this is the remote control that comes with the asus p7131
+- * which has a label saying is "Model PC-39"
+- */
+-
+-static struct ir_scancode asus_pc39[] = {
+-	/* Keys 0 to 9 */
+-	{ 0x15, KEY_0 },
+-	{ 0x29, KEY_1 },
+-	{ 0x2d, KEY_2 },
+-	{ 0x2b, KEY_3 },
+-	{ 0x09, KEY_4 },
+-	{ 0x0d, KEY_5 },
+-	{ 0x0b, KEY_6 },
+-	{ 0x31, KEY_7 },
+-	{ 0x35, KEY_8 },
+-	{ 0x33, KEY_9 },
+-
+-	{ 0x3e, KEY_RADIO },		/* radio */
+-	{ 0x03, KEY_MENU },		/* dvd/menu */
+-	{ 0x2a, KEY_VOLUMEUP },
+-	{ 0x19, KEY_VOLUMEDOWN },
+-	{ 0x37, KEY_UP },
+-	{ 0x3b, KEY_DOWN },
+-	{ 0x27, KEY_LEFT },
+-	{ 0x2f, KEY_RIGHT },
+-	{ 0x25, KEY_VIDEO },		/* video */
+-	{ 0x39, KEY_AUDIO },		/* music */
+-
+-	{ 0x21, KEY_TV },		/* tv */
+-	{ 0x1d, KEY_EXIT },		/* back */
+-	{ 0x0a, KEY_CHANNELUP },	/* channel / program + */
+-	{ 0x1b, KEY_CHANNELDOWN },	/* channel / program - */
+-	{ 0x1a, KEY_ENTER },		/* enter */
+-
+-	{ 0x06, KEY_PAUSE },		/* play/pause */
+-	{ 0x1e, KEY_PREVIOUS },		/* rew */
+-	{ 0x26, KEY_NEXT },		/* forward */
+-	{ 0x0e, KEY_REWIND },		/* backward << */
+-	{ 0x3a, KEY_FASTFORWARD },	/* forward >> */
+-	{ 0x36, KEY_STOP },
+-	{ 0x2e, KEY_RECORD },		/* recording */
+-	{ 0x16, KEY_POWER },		/* the button that reads "close" */
+-
+-	{ 0x11, KEY_ZOOM },		/* full screen */
+-	{ 0x13, KEY_MACRO },		/* recall */
+-	{ 0x23, KEY_HOME },		/* home */
+-	{ 0x05, KEY_PVR },		/* picture */
+-	{ 0x3d, KEY_MUTE },		/* mute */
+-	{ 0x01, KEY_DVD },		/* dvd */
+-};
+-
+-static struct rc_keymap asus_pc39_map = {
+-	.map = {
+-		.scan    = asus_pc39,
+-		.size    = ARRAY_SIZE(asus_pc39),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_ASUS_PC39,
+-	}
+-};
+-
+-static int __init init_rc_map_asus_pc39(void)
+-{
+-	return ir_register_map(&asus_pc39_map);
+-}
+-
+-static void __exit exit_rc_map_asus_pc39(void)
+-{
+-	ir_unregister_map(&asus_pc39_map);
+-}
+-
+-module_init(init_rc_map_asus_pc39)
+-module_exit(exit_rc_map_asus_pc39)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-ati-tv-wonder-hd-600.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-ati-tv-wonder-hd-600.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-ati-tv-wonder-hd-600.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-ati-tv-wonder-hd-600.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,69 +0,0 @@
+-/* ati-tv-wonder-hd-600.h - Keytable for ati_tv_wonder_hd_600 Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/* ATI TV Wonder HD 600 USB
+-   Devin Heitmueller <devin.heitmueller at gmail.com>
+- */
+-
+-static struct ir_scancode ati_tv_wonder_hd_600[] = {
+-	{ 0x00, KEY_RECORD},		/* Row 1 */
+-	{ 0x01, KEY_PLAYPAUSE},
+-	{ 0x02, KEY_STOP},
+-	{ 0x03, KEY_POWER},
+-	{ 0x04, KEY_PREVIOUS},	/* Row 2 */
+-	{ 0x05, KEY_REWIND},
+-	{ 0x06, KEY_FORWARD},
+-	{ 0x07, KEY_NEXT},
+-	{ 0x08, KEY_EPG},		/* Row 3 */
+-	{ 0x09, KEY_HOME},
+-	{ 0x0a, KEY_MENU},
+-	{ 0x0b, KEY_CHANNELUP},
+-	{ 0x0c, KEY_BACK},		/* Row 4 */
+-	{ 0x0d, KEY_UP},
+-	{ 0x0e, KEY_INFO},
+-	{ 0x0f, KEY_CHANNELDOWN},
+-	{ 0x10, KEY_LEFT},		/* Row 5 */
+-	{ 0x11, KEY_SELECT},
+-	{ 0x12, KEY_RIGHT},
+-	{ 0x13, KEY_VOLUMEUP},
+-	{ 0x14, KEY_LAST},		/* Row 6 */
+-	{ 0x15, KEY_DOWN},
+-	{ 0x16, KEY_MUTE},
+-	{ 0x17, KEY_VOLUMEDOWN},
+-};
+-
+-static struct rc_keymap ati_tv_wonder_hd_600_map = {
+-	.map = {
+-		.scan    = ati_tv_wonder_hd_600,
+-		.size    = ARRAY_SIZE(ati_tv_wonder_hd_600),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_ATI_TV_WONDER_HD_600,
+-	}
+-};
+-
+-static int __init init_rc_map_ati_tv_wonder_hd_600(void)
+-{
+-	return ir_register_map(&ati_tv_wonder_hd_600_map);
+-}
+-
+-static void __exit exit_rc_map_ati_tv_wonder_hd_600(void)
+-{
+-	ir_unregister_map(&ati_tv_wonder_hd_600_map);
+-}
+-
+-module_init(init_rc_map_ati_tv_wonder_hd_600)
+-module_exit(exit_rc_map_ati_tv_wonder_hd_600)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-avermedia-a16d.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-avermedia-a16d.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-avermedia-a16d.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-avermedia-a16d.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,75 +0,0 @@
+-/* avermedia-a16d.h - Keytable for avermedia_a16d Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-static struct ir_scancode avermedia_a16d[] = {
+-	{ 0x20, KEY_LIST},
+-	{ 0x00, KEY_POWER},
+-	{ 0x28, KEY_1},
+-	{ 0x18, KEY_2},
+-	{ 0x38, KEY_3},
+-	{ 0x24, KEY_4},
+-	{ 0x14, KEY_5},
+-	{ 0x34, KEY_6},
+-	{ 0x2c, KEY_7},
+-	{ 0x1c, KEY_8},
+-	{ 0x3c, KEY_9},
+-	{ 0x12, KEY_SUBTITLE},
+-	{ 0x22, KEY_0},
+-	{ 0x32, KEY_REWIND},
+-	{ 0x3a, KEY_SHUFFLE},
+-	{ 0x02, KEY_PRINT},
+-	{ 0x11, KEY_CHANNELDOWN},
+-	{ 0x31, KEY_CHANNELUP},
+-	{ 0x0c, KEY_ZOOM},
+-	{ 0x1e, KEY_VOLUMEDOWN},
+-	{ 0x3e, KEY_VOLUMEUP},
+-	{ 0x0a, KEY_MUTE},
+-	{ 0x04, KEY_AUDIO},
+-	{ 0x26, KEY_RECORD},
+-	{ 0x06, KEY_PLAY},
+-	{ 0x36, KEY_STOP},
+-	{ 0x16, KEY_PAUSE},
+-	{ 0x2e, KEY_REWIND},
+-	{ 0x0e, KEY_FASTFORWARD},
+-	{ 0x30, KEY_TEXT},
+-	{ 0x21, KEY_GREEN},
+-	{ 0x01, KEY_BLUE},
+-	{ 0x08, KEY_EPG},
+-	{ 0x2a, KEY_MENU},
+-};
+-
+-static struct rc_keymap avermedia_a16d_map = {
+-	.map = {
+-		.scan    = avermedia_a16d,
+-		.size    = ARRAY_SIZE(avermedia_a16d),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_AVERMEDIA_A16D,
+-	}
+-};
+-
+-static int __init init_rc_map_avermedia_a16d(void)
+-{
+-	return ir_register_map(&avermedia_a16d_map);
+-}
+-
+-static void __exit exit_rc_map_avermedia_a16d(void)
+-{
+-	ir_unregister_map(&avermedia_a16d_map);
+-}
+-
+-module_init(init_rc_map_avermedia_a16d)
+-module_exit(exit_rc_map_avermedia_a16d)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-avermedia.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-avermedia.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-avermedia.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-avermedia.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,86 +0,0 @@
+-/* avermedia.h - Keytable for avermedia Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/* Alex Hermann <gaaf at gmx.net> */
+-
+-static struct ir_scancode avermedia[] = {
+-	{ 0x28, KEY_1 },
+-	{ 0x18, KEY_2 },
+-	{ 0x38, KEY_3 },
+-	{ 0x24, KEY_4 },
+-	{ 0x14, KEY_5 },
+-	{ 0x34, KEY_6 },
+-	{ 0x2c, KEY_7 },
+-	{ 0x1c, KEY_8 },
+-	{ 0x3c, KEY_9 },
+-	{ 0x22, KEY_0 },
+-
+-	{ 0x20, KEY_TV },		/* TV/FM */
+-	{ 0x10, KEY_CD },		/* CD */
+-	{ 0x30, KEY_TEXT },		/* TELETEXT */
+-	{ 0x00, KEY_POWER },		/* POWER */
+-
+-	{ 0x08, KEY_VIDEO },		/* VIDEO */
+-	{ 0x04, KEY_AUDIO },		/* AUDIO */
+-	{ 0x0c, KEY_ZOOM },		/* FULL SCREEN */
+-
+-	{ 0x12, KEY_SUBTITLE },		/* DISPLAY */
+-	{ 0x32, KEY_REWIND },		/* LOOP	*/
+-	{ 0x02, KEY_PRINT },		/* PREVIEW */
+-
+-	{ 0x2a, KEY_SEARCH },		/* AUTOSCAN */
+-	{ 0x1a, KEY_SLEEP },		/* FREEZE */
+-	{ 0x3a, KEY_CAMERA },		/* SNAPSHOT */
+-	{ 0x0a, KEY_MUTE },		/* MUTE */
+-
+-	{ 0x26, KEY_RECORD },		/* RECORD */
+-	{ 0x16, KEY_PAUSE },		/* PAUSE */
+-	{ 0x36, KEY_STOP },		/* STOP */
+-	{ 0x06, KEY_PLAY },		/* PLAY */
+-
+-	{ 0x2e, KEY_RED },		/* RED */
+-	{ 0x21, KEY_GREEN },		/* GREEN */
+-	{ 0x0e, KEY_YELLOW },		/* YELLOW */
+-	{ 0x01, KEY_BLUE },		/* BLUE */
+-
+-	{ 0x1e, KEY_VOLUMEDOWN },	/* VOLUME- */
+-	{ 0x3e, KEY_VOLUMEUP },		/* VOLUME+ */
+-	{ 0x11, KEY_CHANNELDOWN },	/* CHANNEL/PAGE- */
+-	{ 0x31, KEY_CHANNELUP }		/* CHANNEL/PAGE+ */
+-};
+-
+-static struct rc_keymap avermedia_map = {
+-	.map = {
+-		.scan    = avermedia,
+-		.size    = ARRAY_SIZE(avermedia),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_AVERMEDIA,
+-	}
+-};
+-
+-static int __init init_rc_map_avermedia(void)
+-{
+-	return ir_register_map(&avermedia_map);
+-}
+-
+-static void __exit exit_rc_map_avermedia(void)
+-{
+-	ir_unregister_map(&avermedia_map);
+-}
+-
+-module_init(init_rc_map_avermedia)
+-module_exit(exit_rc_map_avermedia)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-avermedia-cardbus.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-avermedia-cardbus.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-avermedia-cardbus.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-avermedia-cardbus.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,97 +0,0 @@
+-/* avermedia-cardbus.h - Keytable for avermedia_cardbus Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/* Oldrich Jedlicka <oldium.pro at seznam.cz> */
+-
+-static struct ir_scancode avermedia_cardbus[] = {
+-	{ 0x00, KEY_POWER },
+-	{ 0x01, KEY_TUNER },		/* TV/FM */
+-	{ 0x03, KEY_TEXT },		/* Teletext */
+-	{ 0x04, KEY_EPG },
+-	{ 0x05, KEY_1 },
+-	{ 0x06, KEY_2 },
+-	{ 0x07, KEY_3 },
+-	{ 0x08, KEY_AUDIO },
+-	{ 0x09, KEY_4 },
+-	{ 0x0a, KEY_5 },
+-	{ 0x0b, KEY_6 },
+-	{ 0x0c, KEY_ZOOM },		/* Full screen */
+-	{ 0x0d, KEY_7 },
+-	{ 0x0e, KEY_8 },
+-	{ 0x0f, KEY_9 },
+-	{ 0x10, KEY_PAGEUP },		/* 16-CH PREV */
+-	{ 0x11, KEY_0 },
+-	{ 0x12, KEY_INFO },
+-	{ 0x13, KEY_AGAIN },		/* CH RTN - channel return */
+-	{ 0x14, KEY_MUTE },
+-	{ 0x15, KEY_EDIT },		/* Autoscan */
+-	{ 0x17, KEY_SAVE },		/* Screenshot */
+-	{ 0x18, KEY_PLAYPAUSE },
+-	{ 0x19, KEY_RECORD },
+-	{ 0x1a, KEY_PLAY },
+-	{ 0x1b, KEY_STOP },
+-	{ 0x1c, KEY_FASTFORWARD },
+-	{ 0x1d, KEY_REWIND },
+-	{ 0x1e, KEY_VOLUMEDOWN },
+-	{ 0x1f, KEY_VOLUMEUP },
+-	{ 0x22, KEY_SLEEP },		/* Sleep */
+-	{ 0x23, KEY_ZOOM },		/* Aspect */
+-	{ 0x26, KEY_SCREEN },		/* Pos */
+-	{ 0x27, KEY_ANGLE },		/* Size */
+-	{ 0x28, KEY_SELECT },		/* Select */
+-	{ 0x29, KEY_BLUE },		/* Blue/Picture */
+-	{ 0x2a, KEY_BACKSPACE },	/* Back */
+-	{ 0x2b, KEY_MEDIA },		/* PIP (Picture-in-picture) */
+-	{ 0x2c, KEY_DOWN },
+-	{ 0x2e, KEY_DOT },
+-	{ 0x2f, KEY_TV },		/* Live TV */
+-	{ 0x32, KEY_LEFT },
+-	{ 0x33, KEY_CLEAR },		/* Clear */
+-	{ 0x35, KEY_RED },		/* Red/TV */
+-	{ 0x36, KEY_UP },
+-	{ 0x37, KEY_HOME },		/* Home */
+-	{ 0x39, KEY_GREEN },		/* Green/Video */
+-	{ 0x3d, KEY_YELLOW },		/* Yellow/Music */
+-	{ 0x3e, KEY_OK },		/* Ok */
+-	{ 0x3f, KEY_RIGHT },
+-	{ 0x40, KEY_NEXT },		/* Next */
+-	{ 0x41, KEY_PREVIOUS },		/* Previous */
+-	{ 0x42, KEY_CHANNELDOWN },	/* Channel down */
+-	{ 0x43, KEY_CHANNELUP },	/* Channel up */
+-};
+-
+-static struct rc_keymap avermedia_cardbus_map = {
+-	.map = {
+-		.scan    = avermedia_cardbus,
+-		.size    = ARRAY_SIZE(avermedia_cardbus),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_AVERMEDIA_CARDBUS,
+-	}
+-};
+-
+-static int __init init_rc_map_avermedia_cardbus(void)
+-{
+-	return ir_register_map(&avermedia_cardbus_map);
+-}
+-
+-static void __exit exit_rc_map_avermedia_cardbus(void)
+-{
+-	ir_unregister_map(&avermedia_cardbus_map);
+-}
+-
+-module_init(init_rc_map_avermedia_cardbus)
+-module_exit(exit_rc_map_avermedia_cardbus)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-avermedia-dvbt.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-avermedia-dvbt.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-avermedia-dvbt.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-avermedia-dvbt.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,78 +0,0 @@
+-/* avermedia-dvbt.h - Keytable for avermedia_dvbt Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/* Matt Jesson <dvb at jesson.eclipse.co.uk */
+-
+-static struct ir_scancode avermedia_dvbt[] = {
+-	{ 0x28, KEY_0 },		/* '0' / 'enter' */
+-	{ 0x22, KEY_1 },		/* '1' */
+-	{ 0x12, KEY_2 },		/* '2' / 'up arrow' */
+-	{ 0x32, KEY_3 },		/* '3' */
+-	{ 0x24, KEY_4 },		/* '4' / 'left arrow' */
+-	{ 0x14, KEY_5 },		/* '5' */
+-	{ 0x34, KEY_6 },		/* '6' / 'right arrow' */
+-	{ 0x26, KEY_7 },		/* '7' */
+-	{ 0x16, KEY_8 },		/* '8' / 'down arrow' */
+-	{ 0x36, KEY_9 },		/* '9' */
+-
+-	{ 0x20, KEY_LIST },		/* 'source' */
+-	{ 0x10, KEY_TEXT },		/* 'teletext' */
+-	{ 0x00, KEY_POWER },		/* 'power' */
+-	{ 0x04, KEY_AUDIO },		/* 'audio' */
+-	{ 0x06, KEY_ZOOM },		/* 'full screen' */
+-	{ 0x18, KEY_VIDEO },		/* 'display' */
+-	{ 0x38, KEY_SEARCH },		/* 'loop' */
+-	{ 0x08, KEY_INFO },		/* 'preview' */
+-	{ 0x2a, KEY_REWIND },		/* 'backward <<' */
+-	{ 0x1a, KEY_FASTFORWARD },	/* 'forward >>' */
+-	{ 0x3a, KEY_RECORD },		/* 'capture' */
+-	{ 0x0a, KEY_MUTE },		/* 'mute' */
+-	{ 0x2c, KEY_RECORD },		/* 'record' */
+-	{ 0x1c, KEY_PAUSE },		/* 'pause' */
+-	{ 0x3c, KEY_STOP },		/* 'stop' */
+-	{ 0x0c, KEY_PLAY },		/* 'play' */
+-	{ 0x2e, KEY_RED },		/* 'red' */
+-	{ 0x01, KEY_BLUE },		/* 'blue' / 'cancel' */
+-	{ 0x0e, KEY_YELLOW },		/* 'yellow' / 'ok' */
+-	{ 0x21, KEY_GREEN },		/* 'green' */
+-	{ 0x11, KEY_CHANNELDOWN },	/* 'channel -' */
+-	{ 0x31, KEY_CHANNELUP },	/* 'channel +' */
+-	{ 0x1e, KEY_VOLUMEDOWN },	/* 'volume -' */
+-	{ 0x3e, KEY_VOLUMEUP },		/* 'volume +' */
+-};
+-
+-static struct rc_keymap avermedia_dvbt_map = {
+-	.map = {
+-		.scan    = avermedia_dvbt,
+-		.size    = ARRAY_SIZE(avermedia_dvbt),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_AVERMEDIA_DVBT,
+-	}
+-};
+-
+-static int __init init_rc_map_avermedia_dvbt(void)
+-{
+-	return ir_register_map(&avermedia_dvbt_map);
+-}
+-
+-static void __exit exit_rc_map_avermedia_dvbt(void)
+-{
+-	ir_unregister_map(&avermedia_dvbt_map);
+-}
+-
+-module_init(init_rc_map_avermedia_dvbt)
+-module_exit(exit_rc_map_avermedia_dvbt)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-avermedia-m135a.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-avermedia-m135a.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-avermedia-m135a.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-avermedia-m135a.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,147 +0,0 @@
+-/* avermedia-m135a.c - Keytable for Avermedia M135A Remote Controllers
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- * Copyright (c) 2010 by Herton Ronaldo Krzesinski <herton at mandriva.com.br>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/*
+- * Avermedia M135A with RM-JX and RM-K6 remote controls
+- *
+- * On Avermedia M135A with IR model RM-JX, the same codes exist on both
+- * Positivo (BR) and original IR, initial version and remote control codes
+- * added by Mauro Carvalho Chehab <mchehab at infradead.org>
+- *
+- * Positivo also ships Avermedia M135A with model RM-K6, extra control
+- * codes added by Herton Ronaldo Krzesinski <herton at mandriva.com.br>
+- */
+-
+-static struct ir_scancode avermedia_m135a[] = {
+-	/* RM-JX */
+-	{ 0x0200, KEY_POWER2 },
+-	{ 0x022e, KEY_DOT },		/* '.' */
+-	{ 0x0201, KEY_MODE },		/* TV/FM or SOURCE */
+-
+-	{ 0x0205, KEY_1 },
+-	{ 0x0206, KEY_2 },
+-	{ 0x0207, KEY_3 },
+-	{ 0x0209, KEY_4 },
+-	{ 0x020a, KEY_5 },
+-	{ 0x020b, KEY_6 },
+-	{ 0x020d, KEY_7 },
+-	{ 0x020e, KEY_8 },
+-	{ 0x020f, KEY_9 },
+-	{ 0x0211, KEY_0 },
+-
+-	{ 0x0213, KEY_RIGHT },		/* -> or L */
+-	{ 0x0212, KEY_LEFT },		/* <- or R */
+-
+-	{ 0x0217, KEY_SLEEP },		/* Capturar Imagem or Snapshot */
+-	{ 0x0210, KEY_SHUFFLE },	/* Amostra or 16 chan prev */
+-
+-	{ 0x0303, KEY_CHANNELUP },
+-	{ 0x0302, KEY_CHANNELDOWN },
+-	{ 0x021f, KEY_VOLUMEUP },
+-	{ 0x021e, KEY_VOLUMEDOWN },
+-	{ 0x020c, KEY_ENTER },		/* Full Screen */
+-
+-	{ 0x0214, KEY_MUTE },
+-	{ 0x0208, KEY_AUDIO },
+-
+-	{ 0x0203, KEY_TEXT },		/* Teletext */
+-	{ 0x0204, KEY_EPG },
+-	{ 0x022b, KEY_TV2 },		/* TV2 or PIP */
+-
+-	{ 0x021d, KEY_RED },
+-	{ 0x021c, KEY_YELLOW },
+-	{ 0x0301, KEY_GREEN },
+-	{ 0x0300, KEY_BLUE },
+-
+-	{ 0x021a, KEY_PLAYPAUSE },
+-	{ 0x0219, KEY_RECORD },
+-	{ 0x0218, KEY_PLAY },
+-	{ 0x021b, KEY_STOP },
+-
+-	/* RM-K6 */
+-	{ 0x0401, KEY_POWER2 },
+-	{ 0x0406, KEY_MUTE },
+-	{ 0x0408, KEY_MODE },     /* TV/FM */
+-
+-	{ 0x0409, KEY_1 },
+-	{ 0x040a, KEY_2 },
+-	{ 0x040b, KEY_3 },
+-	{ 0x040c, KEY_4 },
+-	{ 0x040d, KEY_5 },
+-	{ 0x040e, KEY_6 },
+-	{ 0x040f, KEY_7 },
+-	{ 0x0410, KEY_8 },
+-	{ 0x0411, KEY_9 },
+-	{ 0x044c, KEY_DOT },      /* '.' */
+-	{ 0x0412, KEY_0 },
+-	{ 0x0407, KEY_REFRESH },  /* Refresh/Reload */
+-
+-	{ 0x0413, KEY_AUDIO },
+-	{ 0x0440, KEY_SCREEN },   /* Full Screen toggle */
+-	{ 0x0441, KEY_HOME },
+-	{ 0x0442, KEY_BACK },
+-	{ 0x0447, KEY_UP },
+-	{ 0x0448, KEY_DOWN },
+-	{ 0x0449, KEY_LEFT },
+-	{ 0x044a, KEY_RIGHT },
+-	{ 0x044b, KEY_OK },
+-	{ 0x0404, KEY_VOLUMEUP },
+-	{ 0x0405, KEY_VOLUMEDOWN },
+-	{ 0x0402, KEY_CHANNELUP },
+-	{ 0x0403, KEY_CHANNELDOWN },
+-
+-	{ 0x0443, KEY_RED },
+-	{ 0x0444, KEY_GREEN },
+-	{ 0x0445, KEY_YELLOW },
+-	{ 0x0446, KEY_BLUE },
+-
+-	{ 0x0414, KEY_TEXT },
+-	{ 0x0415, KEY_EPG },
+-	{ 0x041a, KEY_TV2 },      /* PIP */
+-	{ 0x041b, KEY_MHP },      /* Snapshot */
+-
+-	{ 0x0417, KEY_RECORD },
+-	{ 0x0416, KEY_PLAYPAUSE },
+-	{ 0x0418, KEY_STOP },
+-	{ 0x0419, KEY_PAUSE },
+-
+-	{ 0x041f, KEY_PREVIOUS },
+-	{ 0x041c, KEY_REWIND },
+-	{ 0x041d, KEY_FORWARD },
+-	{ 0x041e, KEY_NEXT },
+-};
+-
+-static struct rc_keymap avermedia_m135a_map = {
+-	.map = {
+-		.scan    = avermedia_m135a,
+-		.size    = ARRAY_SIZE(avermedia_m135a),
+-		.ir_type = IR_TYPE_NEC,
+-		.name    = RC_MAP_AVERMEDIA_M135A,
+-	}
+-};
+-
+-static int __init init_rc_map_avermedia_m135a(void)
+-{
+-	return ir_register_map(&avermedia_m135a_map);
+-}
+-
+-static void __exit exit_rc_map_avermedia_m135a(void)
+-{
+-	ir_unregister_map(&avermedia_m135a_map);
+-}
+-
+-module_init(init_rc_map_avermedia_m135a)
+-module_exit(exit_rc_map_avermedia_m135a)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-avermedia-m733a-rm-k6.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-avermedia-m733a-rm-k6.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-avermedia-m733a-rm-k6.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-avermedia-m733a-rm-k6.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,95 +0,0 @@
+-/* avermedia-m733a-rm-k6.h - Keytable for avermedia_m733a_rm_k6 Remote Controller
+- *
+- * Copyright (c) 2010 by Herton Ronaldo Krzesinski <herton at mandriva.com.br>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/*
+- * Avermedia M733A with IR model RM-K6
+- * This is the stock remote controller used with Positivo machines with M733A
+- * Herton Ronaldo Krzesinski <herton at mandriva.com.br>
+- */
+-
+-static struct ir_scancode avermedia_m733a_rm_k6[] = {
+-	{ 0x0401, KEY_POWER2 },
+-	{ 0x0406, KEY_MUTE },
+-	{ 0x0408, KEY_MODE },     /* TV/FM */
+-
+-	{ 0x0409, KEY_1 },
+-	{ 0x040a, KEY_2 },
+-	{ 0x040b, KEY_3 },
+-	{ 0x040c, KEY_4 },
+-	{ 0x040d, KEY_5 },
+-	{ 0x040e, KEY_6 },
+-	{ 0x040f, KEY_7 },
+-	{ 0x0410, KEY_8 },
+-	{ 0x0411, KEY_9 },
+-	{ 0x044c, KEY_DOT },      /* '.' */
+-	{ 0x0412, KEY_0 },
+-	{ 0x0407, KEY_REFRESH },  /* Refresh/Reload */
+-
+-	{ 0x0413, KEY_AUDIO },
+-	{ 0x0440, KEY_SCREEN },   /* Full Screen toggle */
+-	{ 0x0441, KEY_HOME },
+-	{ 0x0442, KEY_BACK },
+-	{ 0x0447, KEY_UP },
+-	{ 0x0448, KEY_DOWN },
+-	{ 0x0449, KEY_LEFT },
+-	{ 0x044a, KEY_RIGHT },
+-	{ 0x044b, KEY_OK },
+-	{ 0x0404, KEY_VOLUMEUP },
+-	{ 0x0405, KEY_VOLUMEDOWN },
+-	{ 0x0402, KEY_CHANNELUP },
+-	{ 0x0403, KEY_CHANNELDOWN },
+-
+-	{ 0x0443, KEY_RED },
+-	{ 0x0444, KEY_GREEN },
+-	{ 0x0445, KEY_YELLOW },
+-	{ 0x0446, KEY_BLUE },
+-
+-	{ 0x0414, KEY_TEXT },
+-	{ 0x0415, KEY_EPG },
+-	{ 0x041a, KEY_TV2 },      /* PIP */
+-	{ 0x041b, KEY_MHP },      /* Snapshot */
+-
+-	{ 0x0417, KEY_RECORD },
+-	{ 0x0416, KEY_PLAYPAUSE },
+-	{ 0x0418, KEY_STOP },
+-	{ 0x0419, KEY_PAUSE },
+-
+-	{ 0x041f, KEY_PREVIOUS },
+-	{ 0x041c, KEY_REWIND },
+-	{ 0x041d, KEY_FORWARD },
+-	{ 0x041e, KEY_NEXT },
+-};
+-
+-static struct rc_keymap avermedia_m733a_rm_k6_map = {
+-	.map = {
+-		.scan    = avermedia_m733a_rm_k6,
+-		.size    = ARRAY_SIZE(avermedia_m733a_rm_k6),
+-		.ir_type = IR_TYPE_NEC,
+-		.name    = RC_MAP_AVERMEDIA_M733A_RM_K6,
+-	}
+-};
+-
+-static int __init init_rc_map_avermedia_m733a_rm_k6(void)
+-{
+-	return ir_register_map(&avermedia_m733a_rm_k6_map);
+-}
+-
+-static void __exit exit_rc_map_avermedia_m733a_rm_k6(void)
+-{
+-	ir_unregister_map(&avermedia_m733a_rm_k6_map);
+-}
+-
+-module_init(init_rc_map_avermedia_m733a_rm_k6)
+-module_exit(exit_rc_map_avermedia_m733a_rm_k6)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-avertv-303.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-avertv-303.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-avertv-303.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-avertv-303.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,85 +0,0 @@
+-/* avertv-303.h - Keytable for avertv_303 Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/* AVERTV STUDIO 303 Remote */
+-
+-static struct ir_scancode avertv_303[] = {
+-	{ 0x2a, KEY_1 },
+-	{ 0x32, KEY_2 },
+-	{ 0x3a, KEY_3 },
+-	{ 0x4a, KEY_4 },
+-	{ 0x52, KEY_5 },
+-	{ 0x5a, KEY_6 },
+-	{ 0x6a, KEY_7 },
+-	{ 0x72, KEY_8 },
+-	{ 0x7a, KEY_9 },
+-	{ 0x0e, KEY_0 },
+-
+-	{ 0x02, KEY_POWER },
+-	{ 0x22, KEY_VIDEO },
+-	{ 0x42, KEY_AUDIO },
+-	{ 0x62, KEY_ZOOM },
+-	{ 0x0a, KEY_TV },
+-	{ 0x12, KEY_CD },
+-	{ 0x1a, KEY_TEXT },
+-
+-	{ 0x16, KEY_SUBTITLE },
+-	{ 0x1e, KEY_REWIND },
+-	{ 0x06, KEY_PRINT },
+-
+-	{ 0x2e, KEY_SEARCH },
+-	{ 0x36, KEY_SLEEP },
+-	{ 0x3e, KEY_SHUFFLE },
+-	{ 0x26, KEY_MUTE },
+-
+-	{ 0x4e, KEY_RECORD },
+-	{ 0x56, KEY_PAUSE },
+-	{ 0x5e, KEY_STOP },
+-	{ 0x46, KEY_PLAY },
+-
+-	{ 0x6e, KEY_RED },
+-	{ 0x0b, KEY_GREEN },
+-	{ 0x66, KEY_YELLOW },
+-	{ 0x03, KEY_BLUE },
+-
+-	{ 0x76, KEY_LEFT },
+-	{ 0x7e, KEY_RIGHT },
+-	{ 0x13, KEY_DOWN },
+-	{ 0x1b, KEY_UP },
+-};
+-
+-static struct rc_keymap avertv_303_map = {
+-	.map = {
+-		.scan    = avertv_303,
+-		.size    = ARRAY_SIZE(avertv_303),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_AVERTV_303,
+-	}
+-};
+-
+-static int __init init_rc_map_avertv_303(void)
+-{
+-	return ir_register_map(&avertv_303_map);
+-}
+-
+-static void __exit exit_rc_map_avertv_303(void)
+-{
+-	ir_unregister_map(&avertv_303_map);
+-}
+-
+-module_init(init_rc_map_avertv_303)
+-module_exit(exit_rc_map_avertv_303)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-behold.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-behold.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-behold.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-behold.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,141 +0,0 @@
+-/* behold.h - Keytable for behold Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/*
+- * Igor Kuznetsov <igk72 at ya.ru>
+- * Andrey J. Melnikov <temnota at kmv.ru>
+- *
+- * Keytable is used by BeholdTV 60x series, M6 series at
+- * least, and probably other cards too.
+- * The "ascii-art picture" below (in comments, first row
+- * is the keycode in hex, and subsequent row(s) shows
+- * the button labels (several variants when appropriate)
+- * helps to descide which keycodes to assign to the buttons.
+- */
+-
+-static struct ir_scancode behold[] = {
+-
+-	/*  0x1c            0x12  *
+-	 *  TV/FM          POWER  *
+-	 *                        */
+-	{ 0x1c, KEY_TUNER },	/* XXX KEY_TV / KEY_RADIO */
+-	{ 0x12, KEY_POWER },
+-
+-	/*  0x01    0x02    0x03  *
+-	 *   1       2       3    *
+-	 *                        *
+-	 *  0x04    0x05    0x06  *
+-	 *   4       5       6    *
+-	 *                        *
+-	 *  0x07    0x08    0x09  *
+-	 *   7       8       9    *
+-	 *                        */
+-	{ 0x01, KEY_1 },
+-	{ 0x02, KEY_2 },
+-	{ 0x03, KEY_3 },
+-	{ 0x04, KEY_4 },
+-	{ 0x05, KEY_5 },
+-	{ 0x06, KEY_6 },
+-	{ 0x07, KEY_7 },
+-	{ 0x08, KEY_8 },
+-	{ 0x09, KEY_9 },
+-
+-	/*  0x0a    0x00    0x17  *
+-	 * RECALL    0      MODE  *
+-	 *                        */
+-	{ 0x0a, KEY_AGAIN },
+-	{ 0x00, KEY_0 },
+-	{ 0x17, KEY_MODE },
+-
+-	/*  0x14          0x10    *
+-	 * ASPECT      FULLSCREEN *
+-	 *                        */
+-	{ 0x14, KEY_SCREEN },
+-	{ 0x10, KEY_ZOOM },
+-
+-	/*          0x0b          *
+-	 *           Up           *
+-	 *                        *
+-	 *  0x18    0x16    0x0c  *
+-	 *  Left     Ok     Right *
+-	 *                        *
+-	 *         0x015          *
+-	 *         Down           *
+-	 *                        */
+-	{ 0x0b, KEY_CHANNELUP },
+-	{ 0x18, KEY_VOLUMEDOWN },
+-	{ 0x16, KEY_OK },		/* XXX KEY_ENTER */
+-	{ 0x0c, KEY_VOLUMEUP },
+-	{ 0x15, KEY_CHANNELDOWN },
+-
+-	/*  0x11            0x0d  *
+-	 *  MUTE            INFO  *
+-	 *                        */
+-	{ 0x11, KEY_MUTE },
+-	{ 0x0d, KEY_INFO },
+-
+-	/*  0x0f    0x1b    0x1a  *
+-	 * RECORD PLAY/PAUSE STOP *
+-	 *                        *
+-	 *  0x0e    0x1f    0x1e  *
+-	 *TELETEXT  AUDIO  SOURCE *
+-	 *           RED   YELLOW *
+-	 *                        */
+-	{ 0x0f, KEY_RECORD },
+-	{ 0x1b, KEY_PLAYPAUSE },
+-	{ 0x1a, KEY_STOP },
+-	{ 0x0e, KEY_TEXT },
+-	{ 0x1f, KEY_RED },	/*XXX KEY_AUDIO	*/
+-	{ 0x1e, KEY_YELLOW },	/*XXX KEY_SOURCE	*/
+-
+-	/*  0x1d   0x13     0x19  *
+-	 * SLEEP  PREVIEW   DVB   *
+-	 *         GREEN    BLUE  *
+-	 *                        */
+-	{ 0x1d, KEY_SLEEP },
+-	{ 0x13, KEY_GREEN },
+-	{ 0x19, KEY_BLUE },	/* XXX KEY_SAT	*/
+-
+-	/*  0x58           0x5c   *
+-	 * FREEZE        SNAPSHOT *
+-	 *                        */
+-	{ 0x58, KEY_SLOW },
+-	{ 0x5c, KEY_CAMERA },
+-
+-};
+-
+-static struct rc_keymap behold_map = {
+-	.map = {
+-		.scan    = behold,
+-		.size    = ARRAY_SIZE(behold),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_BEHOLD,
+-	}
+-};
+-
+-static int __init init_rc_map_behold(void)
+-{
+-	return ir_register_map(&behold_map);
+-}
+-
+-static void __exit exit_rc_map_behold(void)
+-{
+-	ir_unregister_map(&behold_map);
+-}
+-
+-module_init(init_rc_map_behold)
+-module_exit(exit_rc_map_behold)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-behold-columbus.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-behold-columbus.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-behold-columbus.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-behold-columbus.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,108 +0,0 @@
+-/* behold-columbus.h - Keytable for behold_columbus Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/* Beholder Intl. Ltd. 2008
+- * Dmitry Belimov d.belimov at google.com
+- * Keytable is used by BeholdTV Columbus
+- * The "ascii-art picture" below (in comments, first row
+- * is the keycode in hex, and subsequent row(s) shows
+- * the button labels (several variants when appropriate)
+- * helps to descide which keycodes to assign to the buttons.
+- */
+-
+-static struct ir_scancode behold_columbus[] = {
+-
+-	/*  0x13   0x11   0x1C   0x12  *
+-	 *  Mute  Source  TV/FM  Power *
+-	 *                             */
+-
+-	{ 0x13, KEY_MUTE },
+-	{ 0x11, KEY_PROPS },
+-	{ 0x1C, KEY_TUNER },	/* KEY_TV/KEY_RADIO	*/
+-	{ 0x12, KEY_POWER },
+-
+-	/*  0x01    0x02    0x03  0x0D    *
+-	 *   1       2       3   Stereo   *
+-	 *                        	  *
+-	 *  0x04    0x05    0x06  0x19    *
+-	 *   4       5       6   Snapshot *
+-	 *                        	  *
+-	 *  0x07    0x08    0x09  0x10    *
+-	 *   7       8       9    Zoom 	  *
+-	 *                                */
+-	{ 0x01, KEY_1 },
+-	{ 0x02, KEY_2 },
+-	{ 0x03, KEY_3 },
+-	{ 0x0D, KEY_SETUP },	  /* Setup key */
+-	{ 0x04, KEY_4 },
+-	{ 0x05, KEY_5 },
+-	{ 0x06, KEY_6 },
+-	{ 0x19, KEY_CAMERA },	/* Snapshot key */
+-	{ 0x07, KEY_7 },
+-	{ 0x08, KEY_8 },
+-	{ 0x09, KEY_9 },
+-	{ 0x10, KEY_ZOOM },
+-
+-	/*  0x0A    0x00    0x0B       0x0C   *
+-	 * RECALL    0    ChannelUp  VolumeUp *
+-	 *                                    */
+-	{ 0x0A, KEY_AGAIN },
+-	{ 0x00, KEY_0 },
+-	{ 0x0B, KEY_CHANNELUP },
+-	{ 0x0C, KEY_VOLUMEUP },
+-
+-	/*   0x1B      0x1D      0x15        0x18     *
+-	 * Timeshift  Record  ChannelDown  VolumeDown *
+-	 *                                            */
+-
+-	{ 0x1B, KEY_TIME },
+-	{ 0x1D, KEY_RECORD },
+-	{ 0x15, KEY_CHANNELDOWN },
+-	{ 0x18, KEY_VOLUMEDOWN },
+-
+-	/*   0x0E   0x1E     0x0F     0x1A  *
+-	 *   Stop   Pause  Previouse  Next  *
+-	 *                                  */
+-
+-	{ 0x0E, KEY_STOP },
+-	{ 0x1E, KEY_PAUSE },
+-	{ 0x0F, KEY_PREVIOUS },
+-	{ 0x1A, KEY_NEXT },
+-
+-};
+-
+-static struct rc_keymap behold_columbus_map = {
+-	.map = {
+-		.scan    = behold_columbus,
+-		.size    = ARRAY_SIZE(behold_columbus),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_BEHOLD_COLUMBUS,
+-	}
+-};
+-
+-static int __init init_rc_map_behold_columbus(void)
+-{
+-	return ir_register_map(&behold_columbus_map);
+-}
+-
+-static void __exit exit_rc_map_behold_columbus(void)
+-{
+-	ir_unregister_map(&behold_columbus_map);
+-}
+-
+-module_init(init_rc_map_behold_columbus)
+-module_exit(exit_rc_map_behold_columbus)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-budget-ci-old.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-budget-ci-old.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-budget-ci-old.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-budget-ci-old.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,92 +0,0 @@
+-/* budget-ci-old.h - Keytable for budget_ci_old Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/* From reading the following remotes:
+- * Zenith Universal 7 / TV Mode 807 / VCR Mode 837
+- * Hauppauge (from NOVA-CI-s box product)
+- * This is a "middle of the road" approach, differences are noted
+- */
+-
+-static struct ir_scancode budget_ci_old[] = {
+-	{ 0x00, KEY_0 },
+-	{ 0x01, KEY_1 },
+-	{ 0x02, KEY_2 },
+-	{ 0x03, KEY_3 },
+-	{ 0x04, KEY_4 },
+-	{ 0x05, KEY_5 },
+-	{ 0x06, KEY_6 },
+-	{ 0x07, KEY_7 },
+-	{ 0x08, KEY_8 },
+-	{ 0x09, KEY_9 },
+-	{ 0x0a, KEY_ENTER },
+-	{ 0x0b, KEY_RED },
+-	{ 0x0c, KEY_POWER },		/* RADIO on Hauppauge */
+-	{ 0x0d, KEY_MUTE },
+-	{ 0x0f, KEY_A },		/* TV on Hauppauge */
+-	{ 0x10, KEY_VOLUMEUP },
+-	{ 0x11, KEY_VOLUMEDOWN },
+-	{ 0x14, KEY_B },
+-	{ 0x1c, KEY_UP },
+-	{ 0x1d, KEY_DOWN },
+-	{ 0x1e, KEY_OPTION },		/* RESERVED on Hauppauge */
+-	{ 0x1f, KEY_BREAK },
+-	{ 0x20, KEY_CHANNELUP },
+-	{ 0x21, KEY_CHANNELDOWN },
+-	{ 0x22, KEY_PREVIOUS },		/* Prev Ch on Zenith, SOURCE on Hauppauge */
+-	{ 0x24, KEY_RESTART },
+-	{ 0x25, KEY_OK },
+-	{ 0x26, KEY_CYCLEWINDOWS },	/* MINIMIZE on Hauppauge */
+-	{ 0x28, KEY_ENTER },		/* VCR mode on Zenith */
+-	{ 0x29, KEY_PAUSE },
+-	{ 0x2b, KEY_RIGHT },
+-	{ 0x2c, KEY_LEFT },
+-	{ 0x2e, KEY_MENU },		/* FULL SCREEN on Hauppauge */
+-	{ 0x30, KEY_SLOW },
+-	{ 0x31, KEY_PREVIOUS },		/* VCR mode on Zenith */
+-	{ 0x32, KEY_REWIND },
+-	{ 0x34, KEY_FASTFORWARD },
+-	{ 0x35, KEY_PLAY },
+-	{ 0x36, KEY_STOP },
+-	{ 0x37, KEY_RECORD },
+-	{ 0x38, KEY_TUNER },		/* TV/VCR on Zenith */
+-	{ 0x3a, KEY_C },
+-	{ 0x3c, KEY_EXIT },
+-	{ 0x3d, KEY_POWER2 },
+-	{ 0x3e, KEY_TUNER },
+-};
+-
+-static struct rc_keymap budget_ci_old_map = {
+-	.map = {
+-		.scan    = budget_ci_old,
+-		.size    = ARRAY_SIZE(budget_ci_old),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_BUDGET_CI_OLD,
+-	}
+-};
+-
+-static int __init init_rc_map_budget_ci_old(void)
+-{
+-	return ir_register_map(&budget_ci_old_map);
+-}
+-
+-static void __exit exit_rc_map_budget_ci_old(void)
+-{
+-	ir_unregister_map(&budget_ci_old_map);
+-}
+-
+-module_init(init_rc_map_budget_ci_old)
+-module_exit(exit_rc_map_budget_ci_old)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-cinergy-1400.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-cinergy-1400.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-cinergy-1400.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-cinergy-1400.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,84 +0,0 @@
+-/* cinergy-1400.h - Keytable for cinergy_1400 Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/* Cinergy 1400 DVB-T */
+-
+-static struct ir_scancode cinergy_1400[] = {
+-	{ 0x01, KEY_POWER },
+-	{ 0x02, KEY_1 },
+-	{ 0x03, KEY_2 },
+-	{ 0x04, KEY_3 },
+-	{ 0x05, KEY_4 },
+-	{ 0x06, KEY_5 },
+-	{ 0x07, KEY_6 },
+-	{ 0x08, KEY_7 },
+-	{ 0x09, KEY_8 },
+-	{ 0x0a, KEY_9 },
+-	{ 0x0c, KEY_0 },
+-
+-	{ 0x0b, KEY_VIDEO },
+-	{ 0x0d, KEY_REFRESH },
+-	{ 0x0e, KEY_SELECT },
+-	{ 0x0f, KEY_EPG },
+-	{ 0x10, KEY_UP },
+-	{ 0x11, KEY_LEFT },
+-	{ 0x12, KEY_OK },
+-	{ 0x13, KEY_RIGHT },
+-	{ 0x14, KEY_DOWN },
+-	{ 0x15, KEY_TEXT },
+-	{ 0x16, KEY_INFO },
+-
+-	{ 0x17, KEY_RED },
+-	{ 0x18, KEY_GREEN },
+-	{ 0x19, KEY_YELLOW },
+-	{ 0x1a, KEY_BLUE },
+-
+-	{ 0x1b, KEY_CHANNELUP },
+-	{ 0x1c, KEY_VOLUMEUP },
+-	{ 0x1d, KEY_MUTE },
+-	{ 0x1e, KEY_VOLUMEDOWN },
+-	{ 0x1f, KEY_CHANNELDOWN },
+-
+-	{ 0x40, KEY_PAUSE },
+-	{ 0x4c, KEY_PLAY },
+-	{ 0x58, KEY_RECORD },
+-	{ 0x54, KEY_PREVIOUS },
+-	{ 0x48, KEY_STOP },
+-	{ 0x5c, KEY_NEXT },
+-};
+-
+-static struct rc_keymap cinergy_1400_map = {
+-	.map = {
+-		.scan    = cinergy_1400,
+-		.size    = ARRAY_SIZE(cinergy_1400),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_CINERGY_1400,
+-	}
+-};
+-
+-static int __init init_rc_map_cinergy_1400(void)
+-{
+-	return ir_register_map(&cinergy_1400_map);
+-}
+-
+-static void __exit exit_rc_map_cinergy_1400(void)
+-{
+-	ir_unregister_map(&cinergy_1400_map);
+-}
+-
+-module_init(init_rc_map_cinergy_1400)
+-module_exit(exit_rc_map_cinergy_1400)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-cinergy.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-cinergy.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-cinergy.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-cinergy.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,78 +0,0 @@
+-/* cinergy.h - Keytable for cinergy Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-static struct ir_scancode cinergy[] = {
+-	{ 0x00, KEY_0 },
+-	{ 0x01, KEY_1 },
+-	{ 0x02, KEY_2 },
+-	{ 0x03, KEY_3 },
+-	{ 0x04, KEY_4 },
+-	{ 0x05, KEY_5 },
+-	{ 0x06, KEY_6 },
+-	{ 0x07, KEY_7 },
+-	{ 0x08, KEY_8 },
+-	{ 0x09, KEY_9 },
+-
+-	{ 0x0a, KEY_POWER },
+-	{ 0x0b, KEY_PROG1 },		/* app */
+-	{ 0x0c, KEY_ZOOM },		/* zoom/fullscreen */
+-	{ 0x0d, KEY_CHANNELUP },	/* channel */
+-	{ 0x0e, KEY_CHANNELDOWN },	/* channel- */
+-	{ 0x0f, KEY_VOLUMEUP },
+-	{ 0x10, KEY_VOLUMEDOWN },
+-	{ 0x11, KEY_TUNER },		/* AV */
+-	{ 0x12, KEY_NUMLOCK },		/* -/-- */
+-	{ 0x13, KEY_AUDIO },		/* audio */
+-	{ 0x14, KEY_MUTE },
+-	{ 0x15, KEY_UP },
+-	{ 0x16, KEY_DOWN },
+-	{ 0x17, KEY_LEFT },
+-	{ 0x18, KEY_RIGHT },
+-	{ 0x19, BTN_LEFT, },
+-	{ 0x1a, BTN_RIGHT, },
+-	{ 0x1b, KEY_WWW },		/* text */
+-	{ 0x1c, KEY_REWIND },
+-	{ 0x1d, KEY_FORWARD },
+-	{ 0x1e, KEY_RECORD },
+-	{ 0x1f, KEY_PLAY },
+-	{ 0x20, KEY_PREVIOUSSONG },
+-	{ 0x21, KEY_NEXTSONG },
+-	{ 0x22, KEY_PAUSE },
+-	{ 0x23, KEY_STOP },
+-};
+-
+-static struct rc_keymap cinergy_map = {
+-	.map = {
+-		.scan    = cinergy,
+-		.size    = ARRAY_SIZE(cinergy),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_CINERGY,
+-	}
+-};
+-
+-static int __init init_rc_map_cinergy(void)
+-{
+-	return ir_register_map(&cinergy_map);
+-}
+-
+-static void __exit exit_rc_map_cinergy(void)
+-{
+-	ir_unregister_map(&cinergy_map);
+-}
+-
+-module_init(init_rc_map_cinergy)
+-module_exit(exit_rc_map_cinergy)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-dm1105-nec.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-dm1105-nec.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-dm1105-nec.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-dm1105-nec.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,76 +0,0 @@
+-/* dm1105-nec.h - Keytable for dm1105_nec Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/* DVBWorld remotes
+-   Igor M. Liplianin <liplianin at me.by>
+- */
+-
+-static struct ir_scancode dm1105_nec[] = {
+-	{ 0x0a, KEY_POWER2},		/* power */
+-	{ 0x0c, KEY_MUTE},		/* mute */
+-	{ 0x11, KEY_1},
+-	{ 0x12, KEY_2},
+-	{ 0x13, KEY_3},
+-	{ 0x14, KEY_4},
+-	{ 0x15, KEY_5},
+-	{ 0x16, KEY_6},
+-	{ 0x17, KEY_7},
+-	{ 0x18, KEY_8},
+-	{ 0x19, KEY_9},
+-	{ 0x10, KEY_0},
+-	{ 0x1c, KEY_CHANNELUP},		/* ch+ */
+-	{ 0x0f, KEY_CHANNELDOWN},	/* ch- */
+-	{ 0x1a, KEY_VOLUMEUP},		/* vol+ */
+-	{ 0x0e, KEY_VOLUMEDOWN},	/* vol- */
+-	{ 0x04, KEY_RECORD},		/* rec */
+-	{ 0x09, KEY_CHANNEL},		/* fav */
+-	{ 0x08, KEY_BACKSPACE},		/* rewind */
+-	{ 0x07, KEY_FASTFORWARD},	/* fast */
+-	{ 0x0b, KEY_PAUSE},		/* pause */
+-	{ 0x02, KEY_ESC},		/* cancel */
+-	{ 0x03, KEY_TAB},		/* tab */
+-	{ 0x00, KEY_UP},		/* up */
+-	{ 0x1f, KEY_ENTER},		/* ok */
+-	{ 0x01, KEY_DOWN},		/* down */
+-	{ 0x05, KEY_RECORD},		/* cap */
+-	{ 0x06, KEY_STOP},		/* stop */
+-	{ 0x40, KEY_ZOOM},		/* full */
+-	{ 0x1e, KEY_TV},		/* tvmode */
+-	{ 0x1b, KEY_B},			/* recall */
+-};
+-
+-static struct rc_keymap dm1105_nec_map = {
+-	.map = {
+-		.scan    = dm1105_nec,
+-		.size    = ARRAY_SIZE(dm1105_nec),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_DM1105_NEC,
+-	}
+-};
+-
+-static int __init init_rc_map_dm1105_nec(void)
+-{
+-	return ir_register_map(&dm1105_nec_map);
+-}
+-
+-static void __exit exit_rc_map_dm1105_nec(void)
+-{
+-	ir_unregister_map(&dm1105_nec_map);
+-}
+-
+-module_init(init_rc_map_dm1105_nec)
+-module_exit(exit_rc_map_dm1105_nec)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-dntv-live-dvb-t.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-dntv-live-dvb-t.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-dntv-live-dvb-t.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-dntv-live-dvb-t.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,78 +0,0 @@
+-/* dntv-live-dvb-t.h - Keytable for dntv_live_dvb_t Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/* DigitalNow DNTV Live DVB-T Remote */
+-
+-static struct ir_scancode dntv_live_dvb_t[] = {
+-	{ 0x00, KEY_ESC },		/* 'go up a level?' */
+-	/* Keys 0 to 9 */
+-	{ 0x0a, KEY_0 },
+-	{ 0x01, KEY_1 },
+-	{ 0x02, KEY_2 },
+-	{ 0x03, KEY_3 },
+-	{ 0x04, KEY_4 },
+-	{ 0x05, KEY_5 },
+-	{ 0x06, KEY_6 },
+-	{ 0x07, KEY_7 },
+-	{ 0x08, KEY_8 },
+-	{ 0x09, KEY_9 },
+-
+-	{ 0x0b, KEY_TUNER },		/* tv/fm */
+-	{ 0x0c, KEY_SEARCH },		/* scan */
+-	{ 0x0d, KEY_STOP },
+-	{ 0x0e, KEY_PAUSE },
+-	{ 0x0f, KEY_LIST },		/* source */
+-
+-	{ 0x10, KEY_MUTE },
+-	{ 0x11, KEY_REWIND },		/* backward << */
+-	{ 0x12, KEY_POWER },
+-	{ 0x13, KEY_CAMERA },		/* snap */
+-	{ 0x14, KEY_AUDIO },		/* stereo */
+-	{ 0x15, KEY_CLEAR },		/* reset */
+-	{ 0x16, KEY_PLAY },
+-	{ 0x17, KEY_ENTER },
+-	{ 0x18, KEY_ZOOM },		/* full screen */
+-	{ 0x19, KEY_FASTFORWARD },	/* forward >> */
+-	{ 0x1a, KEY_CHANNELUP },
+-	{ 0x1b, KEY_VOLUMEUP },
+-	{ 0x1c, KEY_INFO },		/* preview */
+-	{ 0x1d, KEY_RECORD },		/* record */
+-	{ 0x1e, KEY_CHANNELDOWN },
+-	{ 0x1f, KEY_VOLUMEDOWN },
+-};
+-
+-static struct rc_keymap dntv_live_dvb_t_map = {
+-	.map = {
+-		.scan    = dntv_live_dvb_t,
+-		.size    = ARRAY_SIZE(dntv_live_dvb_t),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_DNTV_LIVE_DVB_T,
+-	}
+-};
+-
+-static int __init init_rc_map_dntv_live_dvb_t(void)
+-{
+-	return ir_register_map(&dntv_live_dvb_t_map);
+-}
+-
+-static void __exit exit_rc_map_dntv_live_dvb_t(void)
+-{
+-	ir_unregister_map(&dntv_live_dvb_t_map);
+-}
+-
+-module_init(init_rc_map_dntv_live_dvb_t)
+-module_exit(exit_rc_map_dntv_live_dvb_t)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-dntv-live-dvbt-pro.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-dntv-live-dvbt-pro.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-dntv-live-dvbt-pro.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-dntv-live-dvbt-pro.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,97 +0,0 @@
+-/* dntv-live-dvbt-pro.h - Keytable for dntv_live_dvbt_pro Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/* DigitalNow DNTV Live! DVB-T Pro Remote */
+-
+-static struct ir_scancode dntv_live_dvbt_pro[] = {
+-	{ 0x16, KEY_POWER },
+-	{ 0x5b, KEY_HOME },
+-
+-	{ 0x55, KEY_TV },		/* live tv */
+-	{ 0x58, KEY_TUNER },		/* digital Radio */
+-	{ 0x5a, KEY_RADIO },		/* FM radio */
+-	{ 0x59, KEY_DVD },		/* dvd menu */
+-	{ 0x03, KEY_1 },
+-	{ 0x01, KEY_2 },
+-	{ 0x06, KEY_3 },
+-	{ 0x09, KEY_4 },
+-	{ 0x1d, KEY_5 },
+-	{ 0x1f, KEY_6 },
+-	{ 0x0d, KEY_7 },
+-	{ 0x19, KEY_8 },
+-	{ 0x1b, KEY_9 },
+-	{ 0x0c, KEY_CANCEL },
+-	{ 0x15, KEY_0 },
+-	{ 0x4a, KEY_CLEAR },
+-	{ 0x13, KEY_BACK },
+-	{ 0x00, KEY_TAB },
+-	{ 0x4b, KEY_UP },
+-	{ 0x4e, KEY_LEFT },
+-	{ 0x4f, KEY_OK },
+-	{ 0x52, KEY_RIGHT },
+-	{ 0x51, KEY_DOWN },
+-	{ 0x1e, KEY_VOLUMEUP },
+-	{ 0x0a, KEY_VOLUMEDOWN },
+-	{ 0x02, KEY_CHANNELDOWN },
+-	{ 0x05, KEY_CHANNELUP },
+-	{ 0x11, KEY_RECORD },
+-	{ 0x14, KEY_PLAY },
+-	{ 0x4c, KEY_PAUSE },
+-	{ 0x1a, KEY_STOP },
+-	{ 0x40, KEY_REWIND },
+-	{ 0x12, KEY_FASTFORWARD },
+-	{ 0x41, KEY_PREVIOUSSONG },	/* replay |< */
+-	{ 0x42, KEY_NEXTSONG },		/* skip >| */
+-	{ 0x54, KEY_CAMERA },		/* capture */
+-	{ 0x50, KEY_LANGUAGE },		/* sap */
+-	{ 0x47, KEY_TV2 },		/* pip */
+-	{ 0x4d, KEY_SCREEN },
+-	{ 0x43, KEY_SUBTITLE },
+-	{ 0x10, KEY_MUTE },
+-	{ 0x49, KEY_AUDIO },		/* l/r */
+-	{ 0x07, KEY_SLEEP },
+-	{ 0x08, KEY_VIDEO },		/* a/v */
+-	{ 0x0e, KEY_PREVIOUS },		/* recall */
+-	{ 0x45, KEY_ZOOM },		/* zoom + */
+-	{ 0x46, KEY_ANGLE },		/* zoom - */
+-	{ 0x56, KEY_RED },
+-	{ 0x57, KEY_GREEN },
+-	{ 0x5c, KEY_YELLOW },
+-	{ 0x5d, KEY_BLUE },
+-};
+-
+-static struct rc_keymap dntv_live_dvbt_pro_map = {
+-	.map = {
+-		.scan    = dntv_live_dvbt_pro,
+-		.size    = ARRAY_SIZE(dntv_live_dvbt_pro),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_DNTV_LIVE_DVBT_PRO,
+-	}
+-};
+-
+-static int __init init_rc_map_dntv_live_dvbt_pro(void)
+-{
+-	return ir_register_map(&dntv_live_dvbt_pro_map);
+-}
+-
+-static void __exit exit_rc_map_dntv_live_dvbt_pro(void)
+-{
+-	ir_unregister_map(&dntv_live_dvbt_pro_map);
+-}
+-
+-module_init(init_rc_map_dntv_live_dvbt_pro)
+-module_exit(exit_rc_map_dntv_live_dvbt_pro)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-empty.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-empty.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-empty.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-empty.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,44 +0,0 @@
+-/* empty.h - Keytable for empty Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/* empty keytable, can be used as placeholder for not-yet created keytables */
+-
+-static struct ir_scancode empty[] = {
+-	{ 0x2a, KEY_COFFEE },
+-};
+-
+-static struct rc_keymap empty_map = {
+-	.map = {
+-		.scan    = empty,
+-		.size    = ARRAY_SIZE(empty),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_EMPTY,
+-	}
+-};
+-
+-static int __init init_rc_map_empty(void)
+-{
+-	return ir_register_map(&empty_map);
+-}
+-
+-static void __exit exit_rc_map_empty(void)
+-{
+-	ir_unregister_map(&empty_map);
+-}
+-
+-module_init(init_rc_map_empty)
+-module_exit(exit_rc_map_empty)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-em-terratec.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-em-terratec.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-em-terratec.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-em-terratec.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,69 +0,0 @@
+-/* em-terratec.h - Keytable for em_terratec Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-static struct ir_scancode em_terratec[] = {
+-	{ 0x01, KEY_CHANNEL },
+-	{ 0x02, KEY_SELECT },
+-	{ 0x03, KEY_MUTE },
+-	{ 0x04, KEY_POWER },
+-	{ 0x05, KEY_1 },
+-	{ 0x06, KEY_2 },
+-	{ 0x07, KEY_3 },
+-	{ 0x08, KEY_CHANNELUP },
+-	{ 0x09, KEY_4 },
+-	{ 0x0a, KEY_5 },
+-	{ 0x0b, KEY_6 },
+-	{ 0x0c, KEY_CHANNELDOWN },
+-	{ 0x0d, KEY_7 },
+-	{ 0x0e, KEY_8 },
+-	{ 0x0f, KEY_9 },
+-	{ 0x10, KEY_VOLUMEUP },
+-	{ 0x11, KEY_0 },
+-	{ 0x12, KEY_MENU },
+-	{ 0x13, KEY_PRINT },
+-	{ 0x14, KEY_VOLUMEDOWN },
+-	{ 0x16, KEY_PAUSE },
+-	{ 0x18, KEY_RECORD },
+-	{ 0x19, KEY_REWIND },
+-	{ 0x1a, KEY_PLAY },
+-	{ 0x1b, KEY_FORWARD },
+-	{ 0x1c, KEY_BACKSPACE },
+-	{ 0x1e, KEY_STOP },
+-	{ 0x40, KEY_ZOOM },
+-};
+-
+-static struct rc_keymap em_terratec_map = {
+-	.map = {
+-		.scan    = em_terratec,
+-		.size    = ARRAY_SIZE(em_terratec),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_EM_TERRATEC,
+-	}
+-};
+-
+-static int __init init_rc_map_em_terratec(void)
+-{
+-	return ir_register_map(&em_terratec_map);
+-}
+-
+-static void __exit exit_rc_map_em_terratec(void)
+-{
+-	ir_unregister_map(&em_terratec_map);
+-}
+-
+-module_init(init_rc_map_em_terratec)
+-module_exit(exit_rc_map_em_terratec)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-encore-enltv2.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-encore-enltv2.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-encore-enltv2.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-encore-enltv2.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,90 +0,0 @@
+-/* encore-enltv2.h - Keytable for encore_enltv2 Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/* Encore ENLTV2-FM  - silver plastic - "Wand Media" written at the botton
+-    Mauro Carvalho Chehab <mchehab at infradead.org> */
+-
+-static struct ir_scancode encore_enltv2[] = {
+-	{ 0x4c, KEY_POWER2 },
+-	{ 0x4a, KEY_TUNER },
+-	{ 0x40, KEY_1 },
+-	{ 0x60, KEY_2 },
+-	{ 0x50, KEY_3 },
+-	{ 0x70, KEY_4 },
+-	{ 0x48, KEY_5 },
+-	{ 0x68, KEY_6 },
+-	{ 0x58, KEY_7 },
+-	{ 0x78, KEY_8 },
+-	{ 0x44, KEY_9 },
+-	{ 0x54, KEY_0 },
+-
+-	{ 0x64, KEY_LAST },		/* +100 */
+-	{ 0x4e, KEY_AGAIN },		/* Recall */
+-
+-	{ 0x6c, KEY_SWITCHVIDEOMODE },	/* Video Source */
+-	{ 0x5e, KEY_MENU },
+-	{ 0x56, KEY_SCREEN },
+-	{ 0x7a, KEY_SETUP },
+-
+-	{ 0x46, KEY_MUTE },
+-	{ 0x5c, KEY_MODE },		/* Stereo */
+-	{ 0x74, KEY_INFO },
+-	{ 0x7c, KEY_CLEAR },
+-
+-	{ 0x55, KEY_UP },
+-	{ 0x49, KEY_DOWN },
+-	{ 0x7e, KEY_LEFT },
+-	{ 0x59, KEY_RIGHT },
+-	{ 0x6a, KEY_ENTER },
+-
+-	{ 0x42, KEY_VOLUMEUP },
+-	{ 0x62, KEY_VOLUMEDOWN },
+-	{ 0x52, KEY_CHANNELUP },
+-	{ 0x72, KEY_CHANNELDOWN },
+-
+-	{ 0x41, KEY_RECORD },
+-	{ 0x51, KEY_CAMERA },		/* Snapshot */
+-	{ 0x75, KEY_TIME },		/* Timeshift */
+-	{ 0x71, KEY_TV2 },		/* PIP */
+-
+-	{ 0x45, KEY_REWIND },
+-	{ 0x6f, KEY_PAUSE },
+-	{ 0x7d, KEY_FORWARD },
+-	{ 0x79, KEY_STOP },
+-};
+-
+-static struct rc_keymap encore_enltv2_map = {
+-	.map = {
+-		.scan    = encore_enltv2,
+-		.size    = ARRAY_SIZE(encore_enltv2),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_ENCORE_ENLTV2,
+-	}
+-};
+-
+-static int __init init_rc_map_encore_enltv2(void)
+-{
+-	return ir_register_map(&encore_enltv2_map);
+-}
+-
+-static void __exit exit_rc_map_encore_enltv2(void)
+-{
+-	ir_unregister_map(&encore_enltv2_map);
+-}
+-
+-module_init(init_rc_map_encore_enltv2)
+-module_exit(exit_rc_map_encore_enltv2)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-encore-enltv.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-encore-enltv.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-encore-enltv.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-encore-enltv.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,112 +0,0 @@
+-/* encore-enltv.h - Keytable for encore_enltv Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/* Encore ENLTV-FM  - black plastic, white front cover with white glowing buttons
+-    Juan Pablo Sormani <sorman at gmail.com> */
+-
+-static struct ir_scancode encore_enltv[] = {
+-
+-	/* Power button does nothing, neither in Windows app,
+-	 although it sends data (used for BIOS wakeup?) */
+-	{ 0x0d, KEY_MUTE },
+-
+-	{ 0x1e, KEY_TV },
+-	{ 0x00, KEY_VIDEO },
+-	{ 0x01, KEY_AUDIO },		/* music */
+-	{ 0x02, KEY_MHP },		/* picture */
+-
+-	{ 0x1f, KEY_1 },
+-	{ 0x03, KEY_2 },
+-	{ 0x04, KEY_3 },
+-	{ 0x05, KEY_4 },
+-	{ 0x1c, KEY_5 },
+-	{ 0x06, KEY_6 },
+-	{ 0x07, KEY_7 },
+-	{ 0x08, KEY_8 },
+-	{ 0x1d, KEY_9 },
+-	{ 0x0a, KEY_0 },
+-
+-	{ 0x09, KEY_LIST },		/* -/-- */
+-	{ 0x0b, KEY_LAST },		/* recall */
+-
+-	{ 0x14, KEY_HOME },		/* win start menu */
+-	{ 0x15, KEY_EXIT },		/* exit */
+-	{ 0x16, KEY_CHANNELUP },	/* UP */
+-	{ 0x12, KEY_CHANNELDOWN },	/* DOWN */
+-	{ 0x0c, KEY_VOLUMEUP },		/* RIGHT */
+-	{ 0x17, KEY_VOLUMEDOWN },	/* LEFT */
+-
+-	{ 0x18, KEY_ENTER },		/* OK */
+-
+-	{ 0x0e, KEY_ESC },
+-	{ 0x13, KEY_CYCLEWINDOWS },	/* desktop */
+-	{ 0x11, KEY_TAB },
+-	{ 0x19, KEY_SWITCHVIDEOMODE },	/* switch */
+-
+-	{ 0x1a, KEY_MENU },
+-	{ 0x1b, KEY_ZOOM },		/* fullscreen */
+-	{ 0x44, KEY_TIME },		/* time shift */
+-	{ 0x40, KEY_MODE },		/* source */
+-
+-	{ 0x5a, KEY_RECORD },
+-	{ 0x42, KEY_PLAY },		/* play/pause */
+-	{ 0x45, KEY_STOP },
+-	{ 0x43, KEY_CAMERA },		/* camera icon */
+-
+-	{ 0x48, KEY_REWIND },
+-	{ 0x4a, KEY_FASTFORWARD },
+-	{ 0x49, KEY_PREVIOUS },
+-	{ 0x4b, KEY_NEXT },
+-
+-	{ 0x4c, KEY_FAVORITES },	/* tv wall */
+-	{ 0x4d, KEY_SOUND },		/* DVD sound */
+-	{ 0x4e, KEY_LANGUAGE },		/* DVD lang */
+-	{ 0x4f, KEY_TEXT },		/* DVD text */
+-
+-	{ 0x50, KEY_SLEEP },		/* shutdown */
+-	{ 0x51, KEY_MODE },		/* stereo > main */
+-	{ 0x52, KEY_SELECT },		/* stereo > sap */
+-	{ 0x53, KEY_PROG1 },		/* teletext */
+-
+-
+-	{ 0x59, KEY_RED },		/* AP1 */
+-	{ 0x41, KEY_GREEN },		/* AP2 */
+-	{ 0x47, KEY_YELLOW },		/* AP3 */
+-	{ 0x57, KEY_BLUE },		/* AP4 */
+-};
+-
+-static struct rc_keymap encore_enltv_map = {
+-	.map = {
+-		.scan    = encore_enltv,
+-		.size    = ARRAY_SIZE(encore_enltv),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_ENCORE_ENLTV,
+-	}
+-};
+-
+-static int __init init_rc_map_encore_enltv(void)
+-{
+-	return ir_register_map(&encore_enltv_map);
+-}
+-
+-static void __exit exit_rc_map_encore_enltv(void)
+-{
+-	ir_unregister_map(&encore_enltv_map);
+-}
+-
+-module_init(init_rc_map_encore_enltv)
+-module_exit(exit_rc_map_encore_enltv)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-encore-enltv-fm53.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-encore-enltv-fm53.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-encore-enltv-fm53.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-encore-enltv-fm53.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,81 +0,0 @@
+-/* encore-enltv-fm53.h - Keytable for encore_enltv_fm53 Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/* Encore ENLTV-FM v5.3
+-   Mauro Carvalho Chehab <mchehab at infradead.org>
+- */
+-
+-static struct ir_scancode encore_enltv_fm53[] = {
+-	{ 0x10, KEY_POWER2},
+-	{ 0x06, KEY_MUTE},
+-
+-	{ 0x09, KEY_1},
+-	{ 0x1d, KEY_2},
+-	{ 0x1f, KEY_3},
+-	{ 0x19, KEY_4},
+-	{ 0x1b, KEY_5},
+-	{ 0x11, KEY_6},
+-	{ 0x17, KEY_7},
+-	{ 0x12, KEY_8},
+-	{ 0x16, KEY_9},
+-	{ 0x48, KEY_0},
+-
+-	{ 0x04, KEY_LIST},		/* -/-- */
+-	{ 0x40, KEY_LAST},		/* recall */
+-
+-	{ 0x02, KEY_MODE},		/* TV/AV */
+-	{ 0x05, KEY_CAMERA},		/* SNAPSHOT */
+-
+-	{ 0x4c, KEY_CHANNELUP},		/* UP */
+-	{ 0x00, KEY_CHANNELDOWN},	/* DOWN */
+-	{ 0x0d, KEY_VOLUMEUP},		/* RIGHT */
+-	{ 0x15, KEY_VOLUMEDOWN},	/* LEFT */
+-	{ 0x49, KEY_ENTER},		/* OK */
+-
+-	{ 0x54, KEY_RECORD},
+-	{ 0x4d, KEY_PLAY},		/* pause */
+-
+-	{ 0x1e, KEY_MENU},		/* video setting */
+-	{ 0x0e, KEY_RIGHT},		/* <- */
+-	{ 0x1a, KEY_LEFT},		/* -> */
+-
+-	{ 0x0a, KEY_CLEAR},		/* video default */
+-	{ 0x0c, KEY_ZOOM},		/* hide pannel */
+-	{ 0x47, KEY_SLEEP},		/* shutdown */
+-};
+-
+-static struct rc_keymap encore_enltv_fm53_map = {
+-	.map = {
+-		.scan    = encore_enltv_fm53,
+-		.size    = ARRAY_SIZE(encore_enltv_fm53),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_ENCORE_ENLTV_FM53,
+-	}
+-};
+-
+-static int __init init_rc_map_encore_enltv_fm53(void)
+-{
+-	return ir_register_map(&encore_enltv_fm53_map);
+-}
+-
+-static void __exit exit_rc_map_encore_enltv_fm53(void)
+-{
+-	ir_unregister_map(&encore_enltv_fm53_map);
+-}
+-
+-module_init(init_rc_map_encore_enltv_fm53)
+-module_exit(exit_rc_map_encore_enltv_fm53)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-evga-indtube.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-evga-indtube.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-evga-indtube.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-evga-indtube.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,61 +0,0 @@
+-/* evga-indtube.h - Keytable for evga_indtube Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/* EVGA inDtube
+-   Devin Heitmueller <devin.heitmueller at gmail.com>
+- */
+-
+-static struct ir_scancode evga_indtube[] = {
+-	{ 0x12, KEY_POWER},
+-	{ 0x02, KEY_MODE},	/* TV */
+-	{ 0x14, KEY_MUTE},
+-	{ 0x1a, KEY_CHANNELUP},
+-	{ 0x16, KEY_TV2},	/* PIP */
+-	{ 0x1d, KEY_VOLUMEUP},
+-	{ 0x05, KEY_CHANNELDOWN},
+-	{ 0x0f, KEY_PLAYPAUSE},
+-	{ 0x19, KEY_VOLUMEDOWN},
+-	{ 0x1c, KEY_REWIND},
+-	{ 0x0d, KEY_RECORD},
+-	{ 0x18, KEY_FORWARD},
+-	{ 0x1e, KEY_PREVIOUS},
+-	{ 0x1b, KEY_STOP},
+-	{ 0x1f, KEY_NEXT},
+-	{ 0x13, KEY_CAMERA},
+-};
+-
+-static struct rc_keymap evga_indtube_map = {
+-	.map = {
+-		.scan    = evga_indtube,
+-		.size    = ARRAY_SIZE(evga_indtube),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_EVGA_INDTUBE,
+-	}
+-};
+-
+-static int __init init_rc_map_evga_indtube(void)
+-{
+-	return ir_register_map(&evga_indtube_map);
+-}
+-
+-static void __exit exit_rc_map_evga_indtube(void)
+-{
+-	ir_unregister_map(&evga_indtube_map);
+-}
+-
+-module_init(init_rc_map_evga_indtube)
+-module_exit(exit_rc_map_evga_indtube)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-eztv.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-eztv.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-eztv.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-eztv.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,96 +0,0 @@
+-/* eztv.h - Keytable for eztv Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/* Alfons Geser <a.geser at cox.net>
+- * updates from Job D. R. Borges <jobdrb at ig.com.br> */
+-
+-static struct ir_scancode eztv[] = {
+-	{ 0x12, KEY_POWER },
+-	{ 0x01, KEY_TV },	/* DVR */
+-	{ 0x15, KEY_DVD },	/* DVD */
+-	{ 0x17, KEY_AUDIO },	/* music */
+-				/* DVR mode / DVD mode / music mode */
+-
+-	{ 0x1b, KEY_MUTE },	/* mute */
+-	{ 0x02, KEY_LANGUAGE },	/* MTS/SAP / audio / autoseek */
+-	{ 0x1e, KEY_SUBTITLE },	/* closed captioning / subtitle / seek */
+-	{ 0x16, KEY_ZOOM },	/* full screen */
+-	{ 0x1c, KEY_VIDEO },	/* video source / eject / delall */
+-	{ 0x1d, KEY_RESTART },	/* playback / angle / del */
+-	{ 0x2f, KEY_SEARCH },	/* scan / menu / playlist */
+-	{ 0x30, KEY_CHANNEL },	/* CH surfing / bookmark / memo */
+-
+-	{ 0x31, KEY_HELP },	/* help */
+-	{ 0x32, KEY_MODE },	/* num/memo */
+-	{ 0x33, KEY_ESC },	/* cancel */
+-
+-	{ 0x0c, KEY_UP },	/* up */
+-	{ 0x10, KEY_DOWN },	/* down */
+-	{ 0x08, KEY_LEFT },	/* left */
+-	{ 0x04, KEY_RIGHT },	/* right */
+-	{ 0x03, KEY_SELECT },	/* select */
+-
+-	{ 0x1f, KEY_REWIND },	/* rewind */
+-	{ 0x20, KEY_PLAYPAUSE },/* play/pause */
+-	{ 0x29, KEY_FORWARD },	/* forward */
+-	{ 0x14, KEY_AGAIN },	/* repeat */
+-	{ 0x2b, KEY_RECORD },	/* recording */
+-	{ 0x2c, KEY_STOP },	/* stop */
+-	{ 0x2d, KEY_PLAY },	/* play */
+-	{ 0x2e, KEY_CAMERA },	/* snapshot / shuffle */
+-
+-	{ 0x00, KEY_0 },
+-	{ 0x05, KEY_1 },
+-	{ 0x06, KEY_2 },
+-	{ 0x07, KEY_3 },
+-	{ 0x09, KEY_4 },
+-	{ 0x0a, KEY_5 },
+-	{ 0x0b, KEY_6 },
+-	{ 0x0d, KEY_7 },
+-	{ 0x0e, KEY_8 },
+-	{ 0x0f, KEY_9 },
+-
+-	{ 0x2a, KEY_VOLUMEUP },
+-	{ 0x11, KEY_VOLUMEDOWN },
+-	{ 0x18, KEY_CHANNELUP },/* CH.tracking up */
+-	{ 0x19, KEY_CHANNELDOWN },/* CH.tracking down */
+-
+-	{ 0x13, KEY_ENTER },	/* enter */
+-	{ 0x21, KEY_DOT },	/* . (decimal dot) */
+-};
+-
+-static struct rc_keymap eztv_map = {
+-	.map = {
+-		.scan    = eztv,
+-		.size    = ARRAY_SIZE(eztv),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_EZTV,
+-	}
+-};
+-
+-static int __init init_rc_map_eztv(void)
+-{
+-	return ir_register_map(&eztv_map);
+-}
+-
+-static void __exit exit_rc_map_eztv(void)
+-{
+-	ir_unregister_map(&eztv_map);
+-}
+-
+-module_init(init_rc_map_eztv)
+-module_exit(exit_rc_map_eztv)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-flydvb.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-flydvb.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-flydvb.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-flydvb.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,77 +0,0 @@
+-/* flydvb.h - Keytable for flydvb Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-static struct ir_scancode flydvb[] = {
+-	{ 0x01, KEY_ZOOM },		/* Full Screen */
+-	{ 0x00, KEY_POWER },		/* Power */
+-
+-	{ 0x03, KEY_1 },
+-	{ 0x04, KEY_2 },
+-	{ 0x05, KEY_3 },
+-	{ 0x07, KEY_4 },
+-	{ 0x08, KEY_5 },
+-	{ 0x09, KEY_6 },
+-	{ 0x0b, KEY_7 },
+-	{ 0x0c, KEY_8 },
+-	{ 0x0d, KEY_9 },
+-	{ 0x06, KEY_AGAIN },		/* Recall */
+-	{ 0x0f, KEY_0 },
+-	{ 0x10, KEY_MUTE },		/* Mute */
+-	{ 0x02, KEY_RADIO },		/* TV/Radio */
+-	{ 0x1b, KEY_LANGUAGE },		/* SAP (Second Audio Program) */
+-
+-	{ 0x14, KEY_VOLUMEUP },		/* VOL+ */
+-	{ 0x17, KEY_VOLUMEDOWN },	/* VOL- */
+-	{ 0x12, KEY_CHANNELUP },	/* CH+ */
+-	{ 0x13, KEY_CHANNELDOWN },	/* CH- */
+-	{ 0x1d, KEY_ENTER },		/* Enter */
+-
+-	{ 0x1a, KEY_MODE },		/* PIP */
+-	{ 0x18, KEY_TUNER },		/* Source */
+-
+-	{ 0x1e, KEY_RECORD },		/* Record/Pause */
+-	{ 0x15, KEY_ANGLE },		/* Swap (no label on key) */
+-	{ 0x1c, KEY_PAUSE },		/* Timeshift/Pause */
+-	{ 0x19, KEY_BACK },		/* Rewind << */
+-	{ 0x0a, KEY_PLAYPAUSE },	/* Play/Pause */
+-	{ 0x1f, KEY_FORWARD },		/* Forward >> */
+-	{ 0x16, KEY_PREVIOUS },		/* Back |<< */
+-	{ 0x11, KEY_STOP },		/* Stop */
+-	{ 0x0e, KEY_NEXT },		/* End >>| */
+-};
+-
+-static struct rc_keymap flydvb_map = {
+-	.map = {
+-		.scan    = flydvb,
+-		.size    = ARRAY_SIZE(flydvb),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_FLYDVB,
+-	}
+-};
+-
+-static int __init init_rc_map_flydvb(void)
+-{
+-	return ir_register_map(&flydvb_map);
+-}
+-
+-static void __exit exit_rc_map_flydvb(void)
+-{
+-	ir_unregister_map(&flydvb_map);
+-}
+-
+-module_init(init_rc_map_flydvb)
+-module_exit(exit_rc_map_flydvb)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-flyvideo.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-flyvideo.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-flyvideo.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-flyvideo.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,70 +0,0 @@
+-/* flyvideo.h - Keytable for flyvideo Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-static struct ir_scancode flyvideo[] = {
+-	{ 0x0f, KEY_0 },
+-	{ 0x03, KEY_1 },
+-	{ 0x04, KEY_2 },
+-	{ 0x05, KEY_3 },
+-	{ 0x07, KEY_4 },
+-	{ 0x08, KEY_5 },
+-	{ 0x09, KEY_6 },
+-	{ 0x0b, KEY_7 },
+-	{ 0x0c, KEY_8 },
+-	{ 0x0d, KEY_9 },
+-
+-	{ 0x0e, KEY_MODE },	/* Air/Cable */
+-	{ 0x11, KEY_VIDEO },	/* Video */
+-	{ 0x15, KEY_AUDIO },	/* Audio */
+-	{ 0x00, KEY_POWER },	/* Power */
+-	{ 0x18, KEY_TUNER },	/* AV Source */
+-	{ 0x02, KEY_ZOOM },	/* Fullscreen */
+-	{ 0x1a, KEY_LANGUAGE },	/* Stereo */
+-	{ 0x1b, KEY_MUTE },	/* Mute */
+-	{ 0x14, KEY_VOLUMEUP },	/* Volume + */
+-	{ 0x17, KEY_VOLUMEDOWN },/* Volume - */
+-	{ 0x12, KEY_CHANNELUP },/* Channel + */
+-	{ 0x13, KEY_CHANNELDOWN },/* Channel - */
+-	{ 0x06, KEY_AGAIN },	/* Recall */
+-	{ 0x10, KEY_ENTER },	/* Enter */
+-
+-	{ 0x19, KEY_BACK },	/* Rewind  ( <<< ) */
+-	{ 0x1f, KEY_FORWARD },	/* Forward ( >>> ) */
+-	{ 0x0a, KEY_ANGLE },	/* no label, may be used as the PAUSE button */
+-};
+-
+-static struct rc_keymap flyvideo_map = {
+-	.map = {
+-		.scan    = flyvideo,
+-		.size    = ARRAY_SIZE(flyvideo),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_FLYVIDEO,
+-	}
+-};
+-
+-static int __init init_rc_map_flyvideo(void)
+-{
+-	return ir_register_map(&flyvideo_map);
+-}
+-
+-static void __exit exit_rc_map_flyvideo(void)
+-{
+-	ir_unregister_map(&flyvideo_map);
+-}
+-
+-module_init(init_rc_map_flyvideo)
+-module_exit(exit_rc_map_flyvideo)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-fusionhdtv-mce.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-fusionhdtv-mce.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-fusionhdtv-mce.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-fusionhdtv-mce.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,98 +0,0 @@
+-/* fusionhdtv-mce.h - Keytable for fusionhdtv_mce Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/* DViCO FUSION HDTV MCE remote */
+-
+-static struct ir_scancode fusionhdtv_mce[] = {
+-
+-	{ 0x0b, KEY_1 },
+-	{ 0x17, KEY_2 },
+-	{ 0x1b, KEY_3 },
+-	{ 0x07, KEY_4 },
+-	{ 0x50, KEY_5 },
+-	{ 0x54, KEY_6 },
+-	{ 0x48, KEY_7 },
+-	{ 0x4c, KEY_8 },
+-	{ 0x58, KEY_9 },
+-	{ 0x03, KEY_0 },
+-
+-	{ 0x5e, KEY_OK },
+-	{ 0x51, KEY_UP },
+-	{ 0x53, KEY_DOWN },
+-	{ 0x5b, KEY_LEFT },
+-	{ 0x5f, KEY_RIGHT },
+-
+-	{ 0x02, KEY_TV },		/* Labeled DTV on remote */
+-	{ 0x0e, KEY_MP3 },
+-	{ 0x1a, KEY_DVD },
+-	{ 0x1e, KEY_FAVORITES },	/* Labeled CPF on remote */
+-	{ 0x16, KEY_SETUP },
+-	{ 0x46, KEY_POWER2 },		/* TV On/Off button on remote */
+-	{ 0x0a, KEY_EPG },		/* Labeled Guide on remote */
+-
+-	{ 0x49, KEY_BACK },
+-	{ 0x59, KEY_INFO },		/* Labeled MORE on remote */
+-	{ 0x4d, KEY_MENU },		/* Labeled DVDMENU on remote */
+-	{ 0x55, KEY_CYCLEWINDOWS },	/* Labeled ALT-TAB on remote */
+-
+-	{ 0x0f, KEY_PREVIOUSSONG },	/* Labeled |<< REPLAY on remote */
+-	{ 0x12, KEY_NEXTSONG },		/* Labeled >>| SKIP on remote */
+-	{ 0x42, KEY_ENTER },		/* Labeled START with a green
+-					   MS windows logo on remote */
+-
+-	{ 0x15, KEY_VOLUMEUP },
+-	{ 0x05, KEY_VOLUMEDOWN },
+-	{ 0x11, KEY_CHANNELUP },
+-	{ 0x09, KEY_CHANNELDOWN },
+-
+-	{ 0x52, KEY_CAMERA },
+-	{ 0x5a, KEY_TUNER },
+-	{ 0x19, KEY_OPEN },
+-
+-	{ 0x13, KEY_MODE },		/* 4:3 16:9 select */
+-	{ 0x1f, KEY_ZOOM },
+-
+-	{ 0x43, KEY_REWIND },
+-	{ 0x47, KEY_PLAYPAUSE },
+-	{ 0x4f, KEY_FASTFORWARD },
+-	{ 0x57, KEY_MUTE },
+-	{ 0x0d, KEY_STOP },
+-	{ 0x01, KEY_RECORD },
+-	{ 0x4e, KEY_POWER },
+-};
+-
+-static struct rc_keymap fusionhdtv_mce_map = {
+-	.map = {
+-		.scan    = fusionhdtv_mce,
+-		.size    = ARRAY_SIZE(fusionhdtv_mce),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_FUSIONHDTV_MCE,
+-	}
+-};
+-
+-static int __init init_rc_map_fusionhdtv_mce(void)
+-{
+-	return ir_register_map(&fusionhdtv_mce_map);
+-}
+-
+-static void __exit exit_rc_map_fusionhdtv_mce(void)
+-{
+-	ir_unregister_map(&fusionhdtv_mce_map);
+-}
+-
+-module_init(init_rc_map_fusionhdtv_mce)
+-module_exit(exit_rc_map_fusionhdtv_mce)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-gadmei-rm008z.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-gadmei-rm008z.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-gadmei-rm008z.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-gadmei-rm008z.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,81 +0,0 @@
+-/* gadmei-rm008z.h - Keytable for gadmei_rm008z Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/* GADMEI UTV330+ RM008Z remote
+-   Shine Liu <shinel at foxmail.com>
+- */
+-
+-static struct ir_scancode gadmei_rm008z[] = {
+-	{ 0x14, KEY_POWER2},		/* POWER OFF */
+-	{ 0x0c, KEY_MUTE},		/* MUTE */
+-
+-	{ 0x18, KEY_TV},		/* TV */
+-	{ 0x0e, KEY_VIDEO},		/* AV */
+-	{ 0x0b, KEY_AUDIO},		/* SV */
+-	{ 0x0f, KEY_RADIO},		/* FM */
+-
+-	{ 0x00, KEY_1},
+-	{ 0x01, KEY_2},
+-	{ 0x02, KEY_3},
+-	{ 0x03, KEY_4},
+-	{ 0x04, KEY_5},
+-	{ 0x05, KEY_6},
+-	{ 0x06, KEY_7},
+-	{ 0x07, KEY_8},
+-	{ 0x08, KEY_9},
+-	{ 0x09, KEY_0},
+-	{ 0x0a, KEY_INFO},		/* OSD */
+-	{ 0x1c, KEY_BACKSPACE},		/* LAST */
+-
+-	{ 0x0d, KEY_PLAY},		/* PLAY */
+-	{ 0x1e, KEY_CAMERA},		/* SNAPSHOT */
+-	{ 0x1a, KEY_RECORD},		/* RECORD */
+-	{ 0x17, KEY_STOP},		/* STOP */
+-
+-	{ 0x1f, KEY_UP},		/* UP */
+-	{ 0x44, KEY_DOWN},		/* DOWN */
+-	{ 0x46, KEY_TAB},		/* BACK */
+-	{ 0x4a, KEY_ZOOM},		/* FULLSECREEN */
+-
+-	{ 0x10, KEY_VOLUMEUP},		/* VOLUMEUP */
+-	{ 0x11, KEY_VOLUMEDOWN},	/* VOLUMEDOWN */
+-	{ 0x12, KEY_CHANNELUP},		/* CHANNELUP */
+-	{ 0x13, KEY_CHANNELDOWN},	/* CHANNELDOWN */
+-	{ 0x15, KEY_ENTER},		/* OK */
+-};
+-
+-static struct rc_keymap gadmei_rm008z_map = {
+-	.map = {
+-		.scan    = gadmei_rm008z,
+-		.size    = ARRAY_SIZE(gadmei_rm008z),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_GADMEI_RM008Z,
+-	}
+-};
+-
+-static int __init init_rc_map_gadmei_rm008z(void)
+-{
+-	return ir_register_map(&gadmei_rm008z_map);
+-}
+-
+-static void __exit exit_rc_map_gadmei_rm008z(void)
+-{
+-	ir_unregister_map(&gadmei_rm008z_map);
+-}
+-
+-module_init(init_rc_map_gadmei_rm008z)
+-module_exit(exit_rc_map_gadmei_rm008z)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-genius-tvgo-a11mce.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-genius-tvgo-a11mce.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-genius-tvgo-a11mce.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-genius-tvgo-a11mce.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,84 +0,0 @@
+-/* genius-tvgo-a11mce.h - Keytable for genius_tvgo_a11mce Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/*
+- * Remote control for the Genius TVGO A11MCE
+- * Adrian Pardini <pardo.bsso at gmail.com>
+- */
+-
+-static struct ir_scancode genius_tvgo_a11mce[] = {
+-	/* Keys 0 to 9 */
+-	{ 0x48, KEY_0 },
+-	{ 0x09, KEY_1 },
+-	{ 0x1d, KEY_2 },
+-	{ 0x1f, KEY_3 },
+-	{ 0x19, KEY_4 },
+-	{ 0x1b, KEY_5 },
+-	{ 0x11, KEY_6 },
+-	{ 0x17, KEY_7 },
+-	{ 0x12, KEY_8 },
+-	{ 0x16, KEY_9 },
+-
+-	{ 0x54, KEY_RECORD },		/* recording */
+-	{ 0x06, KEY_MUTE },		/* mute */
+-	{ 0x10, KEY_POWER },
+-	{ 0x40, KEY_LAST },		/* recall */
+-	{ 0x4c, KEY_CHANNELUP },	/* channel / program + */
+-	{ 0x00, KEY_CHANNELDOWN },	/* channel / program - */
+-	{ 0x0d, KEY_VOLUMEUP },
+-	{ 0x15, KEY_VOLUMEDOWN },
+-	{ 0x4d, KEY_OK },		/* also labeled as Pause */
+-	{ 0x1c, KEY_ZOOM },		/* full screen and Stop*/
+-	{ 0x02, KEY_MODE },		/* AV Source or Rewind*/
+-	{ 0x04, KEY_LIST },		/* -/-- */
+-	/* small arrows above numbers */
+-	{ 0x1a, KEY_NEXT },		/* also Fast Forward */
+-	{ 0x0e, KEY_PREVIOUS },		/* also Rewind */
+-	/* these are in a rather non standard layout and have
+-	an alternate name written */
+-	{ 0x1e, KEY_UP },		/* Video Setting */
+-	{ 0x0a, KEY_DOWN },		/* Video Default */
+-	{ 0x05, KEY_CAMERA },		/* Snapshot */
+-	{ 0x0c, KEY_RIGHT },		/* Hide Panel */
+-	/* Four buttons without label */
+-	{ 0x49, KEY_RED },
+-	{ 0x0b, KEY_GREEN },
+-	{ 0x13, KEY_YELLOW },
+-	{ 0x50, KEY_BLUE },
+-};
+-
+-static struct rc_keymap genius_tvgo_a11mce_map = {
+-	.map = {
+-		.scan    = genius_tvgo_a11mce,
+-		.size    = ARRAY_SIZE(genius_tvgo_a11mce),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_GENIUS_TVGO_A11MCE,
+-	}
+-};
+-
+-static int __init init_rc_map_genius_tvgo_a11mce(void)
+-{
+-	return ir_register_map(&genius_tvgo_a11mce_map);
+-}
+-
+-static void __exit exit_rc_map_genius_tvgo_a11mce(void)
+-{
+-	ir_unregister_map(&genius_tvgo_a11mce_map);
+-}
+-
+-module_init(init_rc_map_genius_tvgo_a11mce)
+-module_exit(exit_rc_map_genius_tvgo_a11mce)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-gotview7135.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-gotview7135.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-gotview7135.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-gotview7135.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,79 +0,0 @@
+-/* gotview7135.h - Keytable for gotview7135 Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/* Mike Baikov <mike at baikov.com> */
+-
+-static struct ir_scancode gotview7135[] = {
+-
+-	{ 0x11, KEY_POWER },
+-	{ 0x35, KEY_TV },
+-	{ 0x1b, KEY_0 },
+-	{ 0x29, KEY_1 },
+-	{ 0x19, KEY_2 },
+-	{ 0x39, KEY_3 },
+-	{ 0x1f, KEY_4 },
+-	{ 0x2c, KEY_5 },
+-	{ 0x21, KEY_6 },
+-	{ 0x24, KEY_7 },
+-	{ 0x18, KEY_8 },
+-	{ 0x2b, KEY_9 },
+-	{ 0x3b, KEY_AGAIN },	/* LOOP */
+-	{ 0x06, KEY_AUDIO },
+-	{ 0x31, KEY_PRINT },	/* PREVIEW */
+-	{ 0x3e, KEY_VIDEO },
+-	{ 0x10, KEY_CHANNELUP },
+-	{ 0x20, KEY_CHANNELDOWN },
+-	{ 0x0c, KEY_VOLUMEDOWN },
+-	{ 0x28, KEY_VOLUMEUP },
+-	{ 0x08, KEY_MUTE },
+-	{ 0x26, KEY_SEARCH },	/* SCAN */
+-	{ 0x3f, KEY_CAMERA },	/* SNAPSHOT */
+-	{ 0x12, KEY_RECORD },
+-	{ 0x32, KEY_STOP },
+-	{ 0x3c, KEY_PLAY },
+-	{ 0x1d, KEY_REWIND },
+-	{ 0x2d, KEY_PAUSE },
+-	{ 0x0d, KEY_FORWARD },
+-	{ 0x05, KEY_ZOOM },	/*FULL*/
+-
+-	{ 0x2a, KEY_F21 },	/* LIVE TIMESHIFT */
+-	{ 0x0e, KEY_F22 },	/* MIN TIMESHIFT */
+-	{ 0x1e, KEY_TIME },	/* TIMESHIFT */
+-	{ 0x38, KEY_F24 },	/* NORMAL TIMESHIFT */
+-};
+-
+-static struct rc_keymap gotview7135_map = {
+-	.map = {
+-		.scan    = gotview7135,
+-		.size    = ARRAY_SIZE(gotview7135),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_GOTVIEW7135,
+-	}
+-};
+-
+-static int __init init_rc_map_gotview7135(void)
+-{
+-	return ir_register_map(&gotview7135_map);
+-}
+-
+-static void __exit exit_rc_map_gotview7135(void)
+-{
+-	ir_unregister_map(&gotview7135_map);
+-}
+-
+-module_init(init_rc_map_gotview7135)
+-module_exit(exit_rc_map_gotview7135)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-hauppauge-new.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-hauppauge-new.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-hauppauge-new.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-hauppauge-new.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,100 +0,0 @@
+-/* hauppauge-new.h - Keytable for hauppauge_new Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/* Hauppauge: the newer, gray remotes (seems there are multiple
+- * slightly different versions), shipped with cx88+ivtv cards.
+- * almost rc5 coding, but some non-standard keys */
+-
+-static struct ir_scancode hauppauge_new[] = {
+-	/* Keys 0 to 9 */
+-	{ 0x00, KEY_0 },
+-	{ 0x01, KEY_1 },
+-	{ 0x02, KEY_2 },
+-	{ 0x03, KEY_3 },
+-	{ 0x04, KEY_4 },
+-	{ 0x05, KEY_5 },
+-	{ 0x06, KEY_6 },
+-	{ 0x07, KEY_7 },
+-	{ 0x08, KEY_8 },
+-	{ 0x09, KEY_9 },
+-
+-	{ 0x0a, KEY_TEXT },		/* keypad asterisk as well */
+-	{ 0x0b, KEY_RED },		/* red button */
+-	{ 0x0c, KEY_RADIO },
+-	{ 0x0d, KEY_MENU },
+-	{ 0x0e, KEY_SUBTITLE },		/* also the # key */
+-	{ 0x0f, KEY_MUTE },
+-	{ 0x10, KEY_VOLUMEUP },
+-	{ 0x11, KEY_VOLUMEDOWN },
+-	{ 0x12, KEY_PREVIOUS },		/* previous channel */
+-	{ 0x14, KEY_UP },
+-	{ 0x15, KEY_DOWN },
+-	{ 0x16, KEY_LEFT },
+-	{ 0x17, KEY_RIGHT },
+-	{ 0x18, KEY_VIDEO },		/* Videos */
+-	{ 0x19, KEY_AUDIO },		/* Music */
+-	/* 0x1a: Pictures - presume this means
+-	   "Multimedia Home Platform" -
+-	   no "PICTURES" key in input.h
+-	 */
+-	{ 0x1a, KEY_MHP },
+-
+-	{ 0x1b, KEY_EPG },		/* Guide */
+-	{ 0x1c, KEY_TV },
+-	{ 0x1e, KEY_NEXTSONG },		/* skip >| */
+-	{ 0x1f, KEY_EXIT },		/* back/exit */
+-	{ 0x20, KEY_CHANNELUP },	/* channel / program + */
+-	{ 0x21, KEY_CHANNELDOWN },	/* channel / program - */
+-	{ 0x22, KEY_CHANNEL },		/* source (old black remote) */
+-	{ 0x24, KEY_PREVIOUSSONG },	/* replay |< */
+-	{ 0x25, KEY_ENTER },		/* OK */
+-	{ 0x26, KEY_SLEEP },		/* minimize (old black remote) */
+-	{ 0x29, KEY_BLUE },		/* blue key */
+-	{ 0x2e, KEY_GREEN },		/* green button */
+-	{ 0x30, KEY_PAUSE },		/* pause */
+-	{ 0x32, KEY_REWIND },		/* backward << */
+-	{ 0x34, KEY_FASTFORWARD },	/* forward >> */
+-	{ 0x35, KEY_PLAY },
+-	{ 0x36, KEY_STOP },
+-	{ 0x37, KEY_RECORD },		/* recording */
+-	{ 0x38, KEY_YELLOW },		/* yellow key */
+-	{ 0x3b, KEY_SELECT },		/* top right button */
+-	{ 0x3c, KEY_ZOOM },		/* full */
+-	{ 0x3d, KEY_POWER },		/* system power (green button) */
+-};
+-
+-static struct rc_keymap hauppauge_new_map = {
+-	.map = {
+-		.scan    = hauppauge_new,
+-		.size    = ARRAY_SIZE(hauppauge_new),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_HAUPPAUGE_NEW,
+-	}
+-};
+-
+-static int __init init_rc_map_hauppauge_new(void)
+-{
+-	return ir_register_map(&hauppauge_new_map);
+-}
+-
+-static void __exit exit_rc_map_hauppauge_new(void)
+-{
+-	ir_unregister_map(&hauppauge_new_map);
+-}
+-
+-module_init(init_rc_map_hauppauge_new)
+-module_exit(exit_rc_map_hauppauge_new)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-imon-mce.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-imon-mce.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-imon-mce.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-imon-mce.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,142 +0,0 @@
+-/* rc5-imon-mce.c - Keytable for Windows Media Center RC-6 remotes for use
+- * with the SoundGraph iMON/Antec Veris hardware IR decoder
+- *
+- * Copyright (c) 2010 by Jarod Wilson <jarod at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/* mce-mode imon mce remote key table */
+-static struct ir_scancode imon_mce[] = {
+-	/* keys sorted mostly by frequency of use to optimize lookups */
+-	{ 0x800ff415, KEY_REWIND },
+-	{ 0x800ff414, KEY_FASTFORWARD },
+-	{ 0x800ff41b, KEY_PREVIOUS },
+-	{ 0x800ff41a, KEY_NEXT },
+-
+-	{ 0x800ff416, KEY_PLAY },
+-	{ 0x800ff418, KEY_PAUSE },
+-	{ 0x800ff419, KEY_STOP },
+-	{ 0x800ff417, KEY_RECORD },
+-
+-	{ 0x02000052, KEY_UP },
+-	{ 0x02000051, KEY_DOWN },
+-	{ 0x02000050, KEY_LEFT },
+-	{ 0x0200004f, KEY_RIGHT },
+-
+-	{ 0x800ff41e, KEY_UP },
+-	{ 0x800ff41f, KEY_DOWN },
+-	{ 0x800ff420, KEY_LEFT },
+-	{ 0x800ff421, KEY_RIGHT },
+-
+-	/* 0x800ff40b also KEY_NUMERIC_POUND on some receivers */
+-	{ 0x800ff40b, KEY_ENTER },
+-	{ 0x02000028, KEY_ENTER },
+-/* the OK and Enter buttons decode to the same value on some remotes
+-	{ 0x02000028, KEY_OK }, */
+-	{ 0x800ff422, KEY_OK },
+-	{ 0x0200002a, KEY_EXIT },
+-	{ 0x800ff423, KEY_EXIT },
+-	{ 0x02000029, KEY_DELETE },
+-	/* 0x800ff40a also KEY_NUMERIC_STAR on some receivers */
+-	{ 0x800ff40a, KEY_DELETE },
+-
+-	{ 0x800ff40e, KEY_MUTE },
+-	{ 0x800ff410, KEY_VOLUMEUP },
+-	{ 0x800ff411, KEY_VOLUMEDOWN },
+-	{ 0x800ff412, KEY_CHANNELUP },
+-	{ 0x800ff413, KEY_CHANNELDOWN },
+-
+-	{ 0x0200001e, KEY_NUMERIC_1 },
+-	{ 0x0200001f, KEY_NUMERIC_2 },
+-	{ 0x02000020, KEY_NUMERIC_3 },
+-	{ 0x02000021, KEY_NUMERIC_4 },
+-	{ 0x02000022, KEY_NUMERIC_5 },
+-	{ 0x02000023, KEY_NUMERIC_6 },
+-	{ 0x02000024, KEY_NUMERIC_7 },
+-	{ 0x02000025, KEY_NUMERIC_8 },
+-	{ 0x02000026, KEY_NUMERIC_9 },
+-	{ 0x02000027, KEY_NUMERIC_0 },
+-
+-	{ 0x800ff401, KEY_NUMERIC_1 },
+-	{ 0x800ff402, KEY_NUMERIC_2 },
+-	{ 0x800ff403, KEY_NUMERIC_3 },
+-	{ 0x800ff404, KEY_NUMERIC_4 },
+-	{ 0x800ff405, KEY_NUMERIC_5 },
+-	{ 0x800ff406, KEY_NUMERIC_6 },
+-	{ 0x800ff407, KEY_NUMERIC_7 },
+-	{ 0x800ff408, KEY_NUMERIC_8 },
+-	{ 0x800ff409, KEY_NUMERIC_9 },
+-	{ 0x800ff400, KEY_NUMERIC_0 },
+-
+-	{ 0x02200025, KEY_NUMERIC_STAR },
+-	{ 0x02200020, KEY_NUMERIC_POUND },
+-	/* 0x800ff41d also KEY_BLUE on some receivers */
+-	{ 0x800ff41d, KEY_NUMERIC_STAR },
+-	/* 0x800ff41c also KEY_PREVIOUS on some receivers */
+-	{ 0x800ff41c, KEY_NUMERIC_POUND },
+-
+-	{ 0x800ff446, KEY_TV },
+-	{ 0x800ff447, KEY_AUDIO }, /* My Music */
+-	{ 0x800ff448, KEY_PVR }, /* RecordedTV */
+-	{ 0x800ff449, KEY_CAMERA },
+-	{ 0x800ff44a, KEY_VIDEO },
+-	/* 0x800ff424 also KEY_MENU on some receivers */
+-	{ 0x800ff424, KEY_DVD },
+-	/* 0x800ff425 also KEY_GREEN on some receivers */
+-	{ 0x800ff425, KEY_TUNER }, /* LiveTV */
+-	{ 0x800ff450, KEY_RADIO },
+-
+-	{ 0x800ff44c, KEY_LANGUAGE },
+-	{ 0x800ff427, KEY_ZOOM }, /* Aspect */
+-
+-	{ 0x800ff45b, KEY_RED },
+-	{ 0x800ff45c, KEY_GREEN },
+-	{ 0x800ff45d, KEY_YELLOW },
+-	{ 0x800ff45e, KEY_BLUE },
+-
+-	{ 0x800ff466, KEY_RED },
+-	/* { 0x800ff425, KEY_GREEN }, */
+-	{ 0x800ff468, KEY_YELLOW },
+-	/* { 0x800ff41d, KEY_BLUE }, */
+-
+-	{ 0x800ff40f, KEY_INFO },
+-	{ 0x800ff426, KEY_EPG }, /* Guide */
+-	{ 0x800ff45a, KEY_SUBTITLE }, /* Caption/Teletext */
+-	{ 0x800ff44d, KEY_TITLE },
+-
+-	{ 0x800ff40c, KEY_POWER },
+-	{ 0x800ff40d, KEY_PROG1 }, /* Windows MCE button */
+-
+-};
+-
+-static struct rc_keymap imon_mce_map = {
+-	.map = {
+-		.scan    = imon_mce,
+-		.size    = ARRAY_SIZE(imon_mce),
+-		/* its RC6, but w/a hardware decoder */
+-		.ir_type = IR_TYPE_RC6,
+-		.name    = RC_MAP_IMON_MCE,
+-	}
+-};
+-
+-static int __init init_rc_map_imon_mce(void)
+-{
+-	return ir_register_map(&imon_mce_map);
+-}
+-
+-static void __exit exit_rc_map_imon_mce(void)
+-{
+-	ir_unregister_map(&imon_mce_map);
+-}
+-
+-module_init(init_rc_map_imon_mce)
+-module_exit(exit_rc_map_imon_mce)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Jarod Wilson <jarod at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-imon-pad.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-imon-pad.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-imon-pad.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-imon-pad.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,156 +0,0 @@
+-/* rc5-imon-pad.c - Keytable for SoundGraph iMON PAD and Antec Veris
+- * RM-200 Remote Control
+- *
+- * Copyright (c) 2010 by Jarod Wilson <jarod at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/*
+- * standard imon remote key table, which isn't really entirely
+- * "standard", as different receivers decode the same key on the
+- * same remote to different hex codes, and the silkscreened names
+- * vary a bit between the SoundGraph and Antec remotes... ugh.
+- */
+-static struct ir_scancode imon_pad[] = {
+-	/* keys sorted mostly by frequency of use to optimize lookups */
+-	{ 0x2a8195b7, KEY_REWIND },
+-	{ 0x298315b7, KEY_REWIND },
+-	{ 0x2b8115b7, KEY_FASTFORWARD },
+-	{ 0x2b8315b7, KEY_FASTFORWARD },
+-	{ 0x2b9115b7, KEY_PREVIOUS },
+-	{ 0x298195b7, KEY_NEXT },
+-
+-	{ 0x2a8115b7, KEY_PLAY },
+-	{ 0x2a8315b7, KEY_PLAY },
+-	{ 0x2a9115b7, KEY_PAUSE },
+-	{ 0x2b9715b7, KEY_STOP },
+-	{ 0x298115b7, KEY_RECORD },
+-
+-	{ 0x01008000, KEY_UP },
+-	{ 0x01007f00, KEY_DOWN },
+-	{ 0x01000080, KEY_LEFT },
+-	{ 0x0100007f, KEY_RIGHT },
+-
+-	{ 0x2aa515b7, KEY_UP },
+-	{ 0x289515b7, KEY_DOWN },
+-	{ 0x29a515b7, KEY_LEFT },
+-	{ 0x2ba515b7, KEY_RIGHT },
+-
+-	{ 0x0200002c, KEY_SPACE }, /* Select/Space */
+-	{ 0x2a9315b7, KEY_SPACE }, /* Select/Space */
+-	{ 0x02000028, KEY_ENTER },
+-	{ 0x28a195b7, KEY_ENTER },
+-	{ 0x288195b7, KEY_EXIT },
+-	{ 0x02000029, KEY_ESC },
+-	{ 0x2bb715b7, KEY_ESC },
+-	{ 0x0200002a, KEY_BACKSPACE },
+-	{ 0x28a115b7, KEY_BACKSPACE },
+-
+-	{ 0x2b9595b7, KEY_MUTE },
+-	{ 0x28a395b7, KEY_VOLUMEUP },
+-	{ 0x28a595b7, KEY_VOLUMEDOWN },
+-	{ 0x289395b7, KEY_CHANNELUP },
+-	{ 0x288795b7, KEY_CHANNELDOWN },
+-
+-	{ 0x0200001e, KEY_NUMERIC_1 },
+-	{ 0x0200001f, KEY_NUMERIC_2 },
+-	{ 0x02000020, KEY_NUMERIC_3 },
+-	{ 0x02000021, KEY_NUMERIC_4 },
+-	{ 0x02000022, KEY_NUMERIC_5 },
+-	{ 0x02000023, KEY_NUMERIC_6 },
+-	{ 0x02000024, KEY_NUMERIC_7 },
+-	{ 0x02000025, KEY_NUMERIC_8 },
+-	{ 0x02000026, KEY_NUMERIC_9 },
+-	{ 0x02000027, KEY_NUMERIC_0 },
+-
+-	{ 0x28b595b7, KEY_NUMERIC_1 },
+-	{ 0x2bb195b7, KEY_NUMERIC_2 },
+-	{ 0x28b195b7, KEY_NUMERIC_3 },
+-	{ 0x2a8595b7, KEY_NUMERIC_4 },
+-	{ 0x299595b7, KEY_NUMERIC_5 },
+-	{ 0x2aa595b7, KEY_NUMERIC_6 },
+-	{ 0x2b9395b7, KEY_NUMERIC_7 },
+-	{ 0x2a8515b7, KEY_NUMERIC_8 },
+-	{ 0x2aa115b7, KEY_NUMERIC_9 },
+-	{ 0x2ba595b7, KEY_NUMERIC_0 },
+-
+-	{ 0x02200025, KEY_NUMERIC_STAR },
+-	{ 0x28b515b7, KEY_NUMERIC_STAR },
+-	{ 0x02200020, KEY_NUMERIC_POUND },
+-	{ 0x29a115b7, KEY_NUMERIC_POUND },
+-
+-	{ 0x2b8515b7, KEY_VIDEO },
+-	{ 0x299195b7, KEY_AUDIO },
+-	{ 0x2ba115b7, KEY_CAMERA },
+-	{ 0x28a515b7, KEY_TV },
+-	{ 0x29a395b7, KEY_DVD },
+-	{ 0x29a295b7, KEY_DVD },
+-
+-	/* the Menu key between DVD and Subtitle on the RM-200... */
+-	{ 0x2ba385b7, KEY_MENU },
+-	{ 0x2ba395b7, KEY_MENU },
+-
+-	{ 0x288515b7, KEY_BOOKMARKS },
+-	{ 0x2ab715b7, KEY_MEDIA }, /* Thumbnail */
+-	{ 0x298595b7, KEY_SUBTITLE },
+-	{ 0x2b8595b7, KEY_LANGUAGE },
+-
+-	{ 0x29a595b7, KEY_ZOOM },
+-	{ 0x2aa395b7, KEY_SCREEN }, /* FullScreen */
+-
+-	{ 0x299115b7, KEY_KEYBOARD },
+-	{ 0x299135b7, KEY_KEYBOARD },
+-
+-	{ 0x01010000, BTN_LEFT },
+-	{ 0x01020000, BTN_RIGHT },
+-	{ 0x01010080, BTN_LEFT },
+-	{ 0x01020080, BTN_RIGHT },
+-	{ 0x688301b7, BTN_LEFT },
+-	{ 0x688481b7, BTN_RIGHT },
+-
+-	{ 0x2a9395b7, KEY_CYCLEWINDOWS }, /* TaskSwitcher */
+-	{ 0x2b8395b7, KEY_TIME }, /* Timer */
+-
+-	{ 0x289115b7, KEY_POWER },
+-	{ 0x29b195b7, KEY_EJECTCD }, /* the one next to play */
+-	{ 0x299395b7, KEY_EJECTCLOSECD }, /* eject (by TaskSw) */
+-
+-	{ 0x02800000, KEY_CONTEXT_MENU }, /* Left Menu */
+-	{ 0x2b8195b7, KEY_CONTEXT_MENU }, /* Left Menu*/
+-	{ 0x02000065, KEY_COMPOSE }, /* RightMenu */
+-	{ 0x28b715b7, KEY_COMPOSE }, /* RightMenu */
+-	{ 0x2ab195b7, KEY_PROG1 }, /* Go or MultiMon */
+-	{ 0x29b715b7, KEY_DASHBOARD }, /* AppLauncher */
+-};
+-
+-static struct rc_keymap imon_pad_map = {
+-	.map = {
+-		.scan    = imon_pad,
+-		.size    = ARRAY_SIZE(imon_pad),
+-		/* actual protocol details unknown, hardware decoder */
+-		.ir_type = IR_TYPE_OTHER,
+-		.name    = RC_MAP_IMON_PAD,
+-	}
+-};
+-
+-static int __init init_rc_map_imon_pad(void)
+-{
+-	return ir_register_map(&imon_pad_map);
+-}
+-
+-static void __exit exit_rc_map_imon_pad(void)
+-{
+-	ir_unregister_map(&imon_pad_map);
+-}
+-
+-module_init(init_rc_map_imon_pad)
+-module_exit(exit_rc_map_imon_pad)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Jarod Wilson <jarod at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-iodata-bctv7e.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-iodata-bctv7e.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-iodata-bctv7e.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-iodata-bctv7e.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,88 +0,0 @@
+-/* iodata-bctv7e.h - Keytable for iodata_bctv7e Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/* IO-DATA BCTV7E Remote */
+-
+-static struct ir_scancode iodata_bctv7e[] = {
+-	{ 0x40, KEY_TV },
+-	{ 0x20, KEY_RADIO },		/* FM */
+-	{ 0x60, KEY_EPG },
+-	{ 0x00, KEY_POWER },
+-
+-	/* Keys 0 to 9 */
+-	{ 0x44, KEY_0 },		/* 10 */
+-	{ 0x50, KEY_1 },
+-	{ 0x30, KEY_2 },
+-	{ 0x70, KEY_3 },
+-	{ 0x48, KEY_4 },
+-	{ 0x28, KEY_5 },
+-	{ 0x68, KEY_6 },
+-	{ 0x58, KEY_7 },
+-	{ 0x38, KEY_8 },
+-	{ 0x78, KEY_9 },
+-
+-	{ 0x10, KEY_L },		/* Live */
+-	{ 0x08, KEY_TIME },		/* Time Shift */
+-
+-	{ 0x18, KEY_PLAYPAUSE },	/* Play */
+-
+-	{ 0x24, KEY_ENTER },		/* 11 */
+-	{ 0x64, KEY_ESC },		/* 12 */
+-	{ 0x04, KEY_M },		/* Multi */
+-
+-	{ 0x54, KEY_VIDEO },
+-	{ 0x34, KEY_CHANNELUP },
+-	{ 0x74, KEY_VOLUMEUP },
+-	{ 0x14, KEY_MUTE },
+-
+-	{ 0x4c, KEY_VCR },		/* SVIDEO */
+-	{ 0x2c, KEY_CHANNELDOWN },
+-	{ 0x6c, KEY_VOLUMEDOWN },
+-	{ 0x0c, KEY_ZOOM },
+-
+-	{ 0x5c, KEY_PAUSE },
+-	{ 0x3c, KEY_RED },		/* || (red) */
+-	{ 0x7c, KEY_RECORD },		/* recording */
+-	{ 0x1c, KEY_STOP },
+-
+-	{ 0x41, KEY_REWIND },		/* backward << */
+-	{ 0x21, KEY_PLAY },
+-	{ 0x61, KEY_FASTFORWARD },	/* forward >> */
+-	{ 0x01, KEY_NEXT },		/* skip >| */
+-};
+-
+-static struct rc_keymap iodata_bctv7e_map = {
+-	.map = {
+-		.scan    = iodata_bctv7e,
+-		.size    = ARRAY_SIZE(iodata_bctv7e),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_IODATA_BCTV7E,
+-	}
+-};
+-
+-static int __init init_rc_map_iodata_bctv7e(void)
+-{
+-	return ir_register_map(&iodata_bctv7e_map);
+-}
+-
+-static void __exit exit_rc_map_iodata_bctv7e(void)
+-{
+-	ir_unregister_map(&iodata_bctv7e_map);
+-}
+-
+-module_init(init_rc_map_iodata_bctv7e)
+-module_exit(exit_rc_map_iodata_bctv7e)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-kaiomy.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-kaiomy.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-kaiomy.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-kaiomy.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,87 +0,0 @@
+-/* kaiomy.h - Keytable for kaiomy Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/* Kaiomy TVnPC U2
+-   Mauro Carvalho Chehab <mchehab at infradead.org>
+- */
+-
+-static struct ir_scancode kaiomy[] = {
+-	{ 0x43, KEY_POWER2},
+-	{ 0x01, KEY_LIST},
+-	{ 0x0b, KEY_ZOOM},
+-	{ 0x03, KEY_POWER},
+-
+-	{ 0x04, KEY_1},
+-	{ 0x08, KEY_2},
+-	{ 0x02, KEY_3},
+-
+-	{ 0x0f, KEY_4},
+-	{ 0x05, KEY_5},
+-	{ 0x06, KEY_6},
+-
+-	{ 0x0c, KEY_7},
+-	{ 0x0d, KEY_8},
+-	{ 0x0a, KEY_9},
+-
+-	{ 0x11, KEY_0},
+-
+-	{ 0x09, KEY_CHANNELUP},
+-	{ 0x07, KEY_CHANNELDOWN},
+-
+-	{ 0x0e, KEY_VOLUMEUP},
+-	{ 0x13, KEY_VOLUMEDOWN},
+-
+-	{ 0x10, KEY_HOME},
+-	{ 0x12, KEY_ENTER},
+-
+-	{ 0x14, KEY_RECORD},
+-	{ 0x15, KEY_STOP},
+-	{ 0x16, KEY_PLAY},
+-	{ 0x17, KEY_MUTE},
+-
+-	{ 0x18, KEY_UP},
+-	{ 0x19, KEY_DOWN},
+-	{ 0x1a, KEY_LEFT},
+-	{ 0x1b, KEY_RIGHT},
+-
+-	{ 0x1c, KEY_RED},
+-	{ 0x1d, KEY_GREEN},
+-	{ 0x1e, KEY_YELLOW},
+-	{ 0x1f, KEY_BLUE},
+-};
+-
+-static struct rc_keymap kaiomy_map = {
+-	.map = {
+-		.scan    = kaiomy,
+-		.size    = ARRAY_SIZE(kaiomy),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_KAIOMY,
+-	}
+-};
+-
+-static int __init init_rc_map_kaiomy(void)
+-{
+-	return ir_register_map(&kaiomy_map);
+-}
+-
+-static void __exit exit_rc_map_kaiomy(void)
+-{
+-	ir_unregister_map(&kaiomy_map);
+-}
+-
+-module_init(init_rc_map_kaiomy)
+-module_exit(exit_rc_map_kaiomy)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-kworld-315u.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-kworld-315u.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-kworld-315u.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-kworld-315u.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,83 +0,0 @@
+-/* kworld-315u.h - Keytable for kworld_315u Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/* Kworld 315U
+- */
+-
+-static struct ir_scancode kworld_315u[] = {
+-	{ 0x6143, KEY_POWER },
+-	{ 0x6101, KEY_TUNER },		/* source */
+-	{ 0x610b, KEY_ZOOM },
+-	{ 0x6103, KEY_POWER2 },		/* shutdown */
+-
+-	{ 0x6104, KEY_1 },
+-	{ 0x6108, KEY_2 },
+-	{ 0x6102, KEY_3 },
+-	{ 0x6109, KEY_CHANNELUP },
+-
+-	{ 0x610f, KEY_4 },
+-	{ 0x6105, KEY_5 },
+-	{ 0x6106, KEY_6 },
+-	{ 0x6107, KEY_CHANNELDOWN },
+-
+-	{ 0x610c, KEY_7 },
+-	{ 0x610d, KEY_8 },
+-	{ 0x610a, KEY_9 },
+-	{ 0x610e, KEY_VOLUMEUP },
+-
+-	{ 0x6110, KEY_LAST },
+-	{ 0x6111, KEY_0 },
+-	{ 0x6112, KEY_ENTER },
+-	{ 0x6113, KEY_VOLUMEDOWN },
+-
+-	{ 0x6114, KEY_RECORD },
+-	{ 0x6115, KEY_STOP },
+-	{ 0x6116, KEY_PLAY },
+-	{ 0x6117, KEY_MUTE },
+-
+-	{ 0x6118, KEY_UP },
+-	{ 0x6119, KEY_DOWN },
+-	{ 0x611a, KEY_LEFT },
+-	{ 0x611b, KEY_RIGHT },
+-
+-	{ 0x611c, KEY_RED },
+-	{ 0x611d, KEY_GREEN },
+-	{ 0x611e, KEY_YELLOW },
+-	{ 0x611f, KEY_BLUE },
+-};
+-
+-static struct rc_keymap kworld_315u_map = {
+-	.map = {
+-		.scan    = kworld_315u,
+-		.size    = ARRAY_SIZE(kworld_315u),
+-		.ir_type = IR_TYPE_NEC,
+-		.name    = RC_MAP_KWORLD_315U,
+-	}
+-};
+-
+-static int __init init_rc_map_kworld_315u(void)
+-{
+-	return ir_register_map(&kworld_315u_map);
+-}
+-
+-static void __exit exit_rc_map_kworld_315u(void)
+-{
+-	ir_unregister_map(&kworld_315u_map);
+-}
+-
+-module_init(init_rc_map_kworld_315u)
+-module_exit(exit_rc_map_kworld_315u)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-kworld-plus-tv-analog.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-kworld-plus-tv-analog.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-kworld-plus-tv-analog.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-kworld-plus-tv-analog.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,99 +0,0 @@
+-/* kworld-plus-tv-analog.h - Keytable for kworld_plus_tv_analog Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/* Kworld Plus TV Analog Lite PCI IR
+-   Mauro Carvalho Chehab <mchehab at infradead.org>
+- */
+-
+-static struct ir_scancode kworld_plus_tv_analog[] = {
+-	{ 0x0c, KEY_PROG1 },		/* Kworld key */
+-	{ 0x16, KEY_CLOSECD },		/* -> ) */
+-	{ 0x1d, KEY_POWER2 },
+-
+-	{ 0x00, KEY_1 },
+-	{ 0x01, KEY_2 },
+-	{ 0x02, KEY_3 },		/* Two keys have the same code: 3 and left */
+-	{ 0x03, KEY_4 },		/* Two keys have the same code: 3 and right */
+-	{ 0x04, KEY_5 },
+-	{ 0x05, KEY_6 },
+-	{ 0x06, KEY_7 },
+-	{ 0x07, KEY_8 },
+-	{ 0x08, KEY_9 },
+-	{ 0x0a, KEY_0 },
+-
+-	{ 0x09, KEY_AGAIN },
+-	{ 0x14, KEY_MUTE },
+-
+-	{ 0x20, KEY_UP },
+-	{ 0x21, KEY_DOWN },
+-	{ 0x0b, KEY_ENTER },
+-
+-	{ 0x10, KEY_CHANNELUP },
+-	{ 0x11, KEY_CHANNELDOWN },
+-
+-	/* Couldn't map key left/key right since those
+-	   conflict with '3' and '4' scancodes
+-	   I dunno what the original driver does
+-	 */
+-
+-	{ 0x13, KEY_VOLUMEUP },
+-	{ 0x12, KEY_VOLUMEDOWN },
+-
+-	/* The lower part of the IR
+-	   There are several duplicated keycodes there.
+-	   Most of them conflict with digits.
+-	   Add mappings just to the unused scancodes.
+-	   Somehow, the original driver has a way to know,
+-	   but this doesn't seem to be on some GPIO.
+-	   Also, it is not related to the time between keyup
+-	   and keydown.
+-	 */
+-	{ 0x19, KEY_TIME},		/* Timeshift */
+-	{ 0x1a, KEY_STOP},
+-	{ 0x1b, KEY_RECORD},
+-
+-	{ 0x22, KEY_TEXT},
+-
+-	{ 0x15, KEY_AUDIO},		/* ((*)) */
+-	{ 0x0f, KEY_ZOOM},
+-	{ 0x1c, KEY_CAMERA},		/* snapshot */
+-
+-	{ 0x18, KEY_RED},		/* B */
+-	{ 0x23, KEY_GREEN},		/* C */
+-};
+-
+-static struct rc_keymap kworld_plus_tv_analog_map = {
+-	.map = {
+-		.scan    = kworld_plus_tv_analog,
+-		.size    = ARRAY_SIZE(kworld_plus_tv_analog),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_KWORLD_PLUS_TV_ANALOG,
+-	}
+-};
+-
+-static int __init init_rc_map_kworld_plus_tv_analog(void)
+-{
+-	return ir_register_map(&kworld_plus_tv_analog_map);
+-}
+-
+-static void __exit exit_rc_map_kworld_plus_tv_analog(void)
+-{
+-	ir_unregister_map(&kworld_plus_tv_analog_map);
+-}
+-
+-module_init(init_rc_map_kworld_plus_tv_analog)
+-module_exit(exit_rc_map_kworld_plus_tv_analog)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-manli.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-manli.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-manli.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-manli.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,135 +0,0 @@
+-/* manli.h - Keytable for manli Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/* Michael Tokarev <mjt at tls.msk.ru>
+-   http://www.corpit.ru/mjt/beholdTV/remote_control.jpg
+-   keytable is used by MANLI MTV00[0x0c] and BeholdTV 40[13] at
+-   least, and probably other cards too.
+-   The "ascii-art picture" below (in comments, first row
+-   is the keycode in hex, and subsequent row(s) shows
+-   the button labels (several variants when appropriate)
+-   helps to descide which keycodes to assign to the buttons.
+- */
+-
+-static struct ir_scancode manli[] = {
+-
+-	/*  0x1c            0x12  *
+-	 * FUNCTION         POWER *
+-	 *   FM              (|)  *
+-	 *                        */
+-	{ 0x1c, KEY_RADIO },	/*XXX*/
+-	{ 0x12, KEY_POWER },
+-
+-	/*  0x01    0x02    0x03  *
+-	 *   1       2       3    *
+-	 *                        *
+-	 *  0x04    0x05    0x06  *
+-	 *   4       5       6    *
+-	 *                        *
+-	 *  0x07    0x08    0x09  *
+-	 *   7       8       9    *
+-	 *                        */
+-	{ 0x01, KEY_1 },
+-	{ 0x02, KEY_2 },
+-	{ 0x03, KEY_3 },
+-	{ 0x04, KEY_4 },
+-	{ 0x05, KEY_5 },
+-	{ 0x06, KEY_6 },
+-	{ 0x07, KEY_7 },
+-	{ 0x08, KEY_8 },
+-	{ 0x09, KEY_9 },
+-
+-	/*  0x0a    0x00    0x17  *
+-	 * RECALL    0      +100  *
+-	 *                  PLUS  *
+-	 *                        */
+-	{ 0x0a, KEY_AGAIN },	/*XXX KEY_REWIND? */
+-	{ 0x00, KEY_0 },
+-	{ 0x17, KEY_DIGITS },	/*XXX*/
+-
+-	/*  0x14            0x10  *
+-	 *  MENU            INFO  *
+-	 *  OSD                   */
+-	{ 0x14, KEY_MENU },
+-	{ 0x10, KEY_INFO },
+-
+-	/*          0x0b          *
+-	 *           Up           *
+-	 *                        *
+-	 *  0x18    0x16    0x0c  *
+-	 *  Left     Ok     Right *
+-	 *                        *
+-	 *         0x015          *
+-	 *         Down           *
+-	 *                        */
+-	{ 0x0b, KEY_UP },
+-	{ 0x18, KEY_LEFT },
+-	{ 0x16, KEY_OK },	/*XXX KEY_SELECT? KEY_ENTER? */
+-	{ 0x0c, KEY_RIGHT },
+-	{ 0x15, KEY_DOWN },
+-
+-	/*  0x11            0x0d  *
+-	 *  TV/AV           MODE  *
+-	 *  SOURCE         STEREO *
+-	 *                        */
+-	{ 0x11, KEY_TV },	/*XXX*/
+-	{ 0x0d, KEY_MODE },	/*XXX there's no KEY_STEREO	*/
+-
+-	/*  0x0f    0x1b    0x1a  *
+-	 *  AUDIO   Vol+    Chan+ *
+-	 *        TIMESHIFT???    *
+-	 *                        *
+-	 *  0x0e    0x1f    0x1e  *
+-	 *  SLEEP   Vol-    Chan- *
+-	 *                        */
+-	{ 0x0f, KEY_AUDIO },
+-	{ 0x1b, KEY_VOLUMEUP },
+-	{ 0x1a, KEY_CHANNELUP },
+-	{ 0x0e, KEY_TIME },
+-	{ 0x1f, KEY_VOLUMEDOWN },
+-	{ 0x1e, KEY_CHANNELDOWN },
+-
+-	/*         0x13     0x19  *
+-	 *         MUTE   SNAPSHOT*
+-	 *                        */
+-	{ 0x13, KEY_MUTE },
+-	{ 0x19, KEY_CAMERA },
+-
+-	/* 0x1d unused ? */
+-};
+-
+-static struct rc_keymap manli_map = {
+-	.map = {
+-		.scan    = manli,
+-		.size    = ARRAY_SIZE(manli),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_MANLI,
+-	}
+-};
+-
+-static int __init init_rc_map_manli(void)
+-{
+-	return ir_register_map(&manli_map);
+-}
+-
+-static void __exit exit_rc_map_manli(void)
+-{
+-	ir_unregister_map(&manli_map);
+-}
+-
+-module_init(init_rc_map_manli)
+-module_exit(exit_rc_map_manli)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-msi-tvanywhere.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-msi-tvanywhere.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-msi-tvanywhere.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-msi-tvanywhere.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,69 +0,0 @@
+-/* msi-tvanywhere.h - Keytable for msi_tvanywhere Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/* MSI TV at nywhere MASTER remote */
+-
+-static struct ir_scancode msi_tvanywhere[] = {
+-	/* Keys 0 to 9 */
+-	{ 0x00, KEY_0 },
+-	{ 0x01, KEY_1 },
+-	{ 0x02, KEY_2 },
+-	{ 0x03, KEY_3 },
+-	{ 0x04, KEY_4 },
+-	{ 0x05, KEY_5 },
+-	{ 0x06, KEY_6 },
+-	{ 0x07, KEY_7 },
+-	{ 0x08, KEY_8 },
+-	{ 0x09, KEY_9 },
+-
+-	{ 0x0c, KEY_MUTE },
+-	{ 0x0f, KEY_SCREEN },		/* Full Screen */
+-	{ 0x10, KEY_FN },		/* Funtion */
+-	{ 0x11, KEY_TIME },		/* Time shift */
+-	{ 0x12, KEY_POWER },
+-	{ 0x13, KEY_MEDIA },		/* MTS */
+-	{ 0x14, KEY_SLOW },
+-	{ 0x16, KEY_REWIND },		/* backward << */
+-	{ 0x17, KEY_ENTER },		/* Return */
+-	{ 0x18, KEY_FASTFORWARD },	/* forward >> */
+-	{ 0x1a, KEY_CHANNELUP },
+-	{ 0x1b, KEY_VOLUMEUP },
+-	{ 0x1e, KEY_CHANNELDOWN },
+-	{ 0x1f, KEY_VOLUMEDOWN },
+-};
+-
+-static struct rc_keymap msi_tvanywhere_map = {
+-	.map = {
+-		.scan    = msi_tvanywhere,
+-		.size    = ARRAY_SIZE(msi_tvanywhere),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_MSI_TVANYWHERE,
+-	}
+-};
+-
+-static int __init init_rc_map_msi_tvanywhere(void)
+-{
+-	return ir_register_map(&msi_tvanywhere_map);
+-}
+-
+-static void __exit exit_rc_map_msi_tvanywhere(void)
+-{
+-	ir_unregister_map(&msi_tvanywhere_map);
+-}
+-
+-module_init(init_rc_map_msi_tvanywhere)
+-module_exit(exit_rc_map_msi_tvanywhere)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-msi-tvanywhere-plus.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-msi-tvanywhere-plus.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-msi-tvanywhere-plus.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-msi-tvanywhere-plus.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,123 +0,0 @@
+-/* msi-tvanywhere-plus.h - Keytable for msi_tvanywhere_plus Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/*
+-  Keycodes for remote on the MSI TV at nywhere Plus. The controller IC on the card
+-  is marked "KS003". The controller is I2C at address 0x30, but does not seem
+-  to respond to probes until a read is performed from a valid device.
+-  I don't know why...
+-
+-  Note: This remote may be of similar or identical design to the
+-  Pixelview remote (?).  The raw codes and duplicate button codes
+-  appear to be the same.
+-
+-  Henry Wong <henry at stuffedcow.net>
+-  Some changes to formatting and keycodes by Mark Schultz <n9xmj at yahoo.com>
+-*/
+-
+-static struct ir_scancode msi_tvanywhere_plus[] = {
+-
+-/*  ---- Remote Button Layout ----
+-
+-    POWER   SOURCE  SCAN    MUTE
+-    TV/FM   1       2       3
+-    |>      4       5       6
+-    <|      7       8       9
+-    ^^UP    0       +       RECALL
+-    vvDN    RECORD  STOP    PLAY
+-
+-	MINIMIZE          ZOOM
+-
+-		  CH+
+-      VOL-                   VOL+
+-		  CH-
+-
+-	SNAPSHOT           MTS
+-
+-     <<      FUNC    >>     RESET
+-*/
+-
+-	{ 0x01, KEY_1 },		/* 1 */
+-	{ 0x0b, KEY_2 },		/* 2 */
+-	{ 0x1b, KEY_3 },		/* 3 */
+-	{ 0x05, KEY_4 },		/* 4 */
+-	{ 0x09, KEY_5 },		/* 5 */
+-	{ 0x15, KEY_6 },		/* 6 */
+-	{ 0x06, KEY_7 },		/* 7 */
+-	{ 0x0a, KEY_8 },		/* 8 */
+-	{ 0x12, KEY_9 },		/* 9 */
+-	{ 0x02, KEY_0 },		/* 0 */
+-	{ 0x10, KEY_KPPLUS },		/* + */
+-	{ 0x13, KEY_AGAIN },		/* Recall */
+-
+-	{ 0x1e, KEY_POWER },		/* Power */
+-	{ 0x07, KEY_TUNER },		/* Source */
+-	{ 0x1c, KEY_SEARCH },		/* Scan */
+-	{ 0x18, KEY_MUTE },		/* Mute */
+-
+-	{ 0x03, KEY_RADIO },		/* TV/FM */
+-	/* The next four keys are duplicates that appear to send the
+-	   same IR code as Ch+, Ch-, >>, and << .  The raw code assigned
+-	   to them is the actual code + 0x20 - they will never be
+-	   detected as such unless some way is discovered to distinguish
+-	   these buttons from those that have the same code. */
+-	{ 0x3f, KEY_RIGHT },		/* |> and Ch+ */
+-	{ 0x37, KEY_LEFT },		/* <| and Ch- */
+-	{ 0x2c, KEY_UP },		/* ^^Up and >> */
+-	{ 0x24, KEY_DOWN },		/* vvDn and << */
+-
+-	{ 0x00, KEY_RECORD },		/* Record */
+-	{ 0x08, KEY_STOP },		/* Stop */
+-	{ 0x11, KEY_PLAY },		/* Play */
+-
+-	{ 0x0f, KEY_CLOSE },		/* Minimize */
+-	{ 0x19, KEY_ZOOM },		/* Zoom */
+-	{ 0x1a, KEY_CAMERA },		/* Snapshot */
+-	{ 0x0d, KEY_LANGUAGE },		/* MTS */
+-
+-	{ 0x14, KEY_VOLUMEDOWN },	/* Vol- */
+-	{ 0x16, KEY_VOLUMEUP },		/* Vol+ */
+-	{ 0x17, KEY_CHANNELDOWN },	/* Ch- */
+-	{ 0x1f, KEY_CHANNELUP },	/* Ch+ */
+-
+-	{ 0x04, KEY_REWIND },		/* << */
+-	{ 0x0e, KEY_MENU },		/* Function */
+-	{ 0x0c, KEY_FASTFORWARD },	/* >> */
+-	{ 0x1d, KEY_RESTART },		/* Reset */
+-};
+-
+-static struct rc_keymap msi_tvanywhere_plus_map = {
+-	.map = {
+-		.scan    = msi_tvanywhere_plus,
+-		.size    = ARRAY_SIZE(msi_tvanywhere_plus),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_MSI_TVANYWHERE_PLUS,
+-	}
+-};
+-
+-static int __init init_rc_map_msi_tvanywhere_plus(void)
+-{
+-	return ir_register_map(&msi_tvanywhere_plus_map);
+-}
+-
+-static void __exit exit_rc_map_msi_tvanywhere_plus(void)
+-{
+-	ir_unregister_map(&msi_tvanywhere_plus_map);
+-}
+-
+-module_init(init_rc_map_msi_tvanywhere_plus)
+-module_exit(exit_rc_map_msi_tvanywhere_plus)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-nebula.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-nebula.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-nebula.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-nebula.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,96 +0,0 @@
+-/* nebula.h - Keytable for nebula Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-static struct ir_scancode nebula[] = {
+-	{ 0x00, KEY_0 },
+-	{ 0x01, KEY_1 },
+-	{ 0x02, KEY_2 },
+-	{ 0x03, KEY_3 },
+-	{ 0x04, KEY_4 },
+-	{ 0x05, KEY_5 },
+-	{ 0x06, KEY_6 },
+-	{ 0x07, KEY_7 },
+-	{ 0x08, KEY_8 },
+-	{ 0x09, KEY_9 },
+-	{ 0x0a, KEY_TV },
+-	{ 0x0b, KEY_AUX },
+-	{ 0x0c, KEY_DVD },
+-	{ 0x0d, KEY_POWER },
+-	{ 0x0e, KEY_MHP },	/* labelled 'Picture' */
+-	{ 0x0f, KEY_AUDIO },
+-	{ 0x10, KEY_INFO },
+-	{ 0x11, KEY_F13 },	/* 16:9 */
+-	{ 0x12, KEY_F14 },	/* 14:9 */
+-	{ 0x13, KEY_EPG },
+-	{ 0x14, KEY_EXIT },
+-	{ 0x15, KEY_MENU },
+-	{ 0x16, KEY_UP },
+-	{ 0x17, KEY_DOWN },
+-	{ 0x18, KEY_LEFT },
+-	{ 0x19, KEY_RIGHT },
+-	{ 0x1a, KEY_ENTER },
+-	{ 0x1b, KEY_CHANNELUP },
+-	{ 0x1c, KEY_CHANNELDOWN },
+-	{ 0x1d, KEY_VOLUMEUP },
+-	{ 0x1e, KEY_VOLUMEDOWN },
+-	{ 0x1f, KEY_RED },
+-	{ 0x20, KEY_GREEN },
+-	{ 0x21, KEY_YELLOW },
+-	{ 0x22, KEY_BLUE },
+-	{ 0x23, KEY_SUBTITLE },
+-	{ 0x24, KEY_F15 },	/* AD */
+-	{ 0x25, KEY_TEXT },
+-	{ 0x26, KEY_MUTE },
+-	{ 0x27, KEY_REWIND },
+-	{ 0x28, KEY_STOP },
+-	{ 0x29, KEY_PLAY },
+-	{ 0x2a, KEY_FASTFORWARD },
+-	{ 0x2b, KEY_F16 },	/* chapter */
+-	{ 0x2c, KEY_PAUSE },
+-	{ 0x2d, KEY_PLAY },
+-	{ 0x2e, KEY_RECORD },
+-	{ 0x2f, KEY_F17 },	/* picture in picture */
+-	{ 0x30, KEY_KPPLUS },	/* zoom in */
+-	{ 0x31, KEY_KPMINUS },	/* zoom out */
+-	{ 0x32, KEY_F18 },	/* capture */
+-	{ 0x33, KEY_F19 },	/* web */
+-	{ 0x34, KEY_EMAIL },
+-	{ 0x35, KEY_PHONE },
+-	{ 0x36, KEY_PC },
+-};
+-
+-static struct rc_keymap nebula_map = {
+-	.map = {
+-		.scan    = nebula,
+-		.size    = ARRAY_SIZE(nebula),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_NEBULA,
+-	}
+-};
+-
+-static int __init init_rc_map_nebula(void)
+-{
+-	return ir_register_map(&nebula_map);
+-}
+-
+-static void __exit exit_rc_map_nebula(void)
+-{
+-	ir_unregister_map(&nebula_map);
+-}
+-
+-module_init(init_rc_map_nebula)
+-module_exit(exit_rc_map_nebula)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-nec-terratec-cinergy-xs.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-nec-terratec-cinergy-xs.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-nec-terratec-cinergy-xs.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-nec-terratec-cinergy-xs.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,105 +0,0 @@
+-/* nec-terratec-cinergy-xs.h - Keytable for nec_terratec_cinergy_xs Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/* Terratec Cinergy Hybrid T USB XS FM
+-   Mauro Carvalho Chehab <mchehab at redhat.com>
+- */
+-
+-static struct ir_scancode nec_terratec_cinergy_xs[] = {
+-	{ 0x1441, KEY_HOME},
+-	{ 0x1401, KEY_POWER2},
+-
+-	{ 0x1442, KEY_MENU},		/* DVD menu */
+-	{ 0x1443, KEY_SUBTITLE},
+-	{ 0x1444, KEY_TEXT},		/* Teletext */
+-	{ 0x1445, KEY_DELETE},
+-
+-	{ 0x1402, KEY_1},
+-	{ 0x1403, KEY_2},
+-	{ 0x1404, KEY_3},
+-	{ 0x1405, KEY_4},
+-	{ 0x1406, KEY_5},
+-	{ 0x1407, KEY_6},
+-	{ 0x1408, KEY_7},
+-	{ 0x1409, KEY_8},
+-	{ 0x140a, KEY_9},
+-	{ 0x140c, KEY_0},
+-
+-	{ 0x140b, KEY_TUNER},		/* AV */
+-	{ 0x140d, KEY_MODE},		/* A.B */
+-
+-	{ 0x1446, KEY_TV},
+-	{ 0x1447, KEY_DVD},
+-	{ 0x1449, KEY_VIDEO},
+-	{ 0x144a, KEY_RADIO},		/* Music */
+-	{ 0x144b, KEY_CAMERA},		/* PIC */
+-
+-	{ 0x1410, KEY_UP},
+-	{ 0x1411, KEY_LEFT},
+-	{ 0x1412, KEY_OK},
+-	{ 0x1413, KEY_RIGHT},
+-	{ 0x1414, KEY_DOWN},
+-
+-	{ 0x140f, KEY_EPG},
+-	{ 0x1416, KEY_INFO},
+-	{ 0x144d, KEY_BACKSPACE},
+-
+-	{ 0x141c, KEY_VOLUMEUP},
+-	{ 0x141e, KEY_VOLUMEDOWN},
+-
+-	{ 0x144c, KEY_PLAY},
+-	{ 0x141d, KEY_MUTE},
+-
+-	{ 0x141b, KEY_CHANNELUP},
+-	{ 0x141f, KEY_CHANNELDOWN},
+-
+-	{ 0x1417, KEY_RED},
+-	{ 0x1418, KEY_GREEN},
+-	{ 0x1419, KEY_YELLOW},
+-	{ 0x141a, KEY_BLUE},
+-
+-	{ 0x1458, KEY_RECORD},
+-	{ 0x1448, KEY_STOP},
+-	{ 0x1440, KEY_PAUSE},
+-
+-	{ 0x1454, KEY_LAST},
+-	{ 0x144e, KEY_REWIND},
+-	{ 0x144f, KEY_FASTFORWARD},
+-	{ 0x145c, KEY_NEXT},
+-};
+-
+-static struct rc_keymap nec_terratec_cinergy_xs_map = {
+-	.map = {
+-		.scan    = nec_terratec_cinergy_xs,
+-		.size    = ARRAY_SIZE(nec_terratec_cinergy_xs),
+-		.ir_type = IR_TYPE_NEC,
+-		.name    = RC_MAP_NEC_TERRATEC_CINERGY_XS,
+-	}
+-};
+-
+-static int __init init_rc_map_nec_terratec_cinergy_xs(void)
+-{
+-	return ir_register_map(&nec_terratec_cinergy_xs_map);
+-}
+-
+-static void __exit exit_rc_map_nec_terratec_cinergy_xs(void)
+-{
+-	ir_unregister_map(&nec_terratec_cinergy_xs_map);
+-}
+-
+-module_init(init_rc_map_nec_terratec_cinergy_xs)
+-module_exit(exit_rc_map_nec_terratec_cinergy_xs)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-norwood.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-norwood.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-norwood.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-norwood.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,85 +0,0 @@
+-/* norwood.h - Keytable for norwood Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/* Norwood Micro (non-Pro) TV Tuner
+-   By Peter Naulls <peter at chocky.org>
+-   Key comments are the functions given in the manual */
+-
+-static struct ir_scancode norwood[] = {
+-	/* Keys 0 to 9 */
+-	{ 0x20, KEY_0 },
+-	{ 0x21, KEY_1 },
+-	{ 0x22, KEY_2 },
+-	{ 0x23, KEY_3 },
+-	{ 0x24, KEY_4 },
+-	{ 0x25, KEY_5 },
+-	{ 0x26, KEY_6 },
+-	{ 0x27, KEY_7 },
+-	{ 0x28, KEY_8 },
+-	{ 0x29, KEY_9 },
+-
+-	{ 0x78, KEY_TUNER },		/* Video Source        */
+-	{ 0x2c, KEY_EXIT },		/* Open/Close software */
+-	{ 0x2a, KEY_SELECT },		/* 2 Digit Select      */
+-	{ 0x69, KEY_AGAIN },		/* Recall              */
+-
+-	{ 0x32, KEY_BRIGHTNESSUP },	/* Brightness increase */
+-	{ 0x33, KEY_BRIGHTNESSDOWN },	/* Brightness decrease */
+-	{ 0x6b, KEY_KPPLUS },		/* (not named >>>>>)   */
+-	{ 0x6c, KEY_KPMINUS },		/* (not named <<<<<)   */
+-
+-	{ 0x2d, KEY_MUTE },		/* Mute                */
+-	{ 0x30, KEY_VOLUMEUP },		/* Volume up           */
+-	{ 0x31, KEY_VOLUMEDOWN },	/* Volume down         */
+-	{ 0x60, KEY_CHANNELUP },	/* Channel up          */
+-	{ 0x61, KEY_CHANNELDOWN },	/* Channel down        */
+-
+-	{ 0x3f, KEY_RECORD },		/* Record              */
+-	{ 0x37, KEY_PLAY },		/* Play                */
+-	{ 0x36, KEY_PAUSE },		/* Pause               */
+-	{ 0x2b, KEY_STOP },		/* Stop                */
+-	{ 0x67, KEY_FASTFORWARD },	/* Foward              */
+-	{ 0x66, KEY_REWIND },		/* Rewind              */
+-	{ 0x3e, KEY_SEARCH },		/* Auto Scan           */
+-	{ 0x2e, KEY_CAMERA },		/* Capture Video       */
+-	{ 0x6d, KEY_MENU },		/* Show/Hide Control   */
+-	{ 0x2f, KEY_ZOOM },		/* Full Screen         */
+-	{ 0x34, KEY_RADIO },		/* FM                  */
+-	{ 0x65, KEY_POWER },		/* Computer power      */
+-};
+-
+-static struct rc_keymap norwood_map = {
+-	.map = {
+-		.scan    = norwood,
+-		.size    = ARRAY_SIZE(norwood),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_NORWOOD,
+-	}
+-};
+-
+-static int __init init_rc_map_norwood(void)
+-{
+-	return ir_register_map(&norwood_map);
+-}
+-
+-static void __exit exit_rc_map_norwood(void)
+-{
+-	ir_unregister_map(&norwood_map);
+-}
+-
+-module_init(init_rc_map_norwood)
+-module_exit(exit_rc_map_norwood)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-npgtech.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-npgtech.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-npgtech.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-npgtech.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,80 +0,0 @@
+-/* npgtech.h - Keytable for npgtech Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-static struct ir_scancode npgtech[] = {
+-	{ 0x1d, KEY_SWITCHVIDEOMODE },	/* switch inputs */
+-	{ 0x2a, KEY_FRONT },
+-
+-	{ 0x3e, KEY_1 },
+-	{ 0x02, KEY_2 },
+-	{ 0x06, KEY_3 },
+-	{ 0x0a, KEY_4 },
+-	{ 0x0e, KEY_5 },
+-	{ 0x12, KEY_6 },
+-	{ 0x16, KEY_7 },
+-	{ 0x1a, KEY_8 },
+-	{ 0x1e, KEY_9 },
+-	{ 0x3a, KEY_0 },
+-	{ 0x22, KEY_NUMLOCK },		/* -/-- */
+-	{ 0x20, KEY_REFRESH },
+-
+-	{ 0x03, KEY_BRIGHTNESSDOWN },
+-	{ 0x28, KEY_AUDIO },
+-	{ 0x3c, KEY_CHANNELUP },
+-	{ 0x3f, KEY_VOLUMEDOWN },
+-	{ 0x2e, KEY_MUTE },
+-	{ 0x3b, KEY_VOLUMEUP },
+-	{ 0x00, KEY_CHANNELDOWN },
+-	{ 0x07, KEY_BRIGHTNESSUP },
+-	{ 0x2c, KEY_TEXT },
+-
+-	{ 0x37, KEY_RECORD },
+-	{ 0x17, KEY_PLAY },
+-	{ 0x13, KEY_PAUSE },
+-	{ 0x26, KEY_STOP },
+-	{ 0x18, KEY_FASTFORWARD },
+-	{ 0x14, KEY_REWIND },
+-	{ 0x33, KEY_ZOOM },
+-	{ 0x32, KEY_KEYBOARD },
+-	{ 0x30, KEY_GOTO },		/* Pointing arrow */
+-	{ 0x36, KEY_MACRO },		/* Maximize/Minimize (yellow) */
+-	{ 0x0b, KEY_RADIO },
+-	{ 0x10, KEY_POWER },
+-
+-};
+-
+-static struct rc_keymap npgtech_map = {
+-	.map = {
+-		.scan    = npgtech,
+-		.size    = ARRAY_SIZE(npgtech),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_NPGTECH,
+-	}
+-};
+-
+-static int __init init_rc_map_npgtech(void)
+-{
+-	return ir_register_map(&npgtech_map);
+-}
+-
+-static void __exit exit_rc_map_npgtech(void)
+-{
+-	ir_unregister_map(&npgtech_map);
+-}
+-
+-module_init(init_rc_map_npgtech)
+-module_exit(exit_rc_map_npgtech)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-pctv-sedna.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-pctv-sedna.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-pctv-sedna.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-pctv-sedna.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,80 +0,0 @@
+-/* pctv-sedna.h - Keytable for pctv_sedna Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/* Mapping for the 28 key remote control as seen at
+-   http://www.sednacomputer.com/photo/cardbus-tv.jpg
+-   Pavel Mihaylov <bin at bash.info>
+-   Also for the remote bundled with Kozumi KTV-01C card */
+-
+-static struct ir_scancode pctv_sedna[] = {
+-	{ 0x00, KEY_0 },
+-	{ 0x01, KEY_1 },
+-	{ 0x02, KEY_2 },
+-	{ 0x03, KEY_3 },
+-	{ 0x04, KEY_4 },
+-	{ 0x05, KEY_5 },
+-	{ 0x06, KEY_6 },
+-	{ 0x07, KEY_7 },
+-	{ 0x08, KEY_8 },
+-	{ 0x09, KEY_9 },
+-
+-	{ 0x0a, KEY_AGAIN },	/* Recall */
+-	{ 0x0b, KEY_CHANNELUP },
+-	{ 0x0c, KEY_VOLUMEUP },
+-	{ 0x0d, KEY_MODE },	/* Stereo */
+-	{ 0x0e, KEY_STOP },
+-	{ 0x0f, KEY_PREVIOUSSONG },
+-	{ 0x10, KEY_ZOOM },
+-	{ 0x11, KEY_TUNER },	/* Source */
+-	{ 0x12, KEY_POWER },
+-	{ 0x13, KEY_MUTE },
+-	{ 0x15, KEY_CHANNELDOWN },
+-	{ 0x18, KEY_VOLUMEDOWN },
+-	{ 0x19, KEY_CAMERA },	/* Snapshot */
+-	{ 0x1a, KEY_NEXTSONG },
+-	{ 0x1b, KEY_TIME },	/* Time Shift */
+-	{ 0x1c, KEY_RADIO },	/* FM Radio */
+-	{ 0x1d, KEY_RECORD },
+-	{ 0x1e, KEY_PAUSE },
+-	/* additional codes for Kozumi's remote */
+-	{ 0x14, KEY_INFO },	/* OSD */
+-	{ 0x16, KEY_OK },	/* OK */
+-	{ 0x17, KEY_DIGITS },	/* Plus */
+-	{ 0x1f, KEY_PLAY },	/* Play */
+-};
+-
+-static struct rc_keymap pctv_sedna_map = {
+-	.map = {
+-		.scan    = pctv_sedna,
+-		.size    = ARRAY_SIZE(pctv_sedna),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_PCTV_SEDNA,
+-	}
+-};
+-
+-static int __init init_rc_map_pctv_sedna(void)
+-{
+-	return ir_register_map(&pctv_sedna_map);
+-}
+-
+-static void __exit exit_rc_map_pctv_sedna(void)
+-{
+-	ir_unregister_map(&pctv_sedna_map);
+-}
+-
+-module_init(init_rc_map_pctv_sedna)
+-module_exit(exit_rc_map_pctv_sedna)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-pinnacle-color.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-pinnacle-color.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-pinnacle-color.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-pinnacle-color.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,94 +0,0 @@
+-/* pinnacle-color.h - Keytable for pinnacle_color Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-static struct ir_scancode pinnacle_color[] = {
+-	{ 0x59, KEY_MUTE },
+-	{ 0x4a, KEY_POWER },
+-
+-	{ 0x18, KEY_TEXT },
+-	{ 0x26, KEY_TV },
+-	{ 0x3d, KEY_PRINT },
+-
+-	{ 0x48, KEY_RED },
+-	{ 0x04, KEY_GREEN },
+-	{ 0x11, KEY_YELLOW },
+-	{ 0x00, KEY_BLUE },
+-
+-	{ 0x2d, KEY_VOLUMEUP },
+-	{ 0x1e, KEY_VOLUMEDOWN },
+-
+-	{ 0x49, KEY_MENU },
+-
+-	{ 0x16, KEY_CHANNELUP },
+-	{ 0x17, KEY_CHANNELDOWN },
+-
+-	{ 0x20, KEY_UP },
+-	{ 0x21, KEY_DOWN },
+-	{ 0x22, KEY_LEFT },
+-	{ 0x23, KEY_RIGHT },
+-	{ 0x0d, KEY_SELECT },
+-
+-	{ 0x08, KEY_BACK },
+-	{ 0x07, KEY_REFRESH },
+-
+-	{ 0x2f, KEY_ZOOM },
+-	{ 0x29, KEY_RECORD },
+-
+-	{ 0x4b, KEY_PAUSE },
+-	{ 0x4d, KEY_REWIND },
+-	{ 0x2e, KEY_PLAY },
+-	{ 0x4e, KEY_FORWARD },
+-	{ 0x53, KEY_PREVIOUS },
+-	{ 0x4c, KEY_STOP },
+-	{ 0x54, KEY_NEXT },
+-
+-	{ 0x69, KEY_0 },
+-	{ 0x6a, KEY_1 },
+-	{ 0x6b, KEY_2 },
+-	{ 0x6c, KEY_3 },
+-	{ 0x6d, KEY_4 },
+-	{ 0x6e, KEY_5 },
+-	{ 0x6f, KEY_6 },
+-	{ 0x70, KEY_7 },
+-	{ 0x71, KEY_8 },
+-	{ 0x72, KEY_9 },
+-
+-	{ 0x74, KEY_CHANNEL },
+-	{ 0x0a, KEY_BACKSPACE },
+-};
+-
+-static struct rc_keymap pinnacle_color_map = {
+-	.map = {
+-		.scan    = pinnacle_color,
+-		.size    = ARRAY_SIZE(pinnacle_color),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_PINNACLE_COLOR,
+-	}
+-};
+-
+-static int __init init_rc_map_pinnacle_color(void)
+-{
+-	return ir_register_map(&pinnacle_color_map);
+-}
+-
+-static void __exit exit_rc_map_pinnacle_color(void)
+-{
+-	ir_unregister_map(&pinnacle_color_map);
+-}
+-
+-module_init(init_rc_map_pinnacle_color)
+-module_exit(exit_rc_map_pinnacle_color)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-pinnacle-grey.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-pinnacle-grey.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-pinnacle-grey.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-pinnacle-grey.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,89 +0,0 @@
+-/* pinnacle-grey.h - Keytable for pinnacle_grey Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-static struct ir_scancode pinnacle_grey[] = {
+-	{ 0x3a, KEY_0 },
+-	{ 0x31, KEY_1 },
+-	{ 0x32, KEY_2 },
+-	{ 0x33, KEY_3 },
+-	{ 0x34, KEY_4 },
+-	{ 0x35, KEY_5 },
+-	{ 0x36, KEY_6 },
+-	{ 0x37, KEY_7 },
+-	{ 0x38, KEY_8 },
+-	{ 0x39, KEY_9 },
+-
+-	{ 0x2f, KEY_POWER },
+-
+-	{ 0x2e, KEY_P },
+-	{ 0x1f, KEY_L },
+-	{ 0x2b, KEY_I },
+-
+-	{ 0x2d, KEY_SCREEN },
+-	{ 0x1e, KEY_ZOOM },
+-	{ 0x1b, KEY_VOLUMEUP },
+-	{ 0x0f, KEY_VOLUMEDOWN },
+-	{ 0x17, KEY_CHANNELUP },
+-	{ 0x1c, KEY_CHANNELDOWN },
+-	{ 0x25, KEY_INFO },
+-
+-	{ 0x3c, KEY_MUTE },
+-
+-	{ 0x3d, KEY_LEFT },
+-	{ 0x3b, KEY_RIGHT },
+-
+-	{ 0x3f, KEY_UP },
+-	{ 0x3e, KEY_DOWN },
+-	{ 0x1a, KEY_ENTER },
+-
+-	{ 0x1d, KEY_MENU },
+-	{ 0x19, KEY_AGAIN },
+-	{ 0x16, KEY_PREVIOUSSONG },
+-	{ 0x13, KEY_NEXTSONG },
+-	{ 0x15, KEY_PAUSE },
+-	{ 0x0e, KEY_REWIND },
+-	{ 0x0d, KEY_PLAY },
+-	{ 0x0b, KEY_STOP },
+-	{ 0x07, KEY_FORWARD },
+-	{ 0x27, KEY_RECORD },
+-	{ 0x26, KEY_TUNER },
+-	{ 0x29, KEY_TEXT },
+-	{ 0x2a, KEY_MEDIA },
+-	{ 0x18, KEY_EPG },
+-};
+-
+-static struct rc_keymap pinnacle_grey_map = {
+-	.map = {
+-		.scan    = pinnacle_grey,
+-		.size    = ARRAY_SIZE(pinnacle_grey),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_PINNACLE_GREY,
+-	}
+-};
+-
+-static int __init init_rc_map_pinnacle_grey(void)
+-{
+-	return ir_register_map(&pinnacle_grey_map);
+-}
+-
+-static void __exit exit_rc_map_pinnacle_grey(void)
+-{
+-	ir_unregister_map(&pinnacle_grey_map);
+-}
+-
+-module_init(init_rc_map_pinnacle_grey)
+-module_exit(exit_rc_map_pinnacle_grey)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-pinnacle-pctv-hd.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-pinnacle-pctv-hd.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-pinnacle-pctv-hd.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-pinnacle-pctv-hd.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,73 +0,0 @@
+-/* pinnacle-pctv-hd.h - Keytable for pinnacle_pctv_hd Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/* Pinnacle PCTV HD 800i mini remote */
+-
+-static struct ir_scancode pinnacle_pctv_hd[] = {
+-
+-	{ 0x0f, KEY_1 },
+-	{ 0x15, KEY_2 },
+-	{ 0x10, KEY_3 },
+-	{ 0x18, KEY_4 },
+-	{ 0x1b, KEY_5 },
+-	{ 0x1e, KEY_6 },
+-	{ 0x11, KEY_7 },
+-	{ 0x21, KEY_8 },
+-	{ 0x12, KEY_9 },
+-	{ 0x27, KEY_0 },
+-
+-	{ 0x24, KEY_ZOOM },
+-	{ 0x2a, KEY_SUBTITLE },
+-
+-	{ 0x00, KEY_MUTE },
+-	{ 0x01, KEY_ENTER },	/* Pinnacle Logo */
+-	{ 0x39, KEY_POWER },
+-
+-	{ 0x03, KEY_VOLUMEUP },
+-	{ 0x09, KEY_VOLUMEDOWN },
+-	{ 0x06, KEY_CHANNELUP },
+-	{ 0x0c, KEY_CHANNELDOWN },
+-
+-	{ 0x2d, KEY_REWIND },
+-	{ 0x30, KEY_PLAYPAUSE },
+-	{ 0x33, KEY_FASTFORWARD },
+-	{ 0x3c, KEY_STOP },
+-	{ 0x36, KEY_RECORD },
+-	{ 0x3f, KEY_EPG },	/* Labeled "?" */
+-};
+-
+-static struct rc_keymap pinnacle_pctv_hd_map = {
+-	.map = {
+-		.scan    = pinnacle_pctv_hd,
+-		.size    = ARRAY_SIZE(pinnacle_pctv_hd),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_PINNACLE_PCTV_HD,
+-	}
+-};
+-
+-static int __init init_rc_map_pinnacle_pctv_hd(void)
+-{
+-	return ir_register_map(&pinnacle_pctv_hd_map);
+-}
+-
+-static void __exit exit_rc_map_pinnacle_pctv_hd(void)
+-{
+-	ir_unregister_map(&pinnacle_pctv_hd_map);
+-}
+-
+-module_init(init_rc_map_pinnacle_pctv_hd)
+-module_exit(exit_rc_map_pinnacle_pctv_hd)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-pixelview.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-pixelview.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-pixelview.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-pixelview.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,82 +0,0 @@
+-/* pixelview.h - Keytable for pixelview Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-static struct ir_scancode pixelview[] = {
+-
+-	{ 0x1e, KEY_POWER },	/* power */
+-	{ 0x07, KEY_MEDIA },	/* source */
+-	{ 0x1c, KEY_SEARCH },	/* scan */
+-
+-
+-	{ 0x03, KEY_TUNER },		/* TV/FM */
+-
+-	{ 0x00, KEY_RECORD },
+-	{ 0x08, KEY_STOP },
+-	{ 0x11, KEY_PLAY },
+-
+-	{ 0x1a, KEY_PLAYPAUSE },	/* freeze */
+-	{ 0x19, KEY_ZOOM },		/* zoom */
+-	{ 0x0f, KEY_TEXT },		/* min */
+-
+-	{ 0x01, KEY_1 },
+-	{ 0x0b, KEY_2 },
+-	{ 0x1b, KEY_3 },
+-	{ 0x05, KEY_4 },
+-	{ 0x09, KEY_5 },
+-	{ 0x15, KEY_6 },
+-	{ 0x06, KEY_7 },
+-	{ 0x0a, KEY_8 },
+-	{ 0x12, KEY_9 },
+-	{ 0x02, KEY_0 },
+-	{ 0x10, KEY_LAST },		/* +100 */
+-	{ 0x13, KEY_LIST },		/* recall */
+-
+-	{ 0x1f, KEY_CHANNELUP },	/* chn down */
+-	{ 0x17, KEY_CHANNELDOWN },	/* chn up */
+-	{ 0x16, KEY_VOLUMEUP },		/* vol down */
+-	{ 0x14, KEY_VOLUMEDOWN },	/* vol up */
+-
+-	{ 0x04, KEY_KPMINUS },		/* <<< */
+-	{ 0x0e, KEY_SETUP },		/* function */
+-	{ 0x0c, KEY_KPPLUS },		/* >>> */
+-
+-	{ 0x0d, KEY_GOTO },		/* mts */
+-	{ 0x1d, KEY_REFRESH },		/* reset */
+-	{ 0x18, KEY_MUTE },		/* mute/unmute */
+-};
+-
+-static struct rc_keymap pixelview_map = {
+-	.map = {
+-		.scan    = pixelview,
+-		.size    = ARRAY_SIZE(pixelview),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_PIXELVIEW,
+-	}
+-};
+-
+-static int __init init_rc_map_pixelview(void)
+-{
+-	return ir_register_map(&pixelview_map);
+-}
+-
+-static void __exit exit_rc_map_pixelview(void)
+-{
+-	ir_unregister_map(&pixelview_map);
+-}
+-
+-module_init(init_rc_map_pixelview)
+-module_exit(exit_rc_map_pixelview)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-pixelview-mk12.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-pixelview-mk12.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-pixelview-mk12.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-pixelview-mk12.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,83 +0,0 @@
+-/* rc-pixelview-mk12.h - Keytable for pixelview Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/*
+- * Keytable for MK-F12 IR remote provided together with Pixelview
+- * Ultra Pro Remote Controller. Uses NEC extended format.
+- */
+-static struct ir_scancode pixelview_mk12[] = {
+-	{ 0x866b03, KEY_TUNER },	/* Timeshift */
+-	{ 0x866b1e, KEY_POWER2 },	/* power */
+-
+-	{ 0x866b01, KEY_1 },
+-	{ 0x866b0b, KEY_2 },
+-	{ 0x866b1b, KEY_3 },
+-	{ 0x866b05, KEY_4 },
+-	{ 0x866b09, KEY_5 },
+-	{ 0x866b15, KEY_6 },
+-	{ 0x866b06, KEY_7 },
+-	{ 0x866b0a, KEY_8 },
+-	{ 0x866b12, KEY_9 },
+-	{ 0x866b02, KEY_0 },
+-
+-	{ 0x866b13, KEY_AGAIN },	/* loop */
+-	{ 0x866b10, KEY_DIGITS },	/* +100 */
+-
+-	{ 0x866b00, KEY_MEDIA },	/* source */
+-	{ 0x866b18, KEY_MUTE },		/* mute */
+-	{ 0x866b19, KEY_CAMERA },	/* snapshot */
+-	{ 0x866b1a, KEY_SEARCH },	/* scan */
+-
+-	{ 0x866b16, KEY_CHANNELUP },	/* chn + */
+-	{ 0x866b14, KEY_CHANNELDOWN },	/* chn - */
+-	{ 0x866b1f, KEY_VOLUMEUP },	/* vol + */
+-	{ 0x866b17, KEY_VOLUMEDOWN },	/* vol - */
+-	{ 0x866b1c, KEY_ZOOM },		/* zoom */
+-
+-	{ 0x866b04, KEY_REWIND },
+-	{ 0x866b0e, KEY_RECORD },
+-	{ 0x866b0c, KEY_FORWARD },
+-
+-	{ 0x866b1d, KEY_STOP },
+-	{ 0x866b08, KEY_PLAY },
+-	{ 0x866b0f, KEY_PAUSE },
+-
+-	{ 0x866b0d, KEY_TV },
+-	{ 0x866b07, KEY_RADIO },	/* FM */
+-};
+-
+-static struct rc_keymap pixelview_map = {
+-	.map = {
+-		.scan    = pixelview_mk12,
+-		.size    = ARRAY_SIZE(pixelview_mk12),
+-		.ir_type = IR_TYPE_NEC,
+-		.name    = RC_MAP_PIXELVIEW_MK12,
+-	}
+-};
+-
+-static int __init init_rc_map_pixelview(void)
+-{
+-	return ir_register_map(&pixelview_map);
+-}
+-
+-static void __exit exit_rc_map_pixelview(void)
+-{
+-	ir_unregister_map(&pixelview_map);
+-}
+-
+-module_init(init_rc_map_pixelview)
+-module_exit(exit_rc_map_pixelview)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-pixelview-new.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-pixelview-new.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-pixelview-new.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-pixelview-new.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,83 +0,0 @@
+-/* pixelview-new.h - Keytable for pixelview_new Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/*
+-   Mauro Carvalho Chehab <mchehab at infradead.org>
+-   present on PV MPEG 8000GT
+- */
+-
+-static struct ir_scancode pixelview_new[] = {
+-	{ 0x3c, KEY_TIME },		/* Timeshift */
+-	{ 0x12, KEY_POWER },
+-
+-	{ 0x3d, KEY_1 },
+-	{ 0x38, KEY_2 },
+-	{ 0x18, KEY_3 },
+-	{ 0x35, KEY_4 },
+-	{ 0x39, KEY_5 },
+-	{ 0x15, KEY_6 },
+-	{ 0x36, KEY_7 },
+-	{ 0x3a, KEY_8 },
+-	{ 0x1e, KEY_9 },
+-	{ 0x3e, KEY_0 },
+-
+-	{ 0x1c, KEY_AGAIN },		/* LOOP	*/
+-	{ 0x3f, KEY_MEDIA },		/* Source */
+-	{ 0x1f, KEY_LAST },		/* +100 */
+-	{ 0x1b, KEY_MUTE },
+-
+-	{ 0x17, KEY_CHANNELDOWN },
+-	{ 0x16, KEY_CHANNELUP },
+-	{ 0x10, KEY_VOLUMEUP },
+-	{ 0x14, KEY_VOLUMEDOWN },
+-	{ 0x13, KEY_ZOOM },
+-
+-	{ 0x19, KEY_CAMERA },		/* SNAPSHOT */
+-	{ 0x1a, KEY_SEARCH },		/* scan */
+-
+-	{ 0x37, KEY_REWIND },		/* << */
+-	{ 0x32, KEY_RECORD },		/* o (red) */
+-	{ 0x33, KEY_FORWARD },		/* >> */
+-	{ 0x11, KEY_STOP },		/* square */
+-	{ 0x3b, KEY_PLAY },		/* > */
+-	{ 0x30, KEY_PLAYPAUSE },	/* || */
+-
+-	{ 0x31, KEY_TV },
+-	{ 0x34, KEY_RADIO },
+-};
+-
+-static struct rc_keymap pixelview_new_map = {
+-	.map = {
+-		.scan    = pixelview_new,
+-		.size    = ARRAY_SIZE(pixelview_new),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_PIXELVIEW_NEW,
+-	}
+-};
+-
+-static int __init init_rc_map_pixelview_new(void)
+-{
+-	return ir_register_map(&pixelview_new_map);
+-}
+-
+-static void __exit exit_rc_map_pixelview_new(void)
+-{
+-	ir_unregister_map(&pixelview_new_map);
+-}
+-
+-module_init(init_rc_map_pixelview_new)
+-module_exit(exit_rc_map_pixelview_new)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-powercolor-real-angel.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-powercolor-real-angel.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-powercolor-real-angel.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-powercolor-real-angel.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,81 +0,0 @@
+-/* powercolor-real-angel.h - Keytable for powercolor_real_angel Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/*
+- * Remote control for Powercolor Real Angel 330
+- * Daniel Fraga <fragabr at gmail.com>
+- */
+-
+-static struct ir_scancode powercolor_real_angel[] = {
+-	{ 0x38, KEY_SWITCHVIDEOMODE },	/* switch inputs */
+-	{ 0x0c, KEY_MEDIA },		/* Turn ON/OFF App */
+-	{ 0x00, KEY_0 },
+-	{ 0x01, KEY_1 },
+-	{ 0x02, KEY_2 },
+-	{ 0x03, KEY_3 },
+-	{ 0x04, KEY_4 },
+-	{ 0x05, KEY_5 },
+-	{ 0x06, KEY_6 },
+-	{ 0x07, KEY_7 },
+-	{ 0x08, KEY_8 },
+-	{ 0x09, KEY_9 },
+-	{ 0x0a, KEY_DIGITS },		/* single, double, tripple digit */
+-	{ 0x29, KEY_PREVIOUS },		/* previous channel */
+-	{ 0x12, KEY_BRIGHTNESSUP },
+-	{ 0x13, KEY_BRIGHTNESSDOWN },
+-	{ 0x2b, KEY_MODE },		/* stereo/mono */
+-	{ 0x2c, KEY_TEXT },		/* teletext */
+-	{ 0x20, KEY_CHANNELUP },	/* channel up */
+-	{ 0x21, KEY_CHANNELDOWN },	/* channel down */
+-	{ 0x10, KEY_VOLUMEUP },		/* volume up */
+-	{ 0x11, KEY_VOLUMEDOWN },	/* volume down */
+-	{ 0x0d, KEY_MUTE },
+-	{ 0x1f, KEY_RECORD },
+-	{ 0x17, KEY_PLAY },
+-	{ 0x16, KEY_PAUSE },
+-	{ 0x0b, KEY_STOP },
+-	{ 0x27, KEY_FASTFORWARD },
+-	{ 0x26, KEY_REWIND },
+-	{ 0x1e, KEY_SEARCH },		/* autoscan */
+-	{ 0x0e, KEY_CAMERA },		/* snapshot */
+-	{ 0x2d, KEY_SETUP },
+-	{ 0x0f, KEY_SCREEN },		/* full screen */
+-	{ 0x14, KEY_RADIO },		/* FM radio */
+-	{ 0x25, KEY_POWER },		/* power */
+-};
+-
+-static struct rc_keymap powercolor_real_angel_map = {
+-	.map = {
+-		.scan    = powercolor_real_angel,
+-		.size    = ARRAY_SIZE(powercolor_real_angel),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_POWERCOLOR_REAL_ANGEL,
+-	}
+-};
+-
+-static int __init init_rc_map_powercolor_real_angel(void)
+-{
+-	return ir_register_map(&powercolor_real_angel_map);
+-}
+-
+-static void __exit exit_rc_map_powercolor_real_angel(void)
+-{
+-	ir_unregister_map(&powercolor_real_angel_map);
+-}
+-
+-module_init(init_rc_map_powercolor_real_angel)
+-module_exit(exit_rc_map_powercolor_real_angel)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-proteus-2309.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-proteus-2309.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-proteus-2309.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-proteus-2309.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,69 +0,0 @@
+-/* proteus-2309.h - Keytable for proteus_2309 Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/* Michal Majchrowicz <mmajchrowicz at gmail.com> */
+-
+-static struct ir_scancode proteus_2309[] = {
+-	/* numeric */
+-	{ 0x00, KEY_0 },
+-	{ 0x01, KEY_1 },
+-	{ 0x02, KEY_2 },
+-	{ 0x03, KEY_3 },
+-	{ 0x04, KEY_4 },
+-	{ 0x05, KEY_5 },
+-	{ 0x06, KEY_6 },
+-	{ 0x07, KEY_7 },
+-	{ 0x08, KEY_8 },
+-	{ 0x09, KEY_9 },
+-
+-	{ 0x5c, KEY_POWER },		/* power       */
+-	{ 0x20, KEY_ZOOM },		/* full screen */
+-	{ 0x0f, KEY_BACKSPACE },	/* recall      */
+-	{ 0x1b, KEY_ENTER },		/* mute        */
+-	{ 0x41, KEY_RECORD },		/* record      */
+-	{ 0x43, KEY_STOP },		/* stop        */
+-	{ 0x16, KEY_S },
+-	{ 0x1a, KEY_POWER2 },		/* off         */
+-	{ 0x2e, KEY_RED },
+-	{ 0x1f, KEY_CHANNELDOWN },	/* channel -   */
+-	{ 0x1c, KEY_CHANNELUP },	/* channel +   */
+-	{ 0x10, KEY_VOLUMEDOWN },	/* volume -    */
+-	{ 0x1e, KEY_VOLUMEUP },		/* volume +    */
+-	{ 0x14, KEY_F1 },
+-};
+-
+-static struct rc_keymap proteus_2309_map = {
+-	.map = {
+-		.scan    = proteus_2309,
+-		.size    = ARRAY_SIZE(proteus_2309),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_PROTEUS_2309,
+-	}
+-};
+-
+-static int __init init_rc_map_proteus_2309(void)
+-{
+-	return ir_register_map(&proteus_2309_map);
+-}
+-
+-static void __exit exit_rc_map_proteus_2309(void)
+-{
+-	ir_unregister_map(&proteus_2309_map);
+-}
+-
+-module_init(init_rc_map_proteus_2309)
+-module_exit(exit_rc_map_proteus_2309)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-purpletv.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-purpletv.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-purpletv.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-purpletv.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,81 +0,0 @@
+-/* purpletv.h - Keytable for purpletv Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-static struct ir_scancode purpletv[] = {
+-	{ 0x03, KEY_POWER },
+-	{ 0x6f, KEY_MUTE },
+-	{ 0x10, KEY_BACKSPACE },	/* Recall */
+-
+-	{ 0x11, KEY_0 },
+-	{ 0x04, KEY_1 },
+-	{ 0x05, KEY_2 },
+-	{ 0x06, KEY_3 },
+-	{ 0x08, KEY_4 },
+-	{ 0x09, KEY_5 },
+-	{ 0x0a, KEY_6 },
+-	{ 0x0c, KEY_7 },
+-	{ 0x0d, KEY_8 },
+-	{ 0x0e, KEY_9 },
+-	{ 0x12, KEY_DOT },	/* 100+ */
+-
+-	{ 0x07, KEY_VOLUMEUP },
+-	{ 0x0b, KEY_VOLUMEDOWN },
+-	{ 0x1a, KEY_KPPLUS },
+-	{ 0x18, KEY_KPMINUS },
+-	{ 0x15, KEY_UP },
+-	{ 0x1d, KEY_DOWN },
+-	{ 0x0f, KEY_CHANNELUP },
+-	{ 0x13, KEY_CHANNELDOWN },
+-	{ 0x48, KEY_ZOOM },
+-
+-	{ 0x1b, KEY_VIDEO },	/* Video source */
+-	{ 0x1f, KEY_CAMERA },	/* Snapshot */
+-	{ 0x49, KEY_LANGUAGE },	/* MTS Select */
+-	{ 0x19, KEY_SEARCH },	/* Auto Scan */
+-
+-	{ 0x4b, KEY_RECORD },
+-	{ 0x46, KEY_PLAY },
+-	{ 0x45, KEY_PAUSE },	/* Pause */
+-	{ 0x44, KEY_STOP },
+-	{ 0x43, KEY_TIME },	/* Time Shift */
+-	{ 0x17, KEY_CHANNEL },	/* SURF CH */
+-	{ 0x40, KEY_FORWARD },	/* Forward ? */
+-	{ 0x42, KEY_REWIND },	/* Backward ? */
+-
+-};
+-
+-static struct rc_keymap purpletv_map = {
+-	.map = {
+-		.scan    = purpletv,
+-		.size    = ARRAY_SIZE(purpletv),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_PURPLETV,
+-	}
+-};
+-
+-static int __init init_rc_map_purpletv(void)
+-{
+-	return ir_register_map(&purpletv_map);
+-}
+-
+-static void __exit exit_rc_map_purpletv(void)
+-{
+-	ir_unregister_map(&purpletv_map);
+-}
+-
+-module_init(init_rc_map_purpletv)
+-module_exit(exit_rc_map_purpletv)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-pv951.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-pv951.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-pv951.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-pv951.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,78 +0,0 @@
+-/* pv951.h - Keytable for pv951 Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/* Mark Phalan <phalanm at o2.ie> */
+-
+-static struct ir_scancode pv951[] = {
+-	{ 0x00, KEY_0 },
+-	{ 0x01, KEY_1 },
+-	{ 0x02, KEY_2 },
+-	{ 0x03, KEY_3 },
+-	{ 0x04, KEY_4 },
+-	{ 0x05, KEY_5 },
+-	{ 0x06, KEY_6 },
+-	{ 0x07, KEY_7 },
+-	{ 0x08, KEY_8 },
+-	{ 0x09, KEY_9 },
+-
+-	{ 0x12, KEY_POWER },
+-	{ 0x10, KEY_MUTE },
+-	{ 0x1f, KEY_VOLUMEDOWN },
+-	{ 0x1b, KEY_VOLUMEUP },
+-	{ 0x1a, KEY_CHANNELUP },
+-	{ 0x1e, KEY_CHANNELDOWN },
+-	{ 0x0e, KEY_PAGEUP },
+-	{ 0x1d, KEY_PAGEDOWN },
+-	{ 0x13, KEY_SOUND },
+-
+-	{ 0x18, KEY_KPPLUSMINUS },	/* CH +/- */
+-	{ 0x16, KEY_SUBTITLE },		/* CC */
+-	{ 0x0d, KEY_TEXT },		/* TTX */
+-	{ 0x0b, KEY_TV },		/* AIR/CBL */
+-	{ 0x11, KEY_PC },		/* PC/TV */
+-	{ 0x17, KEY_OK },		/* CH RTN */
+-	{ 0x19, KEY_MODE },		/* FUNC */
+-	{ 0x0c, KEY_SEARCH },		/* AUTOSCAN */
+-
+-	/* Not sure what to do with these ones! */
+-	{ 0x0f, KEY_SELECT },		/* SOURCE */
+-	{ 0x0a, KEY_KPPLUS },		/* +100 */
+-	{ 0x14, KEY_EQUAL },		/* SYNC */
+-	{ 0x1c, KEY_MEDIA },		/* PC/TV */
+-};
+-
+-static struct rc_keymap pv951_map = {
+-	.map = {
+-		.scan    = pv951,
+-		.size    = ARRAY_SIZE(pv951),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_PV951,
+-	}
+-};
+-
+-static int __init init_rc_map_pv951(void)
+-{
+-	return ir_register_map(&pv951_map);
+-}
+-
+-static void __exit exit_rc_map_pv951(void)
+-{
+-	ir_unregister_map(&pv951_map);
+-}
+-
+-module_init(init_rc_map_pv951)
+-module_exit(exit_rc_map_pv951)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-rc5-hauppauge-new.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-rc5-hauppauge-new.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-rc5-hauppauge-new.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-rc5-hauppauge-new.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,103 +0,0 @@
+-/* rc5-hauppauge-new.h - Keytable for rc5_hauppauge_new Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/*
+- * Hauppauge:the newer, gray remotes (seems there are multiple
+- * slightly different versions), shipped with cx88+ivtv cards.
+- *
+- * This table contains the complete RC5 code, instead of just the data part
+- */
+-
+-static struct ir_scancode rc5_hauppauge_new[] = {
+-	/* Keys 0 to 9 */
+-	{ 0x1e00, KEY_0 },
+-	{ 0x1e01, KEY_1 },
+-	{ 0x1e02, KEY_2 },
+-	{ 0x1e03, KEY_3 },
+-	{ 0x1e04, KEY_4 },
+-	{ 0x1e05, KEY_5 },
+-	{ 0x1e06, KEY_6 },
+-	{ 0x1e07, KEY_7 },
+-	{ 0x1e08, KEY_8 },
+-	{ 0x1e09, KEY_9 },
+-
+-	{ 0x1e0a, KEY_TEXT },		/* keypad asterisk as well */
+-	{ 0x1e0b, KEY_RED },		/* red button */
+-	{ 0x1e0c, KEY_RADIO },
+-	{ 0x1e0d, KEY_MENU },
+-	{ 0x1e0e, KEY_SUBTITLE },		/* also the # key */
+-	{ 0x1e0f, KEY_MUTE },
+-	{ 0x1e10, KEY_VOLUMEUP },
+-	{ 0x1e11, KEY_VOLUMEDOWN },
+-	{ 0x1e12, KEY_PREVIOUS },		/* previous channel */
+-	{ 0x1e14, KEY_UP },
+-	{ 0x1e15, KEY_DOWN },
+-	{ 0x1e16, KEY_LEFT },
+-	{ 0x1e17, KEY_RIGHT },
+-	{ 0x1e18, KEY_VIDEO },		/* Videos */
+-	{ 0x1e19, KEY_AUDIO },		/* Music */
+-	/* 0x1e1a: Pictures - presume this means
+-	   "Multimedia Home Platform" -
+-	   no "PICTURES" key in input.h
+-	 */
+-	{ 0x1e1a, KEY_MHP },
+-
+-	{ 0x1e1b, KEY_EPG },		/* Guide */
+-	{ 0x1e1c, KEY_TV },
+-	{ 0x1e1e, KEY_NEXTSONG },		/* skip >| */
+-	{ 0x1e1f, KEY_EXIT },		/* back/exit */
+-	{ 0x1e20, KEY_CHANNELUP },	/* channel / program + */
+-	{ 0x1e21, KEY_CHANNELDOWN },	/* channel / program - */
+-	{ 0x1e22, KEY_CHANNEL },		/* source (old black remote) */
+-	{ 0x1e24, KEY_PREVIOUSSONG },	/* replay |< */
+-	{ 0x1e25, KEY_ENTER },		/* OK */
+-	{ 0x1e26, KEY_SLEEP },		/* minimize (old black remote) */
+-	{ 0x1e29, KEY_BLUE },		/* blue key */
+-	{ 0x1e2e, KEY_GREEN },		/* green button */
+-	{ 0x1e30, KEY_PAUSE },		/* pause */
+-	{ 0x1e32, KEY_REWIND },		/* backward << */
+-	{ 0x1e34, KEY_FASTFORWARD },	/* forward >> */
+-	{ 0x1e35, KEY_PLAY },
+-	{ 0x1e36, KEY_STOP },
+-	{ 0x1e37, KEY_RECORD },		/* recording */
+-	{ 0x1e38, KEY_YELLOW },		/* yellow key */
+-	{ 0x1e3b, KEY_SELECT },		/* top right button */
+-	{ 0x1e3c, KEY_ZOOM },		/* full */
+-	{ 0x1e3d, KEY_POWER },		/* system power (green button) */
+-};
+-
+-static struct rc_keymap rc5_hauppauge_new_map = {
+-	.map = {
+-		.scan    = rc5_hauppauge_new,
+-		.size    = ARRAY_SIZE(rc5_hauppauge_new),
+-		.ir_type = IR_TYPE_RC5,
+-		.name    = RC_MAP_RC5_HAUPPAUGE_NEW,
+-	}
+-};
+-
+-static int __init init_rc_map_rc5_hauppauge_new(void)
+-{
+-	return ir_register_map(&rc5_hauppauge_new_map);
+-}
+-
+-static void __exit exit_rc_map_rc5_hauppauge_new(void)
+-{
+-	ir_unregister_map(&rc5_hauppauge_new_map);
+-}
+-
+-module_init(init_rc_map_rc5_hauppauge_new)
+-module_exit(exit_rc_map_rc5_hauppauge_new)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-rc5-tv.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-rc5-tv.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-rc5-tv.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-rc5-tv.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,81 +0,0 @@
+-/* rc5-tv.h - Keytable for rc5_tv Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/* generic RC5 keytable                                          */
+-/* see http://users.pandora.be/nenya/electronics/rc5/codes00.htm */
+-/* used by old (black) Hauppauge remotes                         */
+-
+-static struct ir_scancode rc5_tv[] = {
+-	/* Keys 0 to 9 */
+-	{ 0x00, KEY_0 },
+-	{ 0x01, KEY_1 },
+-	{ 0x02, KEY_2 },
+-	{ 0x03, KEY_3 },
+-	{ 0x04, KEY_4 },
+-	{ 0x05, KEY_5 },
+-	{ 0x06, KEY_6 },
+-	{ 0x07, KEY_7 },
+-	{ 0x08, KEY_8 },
+-	{ 0x09, KEY_9 },
+-
+-	{ 0x0b, KEY_CHANNEL },		/* channel / program (japan: 11) */
+-	{ 0x0c, KEY_POWER },		/* standby */
+-	{ 0x0d, KEY_MUTE },		/* mute / demute */
+-	{ 0x0f, KEY_TV },		/* display */
+-	{ 0x10, KEY_VOLUMEUP },
+-	{ 0x11, KEY_VOLUMEDOWN },
+-	{ 0x12, KEY_BRIGHTNESSUP },
+-	{ 0x13, KEY_BRIGHTNESSDOWN },
+-	{ 0x1e, KEY_SEARCH },		/* search + */
+-	{ 0x20, KEY_CHANNELUP },	/* channel / program + */
+-	{ 0x21, KEY_CHANNELDOWN },	/* channel / program - */
+-	{ 0x22, KEY_CHANNEL },		/* alt / channel */
+-	{ 0x23, KEY_LANGUAGE },		/* 1st / 2nd language */
+-	{ 0x26, KEY_SLEEP },		/* sleeptimer */
+-	{ 0x2e, KEY_MENU },		/* 2nd controls (USA: menu) */
+-	{ 0x30, KEY_PAUSE },
+-	{ 0x32, KEY_REWIND },
+-	{ 0x33, KEY_GOTO },
+-	{ 0x35, KEY_PLAY },
+-	{ 0x36, KEY_STOP },
+-	{ 0x37, KEY_RECORD },		/* recording */
+-	{ 0x3c, KEY_TEXT },		/* teletext submode (Japan: 12) */
+-	{ 0x3d, KEY_SUSPEND },		/* system standby */
+-
+-};
+-
+-static struct rc_keymap rc5_tv_map = {
+-	.map = {
+-		.scan    = rc5_tv,
+-		.size    = ARRAY_SIZE(rc5_tv),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_RC5_TV,
+-	}
+-};
+-
+-static int __init init_rc_map_rc5_tv(void)
+-{
+-	return ir_register_map(&rc5_tv_map);
+-}
+-
+-static void __exit exit_rc_map_rc5_tv(void)
+-{
+-	ir_unregister_map(&rc5_tv_map);
+-}
+-
+-module_init(init_rc_map_rc5_tv)
+-module_exit(exit_rc_map_rc5_tv)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-real-audio-220-32-keys.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-real-audio-220-32-keys.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-real-audio-220-32-keys.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-real-audio-220-32-keys.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,78 +0,0 @@
+-/* real-audio-220-32-keys.h - Keytable for real_audio_220_32_keys Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/* Zogis Real Audio 220 - 32 keys IR */
+-
+-static struct ir_scancode real_audio_220_32_keys[] = {
+-	{ 0x1c, KEY_RADIO},
+-	{ 0x12, KEY_POWER2},
+-
+-	{ 0x01, KEY_1},
+-	{ 0x02, KEY_2},
+-	{ 0x03, KEY_3},
+-	{ 0x04, KEY_4},
+-	{ 0x05, KEY_5},
+-	{ 0x06, KEY_6},
+-	{ 0x07, KEY_7},
+-	{ 0x08, KEY_8},
+-	{ 0x09, KEY_9},
+-	{ 0x00, KEY_0},
+-
+-	{ 0x0c, KEY_VOLUMEUP},
+-	{ 0x18, KEY_VOLUMEDOWN},
+-	{ 0x0b, KEY_CHANNELUP},
+-	{ 0x15, KEY_CHANNELDOWN},
+-	{ 0x16, KEY_ENTER},
+-
+-	{ 0x11, KEY_LIST},		/* Source */
+-	{ 0x0d, KEY_AUDIO},		/* stereo */
+-
+-	{ 0x0f, KEY_PREVIOUS},		/* Prev */
+-	{ 0x1b, KEY_TIME},		/* Timeshift */
+-	{ 0x1a, KEY_NEXT},		/* Next */
+-
+-	{ 0x0e, KEY_STOP},
+-	{ 0x1f, KEY_PLAY},
+-	{ 0x1e, KEY_PLAYPAUSE},		/* Pause */
+-
+-	{ 0x1d, KEY_RECORD},
+-	{ 0x13, KEY_MUTE},
+-	{ 0x19, KEY_CAMERA},		/* Snapshot */
+-
+-};
+-
+-static struct rc_keymap real_audio_220_32_keys_map = {
+-	.map = {
+-		.scan    = real_audio_220_32_keys,
+-		.size    = ARRAY_SIZE(real_audio_220_32_keys),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_REAL_AUDIO_220_32_KEYS,
+-	}
+-};
+-
+-static int __init init_rc_map_real_audio_220_32_keys(void)
+-{
+-	return ir_register_map(&real_audio_220_32_keys_map);
+-}
+-
+-static void __exit exit_rc_map_real_audio_220_32_keys(void)
+-{
+-	ir_unregister_map(&real_audio_220_32_keys_map);
+-}
+-
+-module_init(init_rc_map_real_audio_220_32_keys)
+-module_exit(exit_rc_map_real_audio_220_32_keys)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-tbs-nec.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-tbs-nec.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-tbs-nec.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-tbs-nec.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,73 +0,0 @@
+-/* tbs-nec.h - Keytable for tbs_nec Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-static struct ir_scancode tbs_nec[] = {
+-	{ 0x04, KEY_POWER2},	/*power*/
+-	{ 0x14, KEY_MUTE},	/*mute*/
+-	{ 0x07, KEY_1},
+-	{ 0x06, KEY_2},
+-	{ 0x05, KEY_3},
+-	{ 0x0b, KEY_4},
+-	{ 0x0a, KEY_5},
+-	{ 0x09, KEY_6},
+-	{ 0x0f, KEY_7},
+-	{ 0x0e, KEY_8},
+-	{ 0x0d, KEY_9},
+-	{ 0x12, KEY_0},
+-	{ 0x16, KEY_CHANNELUP},	/*ch+*/
+-	{ 0x11, KEY_CHANNELDOWN},/*ch-*/
+-	{ 0x13, KEY_VOLUMEUP},	/*vol+*/
+-	{ 0x0c, KEY_VOLUMEDOWN},/*vol-*/
+-	{ 0x03, KEY_RECORD},	/*rec*/
+-	{ 0x18, KEY_PAUSE},	/*pause*/
+-	{ 0x19, KEY_OK},	/*ok*/
+-	{ 0x1a, KEY_CAMERA},	/* snapshot */
+-	{ 0x01, KEY_UP},
+-	{ 0x10, KEY_LEFT},
+-	{ 0x02, KEY_RIGHT},
+-	{ 0x08, KEY_DOWN},
+-	{ 0x15, KEY_FAVORITES},
+-	{ 0x17, KEY_SUBTITLE},
+-	{ 0x1d, KEY_ZOOM},
+-	{ 0x1f, KEY_EXIT},
+-	{ 0x1e, KEY_MENU},
+-	{ 0x1c, KEY_EPG},
+-	{ 0x00, KEY_PREVIOUS},
+-	{ 0x1b, KEY_MODE},
+-};
+-
+-static struct rc_keymap tbs_nec_map = {
+-	.map = {
+-		.scan    = tbs_nec,
+-		.size    = ARRAY_SIZE(tbs_nec),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_TBS_NEC,
+-	}
+-};
+-
+-static int __init init_rc_map_tbs_nec(void)
+-{
+-	return ir_register_map(&tbs_nec_map);
+-}
+-
+-static void __exit exit_rc_map_tbs_nec(void)
+-{
+-	ir_unregister_map(&tbs_nec_map);
+-}
+-
+-module_init(init_rc_map_tbs_nec)
+-module_exit(exit_rc_map_tbs_nec)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-terratec-cinergy-xs.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-terratec-cinergy-xs.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-terratec-cinergy-xs.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-terratec-cinergy-xs.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,92 +0,0 @@
+-/* terratec-cinergy-xs.h - Keytable for terratec_cinergy_xs Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/* Terratec Cinergy Hybrid T USB XS
+-   Devin Heitmueller <dheitmueller at linuxtv.org>
+- */
+-
+-static struct ir_scancode terratec_cinergy_xs[] = {
+-	{ 0x41, KEY_HOME},
+-	{ 0x01, KEY_POWER},
+-	{ 0x42, KEY_MENU},
+-	{ 0x02, KEY_1},
+-	{ 0x03, KEY_2},
+-	{ 0x04, KEY_3},
+-	{ 0x43, KEY_SUBTITLE},
+-	{ 0x05, KEY_4},
+-	{ 0x06, KEY_5},
+-	{ 0x07, KEY_6},
+-	{ 0x44, KEY_TEXT},
+-	{ 0x08, KEY_7},
+-	{ 0x09, KEY_8},
+-	{ 0x0a, KEY_9},
+-	{ 0x45, KEY_DELETE},
+-	{ 0x0b, KEY_TUNER},
+-	{ 0x0c, KEY_0},
+-	{ 0x0d, KEY_MODE},
+-	{ 0x46, KEY_TV},
+-	{ 0x47, KEY_DVD},
+-	{ 0x49, KEY_VIDEO},
+-	{ 0x4b, KEY_AUX},
+-	{ 0x10, KEY_UP},
+-	{ 0x11, KEY_LEFT},
+-	{ 0x12, KEY_OK},
+-	{ 0x13, KEY_RIGHT},
+-	{ 0x14, KEY_DOWN},
+-	{ 0x0f, KEY_EPG},
+-	{ 0x16, KEY_INFO},
+-	{ 0x4d, KEY_BACKSPACE},
+-	{ 0x1c, KEY_VOLUMEUP},
+-	{ 0x4c, KEY_PLAY},
+-	{ 0x1b, KEY_CHANNELUP},
+-	{ 0x1e, KEY_VOLUMEDOWN},
+-	{ 0x1d, KEY_MUTE},
+-	{ 0x1f, KEY_CHANNELDOWN},
+-	{ 0x17, KEY_RED},
+-	{ 0x18, KEY_GREEN},
+-	{ 0x19, KEY_YELLOW},
+-	{ 0x1a, KEY_BLUE},
+-	{ 0x58, KEY_RECORD},
+-	{ 0x48, KEY_STOP},
+-	{ 0x40, KEY_PAUSE},
+-	{ 0x54, KEY_LAST},
+-	{ 0x4e, KEY_REWIND},
+-	{ 0x4f, KEY_FASTFORWARD},
+-	{ 0x5c, KEY_NEXT},
+-};
+-
+-static struct rc_keymap terratec_cinergy_xs_map = {
+-	.map = {
+-		.scan    = terratec_cinergy_xs,
+-		.size    = ARRAY_SIZE(terratec_cinergy_xs),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_TERRATEC_CINERGY_XS,
+-	}
+-};
+-
+-static int __init init_rc_map_terratec_cinergy_xs(void)
+-{
+-	return ir_register_map(&terratec_cinergy_xs_map);
+-}
+-
+-static void __exit exit_rc_map_terratec_cinergy_xs(void)
+-{
+-	ir_unregister_map(&terratec_cinergy_xs_map);
+-}
+-
+-module_init(init_rc_map_terratec_cinergy_xs)
+-module_exit(exit_rc_map_terratec_cinergy_xs)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-tevii-nec.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-tevii-nec.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-tevii-nec.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-tevii-nec.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,88 +0,0 @@
+-/* tevii-nec.h - Keytable for tevii_nec Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-static struct ir_scancode tevii_nec[] = {
+-	{ 0x0a, KEY_POWER2},
+-	{ 0x0c, KEY_MUTE},
+-	{ 0x11, KEY_1},
+-	{ 0x12, KEY_2},
+-	{ 0x13, KEY_3},
+-	{ 0x14, KEY_4},
+-	{ 0x15, KEY_5},
+-	{ 0x16, KEY_6},
+-	{ 0x17, KEY_7},
+-	{ 0x18, KEY_8},
+-	{ 0x19, KEY_9},
+-	{ 0x10, KEY_0},
+-	{ 0x1c, KEY_MENU},
+-	{ 0x0f, KEY_VOLUMEDOWN},
+-	{ 0x1a, KEY_LAST},
+-	{ 0x0e, KEY_OPEN},
+-	{ 0x04, KEY_RECORD},
+-	{ 0x09, KEY_VOLUMEUP},
+-	{ 0x08, KEY_CHANNELUP},
+-	{ 0x07, KEY_PVR},
+-	{ 0x0b, KEY_TIME},
+-	{ 0x02, KEY_RIGHT},
+-	{ 0x03, KEY_LEFT},
+-	{ 0x00, KEY_UP},
+-	{ 0x1f, KEY_OK},
+-	{ 0x01, KEY_DOWN},
+-	{ 0x05, KEY_TUNER},
+-	{ 0x06, KEY_CHANNELDOWN},
+-	{ 0x40, KEY_PLAYPAUSE},
+-	{ 0x1e, KEY_REWIND},
+-	{ 0x1b, KEY_FAVORITES},
+-	{ 0x1d, KEY_BACK},
+-	{ 0x4d, KEY_FASTFORWARD},
+-	{ 0x44, KEY_EPG},
+-	{ 0x4c, KEY_INFO},
+-	{ 0x41, KEY_AB},
+-	{ 0x43, KEY_AUDIO},
+-	{ 0x45, KEY_SUBTITLE},
+-	{ 0x4a, KEY_LIST},
+-	{ 0x46, KEY_F1},
+-	{ 0x47, KEY_F2},
+-	{ 0x5e, KEY_F3},
+-	{ 0x5c, KEY_F4},
+-	{ 0x52, KEY_F5},
+-	{ 0x5a, KEY_F6},
+-	{ 0x56, KEY_MODE},
+-	{ 0x58, KEY_SWITCHVIDEOMODE},
+-};
+-
+-static struct rc_keymap tevii_nec_map = {
+-	.map = {
+-		.scan    = tevii_nec,
+-		.size    = ARRAY_SIZE(tevii_nec),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_TEVII_NEC,
+-	}
+-};
+-
+-static int __init init_rc_map_tevii_nec(void)
+-{
+-	return ir_register_map(&tevii_nec_map);
+-}
+-
+-static void __exit exit_rc_map_tevii_nec(void)
+-{
+-	ir_unregister_map(&tevii_nec_map);
+-}
+-
+-module_init(init_rc_map_tevii_nec)
+-module_exit(exit_rc_map_tevii_nec)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-tt-1500.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-tt-1500.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-tt-1500.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-tt-1500.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,82 +0,0 @@
+-/* tt-1500.h - Keytable for tt_1500 Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/* for the Technotrend 1500 bundled remotes (grey and black): */
+-
+-static struct ir_scancode tt_1500[] = {
+-	{ 0x01, KEY_POWER },
+-	{ 0x02, KEY_SHUFFLE },		/* ? double-arrow key */
+-	{ 0x03, KEY_1 },
+-	{ 0x04, KEY_2 },
+-	{ 0x05, KEY_3 },
+-	{ 0x06, KEY_4 },
+-	{ 0x07, KEY_5 },
+-	{ 0x08, KEY_6 },
+-	{ 0x09, KEY_7 },
+-	{ 0x0a, KEY_8 },
+-	{ 0x0b, KEY_9 },
+-	{ 0x0c, KEY_0 },
+-	{ 0x0d, KEY_UP },
+-	{ 0x0e, KEY_LEFT },
+-	{ 0x0f, KEY_OK },
+-	{ 0x10, KEY_RIGHT },
+-	{ 0x11, KEY_DOWN },
+-	{ 0x12, KEY_INFO },
+-	{ 0x13, KEY_EXIT },
+-	{ 0x14, KEY_RED },
+-	{ 0x15, KEY_GREEN },
+-	{ 0x16, KEY_YELLOW },
+-	{ 0x17, KEY_BLUE },
+-	{ 0x18, KEY_MUTE },
+-	{ 0x19, KEY_TEXT },
+-	{ 0x1a, KEY_MODE },		/* ? TV/Radio */
+-	{ 0x21, KEY_OPTION },
+-	{ 0x22, KEY_EPG },
+-	{ 0x23, KEY_CHANNELUP },
+-	{ 0x24, KEY_CHANNELDOWN },
+-	{ 0x25, KEY_VOLUMEUP },
+-	{ 0x26, KEY_VOLUMEDOWN },
+-	{ 0x27, KEY_SETUP },
+-	{ 0x3a, KEY_RECORD },		/* these keys are only in the black remote */
+-	{ 0x3b, KEY_PLAY },
+-	{ 0x3c, KEY_STOP },
+-	{ 0x3d, KEY_REWIND },
+-	{ 0x3e, KEY_PAUSE },
+-	{ 0x3f, KEY_FORWARD },
+-};
+-
+-static struct rc_keymap tt_1500_map = {
+-	.map = {
+-		.scan    = tt_1500,
+-		.size    = ARRAY_SIZE(tt_1500),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_TT_1500,
+-	}
+-};
+-
+-static int __init init_rc_map_tt_1500(void)
+-{
+-	return ir_register_map(&tt_1500_map);
+-}
+-
+-static void __exit exit_rc_map_tt_1500(void)
+-{
+-	ir_unregister_map(&tt_1500_map);
+-}
+-
+-module_init(init_rc_map_tt_1500)
+-module_exit(exit_rc_map_tt_1500)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-videomate-s350.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-videomate-s350.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-videomate-s350.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-videomate-s350.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,85 +0,0 @@
+-/* videomate-s350.h - Keytable for videomate_s350 Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-static struct ir_scancode videomate_s350[] = {
+-	{ 0x00, KEY_TV},
+-	{ 0x01, KEY_DVD},
+-	{ 0x04, KEY_RECORD},
+-	{ 0x05, KEY_VIDEO},	/* TV/Video */
+-	{ 0x07, KEY_STOP},
+-	{ 0x08, KEY_PLAYPAUSE},
+-	{ 0x0a, KEY_REWIND},
+-	{ 0x0f, KEY_FASTFORWARD},
+-	{ 0x10, KEY_CHANNELUP},
+-	{ 0x12, KEY_VOLUMEUP},
+-	{ 0x13, KEY_CHANNELDOWN},
+-	{ 0x14, KEY_MUTE},
+-	{ 0x15, KEY_VOLUMEDOWN},
+-	{ 0x16, KEY_1},
+-	{ 0x17, KEY_2},
+-	{ 0x18, KEY_3},
+-	{ 0x19, KEY_4},
+-	{ 0x1a, KEY_5},
+-	{ 0x1b, KEY_6},
+-	{ 0x1c, KEY_7},
+-	{ 0x1d, KEY_8},
+-	{ 0x1e, KEY_9},
+-	{ 0x1f, KEY_0},
+-	{ 0x21, KEY_SLEEP},
+-	{ 0x24, KEY_ZOOM},
+-	{ 0x25, KEY_LAST},	/* Recall */
+-	{ 0x26, KEY_SUBTITLE},	/* CC */
+-	{ 0x27, KEY_LANGUAGE},	/* MTS */
+-	{ 0x29, KEY_CHANNEL},	/* SURF */
+-	{ 0x2b, KEY_A},
+-	{ 0x2c, KEY_B},
+-	{ 0x2f, KEY_CAMERA},	/* Snapshot */
+-	{ 0x23, KEY_RADIO},
+-	{ 0x02, KEY_PREVIOUSSONG},
+-	{ 0x06, KEY_NEXTSONG},
+-	{ 0x03, KEY_EPG},
+-	{ 0x09, KEY_SETUP},
+-	{ 0x22, KEY_BACKSPACE},
+-	{ 0x0c, KEY_UP},
+-	{ 0x0e, KEY_DOWN},
+-	{ 0x0b, KEY_LEFT},
+-	{ 0x0d, KEY_RIGHT},
+-	{ 0x11, KEY_ENTER},
+-	{ 0x20, KEY_TEXT},
+-};
+-
+-static struct rc_keymap videomate_s350_map = {
+-	.map = {
+-		.scan    = videomate_s350,
+-		.size    = ARRAY_SIZE(videomate_s350),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_VIDEOMATE_S350,
+-	}
+-};
+-
+-static int __init init_rc_map_videomate_s350(void)
+-{
+-	return ir_register_map(&videomate_s350_map);
+-}
+-
+-static void __exit exit_rc_map_videomate_s350(void)
+-{
+-	ir_unregister_map(&videomate_s350_map);
+-}
+-
+-module_init(init_rc_map_videomate_s350)
+-module_exit(exit_rc_map_videomate_s350)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-videomate-tv-pvr.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-videomate-tv-pvr.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-videomate-tv-pvr.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-videomate-tv-pvr.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,87 +0,0 @@
+-/* videomate-tv-pvr.h - Keytable for videomate_tv_pvr Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-static struct ir_scancode videomate_tv_pvr[] = {
+-	{ 0x14, KEY_MUTE },
+-	{ 0x24, KEY_ZOOM },
+-
+-	{ 0x01, KEY_DVD },
+-	{ 0x23, KEY_RADIO },
+-	{ 0x00, KEY_TV },
+-
+-	{ 0x0a, KEY_REWIND },
+-	{ 0x08, KEY_PLAYPAUSE },
+-	{ 0x0f, KEY_FORWARD },
+-
+-	{ 0x02, KEY_PREVIOUS },
+-	{ 0x07, KEY_STOP },
+-	{ 0x06, KEY_NEXT },
+-
+-	{ 0x0c, KEY_UP },
+-	{ 0x0e, KEY_DOWN },
+-	{ 0x0b, KEY_LEFT },
+-	{ 0x0d, KEY_RIGHT },
+-	{ 0x11, KEY_OK },
+-
+-	{ 0x03, KEY_MENU },
+-	{ 0x09, KEY_SETUP },
+-	{ 0x05, KEY_VIDEO },
+-	{ 0x22, KEY_CHANNEL },
+-
+-	{ 0x12, KEY_VOLUMEUP },
+-	{ 0x15, KEY_VOLUMEDOWN },
+-	{ 0x10, KEY_CHANNELUP },
+-	{ 0x13, KEY_CHANNELDOWN },
+-
+-	{ 0x04, KEY_RECORD },
+-
+-	{ 0x16, KEY_1 },
+-	{ 0x17, KEY_2 },
+-	{ 0x18, KEY_3 },
+-	{ 0x19, KEY_4 },
+-	{ 0x1a, KEY_5 },
+-	{ 0x1b, KEY_6 },
+-	{ 0x1c, KEY_7 },
+-	{ 0x1d, KEY_8 },
+-	{ 0x1e, KEY_9 },
+-	{ 0x1f, KEY_0 },
+-
+-	{ 0x20, KEY_LANGUAGE },
+-	{ 0x21, KEY_SLEEP },
+-};
+-
+-static struct rc_keymap videomate_tv_pvr_map = {
+-	.map = {
+-		.scan    = videomate_tv_pvr,
+-		.size    = ARRAY_SIZE(videomate_tv_pvr),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_VIDEOMATE_TV_PVR,
+-	}
+-};
+-
+-static int __init init_rc_map_videomate_tv_pvr(void)
+-{
+-	return ir_register_map(&videomate_tv_pvr_map);
+-}
+-
+-static void __exit exit_rc_map_videomate_tv_pvr(void)
+-{
+-	ir_unregister_map(&videomate_tv_pvr_map);
+-}
+-
+-module_init(init_rc_map_videomate_tv_pvr)
+-module_exit(exit_rc_map_videomate_tv_pvr)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-winfast.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-winfast.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-winfast.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-winfast.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,102 +0,0 @@
+-/* winfast.h - Keytable for winfast Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/* Table for Leadtek Winfast Remote Controls - used by both bttv and cx88 */
+-
+-static struct ir_scancode winfast[] = {
+-	/* Keys 0 to 9 */
+-	{ 0x12, KEY_0 },
+-	{ 0x05, KEY_1 },
+-	{ 0x06, KEY_2 },
+-	{ 0x07, KEY_3 },
+-	{ 0x09, KEY_4 },
+-	{ 0x0a, KEY_5 },
+-	{ 0x0b, KEY_6 },
+-	{ 0x0d, KEY_7 },
+-	{ 0x0e, KEY_8 },
+-	{ 0x0f, KEY_9 },
+-
+-	{ 0x00, KEY_POWER },
+-	{ 0x1b, KEY_AUDIO },		/* Audio Source */
+-	{ 0x02, KEY_TUNER },		/* TV/FM, not on Y0400052 */
+-	{ 0x1e, KEY_VIDEO },		/* Video Source */
+-	{ 0x16, KEY_INFO },		/* Display information */
+-	{ 0x04, KEY_VOLUMEUP },
+-	{ 0x08, KEY_VOLUMEDOWN },
+-	{ 0x0c, KEY_CHANNELUP },
+-	{ 0x10, KEY_CHANNELDOWN },
+-	{ 0x03, KEY_ZOOM },		/* fullscreen */
+-	{ 0x1f, KEY_TEXT },		/* closed caption/teletext */
+-	{ 0x20, KEY_SLEEP },
+-	{ 0x29, KEY_CLEAR },		/* boss key */
+-	{ 0x14, KEY_MUTE },
+-	{ 0x2b, KEY_RED },
+-	{ 0x2c, KEY_GREEN },
+-	{ 0x2d, KEY_YELLOW },
+-	{ 0x2e, KEY_BLUE },
+-	{ 0x18, KEY_KPPLUS },		/* fine tune + , not on Y040052 */
+-	{ 0x19, KEY_KPMINUS },		/* fine tune - , not on Y040052 */
+-	{ 0x2a, KEY_MEDIA },		/* PIP (Picture in picture */
+-	{ 0x21, KEY_DOT },
+-	{ 0x13, KEY_ENTER },
+-	{ 0x11, KEY_LAST },		/* Recall (last channel */
+-	{ 0x22, KEY_PREVIOUS },
+-	{ 0x23, KEY_PLAYPAUSE },
+-	{ 0x24, KEY_NEXT },
+-	{ 0x25, KEY_TIME },		/* Time Shifting */
+-	{ 0x26, KEY_STOP },
+-	{ 0x27, KEY_RECORD },
+-	{ 0x28, KEY_SAVE },		/* Screenshot */
+-	{ 0x2f, KEY_MENU },
+-	{ 0x30, KEY_CANCEL },
+-	{ 0x31, KEY_CHANNEL },		/* Channel Surf */
+-	{ 0x32, KEY_SUBTITLE },
+-	{ 0x33, KEY_LANGUAGE },
+-	{ 0x34, KEY_REWIND },
+-	{ 0x35, KEY_FASTFORWARD },
+-	{ 0x36, KEY_TV },
+-	{ 0x37, KEY_RADIO },		/* FM */
+-	{ 0x38, KEY_DVD },
+-
+-	{ 0x1a, KEY_MODE},		/* change to MCE mode on Y04G0051 */
+-	{ 0x3e, KEY_F21 },		/* MCE +VOL, on Y04G0033 */
+-	{ 0x3a, KEY_F22 },		/* MCE -VOL, on Y04G0033 */
+-	{ 0x3b, KEY_F23 },		/* MCE +CH,  on Y04G0033 */
+-	{ 0x3f, KEY_F24 }		/* MCE -CH,  on Y04G0033 */
+-};
+-
+-static struct rc_keymap winfast_map = {
+-	.map = {
+-		.scan    = winfast,
+-		.size    = ARRAY_SIZE(winfast),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_WINFAST,
+-	}
+-};
+-
+-static int __init init_rc_map_winfast(void)
+-{
+-	return ir_register_map(&winfast_map);
+-}
+-
+-static void __exit exit_rc_map_winfast(void)
+-{
+-	ir_unregister_map(&winfast_map);
+-}
+-
+-module_init(init_rc_map_winfast)
+-module_exit(exit_rc_map_winfast)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/keymaps/rc-winfast-usbii-deluxe.c linux-2.6.35.media/drivers/media/IR/keymaps/rc-winfast-usbii-deluxe.c
+--- linux-2.6.35/drivers/media/IR/keymaps/rc-winfast-usbii-deluxe.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/keymaps/rc-winfast-usbii-deluxe.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,82 +0,0 @@
+-/* winfast-usbii-deluxe.h - Keytable for winfast_usbii_deluxe Remote Controller
+- *
+- * keymap imported from ir-keymaps.c
+- *
+- * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- */
+-
+-#include <media/rc-map.h>
+-
+-/* Leadtek Winfast TV USB II Deluxe remote
+-   Magnus Alm <magnus.alm at gmail.com>
+- */
+-
+-static struct ir_scancode winfast_usbii_deluxe[] = {
+-	{ 0x62, KEY_0},
+-	{ 0x75, KEY_1},
+-	{ 0x76, KEY_2},
+-	{ 0x77, KEY_3},
+-	{ 0x79, KEY_4},
+-	{ 0x7a, KEY_5},
+-	{ 0x7b, KEY_6},
+-	{ 0x7d, KEY_7},
+-	{ 0x7e, KEY_8},
+-	{ 0x7f, KEY_9},
+-
+-	{ 0x38, KEY_CAMERA},		/* SNAPSHOT */
+-	{ 0x37, KEY_RECORD},		/* RECORD */
+-	{ 0x35, KEY_TIME},		/* TIMESHIFT */
+-
+-	{ 0x74, KEY_VOLUMEUP},		/* VOLUMEUP */
+-	{ 0x78, KEY_VOLUMEDOWN},	/* VOLUMEDOWN */
+-	{ 0x64, KEY_MUTE},		/* MUTE */
+-
+-	{ 0x21, KEY_CHANNEL},		/* SURF */
+-	{ 0x7c, KEY_CHANNELUP},		/* CHANNELUP */
+-	{ 0x60, KEY_CHANNELDOWN},	/* CHANNELDOWN */
+-	{ 0x61, KEY_LAST},		/* LAST CHANNEL (RECALL) */
+-
+-	{ 0x72, KEY_VIDEO}, 		/* INPUT MODES (TV/FM) */
+-
+-	{ 0x70, KEY_POWER2},		/* TV ON/OFF */
+-
+-	{ 0x39, KEY_CYCLEWINDOWS},	/* MINIMIZE (BOSS) */
+-	{ 0x3a, KEY_NEW},		/* PIP */
+-	{ 0x73, KEY_ZOOM},		/* FULLSECREEN */
+-
+-	{ 0x66, KEY_INFO},		/* OSD (DISPLAY) */
+-
+-	{ 0x31, KEY_DOT},		/* '.' */
+-	{ 0x63, KEY_ENTER},		/* ENTER */
+-
+-};
+-
+-static struct rc_keymap winfast_usbii_deluxe_map = {
+-	.map = {
+-		.scan    = winfast_usbii_deluxe,
+-		.size    = ARRAY_SIZE(winfast_usbii_deluxe),
+-		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
+-		.name    = RC_MAP_WINFAST_USBII_DELUXE,
+-	}
+-};
+-
+-static int __init init_rc_map_winfast_usbii_deluxe(void)
+-{
+-	return ir_register_map(&winfast_usbii_deluxe_map);
+-}
+-
+-static void __exit exit_rc_map_winfast_usbii_deluxe(void)
+-{
+-	ir_unregister_map(&winfast_usbii_deluxe_map);
+-}
+-
+-module_init(init_rc_map_winfast_usbii_deluxe)
+-module_exit(exit_rc_map_winfast_usbii_deluxe)
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
+diff -Naurp linux-2.6.35/drivers/media/IR/Makefile linux-2.6.35.media/drivers/media/IR/Makefile
+--- linux-2.6.35/drivers/media/IR/Makefile	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/Makefile	1969-12-31 19:00:00.000000000 -0500
+@@ -1,15 +0,0 @@
+-ir-common-objs  := ir-functions.o
+-ir-core-objs	:= ir-keytable.o ir-sysfs.o ir-raw-event.o rc-map.o
+-
+-obj-y += keymaps/
+-
+-obj-$(CONFIG_IR_CORE) += ir-core.o
+-obj-$(CONFIG_VIDEO_IR) += ir-common.o
+-obj-$(CONFIG_IR_NEC_DECODER) += ir-nec-decoder.o
+-obj-$(CONFIG_IR_RC5_DECODER) += ir-rc5-decoder.o
+-obj-$(CONFIG_IR_RC6_DECODER) += ir-rc6-decoder.o
+-obj-$(CONFIG_IR_JVC_DECODER) += ir-jvc-decoder.o
+-obj-$(CONFIG_IR_SONY_DECODER) += ir-sony-decoder.o
+-
+-# stand-alone IR receivers/transmitters
+-obj-$(CONFIG_IR_IMON) += imon.o
+diff -Naurp linux-2.6.35/drivers/media/IR/rc-map.c linux-2.6.35.media/drivers/media/IR/rc-map.c
+--- linux-2.6.35/drivers/media/IR/rc-map.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/IR/rc-map.c	1969-12-31 19:00:00.000000000 -0500
+@@ -1,84 +0,0 @@
+-/* ir-raw-event.c - handle IR Pulse/Space event
+- *
+- * Copyright (C) 2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- *  it under the terms of the GNU General Public License as published by
+- *  the Free Software Foundation version 2 of the License.
+- *
+- *  This program is distributed in the hope that it will be useful,
+- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- *  GNU General Public License for more details.
+- */
+-
+-#include <media/ir-core.h>
+-#include <linux/spinlock.h>
+-#include <linux/delay.h>
+-
+-/* Used to handle IR raw handler extensions */
+-static LIST_HEAD(rc_map_list);
+-static DEFINE_SPINLOCK(rc_map_lock);
+-
+-static struct rc_keymap *seek_rc_map(const char *name)
+-{
+-	struct rc_keymap *map = NULL;
+-
+-	spin_lock(&rc_map_lock);
+-	list_for_each_entry(map, &rc_map_list, list) {
+-		if (!strcmp(name, map->map.name)) {
+-			spin_unlock(&rc_map_lock);
+-			return map;
+-		}
+-	}
+-	spin_unlock(&rc_map_lock);
+-
+-	return NULL;
+-}
+-
+-struct ir_scancode_table *get_rc_map(const char *name)
+-{
+-
+-	struct rc_keymap *map;
+-
+-	map = seek_rc_map(name);
+-#ifdef MODULE
+-	if (!map) {
+-		int rc = request_module(name);
+-		if (rc < 0) {
+-			printk(KERN_ERR "Couldn't load IR keymap %s\n", name);
+-			return NULL;
+-		}
+-		msleep(20);	/* Give some time for IR to register */
+-
+-		map = seek_rc_map(name);
+-	}
+-#endif
+-	if (!map) {
+-		printk(KERN_ERR "IR keymap %s not found\n", name);
+-		return NULL;
+-	}
+-
+-	printk(KERN_INFO "Registered IR keymap %s\n", map->map.name);
+-
+-	return &map->map;
+-}
+-EXPORT_SYMBOL_GPL(get_rc_map);
+-
+-int ir_register_map(struct rc_keymap *map)
+-{
+-	spin_lock(&rc_map_lock);
+-	list_add_tail(&map->list, &rc_map_list);
+-	spin_unlock(&rc_map_lock);
+-	return 0;
+-}
+-EXPORT_SYMBOL_GPL(ir_register_map);
+-
+-void ir_unregister_map(struct rc_keymap *map)
+-{
+-	spin_lock(&rc_map_lock);
+-	list_del(&map->list);
+-	spin_unlock(&rc_map_lock);
+-}
+-EXPORT_SYMBOL_GPL(ir_unregister_map);
+-
+diff -Naurp linux-2.6.35/drivers/media/Kconfig linux-2.6.35.media/drivers/media/Kconfig
+--- linux-2.6.35/drivers/media/Kconfig	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/Kconfig	2011-01-24 22:56:31.224069322 -0500
 @@ -40,35 +40,6 @@ config VIDEO_V4L2_COMMON
  	depends on (I2C || I2C=n) && VIDEO_DEV
  	default (I2C || I2C=n) && VIDEO_DEV
@@ -37672,10 +46805,9 @@ Index: linux-2.6.35.x86_64/drivers/media/Kconfig
 -endif # DAB
 -
  endif # MEDIA_SUPPORT
-Index: linux-2.6.35.x86_64/drivers/media/Makefile
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/Makefile
-+++ linux-2.6.35.x86_64/drivers/media/Makefile
+diff -Naurp linux-2.6.35/drivers/media/Makefile linux-2.6.35.media/drivers/media/Makefile
+--- linux-2.6.35/drivers/media/Makefile	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/Makefile	2011-01-24 22:56:29.023066840 -0500
 @@ -2,7 +2,7 @@
  # Makefile for the kernel multimedia device drivers.
  #
@@ -37685,10 +46817,9 @@ Index: linux-2.6.35.x86_64/drivers/media/Makefile
  
  obj-$(CONFIG_VIDEO_DEV) += radio/
  obj-$(CONFIG_DVB_CORE)  += dvb/
-Index: linux-2.6.35.x86_64/drivers/media/radio/dsbr100.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/radio/dsbr100.mod.c
+diff -Naurp linux-2.6.35/drivers/media/radio/dsbr100.mod.c linux-2.6.35.media/drivers/media/radio/dsbr100.mod.c
+--- linux-2.6.35/drivers/media/radio/dsbr100.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/radio/dsbr100.mod.c	2011-01-24 22:56:29.387067246 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -37714,10 +46845,9 @@ Index: linux-2.6.35.x86_64/drivers/media/radio/dsbr100.mod.c
 +MODULE_ALIAS("usb:v04B4p1002d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "83AC3EE5357EC513D43A4EA");
-Index: linux-2.6.35.x86_64/drivers/media/radio/Kconfig
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/radio/Kconfig
-+++ linux-2.6.35.x86_64/drivers/media/radio/Kconfig
+diff -Naurp linux-2.6.35/drivers/media/radio/Kconfig linux-2.6.35.media/drivers/media/radio/Kconfig
+--- linux-2.6.35/drivers/media/radio/Kconfig	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/radio/Kconfig	2011-01-24 22:56:29.317067168 -0500
 @@ -151,20 +151,6 @@ config RADIO_GEMTEK_PROBE
  	  following ports will be probed: 0x20c, 0x30c, 0x24c, 0x34c, 0x248 and
  	  0x28c.
@@ -37760,10 +46890,9 @@ Index: linux-2.6.35.x86_64/drivers/media/radio/Kconfig
 +	  module will be called radio-wl1273.
 +
  endif # RADIO_ADAPTERS
-Index: linux-2.6.35.x86_64/drivers/media/radio/Makefile
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/radio/Makefile
-+++ linux-2.6.35.x86_64/drivers/media/radio/Makefile
+diff -Naurp linux-2.6.35/drivers/media/radio/Makefile linux-2.6.35.media/drivers/media/radio/Makefile
+--- linux-2.6.35/drivers/media/radio/Makefile	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/radio/Makefile	2011-01-24 22:56:29.041066859 -0500
 @@ -13,7 +13,6 @@ obj-$(CONFIG_RADIO_MAXIRADIO) += radio-m
  obj-$(CONFIG_RADIO_RTRACK) += radio-aimslab.o
  obj-$(CONFIG_RADIO_ZOLTRIX) += radio-zoltrix.o
@@ -37779,10 +46908,9 @@ Index: linux-2.6.35.x86_64/drivers/media/radio/Makefile
 +obj-$(CONFIG_RADIO_WL1273) += radio-wl1273.o
  
  EXTRA_CFLAGS += -Isound
-Index: linux-2.6.35.x86_64/drivers/media/radio/radio-aimslab.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/radio/radio-aimslab.c
-+++ linux-2.6.35.x86_64/drivers/media/radio/radio-aimslab.c
+diff -Naurp linux-2.6.35/drivers/media/radio/radio-aimslab.c linux-2.6.35.media/drivers/media/radio/radio-aimslab.c
+--- linux-2.6.35/drivers/media/radio/radio-aimslab.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/radio/radio-aimslab.c	2011-01-24 22:56:29.397067258 -0500
 @@ -31,7 +31,7 @@
  #include <linux/module.h>	/* Modules 			*/
  #include <linux/init.h>		/* Initdata			*/
@@ -37890,10 +47018,9 @@ Index: linux-2.6.35.x86_64/drivers/media/radio/radio-aimslab.c
  	return 0;
  }
  
-Index: linux-2.6.35.x86_64/drivers/media/radio/radio-aztech.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/radio/radio-aztech.c
-+++ linux-2.6.35.x86_64/drivers/media/radio/radio-aztech.c
+diff -Naurp linux-2.6.35/drivers/media/radio/radio-aztech.c linux-2.6.35.media/drivers/media/radio/radio-aztech.c
+--- linux-2.6.35/drivers/media/radio/radio-aztech.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/radio/radio-aztech.c	2011-01-24 22:56:29.217067056 -0500
 @@ -324,7 +324,7 @@ static int vidioc_s_ctrl(struct file *fi
  
  static const struct v4l2_file_operations aztech_fops = {
@@ -37921,10 +47048,9 @@ Index: linux-2.6.35.x86_64/drivers/media/radio/radio-aztech.c
  	return 0;
  }
  
-Index: linux-2.6.35.x86_64/drivers/media/radio/radio-cadet.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/radio/radio-cadet.c
-+++ linux-2.6.35.x86_64/drivers/media/radio/radio-cadet.c
+diff -Naurp linux-2.6.35/drivers/media/radio/radio-cadet.c linux-2.6.35.media/drivers/media/radio/radio-cadet.c
+--- linux-2.6.35/drivers/media/radio/radio-cadet.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/radio/radio-cadet.c	2011-01-24 22:56:29.337067190 -0500
 @@ -328,11 +328,10 @@ static ssize_t cadet_read(struct file *f
  	unsigned char readbuf[RDS_BUFFER];
  	int i = 0;
@@ -37999,10 +47125,9 @@ Index: linux-2.6.35.x86_64/drivers/media/radio/radio-cadet.c
  	.poll		= cadet_poll,
  };
  
-Index: linux-2.6.35.x86_64/drivers/media/radio/radio-gemtek.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/radio/radio-gemtek.c
-+++ linux-2.6.35.x86_64/drivers/media/radio/radio-gemtek.c
+diff -Naurp linux-2.6.35/drivers/media/radio/radio-gemtek.c linux-2.6.35.media/drivers/media/radio/radio-gemtek.c
+--- linux-2.6.35/drivers/media/radio/radio-gemtek.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/radio/radio-gemtek.c	2011-01-24 22:56:29.367067224 -0500
 @@ -378,7 +378,7 @@ static int gemtek_probe(struct gemtek *g
  
  static const struct v4l2_file_operations gemtek_fops = {
@@ -38038,10 +47163,9 @@ Index: linux-2.6.35.x86_64/drivers/media/radio/radio-gemtek.c
  	return 0;
  }
  
-Index: linux-2.6.35.x86_64/drivers/media/radio/radio-gemtek-pci.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/radio/radio-gemtek-pci.mod.c
+diff -Naurp linux-2.6.35/drivers/media/radio/radio-gemtek-pci.mod.c linux-2.6.35.media/drivers/media/radio/radio-gemtek-pci.mod.c
+--- linux-2.6.35/drivers/media/radio/radio-gemtek-pci.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/radio/radio-gemtek-pci.mod.c	2011-01-24 22:56:29.377067236 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -38067,10 +47191,9 @@ Index: linux-2.6.35.x86_64/drivers/media/radio/radio-gemtek-pci.mod.c
 +MODULE_ALIAS("pci:v00005046d00001001sv*sd*bc*sc*i*");
 +
 +MODULE_INFO(srcversion, "3A5187DC036256AB47F2EB1");
-Index: linux-2.6.35.x86_64/drivers/media/radio/radio-maestro.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/radio/radio-maestro.c
-+++ linux-2.6.35.x86_64/drivers/media/radio/radio-maestro.c
+diff -Naurp linux-2.6.35/drivers/media/radio/radio-maestro.c linux-2.6.35.media/drivers/media/radio/radio-maestro.c
+--- linux-2.6.35/drivers/media/radio/radio-maestro.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/radio/radio-maestro.c	2011-01-24 22:56:29.177067011 -0500
 @@ -299,7 +299,7 @@ static int vidioc_s_audio(struct file *f
  
  static const struct v4l2_file_operations maestro_fops = {
@@ -38108,10 +47231,9 @@ Index: linux-2.6.35.x86_64/drivers/media/radio/radio-maestro.c
  errfr1:
  	v4l2_device_unregister(v4l2_dev);
  errfr:
-Index: linux-2.6.35.x86_64/drivers/media/radio/radio-maestro.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/radio/radio-maestro.mod.c
+diff -Naurp linux-2.6.35/drivers/media/radio/radio-maestro.mod.c linux-2.6.35.media/drivers/media/radio/radio-maestro.mod.c
+--- linux-2.6.35/drivers/media/radio/radio-maestro.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/radio/radio-maestro.mod.c	2011-01-24 22:56:29.327067180 -0500
 @@ -0,0 +1,25 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -38138,10 +47260,9 @@ Index: linux-2.6.35.x86_64/drivers/media/radio/radio-maestro.mod.c
 +MODULE_ALIAS("pci:v0000125Dd00001978sv*sd*bc04sc01i*");
 +
 +MODULE_INFO(srcversion, "0D437F04EF5A7C73EB2FC7F");
-Index: linux-2.6.35.x86_64/drivers/media/radio/radio-maxiradio.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/radio/radio-maxiradio.c
-+++ linux-2.6.35.x86_64/drivers/media/radio/radio-maxiradio.c
+diff -Naurp linux-2.6.35/drivers/media/radio/radio-maxiradio.c linux-2.6.35.media/drivers/media/radio/radio-maxiradio.c
+--- linux-2.6.35/drivers/media/radio/radio-maxiradio.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/radio/radio-maxiradio.c	2011-01-24 22:56:29.307067156 -0500
 @@ -13,7 +13,7 @@
   * anybody does please mail me.
   *
@@ -38171,10 +47292,9 @@ Index: linux-2.6.35.x86_64/drivers/media/radio/radio-maxiradio.c
  };
  
  static const struct v4l2_ioctl_ops maxiradio_ioctl_ops = {
-Index: linux-2.6.35.x86_64/drivers/media/radio/radio-maxiradio.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/radio/radio-maxiradio.mod.c
+diff -Naurp linux-2.6.35/drivers/media/radio/radio-maxiradio.mod.c linux-2.6.35.media/drivers/media/radio/radio-maxiradio.mod.c
+--- linux-2.6.35/drivers/media/radio/radio-maxiradio.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/radio/radio-maxiradio.mod.c	2011-01-24 22:56:29.237067080 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -38200,10 +47320,9 @@ Index: linux-2.6.35.x86_64/drivers/media/radio/radio-maxiradio.mod.c
 +MODULE_ALIAS("pci:v00005046d00001001sv*sd*bc*sc*i*");
 +
 +MODULE_INFO(srcversion, "AD9F6CA65A61388B80037BD");
-Index: linux-2.6.35.x86_64/drivers/media/radio/radio-miropcm20.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/radio/radio-miropcm20.c
-+++ linux-2.6.35.x86_64/drivers/media/radio/radio-miropcm20.c
+diff -Naurp linux-2.6.35/drivers/media/radio/radio-miropcm20.c linux-2.6.35.media/drivers/media/radio/radio-miropcm20.c
+--- linux-2.6.35/drivers/media/radio/radio-miropcm20.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/radio/radio-miropcm20.c	2011-01-24 22:56:29.277067124 -0500
 @@ -33,6 +33,7 @@ struct pcm20 {
  	unsigned long freq;
  	int muted;
@@ -38238,10 +47357,9 @@ Index: linux-2.6.35.x86_64/drivers/media/radio/radio-miropcm20.c
  	video_set_drvdata(&dev->vdev, dev);
  
  	if (video_register_device(&dev->vdev, VFL_TYPE_RADIO, radio_nr) < 0)
-Index: linux-2.6.35.x86_64/drivers/media/radio/radio-mr800.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/radio/radio-mr800.c
-+++ linux-2.6.35.x86_64/drivers/media/radio/radio-mr800.c
+diff -Naurp linux-2.6.35/drivers/media/radio/radio-mr800.c linux-2.6.35.media/drivers/media/radio/radio-mr800.c
+--- linux-2.6.35/drivers/media/radio/radio-mr800.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/radio/radio-mr800.c	2011-01-24 22:56:29.347067202 -0500
 @@ -58,7 +58,6 @@
  #include <linux/module.h>
  #include <linux/init.h>
@@ -38434,10 +47552,9 @@ Index: linux-2.6.35.x86_64/drivers/media/radio/radio-mr800.c
  	video_set_drvdata(&radio->videodev, radio);
  
  	retval = video_register_device(&radio->videodev, VFL_TYPE_RADIO,
-Index: linux-2.6.35.x86_64/drivers/media/radio/radio-mr800.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/radio/radio-mr800.mod.c
+diff -Naurp linux-2.6.35/drivers/media/radio/radio-mr800.mod.c linux-2.6.35.media/drivers/media/radio/radio-mr800.mod.c
+--- linux-2.6.35/drivers/media/radio/radio-mr800.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/radio/radio-mr800.mod.c	2011-01-24 22:56:29.146066976 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -38463,10 +47580,9 @@ Index: linux-2.6.35.x86_64/drivers/media/radio/radio-mr800.mod.c
 +MODULE_ALIAS("usb:v07CApB800d*dc*dsc*dp*ic03isc00ip00*");
 +
 +MODULE_INFO(srcversion, "6B6AC7E80EA22445781E306");
-Index: linux-2.6.35.x86_64/drivers/media/radio/radio-rtrack2.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/radio/radio-rtrack2.c
-+++ linux-2.6.35.x86_64/drivers/media/radio/radio-rtrack2.c
+diff -Naurp linux-2.6.35/drivers/media/radio/radio-rtrack2.c linux-2.6.35.media/drivers/media/radio/radio-rtrack2.c
+--- linux-2.6.35/drivers/media/radio/radio-rtrack2.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/radio/radio-rtrack2.c	2011-01-24 22:56:29.197067033 -0500
 @@ -266,7 +266,7 @@ static int vidioc_s_audio(struct file *f
  
  static const struct v4l2_file_operations rtrack2_fops = {
@@ -38498,10 +47614,9 @@ Index: linux-2.6.35.x86_64/drivers/media/radio/radio-rtrack2.c
  	return 0;
  }
  
-Index: linux-2.6.35.x86_64/drivers/media/radio/radio-sf16fmi.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/radio/radio-sf16fmi.c
-+++ linux-2.6.35.x86_64/drivers/media/radio/radio-sf16fmi.c
+diff -Naurp linux-2.6.35/drivers/media/radio/radio-sf16fmi.c linux-2.6.35.media/drivers/media/radio/radio-sf16fmi.c
+--- linux-2.6.35/drivers/media/radio/radio-sf16fmi.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/radio/radio-sf16fmi.c	2011-01-24 22:56:29.407067268 -0500
 @@ -260,7 +260,7 @@ static int vidioc_s_audio(struct file *f
  
  static const struct v4l2_file_operations fmi_fops = {
@@ -38530,10 +47645,9 @@ Index: linux-2.6.35.x86_64/drivers/media/radio/radio-sf16fmi.c
  	return 0;
  }
  
-Index: linux-2.6.35.x86_64/drivers/media/radio/radio-sf16fmr2.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/radio/radio-sf16fmr2.c
-+++ linux-2.6.35.x86_64/drivers/media/radio/radio-sf16fmr2.c
+diff -Naurp linux-2.6.35/drivers/media/radio/radio-sf16fmr2.c linux-2.6.35.media/drivers/media/radio/radio-sf16fmr2.c
+--- linux-2.6.35/drivers/media/radio/radio-sf16fmr2.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/radio/radio-sf16fmr2.c	2011-01-24 22:56:29.207067045 -0500
 @@ -376,7 +376,7 @@ static int vidioc_s_audio(struct file *f
  
  static const struct v4l2_file_operations fmr2_fops = {
@@ -38566,10 +47680,9 @@ Index: linux-2.6.35.x86_64/drivers/media/radio/radio-sf16fmr2.c
  	debug_print((KERN_DEBUG "card_type %d\n", fmr2->card_type));
  	return 0;
  }
-Index: linux-2.6.35.x86_64/drivers/media/radio/radio-si4713.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/radio/radio-si4713.c
-+++ linux-2.6.35.x86_64/drivers/media/radio/radio-si4713.c
+diff -Naurp linux-2.6.35/drivers/media/radio/radio-si4713.c linux-2.6.35.media/drivers/media/radio/radio-si4713.c
+--- linux-2.6.35/drivers/media/radio/radio-si4713.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/radio/radio-si4713.c	2011-01-24 22:56:29.047066866 -0500
 @@ -53,7 +53,8 @@ struct radio_si4713_device {
  /* radio_si4713_fops - file operations interface */
  static const struct v4l2_file_operations radio_si4713_fops = {
@@ -38625,10 +47738,9 @@ Index: linux-2.6.35.x86_64/drivers/media/radio/radio-si4713.c
  	v4l2_device_unregister(&rsdev->v4l2_dev);
  	kfree(rsdev);
  
-Index: linux-2.6.35.x86_64/drivers/media/radio/radio-si4713.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/radio/radio-si4713.mod.c
+diff -Naurp linux-2.6.35/drivers/media/radio/radio-si4713.mod.c linux-2.6.35.media/drivers/media/radio/radio-si4713.mod.c
+--- linux-2.6.35/drivers/media/radio/radio-si4713.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/radio/radio-si4713.mod.c	2011-01-24 22:56:29.357067212 -0500
 @@ -0,0 +1,23 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -38653,10 +47765,9 @@ Index: linux-2.6.35.x86_64/drivers/media/radio/radio-si4713.mod.c
 +
 +
 +MODULE_INFO(srcversion, "3E72C492186DBF2458DDA7B");
-Index: linux-2.6.35.x86_64/drivers/media/radio/radio-tea5764.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/radio/radio-tea5764.c
-+++ linux-2.6.35.x86_64/drivers/media/radio/radio-tea5764.c
+diff -Naurp linux-2.6.35/drivers/media/radio/radio-tea5764.c linux-2.6.35.media/drivers/media/radio/radio-tea5764.c
+--- linux-2.6.35/drivers/media/radio/radio-tea5764.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/radio/radio-tea5764.c	2011-01-24 22:56:29.036066853 -0500
 @@ -142,7 +142,6 @@ struct tea5764_device {
  	struct video_device		*videodev;
  	struct tea5764_regs		regs;
@@ -38744,10 +47855,9 @@ Index: linux-2.6.35.x86_64/drivers/media/radio/radio-tea5764.c
  	PINFO("registered.");
  	return 0;
  errrel:
-Index: linux-2.6.35.x86_64/drivers/media/radio/radio-terratec.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/radio/radio-terratec.c
-+++ linux-2.6.35.x86_64/drivers/media/radio/radio-terratec.c
+diff -Naurp linux-2.6.35/drivers/media/radio/radio-terratec.c linux-2.6.35.media/drivers/media/radio/radio-terratec.c
+--- linux-2.6.35/drivers/media/radio/radio-terratec.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/radio/radio-terratec.c	2011-01-24 22:56:29.297067146 -0500
 @@ -338,7 +338,7 @@ static int vidioc_s_audio(struct file *f
  
  static const struct v4l2_file_operations terratec_fops = {
@@ -38777,10 +47887,9 @@ Index: linux-2.6.35.x86_64/drivers/media/radio/radio-terratec.c
  	return 0;
  }
  
-Index: linux-2.6.35.x86_64/drivers/media/radio/radio-timb.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/radio/radio-timb.c
-+++ linux-2.6.35.x86_64/drivers/media/radio/radio-timb.c
+diff -Naurp linux-2.6.35/drivers/media/radio/radio-timb.c linux-2.6.35.media/drivers/media/radio/radio-timb.c
+--- linux-2.6.35/drivers/media/radio/radio-timb.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/radio/radio-timb.c	2011-01-24 22:56:29.257067100 -0500
 @@ -34,6 +34,7 @@ struct timbradio {
  	struct v4l2_subdev	*sd_dsp;
  	struct video_device	video_dev;
@@ -38814,10 +47923,9 @@ Index: linux-2.6.35.x86_64/drivers/media/radio/radio-timb.c
  
  	strlcpy(tr->v4l2_dev.name, DRIVER_NAME, sizeof(tr->v4l2_dev.name));
  	err = v4l2_device_register(NULL, &tr->v4l2_dev);
-Index: linux-2.6.35.x86_64/drivers/media/radio/radio-trust.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/radio/radio-trust.c
-+++ linux-2.6.35.x86_64/drivers/media/radio/radio-trust.c
+diff -Naurp linux-2.6.35/drivers/media/radio/radio-trust.c linux-2.6.35.media/drivers/media/radio/radio-trust.c
+--- linux-2.6.35/drivers/media/radio/radio-trust.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/radio/radio-trust.c	2011-01-24 22:56:29.267067112 -0500
 @@ -344,7 +344,7 @@ static int vidioc_s_audio(struct file *f
  
  static const struct v4l2_file_operations trust_fops = {
@@ -38857,10 +47965,9 @@ Index: linux-2.6.35.x86_64/drivers/media/radio/radio-trust.c
  	return 0;
  }
  
-Index: linux-2.6.35.x86_64/drivers/media/radio/radio-typhoon.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/radio/radio-typhoon.c
-+++ linux-2.6.35.x86_64/drivers/media/radio/radio-typhoon.c
+diff -Naurp linux-2.6.35/drivers/media/radio/radio-typhoon.c linux-2.6.35.media/drivers/media/radio/radio-typhoon.c
+--- linux-2.6.35/drivers/media/radio/radio-typhoon.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/radio/radio-typhoon.c	2011-01-24 22:56:29.247067090 -0500
 @@ -1,9 +1,6 @@
  /* Typhoon Radio Card driver for radio support
   * (c) 1999 Dr. Henrik Seidel <Henrik.Seidel at gmx.de>
@@ -38924,10 +48031,9 @@ Index: linux-2.6.35.x86_64/drivers/media/radio/radio-typhoon.c
  
  	return 0;
  }
-Index: linux-2.6.35.x86_64/drivers/media/radio/radio-wl1273.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/radio/radio-wl1273.c
+diff -Naurp linux-2.6.35/drivers/media/radio/radio-wl1273.c linux-2.6.35.media/drivers/media/radio/radio-wl1273.c
+--- linux-2.6.35/drivers/media/radio/radio-wl1273.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/radio/radio-wl1273.c	2011-01-24 22:56:29.136066966 -0500
 @@ -0,0 +1,2330 @@
 +/*
 + * Driver for the Texas Instruments WL1273 FM radio.
@@ -41259,10 +50365,9 @@ Index: linux-2.6.35.x86_64/drivers/media/radio/radio-wl1273.c
 +MODULE_AUTHOR("Matti Aaltonen <matti.j.aaltonen at nokia.com>");
 +MODULE_DESCRIPTION(DRIVER_DESC);
 +MODULE_LICENSE("GPL");
-Index: linux-2.6.35.x86_64/drivers/media/radio/radio-zoltrix.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/radio/radio-zoltrix.c
-+++ linux-2.6.35.x86_64/drivers/media/radio/radio-zoltrix.c
+diff -Naurp linux-2.6.35/drivers/media/radio/radio-zoltrix.c linux-2.6.35.media/drivers/media/radio/radio-zoltrix.c
+--- linux-2.6.35/drivers/media/radio/radio-zoltrix.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/radio/radio-zoltrix.c	2011-01-24 22:56:29.156066988 -0500
 @@ -377,7 +377,7 @@ static int vidioc_s_audio(struct file *f
  static const struct v4l2_file_operations zoltrix_fops =
  {
@@ -41314,10 +50419,9 @@ Index: linux-2.6.35.x86_64/drivers/media/radio/radio-zoltrix.c
  	return 0;
  }
  
-Index: linux-2.6.35.x86_64/drivers/media/radio/si470x/radio-i2c-si470x.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/radio/si470x/radio-i2c-si470x.mod.c
+diff -Naurp linux-2.6.35/drivers/media/radio/si470x/radio-i2c-si470x.mod.c linux-2.6.35.media/drivers/media/radio/si470x/radio-i2c-si470x.mod.c
+--- linux-2.6.35/drivers/media/radio/si470x/radio-i2c-si470x.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/radio/si470x/radio-i2c-si470x.mod.c	2011-01-24 22:56:29.075066896 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -41343,10 +50447,9 @@ Index: linux-2.6.35.x86_64/drivers/media/radio/si470x/radio-i2c-si470x.mod.c
 +MODULE_ALIAS("i2c:si470x");
 +
 +MODULE_INFO(srcversion, "2F0CDEDC5EC12064487D05E");
-Index: linux-2.6.35.x86_64/drivers/media/radio/si470x/radio-si470x-common.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/radio/si470x/radio-si470x-common.c
-+++ linux-2.6.35.x86_64/drivers/media/radio/si470x/radio-si470x-common.c
+diff -Naurp linux-2.6.35/drivers/media/radio/si470x/radio-si470x-common.c linux-2.6.35.media/drivers/media/radio/si470x/radio-si470x-common.c
+--- linux-2.6.35/drivers/media/radio/si470x/radio-si470x-common.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/radio/si470x/radio-si470x-common.c	2011-01-24 22:56:29.085066908 -0500
 @@ -357,7 +357,8 @@ int si470x_start(struct si470x_device *r
  		goto done;
  
@@ -41559,10 +50662,9 @@ Index: linux-2.6.35.x86_64/drivers/media/radio/si470x/radio-si470x-common.c
  	return retval;
  }
  
-Index: linux-2.6.35.x86_64/drivers/media/radio/si470x/radio-si470x.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/radio/si470x/radio-si470x.h
-+++ linux-2.6.35.x86_64/drivers/media/radio/si470x/radio-si470x.h
+diff -Naurp linux-2.6.35/drivers/media/radio/si470x/radio-si470x.h linux-2.6.35.media/drivers/media/radio/si470x/radio-si470x.h
+--- linux-2.6.35/drivers/media/radio/si470x/radio-si470x.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/radio/si470x/radio-si470x.h	2011-01-24 22:56:29.055066874 -0500
 @@ -31,14 +31,12 @@
  #include <linux/init.h>
  #include <linux/sched.h>
@@ -41594,10 +50696,9 @@ Index: linux-2.6.35.x86_64/drivers/media/radio/si470x/radio-si470x.h
  int si470x_fops_open(struct file *file);
  int si470x_fops_release(struct file *file);
  int si470x_vidioc_querycap(struct file *file, void *priv,
-Index: linux-2.6.35.x86_64/drivers/media/radio/si470x/radio-si470x-i2c.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/radio/si470x/radio-si470x-i2c.c
-+++ linux-2.6.35.x86_64/drivers/media/radio/si470x/radio-si470x-i2c.c
+diff -Naurp linux-2.6.35/drivers/media/radio/si470x/radio-si470x-i2c.c linux-2.6.35.media/drivers/media/radio/si470x/radio-si470x-i2c.c
+--- linux-2.6.35/drivers/media/radio/si470x/radio-si470x-i2c.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/radio/si470x/radio-si470x-i2c.c	2011-01-24 22:56:29.095066920 -0500
 @@ -395,7 +395,7 @@ static int __devinit si470x_i2c_probe(st
  	radio->registers[POWERCFG] = POWERCFG_ENABLE;
  	if (si470x_set_register(radio, POWERCFG) < 0) {
@@ -41607,10 +50708,9 @@ Index: linux-2.6.35.x86_64/drivers/media/radio/si470x/radio-si470x-i2c.c
  	}
  	msleep(110);
  
-Index: linux-2.6.35.x86_64/drivers/media/radio/si470x/radio-si470x-usb.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/radio/si470x/radio-si470x-usb.c
-+++ linux-2.6.35.x86_64/drivers/media/radio/si470x/radio-si470x-usb.c
+diff -Naurp linux-2.6.35/drivers/media/radio/si470x/radio-si470x-usb.c linux-2.6.35.media/drivers/media/radio/si470x/radio-si470x-usb.c
+--- linux-2.6.35/drivers/media/radio/si470x/radio-si470x-usb.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/radio/si470x/radio-si470x-usb.c	2011-01-24 22:56:29.126066954 -0500
 @@ -517,7 +517,7 @@ int si470x_fops_open(struct file *file)
  	struct si470x_device *radio = video_drvdata(file);
  	int retval;
@@ -41686,10 +50786,9 @@ Index: linux-2.6.35.x86_64/drivers/media/radio/si470x/radio-si470x-usb.c
  	}
  }
  
-Index: linux-2.6.35.x86_64/drivers/media/radio/si470x/radio-usb-si470x.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/radio/si470x/radio-usb-si470x.mod.c
+diff -Naurp linux-2.6.35/drivers/media/radio/si470x/radio-usb-si470x.mod.c linux-2.6.35.media/drivers/media/radio/si470x/radio-usb-si470x.mod.c
+--- linux-2.6.35/drivers/media/radio/si470x/radio-usb-si470x.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/radio/si470x/radio-usb-si470x.mod.c	2011-01-24 22:56:29.116066943 -0500
 @@ -0,0 +1,27 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -41718,10 +50817,9 @@ Index: linux-2.6.35.x86_64/drivers/media/radio/si470x/radio-usb-si470x.mod.c
 +MODULE_ALIAS("usb:v10C5p819Ad*dc*dsc*dp*ic03isc00ip00*");
 +
 +MODULE_INFO(srcversion, "60BB75A4775343FC2A5350C");
-Index: linux-2.6.35.x86_64/drivers/media/radio/si4713-i2c.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/radio/si4713-i2c.c
-+++ linux-2.6.35.x86_64/drivers/media/radio/si4713-i2c.c
+diff -Naurp linux-2.6.35/drivers/media/radio/si4713-i2c.c linux-2.6.35.media/drivers/media/radio/si4713-i2c.c
+--- linux-2.6.35/drivers/media/radio/si4713-i2c.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/radio/si4713-i2c.c	2011-01-24 22:56:29.167067000 -0500
 @@ -27,6 +27,8 @@
  #include <linux/interrupt.h>
  #include <linux/i2c.h>
@@ -41917,10 +51015,9 @@ Index: linux-2.6.35.x86_64/drivers/media/radio/si4713-i2c.c
  	kfree(sdev);
  
  	return 0;
-Index: linux-2.6.35.x86_64/drivers/media/radio/si4713-i2c.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/radio/si4713-i2c.h
-+++ linux-2.6.35.x86_64/drivers/media/radio/si4713-i2c.h
+diff -Naurp linux-2.6.35/drivers/media/radio/si4713-i2c.h linux-2.6.35.media/drivers/media/radio/si4713-i2c.h
+--- linux-2.6.35/drivers/media/radio/si4713-i2c.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/radio/si4713-i2c.h	2011-01-24 22:56:29.031066848 -0500
 @@ -211,6 +211,8 @@ struct acomp_info {
  	u32 enabled;
  };
@@ -41944,10 +51041,9 @@ Index: linux-2.6.35.x86_64/drivers/media/radio/si4713-i2c.h
  	u32 frequency;
  	u32 preemphasis;
  	u32 mute;
-Index: linux-2.6.35.x86_64/drivers/media/radio/si4713-i2c.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/radio/si4713-i2c.mod.c
+diff -Naurp linux-2.6.35/drivers/media/radio/si4713-i2c.mod.c linux-2.6.35.media/drivers/media/radio/si4713-i2c.mod.c
+--- linux-2.6.35/drivers/media/radio/si4713-i2c.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/radio/si4713-i2c.mod.c	2011-01-24 22:56:29.287067134 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -41973,10 +51069,9 @@ Index: linux-2.6.35.x86_64/drivers/media/radio/si4713-i2c.mod.c
 +MODULE_ALIAS("i2c:si4713");
 +
 +MODULE_INFO(srcversion, "6EA9E5AD3BF7C33BAFF41F4");
-Index: linux-2.6.35.x86_64/drivers/media/radio/tef6862.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/radio/tef6862.c
-+++ linux-2.6.35.x86_64/drivers/media/radio/tef6862.c
+diff -Naurp linux-2.6.35/drivers/media/radio/tef6862.c linux-2.6.35.media/drivers/media/radio/tef6862.c
+--- linux-2.6.35/drivers/media/radio/tef6862.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/radio/tef6862.c	2011-01-24 22:56:29.227067067 -0500
 @@ -22,7 +22,6 @@
  #include <linux/kernel.h>
  #include <linux/interrupt.h>
@@ -41985,10 +51080,9 @@ Index: linux-2.6.35.x86_64/drivers/media/radio/tef6862.c
  #include <linux/slab.h>
  #include <media/v4l2-ioctl.h>
  #include <media/v4l2-device.h>
-Index: linux-2.6.35.x86_64/drivers/media/rc/ene_ir.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/ene_ir.c
+diff -Naurp linux-2.6.35/drivers/media/rc/ene_ir.c linux-2.6.35.media/drivers/media/rc/ene_ir.c
+--- linux-2.6.35/drivers/media/rc/ene_ir.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/ene_ir.c	2011-01-24 22:56:39.019078632 -0500
 @@ -0,0 +1,1213 @@
 +/*
 + * driver for ENE KB3926 B/C/D/E/F CIR (pnp id: ENE0XXX)
@@ -43203,10 +52297,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/ene_ir.c
 +
 +module_init(ene_init);
 +module_exit(ene_exit);
-Index: linux-2.6.35.x86_64/drivers/media/rc/ene_ir.h
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/ene_ir.h
+diff -Naurp linux-2.6.35/drivers/media/rc/ene_ir.h linux-2.6.35.media/drivers/media/rc/ene_ir.h
+--- linux-2.6.35/drivers/media/rc/ene_ir.h	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/ene_ir.h	2011-01-24 22:56:39.038078655 -0500
 @@ -0,0 +1,259 @@
 +/*
 + * driver for ENE KB3926 B/C/D/E/F CIR (also known as ENE0XXX)
@@ -43467,10 +52560,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/ene_ir.h
 +
 +static int ene_irq_status(struct ene_device *dev);
 +static void ene_rx_read_hw_pointer(struct ene_device *dev);
-Index: linux-2.6.35.x86_64/drivers/media/rc/imon.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/imon.c
+diff -Naurp linux-2.6.35/drivers/media/rc/imon.c linux-2.6.35.media/drivers/media/rc/imon.c
+--- linux-2.6.35/drivers/media/rc/imon.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/imon.c	2011-01-24 22:56:39.049078670 -0500
 @@ -0,0 +1,2449 @@
 +/*
 + *   imon.c:	input and display driver for SoundGraph iMON IR/VFD/LCD
@@ -45921,14 +55013,13 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/imon.c
 +
 +module_init(imon_init);
 +module_exit(imon_exit);
-Index: linux-2.6.35.x86_64/drivers/media/rc/ir-jvc-decoder.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/ir-jvc-decoder.c
+diff -Naurp linux-2.6.35/drivers/media/rc/ir-jvc-decoder.c linux-2.6.35.media/drivers/media/rc/ir-jvc-decoder.c
+--- linux-2.6.35/drivers/media/rc/ir-jvc-decoder.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/ir-jvc-decoder.c	2011-01-24 22:56:39.027078642 -0500
 @@ -0,0 +1,198 @@
 +/* ir-jvc-decoder.c - handle JVC IR Pulse/Space protocol
 + *
-+ * Copyright (C) 2010 by David Härdeman <david at hardeman.nu>
++ * Copyright (C) 2010 by David Härdeman <david at hardeman.nu>
 + *
 + * This program is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -46122,12 +55213,11 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/ir-jvc-decoder.c
 +module_exit(ir_jvc_decode_exit);
 +
 +MODULE_LICENSE("GPL");
-+MODULE_AUTHOR("David Härdeman <david at hardeman.nu>");
++MODULE_AUTHOR("David Härdeman <david at hardeman.nu>");
 +MODULE_DESCRIPTION("JVC IR protocol decoder");
-Index: linux-2.6.35.x86_64/drivers/media/rc/ir-lirc-codec.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/ir-lirc-codec.c
+diff -Naurp linux-2.6.35/drivers/media/rc/ir-lirc-codec.c linux-2.6.35.media/drivers/media/rc/ir-lirc-codec.c
+--- linux-2.6.35/drivers/media/rc/ir-lirc-codec.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/ir-lirc-codec.c	2011-01-24 22:57:21.572827711 -0500
 @@ -0,0 +1,402 @@
 +/* ir-lirc-codec.c - ir-core to classic lirc interface bridge
 + *
@@ -46531,10 +55621,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/ir-lirc-codec.c
 +MODULE_AUTHOR("Jarod Wilson <jarod at redhat.com>");
 +MODULE_AUTHOR("Red Hat Inc. (http://www.redhat.com)");
 +MODULE_DESCRIPTION("LIRC IR handler bridge");
-Index: linux-2.6.35.x86_64/drivers/media/rc/ir-nec-decoder.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/ir-nec-decoder.c
+diff -Naurp linux-2.6.35/drivers/media/rc/ir-nec-decoder.c linux-2.6.35.media/drivers/media/rc/ir-nec-decoder.c
+--- linux-2.6.35/drivers/media/rc/ir-nec-decoder.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/ir-nec-decoder.c	2011-01-24 22:56:39.034078651 -0500
 @@ -0,0 +1,220 @@
 +/* ir-nec-decoder.c - handle NEC IR Pulse/Space protocol
 + *
@@ -46756,10 +55845,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/ir-nec-decoder.c
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
 +MODULE_AUTHOR("Red Hat Inc. (http://www.redhat.com)");
 +MODULE_DESCRIPTION("NEC IR protocol decoder");
-Index: linux-2.6.35.x86_64/drivers/media/rc/ir-raw.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/ir-raw.c
+diff -Naurp linux-2.6.35/drivers/media/rc/ir-raw.c linux-2.6.35.media/drivers/media/rc/ir-raw.c
+--- linux-2.6.35/drivers/media/rc/ir-raw.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/ir-raw.c	2011-01-24 22:56:39.069078695 -0500
 @@ -0,0 +1,371 @@
 +/* ir-raw.c - handle IR pulse/space events
 + *
@@ -47132,10 +56220,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/ir-raw.c
 +	schedule_work(&wq_load);
 +#endif
 +}
-Index: linux-2.6.35.x86_64/drivers/media/rc/ir-rc5-decoder.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/ir-rc5-decoder.c
+diff -Naurp linux-2.6.35/drivers/media/rc/ir-rc5-decoder.c linux-2.6.35.media/drivers/media/rc/ir-rc5-decoder.c
+--- linux-2.6.35/drivers/media/rc/ir-rc5-decoder.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/ir-rc5-decoder.c	2011-01-24 22:56:40.052079926 -0500
 @@ -0,0 +1,189 @@
 +/* ir-rc5-decoder.c - handle RC5(x) IR Pulse/Space protocol
 + *
@@ -47326,10 +56413,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/ir-rc5-decoder.c
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
 +MODULE_AUTHOR("Red Hat Inc. (http://www.redhat.com)");
 +MODULE_DESCRIPTION("RC5(x) IR protocol decoder");
-Index: linux-2.6.35.x86_64/drivers/media/rc/ir-rc5-sz-decoder.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/ir-rc5-sz-decoder.c
+diff -Naurp linux-2.6.35/drivers/media/rc/ir-rc5-sz-decoder.c linux-2.6.35.media/drivers/media/rc/ir-rc5-sz-decoder.c
+--- linux-2.6.35/drivers/media/rc/ir-rc5-sz-decoder.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/ir-rc5-sz-decoder.c	2011-01-24 22:56:39.093078726 -0500
 @@ -0,0 +1,153 @@
 +/* ir-rc5-sz-decoder.c - handle RC5 Streamzap IR Pulse/Space protocol
 + *
@@ -47484,14 +56570,13 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/ir-rc5-sz-decoder.c
 +MODULE_AUTHOR("Jarod Wilson <jarod at redhat.com>");
 +MODULE_AUTHOR("Red Hat Inc. (http://www.redhat.com)");
 +MODULE_DESCRIPTION("RC5 (streamzap) IR protocol decoder");
-Index: linux-2.6.35.x86_64/drivers/media/rc/ir-rc6-decoder.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/ir-rc6-decoder.c
+diff -Naurp linux-2.6.35/drivers/media/rc/ir-rc6-decoder.c linux-2.6.35.media/drivers/media/rc/ir-rc6-decoder.c
+--- linux-2.6.35/drivers/media/rc/ir-rc6-decoder.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/ir-rc6-decoder.c	2011-01-24 22:56:39.123078763 -0500
 @@ -0,0 +1,280 @@
 +/* ir-rc6-decoder.c - A decoder for the RC6 IR protocol
 + *
-+ * Copyright (C) 2010 by David Härdeman <david at hardeman.nu>
++ * Copyright (C) 2010 by David Härdeman <david at hardeman.nu>
 + *
 + * This program is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -47767,16 +56852,15 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/ir-rc6-decoder.c
 +module_exit(ir_rc6_decode_exit);
 +
 +MODULE_LICENSE("GPL");
-+MODULE_AUTHOR("David Härdeman <david at hardeman.nu>");
++MODULE_AUTHOR("David Härdeman <david at hardeman.nu>");
 +MODULE_DESCRIPTION("RC6 IR protocol decoder");
-Index: linux-2.6.35.x86_64/drivers/media/rc/ir-sony-decoder.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/ir-sony-decoder.c
+diff -Naurp linux-2.6.35/drivers/media/rc/ir-sony-decoder.c linux-2.6.35.media/drivers/media/rc/ir-sony-decoder.c
+--- linux-2.6.35/drivers/media/rc/ir-sony-decoder.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/ir-sony-decoder.c	2011-01-24 22:56:39.041078660 -0500
 @@ -0,0 +1,181 @@
 +/* ir-sony-decoder.c - handle Sony IR Pulse/Space protocol
 + *
-+ * Copyright (C) 2010 by David Härdeman <david at hardeman.nu>
++ * Copyright (C) 2010 by David Härdeman <david at hardeman.nu>
 + *
 + * This program is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -47953,12 +57037,11 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/ir-sony-decoder.c
 +module_exit(ir_sony_decode_exit);
 +
 +MODULE_LICENSE("GPL");
-+MODULE_AUTHOR("David Härdeman <david at hardeman.nu>");
++MODULE_AUTHOR("David Härdeman <david at hardeman.nu>");
 +MODULE_DESCRIPTION("Sony IR protocol decoder");
-Index: linux-2.6.35.x86_64/drivers/media/rc/Kconfig
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/Kconfig
+diff -Naurp linux-2.6.35/drivers/media/rc/Kconfig linux-2.6.35.media/drivers/media/rc/Kconfig
+--- linux-2.6.35/drivers/media/rc/Kconfig	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/Kconfig	2011-01-24 22:56:39.103078737 -0500
 @@ -0,0 +1,193 @@
 +menuconfig RC_CORE
 +	tristate "Remote Controller adapters"
@@ -48153,10 +57236,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/Kconfig
 +	   be called rc_loopback.
 +
 +endif #RC_CORE
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/Kconfig
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/Kconfig
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/Kconfig linux-2.6.35.media/drivers/media/rc/keymaps/Kconfig
+--- linux-2.6.35/drivers/media/rc/keymaps/Kconfig	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/Kconfig	2011-01-24 22:56:39.669079445 -0500
 @@ -0,0 +1,15 @@
 +config RC_MAP
 +	tristate "Compile Remote Controller keymap modules"
@@ -48173,10 +57255,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/Kconfig
 +	   provide the tool and the same RC maps for load from
 +	   userspace. Its available at
 +			http://git.linuxtv.org/v4l-utils
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/Makefile
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/Makefile
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/Makefile linux-2.6.35.media/drivers/media/rc/keymaps/Makefile
+--- linux-2.6.35/drivers/media/rc/keymaps/Makefile	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/Makefile	2011-01-24 22:56:39.164078814 -0500
 @@ -0,0 +1,89 @@
 +obj-$(CONFIG_RC_MAP) += rc-adstech-dvb-t-pci.o \
 +			rc-alink-dtu-m.o \
@@ -48267,10 +57348,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/Makefile
 +			rc-videomate-tv-pvr.o \
 +			rc-winfast.o \
 +			rc-winfast-usbii-deluxe.o
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-adstech-dvb-t-pci.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-adstech-dvb-t-pci.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-adstech-dvb-t-pci.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-adstech-dvb-t-pci.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-adstech-dvb-t-pci.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-adstech-dvb-t-pci.c	2011-01-24 22:56:39.143078787 -0500
 @@ -0,0 +1,89 @@
 +/* adstech-dvb-t-pci.h - Keytable for adstech_dvb_t_pci Remote Controller
 + *
@@ -48361,10 +57441,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-adstech-dvb-t-pci.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-alink-dtu-m.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-alink-dtu-m.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-alink-dtu-m.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-alink-dtu-m.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-alink-dtu-m.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-alink-dtu-m.c	2011-01-24 22:56:39.982079838 -0500
 @@ -0,0 +1,68 @@
 +/*
 + * A-Link DTU(m) remote controller keytable
@@ -48434,10 +57513,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-alink-dtu-m.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Antti Palosaari <crope at iki.fi>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-anysee.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-anysee.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-anysee.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-anysee.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-anysee.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-anysee.c	2011-01-24 22:56:39.528079269 -0500
 @@ -0,0 +1,93 @@
 +/*
 + * Anysee remote controller keytable
@@ -48532,10 +57610,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-anysee.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Antti Palosaari <crope at iki.fi>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-apac-viewcomp.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-apac-viewcomp.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-apac-viewcomp.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-apac-viewcomp.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-apac-viewcomp.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-apac-viewcomp.c	2011-01-24 22:56:39.629079395 -0500
 @@ -0,0 +1,80 @@
 +/* apac-viewcomp.h - Keytable for apac_viewcomp Remote Controller
 + *
@@ -48617,10 +57694,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-apac-viewcomp.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-asus-pc39.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-asus-pc39.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-asus-pc39.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-asus-pc39.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-asus-pc39.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-asus-pc39.c	2011-01-24 22:56:39.448079169 -0500
 @@ -0,0 +1,91 @@
 +/* asus-pc39.h - Keytable for asus_pc39 Remote Controller
 + *
@@ -48713,10 +57789,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-asus-pc39.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-ati-tv-wonder-hd-600.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-ati-tv-wonder-hd-600.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-ati-tv-wonder-hd-600.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-ati-tv-wonder-hd-600.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-ati-tv-wonder-hd-600.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-ati-tv-wonder-hd-600.c	2011-01-24 22:56:39.770079573 -0500
 @@ -0,0 +1,69 @@
 +/* ati-tv-wonder-hd-600.h - Keytable for ati_tv_wonder_hd_600 Remote Controller
 + *
@@ -48787,10 +57862,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-ati-tv-wonder-hd-600.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-avermedia-a16d.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-avermedia-a16d.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-avermedia-a16d.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-avermedia-a16d.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-avermedia-a16d.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-avermedia-a16d.c	2011-01-24 22:56:39.427079144 -0500
 @@ -0,0 +1,75 @@
 +/* avermedia-a16d.h - Keytable for avermedia_a16d Remote Controller
 + *
@@ -48867,10 +57941,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-avermedia-a16d.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-avermedia.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-avermedia.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-avermedia.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-avermedia.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-avermedia.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-avermedia.c	2011-01-24 22:56:39.325079016 -0500
 @@ -0,0 +1,86 @@
 +/* avermedia.h - Keytable for avermedia Remote Controller
 + *
@@ -48958,10 +58031,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-avermedia.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-avermedia-cardbus.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-avermedia-cardbus.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-avermedia-cardbus.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-avermedia-cardbus.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-avermedia-cardbus.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-avermedia-cardbus.c	2011-01-24 22:56:39.458079181 -0500
 @@ -0,0 +1,97 @@
 +/* avermedia-cardbus.h - Keytable for avermedia_cardbus Remote Controller
 + *
@@ -49060,10 +58132,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-avermedia-cardbus.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-avermedia-dvbt.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-avermedia-dvbt.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-avermedia-dvbt.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-avermedia-dvbt.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-avermedia-dvbt.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-avermedia-dvbt.c	2011-01-24 22:56:39.820079635 -0500
 @@ -0,0 +1,78 @@
 +/* avermedia-dvbt.h - Keytable for avermedia_dvbt Remote Controller
 + *
@@ -49143,10 +58214,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-avermedia-dvbt.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-avermedia-m135a.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-avermedia-m135a.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-avermedia-m135a.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-avermedia-m135a.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-avermedia-m135a.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-avermedia-m135a.c	2011-01-24 22:56:39.154078800 -0500
 @@ -0,0 +1,147 @@
 +/* avermedia-m135a.c - Keytable for Avermedia M135A Remote Controllers
 + *
@@ -49295,10 +58365,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-avermedia-m135a.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-avermedia-m733a-rm-k6.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-avermedia-m733a-rm-k6.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-avermedia-m733a-rm-k6.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-avermedia-m733a-rm-k6.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-avermedia-m733a-rm-k6.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-avermedia-m733a-rm-k6.c	2011-01-24 22:56:39.710079498 -0500
 @@ -0,0 +1,95 @@
 +/* avermedia-m733a-rm-k6.h - Keytable for avermedia_m733a_rm_k6 Remote Controller
 + *
@@ -49395,10 +58464,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-avermedia-m733a-rm-k6.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-avermedia-rm-ks.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-avermedia-rm-ks.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-avermedia-rm-ks.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-avermedia-rm-ks.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-avermedia-rm-ks.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-avermedia-rm-ks.c	2011-01-24 22:56:39.133078775 -0500
 @@ -0,0 +1,79 @@
 +/*
 + * AverMedia RM-KS remote controller keytable
@@ -49479,10 +58547,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-avermedia-rm-ks.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Antti Palosaari <crope at iki.fi>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-avertv-303.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-avertv-303.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-avertv-303.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-avertv-303.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-avertv-303.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-avertv-303.c	2011-01-24 22:56:39.589079345 -0500
 @@ -0,0 +1,85 @@
 +/* avertv-303.h - Keytable for avertv_303 Remote Controller
 + *
@@ -49569,10 +58636,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-avertv-303.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-azurewave-ad-tu700.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-azurewave-ad-tu700.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-azurewave-ad-tu700.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-azurewave-ad-tu700.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-azurewave-ad-tu700.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-azurewave-ad-tu700.c	2011-01-24 22:56:39.649079422 -0500
 @@ -0,0 +1,102 @@
 +/*
 + * TwinHan AzureWave AD-TU700(704J) remote controller keytable
@@ -49676,10 +58742,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-azurewave-ad-tu700.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Antti Palosaari <crope at iki.fi>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-behold.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-behold.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-behold.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-behold.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-behold.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-behold.c	2011-01-24 22:56:39.639079408 -0500
 @@ -0,0 +1,141 @@
 +/* behold.h - Keytable for behold Remote Controller
 + *
@@ -49822,10 +58887,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-behold.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-behold-columbus.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-behold-columbus.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-behold-columbus.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-behold-columbus.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-behold-columbus.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-behold-columbus.c	2011-01-24 22:56:39.204078864 -0500
 @@ -0,0 +1,108 @@
 +/* behold-columbus.h - Keytable for behold_columbus Remote Controller
 + *
@@ -49935,10 +58999,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-behold-columbus.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-budget-ci-old.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-budget-ci-old.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-budget-ci-old.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-budget-ci-old.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-budget-ci-old.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-budget-ci-old.c	2011-01-24 22:56:39.548079294 -0500
 @@ -0,0 +1,92 @@
 +/* budget-ci-old.h - Keytable for budget_ci_old Remote Controller
 + *
@@ -50032,10 +59095,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-budget-ci-old.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-cinergy-1400.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-cinergy-1400.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-cinergy-1400.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-cinergy-1400.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-cinergy-1400.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-cinergy-1400.c	2011-01-24 22:56:39.488079219 -0500
 @@ -0,0 +1,84 @@
 +/* cinergy-1400.h - Keytable for cinergy_1400 Remote Controller
 + *
@@ -50121,10 +59183,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-cinergy-1400.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-cinergy.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-cinergy.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-cinergy.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-cinergy.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-cinergy.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-cinergy.c	2011-01-24 22:56:39.336079029 -0500
 @@ -0,0 +1,78 @@
 +/* cinergy.h - Keytable for cinergy Remote Controller
 + *
@@ -50204,10 +59265,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-cinergy.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-dib0700-nec.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-dib0700-nec.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-dib0700-nec.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-dib0700-nec.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-dib0700-nec.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-dib0700-nec.c	2011-01-24 22:56:39.881079711 -0500
 @@ -0,0 +1,124 @@
 +/* rc-dvb0700-big.c - Keytable for devices in dvb0700
 + *
@@ -50333,10 +59393,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-dib0700-nec.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-dib0700-rc5.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-dib0700-rc5.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-dib0700-rc5.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-dib0700-rc5.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-dib0700-rc5.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-dib0700-rc5.c	2011-01-24 22:56:39.305078989 -0500
 @@ -0,0 +1,235 @@
 +/* rc-dvb0700-big.c - Keytable for devices in dvb0700
 + *
@@ -50573,10 +59632,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-dib0700-rc5.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-digitalnow-tinytwin.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-digitalnow-tinytwin.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-digitalnow-tinytwin.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-digitalnow-tinytwin.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-digitalnow-tinytwin.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-digitalnow-tinytwin.c	2011-01-24 22:56:39.346079041 -0500
 @@ -0,0 +1,98 @@
 +/*
 + * DigitalNow TinyTwin remote controller keytable
@@ -50676,10 +59734,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-digitalnow-tinytwin.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Antti Palosaari <crope at iki.fi>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-digittrade.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-digittrade.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-digittrade.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-digittrade.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-digittrade.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-digittrade.c	2011-01-24 22:56:39.569079321 -0500
 @@ -0,0 +1,82 @@
 +/*
 + * Digittrade DVB-T USB Stick remote controller keytable
@@ -50763,10 +59820,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-digittrade.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Antti Palosaari <crope at iki.fi>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-dm1105-nec.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-dm1105-nec.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-dm1105-nec.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-dm1105-nec.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-dm1105-nec.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-dm1105-nec.c	2011-01-24 22:56:39.184078839 -0500
 @@ -0,0 +1,76 @@
 +/* dm1105-nec.h - Keytable for dm1105_nec Remote Controller
 + *
@@ -50844,10 +59900,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-dm1105-nec.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-dntv-live-dvb-t.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-dntv-live-dvb-t.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-dntv-live-dvb-t.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-dntv-live-dvb-t.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-dntv-live-dvb-t.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-dntv-live-dvb-t.c	2011-01-24 22:56:39.951079799 -0500
 @@ -0,0 +1,78 @@
 +/* dntv-live-dvb-t.h - Keytable for dntv_live_dvb_t Remote Controller
 + *
@@ -50927,10 +59982,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-dntv-live-dvb-t.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-dntv-live-dvbt-pro.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-dntv-live-dvbt-pro.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-dntv-live-dvbt-pro.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-dntv-live-dvbt-pro.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-dntv-live-dvbt-pro.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-dntv-live-dvbt-pro.c	2011-01-24 22:56:39.891079724 -0500
 @@ -0,0 +1,97 @@
 +/* dntv-live-dvbt-pro.h - Keytable for dntv_live_dvbt_pro Remote Controller
 + *
@@ -51029,10 +60083,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-dntv-live-dvbt-pro.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-em-terratec.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-em-terratec.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-em-terratec.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-em-terratec.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-em-terratec.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-em-terratec.c	2011-01-24 22:56:39.315079002 -0500
 @@ -0,0 +1,69 @@
 +/* em-terratec.h - Keytable for em_terratec Remote Controller
 + *
@@ -51103,10 +60156,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-em-terratec.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-encore-enltv2.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-encore-enltv2.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-encore-enltv2.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-encore-enltv2.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-encore-enltv2.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-encore-enltv2.c	2011-01-24 22:56:39.579079333 -0500
 @@ -0,0 +1,90 @@
 +/* encore-enltv2.h - Keytable for encore_enltv2 Remote Controller
 + *
@@ -51198,10 +60250,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-encore-enltv2.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-encore-enltv.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-encore-enltv.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-encore-enltv.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-encore-enltv.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-encore-enltv.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-encore-enltv.c	2011-01-24 22:56:40.022079889 -0500
 @@ -0,0 +1,112 @@
 +/* encore-enltv.h - Keytable for encore_enltv Remote Controller
 + *
@@ -51315,10 +60366,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-encore-enltv.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-encore-enltv-fm53.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-encore-enltv-fm53.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-encore-enltv-fm53.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-encore-enltv-fm53.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-encore-enltv-fm53.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-encore-enltv-fm53.c	2011-01-24 22:56:39.478079207 -0500
 @@ -0,0 +1,81 @@
 +/* encore-enltv-fm53.h - Keytable for encore_enltv_fm53 Remote Controller
 + *
@@ -51401,10 +60451,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-encore-enltv-fm53.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-evga-indtube.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-evga-indtube.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-evga-indtube.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-evga-indtube.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-evga-indtube.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-evga-indtube.c	2011-01-24 22:56:39.396079103 -0500
 @@ -0,0 +1,61 @@
 +/* evga-indtube.h - Keytable for evga_indtube Remote Controller
 + *
@@ -51467,10 +60516,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-evga-indtube.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-eztv.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-eztv.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-eztv.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-eztv.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-eztv.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-eztv.c	2011-01-24 22:56:39.558079307 -0500
 @@ -0,0 +1,96 @@
 +/* eztv.h - Keytable for eztv Remote Controller
 + *
@@ -51568,10 +60616,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-eztv.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-flydvb.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-flydvb.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-flydvb.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-flydvb.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-flydvb.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-flydvb.c	2011-01-24 22:56:40.042079913 -0500
 @@ -0,0 +1,77 @@
 +/* flydvb.h - Keytable for flydvb Remote Controller
 + *
@@ -51650,10 +60697,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-flydvb.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-flyvideo.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-flyvideo.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-flyvideo.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-flyvideo.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-flyvideo.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-flyvideo.c	2011-01-24 22:56:39.659079433 -0500
 @@ -0,0 +1,70 @@
 +/* flyvideo.h - Keytable for flyvideo Remote Controller
 + *
@@ -51725,10 +60771,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-flyvideo.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-fusionhdtv-mce.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-fusionhdtv-mce.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-fusionhdtv-mce.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-fusionhdtv-mce.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-fusionhdtv-mce.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-fusionhdtv-mce.c	2011-01-24 22:56:39.961079811 -0500
 @@ -0,0 +1,98 @@
 +/* fusionhdtv-mce.h - Keytable for fusionhdtv_mce Remote Controller
 + *
@@ -51828,10 +60873,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-fusionhdtv-mce.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-gadmei-rm008z.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-gadmei-rm008z.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-gadmei-rm008z.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-gadmei-rm008z.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-gadmei-rm008z.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-gadmei-rm008z.c	2011-01-24 22:56:39.224078889 -0500
 @@ -0,0 +1,81 @@
 +/* gadmei-rm008z.h - Keytable for gadmei_rm008z Remote Controller
 + *
@@ -51914,10 +60958,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-gadmei-rm008z.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-genius-tvgo-a11mce.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-genius-tvgo-a11mce.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-genius-tvgo-a11mce.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-genius-tvgo-a11mce.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-genius-tvgo-a11mce.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-genius-tvgo-a11mce.c	2011-01-24 22:56:39.740079534 -0500
 @@ -0,0 +1,84 @@
 +/* genius-tvgo-a11mce.h - Keytable for genius_tvgo_a11mce Remote Controller
 + *
@@ -52003,10 +61046,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-genius-tvgo-a11mce.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-gotview7135.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-gotview7135.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-gotview7135.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-gotview7135.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-gotview7135.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-gotview7135.c	2011-01-24 22:56:39.790079596 -0500
 @@ -0,0 +1,79 @@
 +/* gotview7135.h - Keytable for gotview7135 Remote Controller
 + *
@@ -52087,10 +61129,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-gotview7135.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-hauppauge-new.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-hauppauge-new.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-hauppauge-new.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-hauppauge-new.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-hauppauge-new.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-hauppauge-new.c	2011-01-24 22:56:39.609079371 -0500
 @@ -0,0 +1,100 @@
 +/* hauppauge-new.h - Keytable for hauppauge_new Remote Controller
 + *
@@ -52192,10 +61233,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-hauppauge-new.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-imon-mce.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-imon-mce.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-imon-mce.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-imon-mce.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-imon-mce.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-imon-mce.c	2011-01-24 22:56:39.498079231 -0500
 @@ -0,0 +1,142 @@
 +/* rc5-imon-mce.c - Keytable for Windows Media Center RC-6 remotes for use
 + * with the SoundGraph iMON/Antec Veris hardware IR decoder
@@ -52339,10 +61379,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-imon-mce.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Jarod Wilson <jarod at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-imon-pad.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-imon-pad.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-imon-pad.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-imon-pad.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-imon-pad.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-imon-pad.c	2011-01-24 22:56:39.468079194 -0500
 @@ -0,0 +1,156 @@
 +/* rc5-imon-pad.c - Keytable for SoundGraph iMON PAD and Antec Veris
 + * RM-200 Remote Control
@@ -52500,10 +61539,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-imon-pad.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Jarod Wilson <jarod at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-iodata-bctv7e.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-iodata-bctv7e.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-iodata-bctv7e.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-iodata-bctv7e.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-iodata-bctv7e.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-iodata-bctv7e.c	2011-01-24 22:56:39.800079610 -0500
 @@ -0,0 +1,88 @@
 +/* iodata-bctv7e.h - Keytable for iodata_bctv7e Remote Controller
 + *
@@ -52593,10 +61631,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-iodata-bctv7e.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-kaiomy.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-kaiomy.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-kaiomy.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-kaiomy.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-kaiomy.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-kaiomy.c	2011-01-24 22:56:39.244078913 -0500
 @@ -0,0 +1,87 @@
 +/* kaiomy.h - Keytable for kaiomy Remote Controller
 + *
@@ -52685,10 +61722,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-kaiomy.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-kworld-315u.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-kworld-315u.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-kworld-315u.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-kworld-315u.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-kworld-315u.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-kworld-315u.c	2011-01-24 22:56:39.599079358 -0500
 @@ -0,0 +1,83 @@
 +/* kworld-315u.h - Keytable for kworld_315u Remote Controller
 + *
@@ -52773,10 +61809,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-kworld-315u.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-kworld-plus-tv-analog.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-kworld-plus-tv-analog.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-kworld-plus-tv-analog.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-kworld-plus-tv-analog.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-kworld-plus-tv-analog.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-kworld-plus-tv-analog.c	2011-01-24 22:56:39.841079661 -0500
 @@ -0,0 +1,99 @@
 +/* kworld-plus-tv-analog.h - Keytable for kworld_plus_tv_analog Remote Controller
 + *
@@ -52877,10 +61912,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-kworld-plus-tv-analog.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-leadtek-y04g0051.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-leadtek-y04g0051.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-leadtek-y04g0051.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-leadtek-y04g0051.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-leadtek-y04g0051.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-leadtek-y04g0051.c	2011-01-24 22:56:39.730079522 -0500
 @@ -0,0 +1,99 @@
 +/*
 + * LeadTek Y04G0051 remote controller keytable
@@ -52981,10 +62015,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-leadtek-y04g0051.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Antti Palosaari <crope at iki.fi>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-lirc.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-lirc.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-lirc.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-lirc.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-lirc.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-lirc.c	2011-01-24 22:56:39.679079459 -0500
 @@ -0,0 +1,41 @@
 +/* rc-lirc.c - Empty dummy keytable, for use when its preferred to pass
 + * all raw IR data to the lirc userspace decoder.
@@ -53027,10 +62060,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-lirc.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Jarod Wilson <jarod at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-lme2510.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-lme2510.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-lme2510.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-lme2510.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-lme2510.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-lme2510.c	2011-01-24 22:56:39.386079091 -0500
 @@ -0,0 +1,68 @@
 +/* LME2510 remote control
 + *
@@ -53100,10 +62132,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-lme2510.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Malcolm Priestley tvboxspy at gmail.com");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-manli.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-manli.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-manli.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-manli.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-manli.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-manli.c	2011-01-24 22:56:39.780079586 -0500
 @@ -0,0 +1,134 @@
 +/* manli.h - Keytable for manli Remote Controller
 + *
@@ -53239,10 +62270,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-manli.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-msi-digivox-ii.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-msi-digivox-ii.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-msi-digivox-ii.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-msi-digivox-ii.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-msi-digivox-ii.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-msi-digivox-ii.c	2011-01-24 22:56:39.417079131 -0500
 @@ -0,0 +1,67 @@
 +/*
 + * MSI DIGIVOX mini II remote controller keytable
@@ -53311,10 +62341,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-msi-digivox-ii.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Antti Palosaari <crope at iki.fi>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-msi-digivox-iii.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-msi-digivox-iii.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-msi-digivox-iii.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-msi-digivox-iii.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-msi-digivox-iii.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-msi-digivox-iii.c	2011-01-24 22:56:39.376079079 -0500
 @@ -0,0 +1,85 @@
 +/*
 + * MSI DIGIVOX mini III remote controller keytable
@@ -53401,10 +62430,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-msi-digivox-iii.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Antti Palosaari <crope at iki.fi>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-msi-tvanywhere.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-msi-tvanywhere.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-msi-tvanywhere.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-msi-tvanywhere.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-msi-tvanywhere.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-msi-tvanywhere.c	2011-01-24 22:56:39.700079485 -0500
 @@ -0,0 +1,69 @@
 +/* msi-tvanywhere.h - Keytable for msi_tvanywhere Remote Controller
 + *
@@ -53475,10 +62503,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-msi-tvanywhere.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-msi-tvanywhere-plus.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-msi-tvanywhere-plus.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-msi-tvanywhere-plus.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-msi-tvanywhere-plus.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-msi-tvanywhere-plus.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-msi-tvanywhere-plus.c	2011-01-24 22:56:39.720079510 -0500
 @@ -0,0 +1,123 @@
 +/* msi-tvanywhere-plus.h - Keytable for msi_tvanywhere_plus Remote Controller
 + *
@@ -53603,10 +62630,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-msi-tvanywhere-plus.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-nebula.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-nebula.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-nebula.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-nebula.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-nebula.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-nebula.c	2011-01-24 22:56:39.851079673 -0500
 @@ -0,0 +1,96 @@
 +/* nebula.h - Keytable for nebula Remote Controller
 + *
@@ -53704,10 +62730,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-nebula.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-nec-terratec-cinergy-xs.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-nec-terratec-cinergy-xs.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-nec-terratec-cinergy-xs.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-nec-terratec-cinergy-xs.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-nec-terratec-cinergy-xs.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-nec-terratec-cinergy-xs.c	2011-01-24 22:56:39.941079786 -0500
 @@ -0,0 +1,105 @@
 +/* nec-terratec-cinergy-xs.h - Keytable for nec_terratec_cinergy_xs Remote Controller
 + *
@@ -53814,10 +62839,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-nec-terratec-cinergy-xs.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-norwood.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-norwood.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-norwood.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-norwood.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-norwood.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-norwood.c	2011-01-24 22:56:39.234078901 -0500
 @@ -0,0 +1,85 @@
 +/* norwood.h - Keytable for norwood Remote Controller
 + *
@@ -53904,10 +62928,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-norwood.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-npgtech.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-npgtech.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-npgtech.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-npgtech.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-npgtech.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-npgtech.c	2011-01-24 22:56:39.931079773 -0500
 @@ -0,0 +1,80 @@
 +/* npgtech.h - Keytable for npgtech Remote Controller
 + *
@@ -53989,10 +63012,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-npgtech.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-pctv-sedna.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-pctv-sedna.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-pctv-sedna.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-pctv-sedna.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-pctv-sedna.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-pctv-sedna.c	2011-01-24 22:56:39.264078939 -0500
 @@ -0,0 +1,80 @@
 +/* pctv-sedna.h - Keytable for pctv_sedna Remote Controller
 + *
@@ -54074,10 +63096,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-pctv-sedna.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-pinnacle-color.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-pinnacle-color.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-pinnacle-color.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-pinnacle-color.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-pinnacle-color.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-pinnacle-color.c	2011-01-24 22:56:40.002079862 -0500
 @@ -0,0 +1,94 @@
 +/* pinnacle-color.h - Keytable for pinnacle_color Remote Controller
 + *
@@ -54173,10 +63194,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-pinnacle-color.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-pinnacle-grey.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-pinnacle-grey.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-pinnacle-grey.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-pinnacle-grey.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-pinnacle-grey.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-pinnacle-grey.c	2011-01-24 22:56:39.437079154 -0500
 @@ -0,0 +1,89 @@
 +/* pinnacle-grey.h - Keytable for pinnacle_grey Remote Controller
 + *
@@ -54267,10 +63287,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-pinnacle-grey.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-pinnacle-pctv-hd.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-pinnacle-pctv-hd.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-pinnacle-pctv-hd.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-pinnacle-pctv-hd.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-pinnacle-pctv-hd.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-pinnacle-pctv-hd.c	2011-01-24 22:56:39.992079850 -0500
 @@ -0,0 +1,73 @@
 +/* pinnacle-pctv-hd.h - Keytable for pinnacle_pctv_hd Remote Controller
 + *
@@ -54345,10 +63364,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-pinnacle-pctv-hd.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-pixelview-002t.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-pixelview-002t.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-pixelview-002t.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-pixelview-002t.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-pixelview-002t.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-pixelview-002t.c	2011-01-24 22:56:39.518079257 -0500
 @@ -0,0 +1,77 @@
 +/* rc-pixelview-mk12.h - Keytable for pixelview Remote Controller
 + *
@@ -54427,10 +63445,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-pixelview-002t.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-pixelview.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-pixelview.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-pixelview.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-pixelview.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-pixelview.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-pixelview.c	2011-01-24 22:56:39.901079737 -0500
 @@ -0,0 +1,82 @@
 +/* pixelview.h - Keytable for pixelview Remote Controller
 + *
@@ -54514,10 +63531,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-pixelview.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-pixelview-mk12.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-pixelview-mk12.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-pixelview-mk12.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-pixelview-mk12.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-pixelview-mk12.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-pixelview-mk12.c	2011-01-24 22:56:39.285078964 -0500
 @@ -0,0 +1,83 @@
 +/* rc-pixelview-mk12.h - Keytable for pixelview Remote Controller
 + *
@@ -54602,10 +63618,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-pixelview-mk12.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-pixelview-new.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-pixelview-new.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-pixelview-new.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-pixelview-new.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-pixelview-new.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-pixelview-new.c	2011-01-24 22:56:39.871079699 -0500
 @@ -0,0 +1,83 @@
 +/* pixelview-new.h - Keytable for pixelview_new Remote Controller
 + *
@@ -54690,10 +63705,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-pixelview-new.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-powercolor-real-angel.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-powercolor-real-angel.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-powercolor-real-angel.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-powercolor-real-angel.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-powercolor-real-angel.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-powercolor-real-angel.c	2011-01-24 22:56:39.911079749 -0500
 @@ -0,0 +1,81 @@
 +/* powercolor-real-angel.h - Keytable for powercolor_real_angel Remote Controller
 + *
@@ -54776,10 +63790,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-powercolor-real-angel.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-proteus-2309.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-proteus-2309.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-proteus-2309.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-proteus-2309.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-proteus-2309.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-proteus-2309.c	2011-01-24 22:56:39.830079648 -0500
 @@ -0,0 +1,69 @@
 +/* proteus-2309.h - Keytable for proteus_2309 Remote Controller
 + *
@@ -54850,10 +63863,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-proteus-2309.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-purpletv.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-purpletv.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-purpletv.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-purpletv.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-purpletv.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-purpletv.c	2011-01-24 22:56:39.508079244 -0500
 @@ -0,0 +1,81 @@
 +/* purpletv.h - Keytable for purpletv Remote Controller
 + *
@@ -54936,10 +63948,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-purpletv.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-pv951.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-pv951.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-pv951.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-pv951.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-pv951.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-pv951.c	2011-01-24 22:56:39.921079761 -0500
 @@ -0,0 +1,78 @@
 +/* pv951.h - Keytable for pv951 Remote Controller
 + *
@@ -55019,10 +64030,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-pv951.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-rc5-hauppauge-new.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-rc5-hauppauge-new.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-rc5-hauppauge-new.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-rc5-hauppauge-new.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-rc5-hauppauge-new.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-rc5-hauppauge-new.c	2011-01-24 22:56:39.538079282 -0500
 @@ -0,0 +1,141 @@
 +/* rc5-hauppauge-new.h - Keytable for rc5_hauppauge_new Remote Controller
 + *
@@ -55165,10 +64175,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-rc5-hauppauge-new.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-rc5-tv.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-rc5-tv.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-rc5-tv.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-rc5-tv.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-rc5-tv.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-rc5-tv.c	2011-01-24 22:56:39.295078978 -0500
 @@ -0,0 +1,81 @@
 +/* rc5-tv.h - Keytable for rc5_tv Remote Controller
 + *
@@ -55251,10 +64260,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-rc5-tv.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-rc6-mce.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-rc6-mce.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-rc6-mce.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-rc6-mce.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-rc6-mce.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-rc6-mce.c	2011-01-24 22:57:21.572827711 -0500
 @@ -0,0 +1,113 @@
 +/* rc-rc6-mce.c - Keytable for Windows Media Center RC-6 remotes for use
 + * with the Media Center Edition eHome Infrared Transceiver.
@@ -55369,10 +64377,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-rc6-mce.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Jarod Wilson <jarod at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-real-audio-220-32-keys.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-real-audio-220-32-keys.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-real-audio-220-32-keys.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-real-audio-220-32-keys.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-real-audio-220-32-keys.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-real-audio-220-32-keys.c	2011-01-24 22:56:39.972079825 -0500
 @@ -0,0 +1,78 @@
 +/* real-audio-220-32-keys.h - Keytable for real_audio_220_32_keys Remote Controller
 + *
@@ -55452,10 +64459,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-real-audio-220-32-keys.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-streamzap.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-streamzap.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-streamzap.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-streamzap.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-streamzap.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-streamzap.c	2011-01-24 22:56:40.032079901 -0500
 @@ -0,0 +1,82 @@
 +/* rc-streamzap.c - Keytable for Streamzap PC Remote, for use
 + * with the Streamzap PC Remote IR Receiver.
@@ -55539,10 +64545,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-streamzap.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Jarod Wilson <jarod at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-tbs-nec.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-tbs-nec.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-tbs-nec.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-tbs-nec.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-tbs-nec.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-tbs-nec.c	2011-01-24 22:56:40.012079876 -0500
 @@ -0,0 +1,75 @@
 +/* tbs-nec.h - Keytable for tbs_nec Remote Controller
 + *
@@ -55571,8 +64576,8 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-tbs-nec.c
 +	{ 0x8e, KEY_8},
 +	{ 0x8d, KEY_9},
 +	{ 0x92, KEY_0},
-+	//{ 0xc0, KEY_10CHANNELSUP},	/* 10+ */
-+	//{ 0xd0, KEY_10CHANNELSDOWN},	/* 10- */
++	{ 0xc0, KEY_10CHANNELSUP},	/* 10+ */
++	{ 0xd0, KEY_10CHANNELSDOWN},	/* 10- */
 +	{ 0x96, KEY_CHANNELUP},		/* ch+ */
 +	{ 0x91, KEY_CHANNELDOWN},	/* ch- */
 +	{ 0x93, KEY_VOLUMEUP},		/* vol+ */
@@ -55619,10 +64624,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-tbs-nec.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-technisat-usb2.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-technisat-usb2.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-technisat-usb2.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-technisat-usb2.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-technisat-usb2.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-technisat-usb2.c	2011-01-24 22:56:39.356079053 -0500
 @@ -0,0 +1,93 @@
 +/* rc-technisat-usb2.c - Keytable for SkyStar HD USB
 + *
@@ -55717,10 +64721,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-technisat-usb2.c
 +
 +MODULE_AUTHOR("Patrick Boettcher <pboettcher at kernellabs.com>");
 +MODULE_LICENSE("GPL");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-terratec-cinergy-xs.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-terratec-cinergy-xs.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-terratec-cinergy-xs.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-terratec-cinergy-xs.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-terratec-cinergy-xs.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-terratec-cinergy-xs.c	2011-01-24 22:56:39.619079383 -0500
 @@ -0,0 +1,92 @@
 +/* terratec-cinergy-xs.h - Keytable for terratec_cinergy_xs Remote Controller
 + *
@@ -55814,10 +64817,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-terratec-cinergy-xs.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-terratec-slim.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-terratec-slim.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-terratec-slim.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-terratec-slim.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-terratec-slim.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-terratec-slim.c	2011-01-24 22:56:39.689079471 -0500
 @@ -0,0 +1,79 @@
 +/*
 + * TerraTec remote controller keytable
@@ -55898,10 +64900,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-terratec-slim.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Antti Palosaari <crope at iki.fi>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-tevii-nec.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-tevii-nec.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-tevii-nec.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-tevii-nec.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-tevii-nec.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-tevii-nec.c	2011-01-24 22:56:39.214078877 -0500
 @@ -0,0 +1,88 @@
 +/* tevii-nec.h - Keytable for tevii_nec Remote Controller
 + *
@@ -55991,10 +64992,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-tevii-nec.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-total-media-in-hand.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-total-media-in-hand.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-total-media-in-hand.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-total-media-in-hand.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-total-media-in-hand.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-total-media-in-hand.c	2011-01-24 22:56:39.760079560 -0500
 @@ -0,0 +1,85 @@
 +/*
 + * Total Media In Hand remote controller keytable
@@ -56081,10 +65081,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-total-media-in-hand.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Antti Palosaari <crope at iki.fi>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-trekstor.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-trekstor.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-trekstor.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-trekstor.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-trekstor.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-trekstor.c	2011-01-24 22:56:39.406079117 -0500
 @@ -0,0 +1,80 @@
 +/*
 + * TrekStor remote controller keytable
@@ -56166,10 +65165,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-trekstor.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Antti Palosaari <crope at iki.fi>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-tt-1500.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-tt-1500.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-tt-1500.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-tt-1500.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-tt-1500.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-tt-1500.c	2011-01-24 22:56:39.861079686 -0500
 @@ -0,0 +1,82 @@
 +/* tt-1500.h - Keytable for tt_1500 Remote Controller
 + *
@@ -56253,10 +65251,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-tt-1500.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-twinhan1027.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-twinhan1027.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-twinhan1027.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-twinhan1027.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-twinhan1027.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-twinhan1027.c	2011-01-24 22:56:39.275078952 -0500
 @@ -0,0 +1,87 @@
 +#include <media/rc-map.h>
 +
@@ -56345,10 +65342,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-twinhan1027.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Sergey Ivanov <123kash at gmail.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-videomate-m1f.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-videomate-m1f.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-videomate-m1f.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-videomate-m1f.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-videomate-m1f.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-videomate-m1f.c	2011-01-24 22:56:39.254078926 -0500
 @@ -0,0 +1,92 @@
 +/* videomate-m1f.h - Keytable for videomate_m1f Remote Controller
 + *
@@ -56442,10 +65438,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-videomate-m1f.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Pavel Osnova <pvosnova at gmail.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-videomate-s350.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-videomate-s350.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-videomate-s350.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-videomate-s350.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-videomate-s350.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-videomate-s350.c	2011-01-24 22:56:39.810079622 -0500
 @@ -0,0 +1,85 @@
 +/* videomate-s350.h - Keytable for videomate_s350 Remote Controller
 + *
@@ -56532,10 +65527,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-videomate-s350.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-videomate-tv-pvr.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-videomate-tv-pvr.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-videomate-tv-pvr.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-videomate-tv-pvr.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-videomate-tv-pvr.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-videomate-tv-pvr.c	2011-01-24 22:56:39.194078851 -0500
 @@ -0,0 +1,87 @@
 +/* videomate-tv-pvr.h - Keytable for videomate_tv_pvr Remote Controller
 + *
@@ -56624,10 +65618,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-videomate-tv-pvr.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-winfast.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-winfast.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-winfast.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-winfast.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-winfast.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-winfast.c	2011-01-24 22:56:39.750079547 -0500
 @@ -0,0 +1,102 @@
 +/* winfast.h - Keytable for winfast Remote Controller
 + *
@@ -56731,10 +65724,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-winfast.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-winfast-usbii-deluxe.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-winfast-usbii-deluxe.c
+diff -Naurp linux-2.6.35/drivers/media/rc/keymaps/rc-winfast-usbii-deluxe.c linux-2.6.35.media/drivers/media/rc/keymaps/rc-winfast-usbii-deluxe.c
+--- linux-2.6.35/drivers/media/rc/keymaps/rc-winfast-usbii-deluxe.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/keymaps/rc-winfast-usbii-deluxe.c	2011-01-24 22:56:39.366079067 -0500
 @@ -0,0 +1,82 @@
 +/* winfast-usbii-deluxe.h - Keytable for winfast_usbii_deluxe Remote Controller
 + *
@@ -56818,10 +65810,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/keymaps/rc-winfast-usbii-deluxe.c
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
-Index: linux-2.6.35.x86_64/drivers/media/rc/lirc_dev.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/lirc_dev.c
+diff -Naurp linux-2.6.35/drivers/media/rc/lirc_dev.c linux-2.6.35.media/drivers/media/rc/lirc_dev.c
+--- linux-2.6.35/drivers/media/rc/lirc_dev.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/lirc_dev.c	2011-01-24 22:56:39.030078645 -0500
 @@ -0,0 +1,816 @@
 +/*
 + * LIRC base driver
@@ -57639,10 +66630,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/lirc_dev.c
 +
 +module_param(debug, bool, S_IRUGO | S_IWUSR);
 +MODULE_PARM_DESC(debug, "Enable debugging messages");
-Index: linux-2.6.35.x86_64/drivers/media/rc/Makefile
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/Makefile
+diff -Naurp linux-2.6.35/drivers/media/rc/Makefile linux-2.6.35.media/drivers/media/rc/Makefile
+--- linux-2.6.35/drivers/media/rc/Makefile	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/Makefile	2011-01-24 22:56:39.012078623 -0500
 @@ -0,0 +1,22 @@
 +rc-core-objs	:= rc-main.o ir-raw.o
 +
@@ -57666,10 +66656,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/Makefile
 +obj-$(CONFIG_IR_STREAMZAP) += streamzap.o
 +obj-$(CONFIG_IR_WINBOND_CIR) += winbond-cir.o
 +obj-$(CONFIG_RC_LOOPBACK) += rc-loopback.o
-Index: linux-2.6.35.x86_64/drivers/media/rc/mceusb.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/mceusb.c
+diff -Naurp linux-2.6.35/drivers/media/rc/mceusb.c linux-2.6.35.media/drivers/media/rc/mceusb.c
+--- linux-2.6.35/drivers/media/rc/mceusb.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/mceusb.c	2011-01-24 22:56:39.083078712 -0500
 @@ -0,0 +1,1312 @@
 +/*
 + * Driver for USB Windows Media Center Ed. eHome Infrared Transceivers
@@ -58983,10 +67972,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/mceusb.c
 +
 +module_param(debug, bool, S_IRUGO | S_IWUSR);
 +MODULE_PARM_DESC(debug, "Debug enabled or not");
-Index: linux-2.6.35.x86_64/drivers/media/rc/nuvoton-cir.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/nuvoton-cir.c
+diff -Naurp linux-2.6.35/drivers/media/rc/nuvoton-cir.c linux-2.6.35.media/drivers/media/rc/nuvoton-cir.c
+--- linux-2.6.35/drivers/media/rc/nuvoton-cir.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/nuvoton-cir.c	2011-01-24 22:56:39.057078680 -0500
 @@ -0,0 +1,1244 @@
 +/*
 + * Driver for Nuvoton Technology Corporation w83667hg/w83677hg-i CIR
@@ -60232,10 +69220,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/nuvoton-cir.c
 +
 +module_init(nvt_init);
 +module_exit(nvt_exit);
-Index: linux-2.6.35.x86_64/drivers/media/rc/nuvoton-cir.h
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/nuvoton-cir.h
+diff -Naurp linux-2.6.35/drivers/media/rc/nuvoton-cir.h linux-2.6.35.media/drivers/media/rc/nuvoton-cir.h
+--- linux-2.6.35/drivers/media/rc/nuvoton-cir.h	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/nuvoton-cir.h	2011-01-24 22:56:39.052078673 -0500
 @@ -0,0 +1,407 @@
 +/*
 + * Driver for Nuvoton Technology Corporation w83667hg/w83677hg-i CIR
@@ -60644,10 +69631,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/nuvoton-cir.h
 +/* as VISTA MCE definition, valid carrier value */
 +#define MAX_CARRIER 60000
 +#define MIN_CARRIER 30000
-Index: linux-2.6.35.x86_64/drivers/media/rc/rc-core-priv.h
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/rc-core-priv.h
+diff -Naurp linux-2.6.35/drivers/media/rc/rc-core-priv.h linux-2.6.35.media/drivers/media/rc/rc-core-priv.h
+--- linux-2.6.35/drivers/media/rc/rc-core-priv.h	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/rc-core-priv.h	2011-01-24 22:56:39.015078626 -0500
 @@ -0,0 +1,193 @@
 +/*
 + * Remote Controller core raw events header
@@ -60842,15 +69828,14 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/rc-core-priv.h
 +
 +
 +#endif /* _RC_CORE_PRIV */
-Index: linux-2.6.35.x86_64/drivers/media/rc/rc-loopback.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/rc-loopback.c
+diff -Naurp linux-2.6.35/drivers/media/rc/rc-loopback.c linux-2.6.35.media/drivers/media/rc/rc-loopback.c
+--- linux-2.6.35/drivers/media/rc/rc-loopback.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/rc-loopback.c	2011-01-24 22:56:39.023078636 -0500
 @@ -0,0 +1,260 @@
 +/*
 + * Loopback driver for rc-core,
 + *
-+ * Copyright (c) 2010 David Härdeman <david at hardeman.nu>
++ * Copyright (c) 2010 David Härdeman <david at hardeman.nu>
 + *
 + * This driver receives TX data and passes it back as RX data,
 + * which is useful for (scripted) debugging of rc-core without
@@ -61105,13 +70090,12 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/rc-loopback.c
 +MODULE_PARM_DESC(debug, "Enable debug messages");
 +
 +MODULE_DESCRIPTION("Loopback device for rc-core debugging");
-+MODULE_AUTHOR("David Härdeman <david at hardeman.nu>");
++MODULE_AUTHOR("David Härdeman <david at hardeman.nu>");
 +MODULE_LICENSE("GPL");
-Index: linux-2.6.35.x86_64/drivers/media/rc/rc-main.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/rc-main.c
-@@ -0,0 +1,1103 @@
+diff -Naurp linux-2.6.35/drivers/media/rc/rc-main.c linux-2.6.35.media/drivers/media/rc/rc-main.c
+--- linux-2.6.35/drivers/media/rc/rc-main.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/rc-main.c	2011-01-24 22:56:39.062078686 -0500
+@@ -0,0 +1,1104 @@
 +/* rc-main.c - Remote Controller core module
 + *
 + * Copyright (C) 2009-2010 by Mauro Carvalho Chehab <mchehab at redhat.com>
@@ -61549,7 +70533,8 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/rc-main.c
 +	index = ir_lookup_by_scancode(rc_map, scancode);
 +
 +	if (index >= rc_map->len) {
-+		retval = -EINVAL;
++		*keycode = KEY_RESERVED;
++		retval = 0;
 +		goto out;
 +	}
 +
@@ -62215,10 +71200,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/rc-main.c
 +
 +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab at redhat.com>");
 +MODULE_LICENSE("GPL");
-Index: linux-2.6.35.x86_64/drivers/media/rc/streamzap.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/streamzap.c
+diff -Naurp linux-2.6.35/drivers/media/rc/streamzap.c linux-2.6.35.media/drivers/media/rc/streamzap.c
+--- linux-2.6.35/drivers/media/rc/streamzap.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/streamzap.c	2011-01-24 22:57:33.945739733 -0500
 @@ -0,0 +1,557 @@
 +/*
 + * Streamzap Remote Control driver
@@ -62777,10 +71761,9 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/streamzap.c
 +
 +module_param(debug, bool, S_IRUGO | S_IWUSR);
 +MODULE_PARM_DESC(debug, "Enable debugging messages");
-Index: linux-2.6.35.x86_64/drivers/media/rc/winbond-cir.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/rc/winbond-cir.c
+diff -Naurp linux-2.6.35/drivers/media/rc/winbond-cir.c linux-2.6.35.media/drivers/media/rc/winbond-cir.c
+--- linux-2.6.35/drivers/media/rc/winbond-cir.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/rc/winbond-cir.c	2011-01-24 22:56:39.076078703 -0500
 @@ -0,0 +1,932 @@
 +/*
 + *  winbond-cir.c - Driver for the Consumer IR functionality of Winbond
@@ -62790,8 +71773,8 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/winbond-cir.c
 + *  could probably support others (Winbond WEC102X, NatSemi, etc)
 + *  with minor modifications.
 + *
-+ *  Original Author: David Härdeman <david at hardeman.nu>
-+ *     Copyright (C) 2009 - 2010 David Härdeman <david at hardeman.nu>
++ *  Original Author: David Härdeman <david at hardeman.nu>
++ *     Copyright (C) 2009 - 2010 David Härdeman <david at hardeman.nu>
 + *
 + *  Dedicated to my daughter Matilda, without whose loving attention this
 + *  driver would have been finished in half the time and with a fraction
@@ -63711,13 +72694,12 @@ Index: linux-2.6.35.x86_64/drivers/media/rc/winbond-cir.c
 +module_init(wbcir_init);
 +module_exit(wbcir_exit);
 +
-+MODULE_AUTHOR("David Härdeman <david at hardeman.nu>");
++MODULE_AUTHOR("David Härdeman <david at hardeman.nu>");
 +MODULE_DESCRIPTION("Winbond SuperI/O Consumer IR Driver");
 +MODULE_LICENSE("GPL");
-Index: linux-2.6.35.x86_64/drivers/media/video/adv7170.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/adv7170.c
-+++ linux-2.6.35.x86_64/drivers/media/video/adv7170.c
+diff -Naurp linux-2.6.35/drivers/media/video/adv7170.c linux-2.6.35.media/drivers/media/video/adv7170.c
+--- linux-2.6.35/drivers/media/video/adv7170.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/adv7170.c	2011-01-24 22:56:34.181072759 -0500
 @@ -34,11 +34,9 @@
  #include <linux/ioctl.h>
  #include <asm/uaccess.h>
@@ -63761,10 +72743,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/adv7170.c
 +
 +module_init(init_adv7170);
 +module_exit(exit_adv7170);
-Index: linux-2.6.35.x86_64/drivers/media/video/adv7170.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/adv7170.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/adv7170.mod.c linux-2.6.35.media/drivers/media/video/adv7170.mod.c
+--- linux-2.6.35/drivers/media/video/adv7170.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/adv7170.mod.c	2011-01-24 22:56:37.585076860 -0500
 @@ -0,0 +1,25 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -63791,10 +72772,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/adv7170.mod.c
 +MODULE_ALIAS("i2c:adv7171");
 +
 +MODULE_INFO(srcversion, "2C9675BD24B11EF6D40263C");
-Index: linux-2.6.35.x86_64/drivers/media/video/adv7175.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/adv7175.c
-+++ linux-2.6.35.x86_64/drivers/media/video/adv7175.c
+diff -Naurp linux-2.6.35/drivers/media/video/adv7175.c linux-2.6.35.media/drivers/media/video/adv7175.c
+--- linux-2.6.35/drivers/media/video/adv7175.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/adv7175.c	2011-01-24 22:56:37.728077036 -0500
 @@ -30,11 +30,9 @@
  #include <linux/ioctl.h>
  #include <asm/uaccess.h>
@@ -63861,10 +72841,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/adv7175.c
 +
 +module_init(init_adv7175);
 +module_exit(exit_adv7175);
-Index: linux-2.6.35.x86_64/drivers/media/video/adv7175.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/adv7175.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/adv7175.mod.c linux-2.6.35.media/drivers/media/video/adv7175.mod.c
+--- linux-2.6.35/drivers/media/video/adv7175.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/adv7175.mod.c	2011-01-24 22:56:33.828072343 -0500
 @@ -0,0 +1,25 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -63891,10 +72870,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/adv7175.mod.c
 +MODULE_ALIAS("i2c:adv7176");
 +
 +MODULE_INFO(srcversion, "7A3C5FFC09EDD0DECA8B180");
-Index: linux-2.6.35.x86_64/drivers/media/video/adv7180.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/adv7180.c
-+++ linux-2.6.35.x86_64/drivers/media/video/adv7180.c
+diff -Naurp linux-2.6.35/drivers/media/video/adv7180.c linux-2.6.35.media/drivers/media/video/adv7180.c
+--- linux-2.6.35/drivers/media/video/adv7180.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/adv7180.c	2011-01-24 22:56:32.843071189 -0500
 @@ -22,7 +22,6 @@
  #include <linux/kernel.h>
  #include <linux/interrupt.h>
@@ -63903,10 +72881,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/adv7180.c
  #include <linux/slab.h>
  #include <media/v4l2-ioctl.h>
  #include <linux/videodev2.h>
-Index: linux-2.6.35.x86_64/drivers/media/video/adv7343.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/adv7343.c
-+++ linux-2.6.35.x86_64/drivers/media/video/adv7343.c
+diff -Naurp linux-2.6.35/drivers/media/video/adv7343.c linux-2.6.35.media/drivers/media/video/adv7343.c
+--- linux-2.6.35/drivers/media/video/adv7343.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/adv7343.c	2011-01-24 22:56:37.058076214 -0500
 @@ -29,6 +29,7 @@
  #include <media/adv7343.h>
  #include <media/v4l2-device.h>
@@ -64146,10 +73123,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/adv7343.c
  
  	return 0;
  }
-Index: linux-2.6.35.x86_64/drivers/media/video/adv7343_regs.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/adv7343_regs.h
-+++ linux-2.6.35.x86_64/drivers/media/video/adv7343_regs.h
+diff -Naurp linux-2.6.35/drivers/media/video/adv7343_regs.h linux-2.6.35.media/drivers/media/video/adv7343_regs.h
+--- linux-2.6.35/drivers/media/video/adv7343_regs.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/adv7343_regs.h	2011-01-24 22:56:37.079076239 -0500
 @@ -102,10 +102,6 @@ struct adv7343_std_info {
  
  /* Bit masks for DAC output levels */
@@ -64172,10 +73148,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/adv7343_regs.h
  #define ADV7343_GAIN_DEF	(0)
  
  #endif
-Index: linux-2.6.35.x86_64/drivers/media/video/ak881x.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/ak881x.c
-+++ linux-2.6.35.x86_64/drivers/media/video/ak881x.c
+diff -Naurp linux-2.6.35/drivers/media/video/ak881x.c linux-2.6.35.media/drivers/media/video/ak881x.c
+--- linux-2.6.35/drivers/media/video/ak881x.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/ak881x.c	2011-01-24 22:56:31.560069707 -0500
 @@ -126,7 +126,7 @@ static int ak881x_try_g_mbus_fmt(struct 
  	v4l_bound_align_image(&mf->width, 0, 720, 2,
  			      &mf->height, 0, ak881x->lines, 1, 0);
@@ -64203,10 +73178,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/ak881x.c
  	return 0;
  }
  
-Index: linux-2.6.35.x86_64/drivers/media/video/arv.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/arv.c
-+++ linux-2.6.35.x86_64/drivers/media/video/arv.c
+diff -Naurp linux-2.6.35/drivers/media/video/arv.c linux-2.6.35.media/drivers/media/video/arv.c
+--- linux-2.6.35/drivers/media/video/arv.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/arv.c	2011-01-24 22:56:35.053073794 -0500
 @@ -712,7 +712,7 @@ static int ar_initialize(struct ar *ar)
  static const struct v4l2_file_operations ar_fops = {
  	.owner		= THIS_MODULE,
@@ -64216,10 +73190,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/arv.c
  };
  
  static const struct v4l2_ioctl_ops ar_ioctl_ops = {
-Index: linux-2.6.35.x86_64/drivers/media/video/au0828/au0828-cards.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/au0828/au0828-cards.c
-+++ linux-2.6.35.x86_64/drivers/media/video/au0828/au0828-cards.c
+diff -Naurp linux-2.6.35/drivers/media/video/au0828/au0828-cards.c linux-2.6.35.media/drivers/media/video/au0828/au0828-cards.c
+--- linux-2.6.35/drivers/media/video/au0828/au0828-cards.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/au0828/au0828-cards.c	2011-01-24 22:56:36.698075777 -0500
 @@ -212,7 +212,7 @@ void au0828_card_setup(struct au0828_dev
  		   be abstracted out if we ever need to support a different
  		   demod) */
@@ -64238,10 +73211,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/au0828/au0828-cards.c
  		if (sd == NULL)
  			printk(KERN_ERR "tuner subdev registration fail\n");
  
-Index: linux-2.6.35.x86_64/drivers/media/video/au0828/au0828.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/au0828/au0828.h
-+++ linux-2.6.35.x86_64/drivers/media/video/au0828/au0828.h
+diff -Naurp linux-2.6.35/drivers/media/video/au0828/au0828.h linux-2.6.35.media/drivers/media/video/au0828/au0828.h
+--- linux-2.6.35/drivers/media/video/au0828/au0828.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/au0828/au0828.h	2011-01-24 22:56:36.677075751 -0500
 @@ -53,13 +53,17 @@
  
  /* Defination for AU0828 USB transfer */
@@ -64321,10 +73293,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/au0828/au0828.h
  #define dprintk(level, fmt, arg...)\
  	do { if (au0828_debug & level)\
  		printk(KERN_DEBUG DRIVER_NAME "/0: " fmt, ## arg);\
-Index: linux-2.6.35.x86_64/drivers/media/video/au0828/au0828.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/au0828/au0828.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/au0828/au0828.mod.c linux-2.6.35.media/drivers/media/video/au0828/au0828.mod.c
+--- linux-2.6.35/drivers/media/video/au0828/au0828.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/au0828/au0828.mod.c	2011-01-24 22:56:36.687075763 -0500
 @@ -0,0 +1,37 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -64363,10 +73334,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/au0828/au0828.mod.c
 +MODULE_ALIAS("usb:v2040p8200d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "4E8FE5156FCE5D8E12EFADC");
-Index: linux-2.6.35.x86_64/drivers/media/video/au0828/au0828-vbi.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/au0828/au0828-vbi.c
+diff -Naurp linux-2.6.35/drivers/media/video/au0828/au0828-vbi.c linux-2.6.35.media/drivers/media/video/au0828/au0828-vbi.c
+--- linux-2.6.35/drivers/media/video/au0828/au0828-vbi.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/au0828/au0828-vbi.c	2011-01-24 22:56:36.667075738 -0500
 @@ -0,0 +1,138 @@
 +/*
 +   au0828-vbi.c - VBI driver for au0828
@@ -64506,10 +73476,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/au0828/au0828-vbi.c
 +	.buf_queue    = vbi_queue,
 +	.buf_release  = vbi_release,
 +};
-Index: linux-2.6.35.x86_64/drivers/media/video/au0828/au0828-video.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/au0828/au0828-video.c
-+++ linux-2.6.35.x86_64/drivers/media/video/au0828/au0828-video.c
+diff -Naurp linux-2.6.35/drivers/media/video/au0828/au0828-video.c linux-2.6.35.media/drivers/media/video/au0828/au0828-video.c
+--- linux-2.6.35/drivers/media/video/au0828/au0828-video.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/au0828/au0828-video.c	2011-01-24 22:56:36.657075728 -0500
 @@ -122,6 +122,7 @@ static void au0828_irq_callback(struct u
  {
  	struct au0828_dmaqueue  *dma_q = urb->context;
@@ -65376,20 +74345,18 @@ Index: linux-2.6.35.x86_64/drivers/media/video/au0828/au0828-video.c
  
  	dprintk(1, "%s completed!\n", __func__);
  
-Index: linux-2.6.35.x86_64/drivers/media/video/au0828/Makefile
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/au0828/Makefile
-+++ linux-2.6.35.x86_64/drivers/media/video/au0828/Makefile
+diff -Naurp linux-2.6.35/drivers/media/video/au0828/Makefile linux-2.6.35.media/drivers/media/video/au0828/Makefile
+--- linux-2.6.35/drivers/media/video/au0828/Makefile	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/au0828/Makefile	2011-01-24 22:56:36.626075689 -0500
 @@ -1,4 +1,4 @@
 -au0828-objs	:= au0828-core.o au0828-i2c.o au0828-cards.o au0828-dvb.o au0828-video.o
 +au0828-objs	:= au0828-core.o au0828-i2c.o au0828-cards.o au0828-dvb.o au0828-video.o au0828-vbi.o
  
  obj-$(CONFIG_VIDEO_AU0828) += au0828.o
  
-Index: linux-2.6.35.x86_64/drivers/media/video/bt819.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/bt819.c
-+++ linux-2.6.35.x86_64/drivers/media/video/bt819.c
+diff -Naurp linux-2.6.35/drivers/media/video/bt819.c linux-2.6.35.media/drivers/media/video/bt819.c
+--- linux-2.6.35/drivers/media/video/bt819.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/bt819.c	2011-01-24 22:56:34.133072702 -0500
 @@ -33,12 +33,11 @@
  #include <linux/ioctl.h>
  #include <linux/delay.h>
@@ -65645,10 +74612,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt819.c
 +
 +module_init(init_bt819);
 +module_exit(exit_bt819);
-Index: linux-2.6.35.x86_64/drivers/media/video/bt819.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/bt819.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/bt819.mod.c linux-2.6.35.media/drivers/media/video/bt819.mod.c
+--- linux-2.6.35/drivers/media/video/bt819.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/bt819.mod.c	2011-01-24 22:56:33.080071465 -0500
 @@ -0,0 +1,26 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -65676,10 +74642,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt819.mod.c
 +MODULE_ALIAS("i2c:bt815a");
 +
 +MODULE_INFO(srcversion, "FA827C4D6D3DF6893B09314");
-Index: linux-2.6.35.x86_64/drivers/media/video/bt856.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/bt856.c
-+++ linux-2.6.35.x86_64/drivers/media/video/bt856.c
+diff -Naurp linux-2.6.35/drivers/media/video/bt856.c linux-2.6.35.media/drivers/media/video/bt856.c
+--- linux-2.6.35/drivers/media/video/bt856.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/bt856.c	2011-01-24 22:56:36.298075292 -0500
 @@ -34,11 +34,9 @@
  #include <linux/ioctl.h>
  #include <asm/uaccess.h>
@@ -65723,10 +74688,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt856.c
 +
 +module_init(init_bt856);
 +module_exit(exit_bt856);
-Index: linux-2.6.35.x86_64/drivers/media/video/bt856.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/bt856.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/bt856.mod.c linux-2.6.35.media/drivers/media/video/bt856.mod.c
+--- linux-2.6.35/drivers/media/video/bt856.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/bt856.mod.c	2011-01-24 22:56:37.274076479 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -65752,10 +74716,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt856.mod.c
 +MODULE_ALIAS("i2c:bt856");
 +
 +MODULE_INFO(srcversion, "2B025CDA075048F55368D17");
-Index: linux-2.6.35.x86_64/drivers/media/video/bt866.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/bt866.c
-+++ linux-2.6.35.x86_64/drivers/media/video/bt866.c
+diff -Naurp linux-2.6.35/drivers/media/video/bt866.c linux-2.6.35.media/drivers/media/video/bt866.c
+--- linux-2.6.35/drivers/media/video/bt866.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/bt866.c	2011-01-24 22:56:38.353077806 -0500
 @@ -34,11 +34,9 @@
  #include <linux/ioctl.h>
  #include <asm/uaccess.h>
@@ -65799,10 +74762,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt866.c
 +
 +module_init(init_bt866);
 +module_exit(exit_bt866);
-Index: linux-2.6.35.x86_64/drivers/media/video/bt866.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/bt866.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/bt866.mod.c linux-2.6.35.media/drivers/media/video/bt866.mod.c
+--- linux-2.6.35/drivers/media/video/bt866.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/bt866.mod.c	2011-01-24 22:56:34.141072711 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -65828,10 +74790,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt866.mod.c
 +MODULE_ALIAS("i2c:bt866");
 +
 +MODULE_INFO(srcversion, "F808A944EF0FE7D9E320E9A");
-Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-cards.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/bt8xx/bttv-cards.c
-+++ linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-cards.c
+diff -Naurp linux-2.6.35/drivers/media/video/bt8xx/bttv-cards.c linux-2.6.35.media/drivers/media/video/bt8xx/bttv-cards.c
+--- linux-2.6.35/drivers/media/video/bt8xx/bttv-cards.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/bt8xx/bttv-cards.c	2011-01-24 22:56:33.028071404 -0500
 @@ -1373,7 +1373,6 @@ struct tvcard bttv_tvcards[] = {
  		.gpiomute 	= 0x1800,
  		.audio_mode_gpio= fv2000s_audio,
@@ -66227,10 +75188,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-cards.c
  				0, v4l2_i2c_tuner_addrs(ADDRS_TV_WITH_DEMOD));
  
  		tun_setup.mode_mask = T_ANALOG_TV | T_DIGITAL_TV;
-Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/bt8xx/bttv-driver.c
-+++ linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
+diff -Naurp linux-2.6.35/drivers/media/video/bt8xx/bttv-driver.c linux-2.6.35.media/drivers/media/video/bt8xx/bttv-driver.c
+--- linux-2.6.35/drivers/media/video/bt8xx/bttv-driver.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/bt8xx/bttv-driver.c	2011-01-24 22:56:32.925071284 -0500
 @@ -42,7 +42,6 @@
  #include <linux/fs.h>
  #include <linux/kernel.h>
@@ -66248,7 +75208,22 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  
  
  unsigned int bttv_num;			/* number of Bt848s in use */
-@@ -842,7 +841,7 @@ static const struct v4l2_queryctrl *ctrl
+@@ -190,8 +189,14 @@ static void request_modules(struct bttv 
+ 	INIT_WORK(&dev->request_module_wk, request_module_async);
+ 	schedule_work(&dev->request_module_wk);
+ }
++
++static void flush_request_modules(struct bttv *dev)
++{
++	flush_work_sync(&dev->request_module_wk);
++}
+ #else
+ #define request_modules(dev)
++#define flush_request_modules(dev)
+ #endif /* CONFIG_MODULES */
+ 
+ 
+@@ -842,7 +847,7 @@ static const struct v4l2_queryctrl *ctrl
  			 RESOURCE_OVERLAY)
  
  static
@@ -66257,7 +75232,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  {
  	int xbits; /* mutual exclusive resources */
  
-@@ -855,7 +854,6 @@ int check_alloc_btres(struct bttv *btv, 
+@@ -855,7 +860,6 @@ int check_alloc_btres(struct bttv *btv, 
  		xbits |= RESOURCE_VIDEO_READ | RESOURCE_VIDEO_STREAM;
  
  	/* is it free? */
@@ -66265,7 +75240,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  	if (btv->resources & xbits) {
  		/* no, someone else uses it */
  		goto fail;
-@@ -885,11 +883,9 @@ int check_alloc_btres(struct bttv *btv, 
+@@ -885,11 +889,9 @@ int check_alloc_btres(struct bttv *btv, 
  	/* it's free, grab it */
  	fh->resources  |= bit;
  	btv->resources |= bit;
@@ -66277,7 +75252,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  	return 0;
  }
  
-@@ -935,13 +931,12 @@ disclaim_video_lines(struct bttv *btv)
+@@ -935,13 +937,12 @@ disclaim_video_lines(struct bttv *btv)
  }
  
  static
@@ -66292,7 +75267,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  	fh->resources  &= ~bits;
  	btv->resources &= ~bits;
  
-@@ -952,8 +947,6 @@ void free_btres(struct bttv *btv, struct
+@@ -952,8 +953,6 @@ void free_btres(struct bttv *btv, struct
  
  	if (0 == (bits & VBI_RESOURCES))
  		disclaim_vbi_lines(btv);
@@ -66301,7 +75276,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  }
  
  /* ----------------------------------------------------------------------- */
-@@ -1682,7 +1675,7 @@ bttv_switch_overlay(struct bttv *btv, st
+@@ -1682,7 +1681,7 @@ bttv_switch_overlay(struct bttv *btv, st
  		kfree(old);
  	}
  	if (NULL == new)
@@ -66310,7 +75285,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  	dprintk("switch_overlay: done\n");
  	return retval;
  }
-@@ -1714,28 +1707,20 @@ static int bttv_prepare_buffer(struct vi
+@@ -1714,28 +1713,20 @@ static int bttv_prepare_buffer(struct vi
  
  		/* Make sure tvnorm and vbi_end remain consistent
  		   until we're done. */
@@ -66339,7 +75314,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  		if (width < c.min_scaled_width ||
  		    width > c.max_scaled_width ||
  		    height < c.min_scaled_height)
-@@ -1860,20 +1845,22 @@ static int bttv_s_std(struct file *file,
+@@ -1860,20 +1851,22 @@ static int bttv_s_std(struct file *file,
  	int err;
  
  	err = v4l2_prio_check(&btv->prio, fh->prio);
@@ -66369,7 +75344,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  }
  
  static int bttv_querystd(struct file *file, void *f, v4l2_std_id *id)
-@@ -1893,10 +1880,12 @@ static int bttv_enum_input(struct file *
+@@ -1893,10 +1886,12 @@ static int bttv_enum_input(struct file *
  {
  	struct bttv_fh *fh = priv;
  	struct bttv *btv = fh->btv;
@@ -66385,7 +75360,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  
  	i->type     = V4L2_INPUT_TYPE_CAMERA;
  	i->audioset = 1;
-@@ -1919,10 +1908,11 @@ static int bttv_enum_input(struct file *
+@@ -1919,10 +1914,11 @@ static int bttv_enum_input(struct file *
  			i->status |= V4L2_IN_ST_NO_H_LOCK;
  	}
  
@@ -66400,7 +75375,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  }
  
  static int bttv_g_input(struct file *file, void *priv, unsigned int *i)
-@@ -1931,6 +1921,7 @@ static int bttv_g_input(struct file *fil
+@@ -1931,6 +1927,7 @@ static int bttv_g_input(struct file *fil
  	struct bttv *btv = fh->btv;
  
  	*i = btv->input;
@@ -66408,7 +75383,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  	return 0;
  }
  
-@@ -1942,15 +1933,17 @@ static int bttv_s_input(struct file *fil
+@@ -1942,15 +1939,17 @@ static int bttv_s_input(struct file *fil
  	int err;
  
  	err = v4l2_prio_check(&btv->prio, fh->prio);
@@ -66432,7 +75407,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  	return 0;
  }
  
-@@ -1961,23 +1954,24 @@ static int bttv_s_tuner(struct file *fil
+@@ -1961,23 +1960,24 @@ static int bttv_s_tuner(struct file *fil
  	struct bttv *btv = fh->btv;
  	int err;
  
@@ -66466,7 +75441,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  
  	return 0;
  }
-@@ -2001,21 +1995,24 @@ static int bttv_s_frequency(struct file 
+@@ -2001,21 +2001,24 @@ static int bttv_s_frequency(struct file 
  	struct bttv *btv = fh->btv;
  	int err;
  
@@ -66499,7 +75474,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  	return 0;
  }
  
-@@ -2124,7 +2121,7 @@ bttv_crop_adjust	(struct bttv_crop *    
+@@ -2124,7 +2127,7 @@ bttv_crop_adjust	(struct bttv_crop *    
     also adjust the current cropping parameters to get closer to the
     desired image size. */
  static int
@@ -66508,7 +75483,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  			 __s32 *                        width,
  			 __s32 *                        height,
  			 enum v4l2_field                field,
-@@ -2147,7 +2144,6 @@ limit_scaled_size       (struct bttv_fh 
+@@ -2147,7 +2150,6 @@ limit_scaled_size       (struct bttv_fh 
  
  	/* Make sure tvnorm, vbi_end and the current cropping parameters
  	   remain consistent until we're done. */
@@ -66516,7 +75491,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  
  	b = &bttv_tvnorms[btv->tvnorm].cropcap.bounds;
  
-@@ -2225,7 +2221,6 @@ limit_scaled_size       (struct bttv_fh 
+@@ -2225,7 +2227,6 @@ limit_scaled_size       (struct bttv_fh 
  	rc = 0; /* success */
  
   fail:
@@ -66524,7 +75499,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  
  	return rc;
  }
-@@ -2238,7 +2233,7 @@ limit_scaled_size       (struct bttv_fh 
+@@ -2238,7 +2239,7 @@ limit_scaled_size       (struct bttv_fh 
     may also adjust the current cropping parameters to get closer
     to the desired window size. */
  static int
@@ -66533,7 +75508,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  			 struct v4l2_window *           win,
  			 int                            adjust_size,
  			 int                            adjust_crop)
-@@ -2292,7 +2287,7 @@ verify_window		(struct bttv_fh *        
+@@ -2292,7 +2293,7 @@ verify_window		(struct bttv_fh *        
  	win->w.width -= win->w.left & ~width_mask;
  	win->w.left = (win->w.left - width_mask - 1) & width_mask;
  
@@ -66542,7 +75517,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  			       field, width_mask,
  			       /* width_bias: round down */ 0,
  			       adjust_size, adjust_crop);
-@@ -2303,7 +2298,7 @@ verify_window		(struct bttv_fh *        
+@@ -2303,7 +2304,7 @@ verify_window		(struct bttv_fh *        
  	return 0;
  }
  
@@ -66551,7 +75526,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  			struct v4l2_window *win, int fixup)
  {
  	struct v4l2_clip *clips = NULL;
-@@ -2313,7 +2308,7 @@ static int setup_window(struct bttv_fh *
+@@ -2313,7 +2314,7 @@ static int setup_window(struct bttv_fh *
  		return -EINVAL;
  	if (!(fh->ovfmt->flags & FORMAT_FLAGS_PACKED))
  		return -EINVAL;
@@ -66560,7 +75535,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  			       /* adjust_size */ fixup,
  			       /* adjust_crop */ fixup);
  	if (0 != retval)
-@@ -2332,6 +2327,7 @@ static int setup_window(struct bttv_fh *
+@@ -2332,6 +2333,7 @@ static int setup_window(struct bttv_fh *
  			return -EFAULT;
  		}
  	}
@@ -66568,7 +75543,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  	/* clip against screen */
  	if (NULL != btv->fbuf.base)
  		n = btcx_screen_clips(btv->fbuf.fmt.width, btv->fbuf.fmt.height,
-@@ -2354,7 +2350,6 @@ static int setup_window(struct bttv_fh *
+@@ -2354,7 +2356,6 @@ static int setup_window(struct bttv_fh *
  		BUG();
  	}
  
@@ -66576,7 +75551,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  	kfree(fh->ov.clips);
  	fh->ov.clips    = clips;
  	fh->ov.nclips   = n;
-@@ -2362,6 +2357,7 @@ static int setup_window(struct bttv_fh *
+@@ -2362,6 +2363,7 @@ static int setup_window(struct bttv_fh *
  	fh->ov.w        = win->w;
  	fh->ov.field    = win->field;
  	fh->ov.setup_ok = 1;
@@ -66584,7 +75559,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  	btv->init.ov.w.width   = win->w.width;
  	btv->init.ov.w.height  = win->w.height;
  	btv->init.ov.field     = win->field;
-@@ -2376,7 +2372,6 @@ static int setup_window(struct bttv_fh *
+@@ -2376,7 +2378,6 @@ static int setup_window(struct bttv_fh *
  		bttv_overlay_risc(btv, &fh->ov, fh->ovfmt, new);
  		retval = bttv_switch_overlay(btv,fh,new);
  	}
@@ -66592,7 +75567,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  	return retval;
  }
  
-@@ -2516,7 +2511,7 @@ static int bttv_try_fmt_vid_cap(struct f
+@@ -2516,7 +2517,7 @@ static int bttv_try_fmt_vid_cap(struct f
  	width = f->fmt.pix.width;
  	height = f->fmt.pix.height;
  
@@ -66601,7 +75576,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  			       /* width_mask: 4 pixels */ ~3,
  			       /* width_bias: nearest */ 2,
  			       /* adjust_size */ 1,
-@@ -2536,7 +2531,7 @@ static int bttv_try_fmt_vid_overlay(stru
+@@ -2536,7 +2537,7 @@ static int bttv_try_fmt_vid_overlay(stru
  {
  	struct bttv_fh *fh = priv;
  
@@ -66610,7 +75585,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  			/* adjust_size */ 1,
  			/* adjust_crop */ 0);
  }
-@@ -2563,7 +2558,7 @@ static int bttv_s_fmt_vid_cap(struct fil
+@@ -2563,7 +2564,7 @@ static int bttv_s_fmt_vid_cap(struct fil
  	height = f->fmt.pix.height;
  	field = f->fmt.pix.field;
  
@@ -66619,7 +75594,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  			       /* width_mask: 4 pixels */ ~3,
  			       /* width_bias: nearest */ 2,
  			       /* adjust_size */ 1,
-@@ -2576,7 +2571,6 @@ static int bttv_s_fmt_vid_cap(struct fil
+@@ -2576,7 +2577,6 @@ static int bttv_s_fmt_vid_cap(struct fil
  	fmt = format_by_fourcc(f->fmt.pix.pixelformat);
  
  	/* update our state informations */
@@ -66627,7 +75602,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  	fh->fmt              = fmt;
  	fh->cap.field        = f->fmt.pix.field;
  	fh->cap.last         = V4L2_FIELD_NONE;
-@@ -2585,7 +2579,6 @@ static int bttv_s_fmt_vid_cap(struct fil
+@@ -2585,7 +2585,6 @@ static int bttv_s_fmt_vid_cap(struct fil
  	btv->init.fmt        = fmt;
  	btv->init.width      = f->fmt.pix.width;
  	btv->init.height     = f->fmt.pix.height;
@@ -66635,14 +75610,13 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  
  	return 0;
  }
-@@ -2601,37 +2594,9 @@ static int bttv_s_fmt_vid_overlay(struct
+@@ -2601,36 +2600,8 @@ static int bttv_s_fmt_vid_overlay(struct
  		return -EINVAL;
  	}
  
 -	return setup_window(fh, btv, &f->fmt.win, 1);
-+	return setup_window_lock(fh, btv, &f->fmt.win, 1);
- }
- 
+-}
+-
 -#ifdef CONFIG_VIDEO_V4L1_COMPAT
 -static int vidiocgmbuf(struct file *file, void *priv, struct video_mbuf *mbuf)
 -{
@@ -66668,13 +75642,13 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
 -
 -	mutex_unlock(&fh->cap.vb_lock);
 -	return 0;
--}
++	return setup_window_lock(fh, btv, &f->fmt.win, 1);
+ }
 -#endif
--
+ 
  static int bttv_querycap(struct file *file, void  *priv,
  				struct v4l2_capability *cap)
- {
-@@ -2651,11 +2616,15 @@ static int bttv_querycap(struct file *fi
+@@ -2651,11 +2622,15 @@ static int bttv_querycap(struct file *fi
  		V4L2_CAP_VBI_CAPTURE |
  		V4L2_CAP_READWRITE |
  		V4L2_CAP_STREAMING;
@@ -66692,7 +75666,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  	if (btv->tuner_type != TUNER_ABSENT)
  		cap->capabilities |= V4L2_CAP_TUNER;
  	return 0;
-@@ -2730,22 +2699,24 @@ static int bttv_overlay(struct file *fil
+@@ -2730,22 +2705,24 @@ static int bttv_overlay(struct file *fil
  	struct bttv_fh *fh = f;
  	struct bttv *btv = fh->btv;
  	struct bttv_buffer *new;
@@ -66723,7 +75697,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  	if (on) {
  		fh->ov.tvnorm = btv->tvnorm;
  		new = videobuf_sg_alloc(sizeof(*new));
-@@ -2757,7 +2728,6 @@ static int bttv_overlay(struct file *fil
+@@ -2757,7 +2734,6 @@ static int bttv_overlay(struct file *fil
  
  	/* switch over */
  	retval = bttv_switch_overlay(btv, fh, new);
@@ -66731,7 +75705,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  	return retval;
  }
  
-@@ -2785,7 +2755,7 @@ static int bttv_s_fbuf(struct file *file
+@@ -2785,7 +2761,7 @@ static int bttv_s_fbuf(struct file *file
  		__s32 width = fb->fmt.width;
  		__s32 height = fb->fmt.height;
  
@@ -66740,7 +75714,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  					   V4L2_FIELD_INTERLACED,
  					   /* width_mask */ ~3,
  					   /* width_bias */ 2,
-@@ -2796,7 +2766,6 @@ static int bttv_s_fbuf(struct file *file
+@@ -2796,7 +2772,6 @@ static int bttv_s_fbuf(struct file *file
  	}
  
  	/* ok, accept it */
@@ -66748,7 +75722,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  	btv->fbuf.base       = fb->base;
  	btv->fbuf.fmt.width  = fb->fmt.width;
  	btv->fbuf.fmt.height = fb->fmt.height;
-@@ -2828,7 +2797,6 @@ static int bttv_s_fbuf(struct file *file
+@@ -2828,7 +2803,6 @@ static int bttv_s_fbuf(struct file *file
  			retval = bttv_switch_overlay(btv, fh, new);
  		}
  	}
@@ -66756,7 +75730,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  	return retval;
  }
  
-@@ -2852,7 +2820,7 @@ static int bttv_qbuf(struct file *file, 
+@@ -2852,7 +2826,7 @@ static int bttv_qbuf(struct file *file, 
  	struct bttv *btv = fh->btv;
  	int res = bttv_resource(fh);
  
@@ -66765,7 +75739,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  		return -EBUSY;
  
  	return videobuf_qbuf(bttv_queue(fh), b);
-@@ -2872,7 +2840,7 @@ static int bttv_streamon(struct file *fi
+@@ -2872,7 +2846,7 @@ static int bttv_streamon(struct file *fi
  	struct bttv *btv = fh->btv;
  	int res = bttv_resource(fh);
  
@@ -66774,7 +75748,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  		return -EBUSY;
  	return videobuf_streamon(bttv_queue(fh));
  }
-@@ -2890,7 +2858,7 @@ static int bttv_streamoff(struct file *f
+@@ -2890,7 +2864,7 @@ static int bttv_streamoff(struct file *f
  	retval = videobuf_streamoff(bttv_queue(fh));
  	if (retval < 0)
  		return retval;
@@ -66783,7 +75757,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  	return 0;
  }
  
-@@ -2926,6 +2894,7 @@ static int bttv_g_parm(struct file *file
+@@ -2926,6 +2900,7 @@ static int bttv_g_parm(struct file *file
  
  	v4l2_video_std_frame_period(bttv_tvnorms[btv->tvnorm].v4l2_id,
  				    &parm->parm.capture.timeperframe);
@@ -66791,7 +75765,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  	return 0;
  }
  
-@@ -2940,7 +2909,6 @@ static int bttv_g_tuner(struct file *fil
+@@ -2940,7 +2915,6 @@ static int bttv_g_tuner(struct file *fil
  	if (0 != t->index)
  		return -EINVAL;
  
@@ -66799,7 +75773,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  	t->rxsubchans = V4L2_TUNER_SUB_MONO;
  	bttv_call_all(btv, tuner, g_tuner, t);
  	strcpy(t->name, "Television");
-@@ -2952,7 +2920,6 @@ static int bttv_g_tuner(struct file *fil
+@@ -2952,7 +2926,6 @@ static int bttv_g_tuner(struct file *fil
  	if (btv->audio_mode_gpio)
  		btv->audio_mode_gpio(btv, t, 0);
  
@@ -66807,7 +75781,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  	return 0;
  }
  
-@@ -2971,8 +2938,11 @@ static int bttv_s_priority(struct file *
+@@ -2971,8 +2944,11 @@ static int bttv_s_priority(struct file *
  {
  	struct bttv_fh *fh = f;
  	struct bttv *btv = fh->btv;
@@ -66820,7 +75794,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  }
  
  static int bttv_cropcap(struct file *file, void *priv,
-@@ -3024,19 +2994,17 @@ static int bttv_s_crop(struct file *file
+@@ -3024,19 +3000,17 @@ static int bttv_s_crop(struct file *file
  	    crop->type != V4L2_BUF_TYPE_VIDEO_OVERLAY)
  		return -EINVAL;
  
@@ -66845,7 +75819,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  		return retval;
  	}
  
-@@ -3048,7 +3016,6 @@ static int bttv_s_crop(struct file *file
+@@ -3048,7 +3022,6 @@ static int bttv_s_crop(struct file *file
  
  	b_top = max(b->top, btv->vbi_end);
  	if (b_top + 32 >= b_bottom) {
@@ -66853,7 +75827,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  		return retval;
  	}
  
-@@ -3071,12 +3038,8 @@ static int bttv_s_crop(struct file *file
+@@ -3071,12 +3044,8 @@ static int bttv_s_crop(struct file *file
  
  	btv->crop[1] = c;
  
@@ -66866,7 +75840,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  	if (fh->width < c.min_scaled_width) {
  		fh->width = c.min_scaled_width;
  		btv->init.width = c.min_scaled_width;
-@@ -3093,8 +3056,6 @@ static int bttv_s_crop(struct file *file
+@@ -3093,8 +3062,6 @@ static int bttv_s_crop(struct file *file
  		btv->init.height = c.max_scaled_height;
  	}
  
@@ -66875,7 +75849,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  	return 0;
  }
  
-@@ -3128,17 +3089,17 @@ static ssize_t bttv_read(struct file *fi
+@@ -3128,17 +3095,17 @@ static ssize_t bttv_read(struct file *fi
  
  	switch (fh->type) {
  	case V4L2_BUF_TYPE_VIDEO_CAPTURE:
@@ -66896,7 +75870,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  			return -EBUSY;
  		retval = videobuf_read_stream(&fh->vbi, data, count, ppos, 1,
  					      file->f_flags & O_NONBLOCK);
-@@ -3157,20 +3118,18 @@ static unsigned int bttv_poll(struct fil
+@@ -3157,20 +3124,18 @@ static unsigned int bttv_poll(struct fil
  	unsigned int rc = POLLERR;
  
  	if (V4L2_BUF_TYPE_VBI_CAPTURE == fh->type) {
@@ -66918,7 +75892,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  		if (NULL == fh->cap.read_buf) {
  			/* need to capture a new frame */
  			if (locked_btres(fh->btv,RESOURCE_VIDEO_STREAM))
-@@ -3188,7 +3147,6 @@ static unsigned int bttv_poll(struct fil
+@@ -3188,7 +3153,6 @@ static unsigned int bttv_poll(struct fil
  			fh->cap.ops->buf_queue(&fh->cap,fh->cap.read_buf);
  			fh->cap.read_off = 0;
  		}
@@ -66926,7 +75900,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  		buf = (struct bttv_buffer*)fh->cap.read_buf;
  	}
  
-@@ -3199,7 +3157,6 @@ static unsigned int bttv_poll(struct fil
+@@ -3199,7 +3163,6 @@ static unsigned int bttv_poll(struct fil
  	else
  		rc = 0;
  err:
@@ -66934,7 +75908,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  	return rc;
  }
  
-@@ -3221,21 +3178,20 @@ static int bttv_open(struct file *file)
+@@ -3221,21 +3184,20 @@ static int bttv_open(struct file *file)
  		return -ENODEV;
  	}
  
@@ -66961,7 +75935,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  	v4l2_prio_open(&btv->prio, &fh->prio);
  
  	videobuf_queue_sg_init(&fh->cap, &bttv_video_qops,
-@@ -3243,13 +3199,13 @@ static int bttv_open(struct file *file)
+@@ -3243,13 +3205,13 @@ static int bttv_open(struct file *file)
  			    V4L2_BUF_TYPE_VIDEO_CAPTURE,
  			    V4L2_FIELD_INTERLACED,
  			    sizeof(struct bttv_buffer),
@@ -66977,7 +75951,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  	set_tvnorm(btv,btv->tvnorm);
  	set_input(btv, btv->input, btv->tvnorm);
  
-@@ -3272,7 +3228,6 @@ static int bttv_open(struct file *file)
+@@ -3272,7 +3234,6 @@ static int bttv_open(struct file *file)
  	bttv_vbi_fmt_reset(&fh->vbi_fmt, btv->tvnorm);
  
  	bttv_field_count(btv);
@@ -66985,7 +75959,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  	return 0;
  }
  
-@@ -3288,23 +3243,24 @@ static int bttv_release(struct file *fil
+@@ -3288,23 +3249,24 @@ static int bttv_release(struct file *fil
  	/* stop video capture */
  	if (check_btres(fh, RESOURCE_VIDEO_STREAM)) {
  		videobuf_streamoff(&fh->cap);
@@ -67013,7 +75987,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  	videobuf_mmap_free(&fh->cap);
  	videobuf_mmap_free(&fh->vbi);
  	v4l2_prio_close(&btv->prio, fh->prio);
-@@ -3333,13 +3289,13 @@ bttv_mmap(struct file *file, struct vm_a
+@@ -3333,13 +3295,13 @@ bttv_mmap(struct file *file, struct vm_a
  
  static const struct v4l2_file_operations bttv_fops =
  {
@@ -67034,7 +76008,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  };
  
  static const struct v4l2_ioctl_ops bttv_ioctl_ops = {
-@@ -3373,9 +3329,6 @@ static const struct v4l2_ioctl_ops bttv_
+@@ -3373,9 +3335,6 @@ static const struct v4l2_ioctl_ops bttv_
  	.vidioc_streamoff               = bttv_streamoff,
  	.vidioc_g_tuner                 = bttv_g_tuner,
  	.vidioc_s_tuner                 = bttv_s_tuner,
@@ -67044,7 +76018,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  	.vidioc_g_crop                  = bttv_g_crop,
  	.vidioc_s_crop                  = bttv_s_crop,
  	.vidioc_g_fbuf                  = bttv_g_fbuf,
-@@ -3412,29 +3365,22 @@ static int radio_open(struct file *file)
+@@ -3412,29 +3371,22 @@ static int radio_open(struct file *file)
  
  	dprintk("bttv: open dev=%s\n", video_device_node_name(vdev));
  
@@ -67076,7 +76050,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  	return 0;
  }
  
-@@ -3442,7 +3388,7 @@ static int radio_release(struct file *fi
+@@ -3442,7 +3394,7 @@ static int radio_release(struct file *fi
  {
  	struct bttv_fh *fh = file->private_data;
  	struct bttv *btv = fh->btv;
@@ -67085,7 +76059,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  
  	v4l2_prio_close(&btv->prio, fh->prio);
  	file->private_data = NULL;
-@@ -3450,7 +3396,7 @@ static int radio_release(struct file *fi
+@@ -3450,7 +3402,7 @@ static int radio_release(struct file *fi
  
  	btv->radio_user--;
  
@@ -67094,7 +76068,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  
  	return 0;
  }
-@@ -3479,7 +3425,6 @@ static int radio_g_tuner(struct file *fi
+@@ -3479,7 +3431,6 @@ static int radio_g_tuner(struct file *fi
  		return -EINVAL;
  	if (0 != t->index)
  		return -EINVAL;
@@ -67102,7 +76076,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  	strcpy(t->name, "Radio");
  	t->type = V4L2_TUNER_RADIO;
  
-@@ -3488,8 +3433,6 @@ static int radio_g_tuner(struct file *fi
+@@ -3488,8 +3439,6 @@ static int radio_g_tuner(struct file *fi
  	if (btv->audio_mode_gpio)
  		btv->audio_mode_gpio(btv, t, 0);
  
@@ -67111,7 +76085,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  	return 0;
  }
  
-@@ -3580,13 +3523,13 @@ static ssize_t radio_read(struct file *f
+@@ -3580,13 +3529,13 @@ static ssize_t radio_read(struct file *f
  {
  	struct bttv_fh *fh = file->private_data;
  	struct bttv *btv = fh->btv;
@@ -67127,7 +76101,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  
  	return cmd.result;
  }
-@@ -3595,11 +3538,11 @@ static unsigned int radio_poll(struct fi
+@@ -3595,11 +3544,11 @@ static unsigned int radio_poll(struct fi
  {
  	struct bttv_fh *fh = file->private_data;
  	struct bttv *btv = fh->btv;
@@ -67141,7 +76115,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  
  	return cmd.result;
  }
-@@ -3610,7 +3553,7 @@ static const struct v4l2_file_operations
+@@ -3610,7 +3559,7 @@ static const struct v4l2_file_operations
  	.open	  = radio_open,
  	.read     = radio_read,
  	.release  = radio_release,
@@ -67150,7 +76124,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  	.poll     = radio_poll,
  };
  
-@@ -4070,9 +4013,6 @@ static irqreturn_t bttv_irq(int irq, voi
+@@ -4070,9 +4019,6 @@ static irqreturn_t bttv_irq(int irq, voi
  
  	btv=(struct bttv *)dev_id;
  
@@ -67160,7 +76134,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  	count=0;
  	while (1) {
  		/* get/clear interrupt status bits */
-@@ -4108,7 +4048,6 @@ static irqreturn_t bttv_irq(int irq, voi
+@@ -4108,7 +4054,6 @@ static irqreturn_t bttv_irq(int irq, voi
  			btv->field_count++;
  
  		if ((astat & BT848_INT_GPINT) && btv->remote) {
@@ -67168,7 +76142,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  			bttv_input_irq(btv);
  		}
  
-@@ -4313,7 +4252,6 @@ static int __devinit bttv_probe(struct p
+@@ -4313,7 +4258,6 @@ static int __devinit bttv_probe(struct p
  	mutex_init(&btv->lock);
  	spin_lock_init(&btv->s_lock);
  	spin_lock_init(&btv->gpio_lock);
@@ -67176,7 +76150,17 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  	init_waitqueue_head(&btv->i2c_queue);
  	INIT_LIST_HEAD(&btv->c.subs);
  	INIT_LIST_HEAD(&btv->capture);
-@@ -4501,7 +4439,6 @@ static void __devexit bttv_remove(struct
+@@ -4491,6 +4435,9 @@ static void __devexit bttv_remove(struct
+ 	if (bttv_verbose)
+ 		printk("bttv%d: unloading\n",btv->c.nr);
+ 
++	if (bttv_tvcards[btv->c.type].has_dvb)
++		flush_request_modules(btv);
++
+ 	/* shutdown everything (DMA+IRQs) */
+ 	btand(~15, BT848_GPIO_DMA_CTL);
+ 	btwrite(0, BT848_INT_MASK);
+@@ -4501,7 +4448,6 @@ static void __devexit bttv_remove(struct
  
  	/* tell gpio modules we are leaving ... */
  	btv->shutdown=1;
@@ -67184,10 +76168,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-driver.c
  	bttv_input_fini(btv);
  	bttv_sub_del_devices(&btv->c);
  
-Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/bt8xx/bttv.h
-+++ linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv.h
+diff -Naurp linux-2.6.35/drivers/media/video/bt8xx/bttv.h linux-2.6.35.media/drivers/media/video/bt8xx/bttv.h
+--- linux-2.6.35/drivers/media/video/bt8xx/bttv.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/bt8xx/bttv.h	2011-01-24 22:56:32.997071368 -0500
 @@ -17,8 +17,6 @@
  #include <linux/videodev2.h>
  #include <linux/i2c.h>
@@ -67205,10 +76188,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv.h
  	unsigned int no_tda7432:1;
  	unsigned int needs_tvaudio:1;
  	unsigned int msp34xx_alt:1;
-Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-i2c.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/bt8xx/bttv-i2c.c
-+++ linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-i2c.c
+diff -Naurp linux-2.6.35/drivers/media/video/bt8xx/bttv-i2c.c linux-2.6.35.media/drivers/media/video/bt8xx/bttv-i2c.c
+--- linux-2.6.35/drivers/media/video/bt8xx/bttv-i2c.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/bt8xx/bttv-i2c.c	2011-01-24 22:56:32.987071356 -0500
 @@ -121,9 +121,8 @@ bttv_i2c_wait_done(struct bttv *btv)
  
  	/* timeout */
@@ -67263,10 +76245,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-i2c.c
 - * c-basic-offset: 8
 - * End:
 - */
-Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-input.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/bt8xx/bttv-input.c
-+++ linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-input.c
+diff -Naurp linux-2.6.35/drivers/media/video/bt8xx/bttv-input.c linux-2.6.35.media/drivers/media/video/bt8xx/bttv-input.c
+--- linux-2.6.35/drivers/media/video/bt8xx/bttv-input.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/bt8xx/bttv-input.c	2011-01-24 22:56:32.894071249 -0500
 @@ -31,15 +31,9 @@
  
  static int ir_debug;
@@ -67770,10 +76751,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-input.c
 - * c-basic-offset: 8
 - * End:
 - */
-Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/bt8xx/bttv.mod.c linux-2.6.35.media/drivers/media/video/bt8xx/bttv.mod.c
+--- linux-2.6.35/drivers/media/video/bt8xx/bttv.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/bt8xx/bttv.mod.c	2011-01-24 22:56:33.018071392 -0500
 @@ -0,0 +1,27 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -67802,10 +76782,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv.mod.c
 +MODULE_ALIAS("pci:v0000109Ed0000036Fsv*sd*bc*sc*i*");
 +
 +MODULE_INFO(srcversion, "9A788847D6A7F5ABC33B6CA");
-Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttvp.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/bt8xx/bttvp.h
-+++ linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttvp.h
+diff -Naurp linux-2.6.35/drivers/media/video/bt8xx/bttvp.h linux-2.6.35.media/drivers/media/video/bt8xx/bttvp.h
+--- linux-2.6.35/drivers/media/video/bt8xx/bttvp.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/bt8xx/bttvp.h	2011-01-24 22:56:32.904071259 -0500
 @@ -41,8 +41,8 @@
  #include <linux/device.h>
  #include <media/videobuf-dma-sg.h>
@@ -67906,10 +76885,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttvp.h
  
  	/* locking */
  	spinlock_t s_lock;
-Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-risc.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/bt8xx/bttv-risc.c
-+++ linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-risc.c
+diff -Naurp linux-2.6.35/drivers/media/video/bt8xx/bttv-risc.c linux-2.6.35.media/drivers/media/video/bt8xx/bttv-risc.c
+--- linux-2.6.35/drivers/media/video/bt8xx/bttv-risc.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/bt8xx/bttv-risc.c	2011-01-24 22:56:32.936071297 -0500
 @@ -582,8 +582,8 @@ bttv_dma_free(struct videobuf_queue *q,s
  	struct videobuf_dmabuf *dma=videobuf_to_dma(&buf->vb);
  
@@ -67921,10 +76899,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/bttv-risc.c
  	videobuf_dma_free(dma);
  	btcx_riscmem_free(btv->c.pci,&buf->bottom);
  	btcx_riscmem_free(btv->c.pci,&buf->top);
-Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/Kconfig
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/bt8xx/Kconfig
-+++ linux-2.6.35.x86_64/drivers/media/video/bt8xx/Kconfig
+diff -Naurp linux-2.6.35/drivers/media/video/bt8xx/Kconfig linux-2.6.35.media/drivers/media/video/bt8xx/Kconfig
+--- linux-2.6.35/drivers/media/video/bt8xx/Kconfig	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/bt8xx/Kconfig	2011-01-24 22:56:32.967071332 -0500
 @@ -1,10 +1,10 @@
  config VIDEO_BT848
  	tristate "BT848 Video For Linux"
@@ -67938,10 +76915,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bt8xx/Kconfig
  	select VIDEO_TUNER
  	select VIDEO_TVEEPROM
  	select VIDEO_MSP3400 if VIDEO_HELPER_CHIPS_AUTO
-Index: linux-2.6.35.x86_64/drivers/media/video/btcx-risc.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/btcx-risc.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/btcx-risc.mod.c linux-2.6.35.media/drivers/media/video/btcx-risc.mod.c
+--- linux-2.6.35/drivers/media/video/btcx-risc.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/btcx-risc.mod.c	2011-01-24 22:56:32.228070475 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -67962,10 +76938,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/btcx-risc.mod.c
 +
 +
 +MODULE_INFO(srcversion, "DEF2410BD0739212D1F010E");
-Index: linux-2.6.35.x86_64/drivers/media/video/bw-qcam.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/bw-qcam.c
-+++ linux-2.6.35.x86_64/drivers/media/video/bw-qcam.c
+diff -Naurp linux-2.6.35/drivers/media/video/bw-qcam.c linux-2.6.35.media/drivers/media/video/bw-qcam.c
+--- linux-2.6.35/drivers/media/video/bw-qcam.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/bw-qcam.c	2011-01-24 22:56:34.203072785 -0500
 @@ -860,7 +860,7 @@ static ssize_t qcam_read(struct file *fi
  
  static const struct v4l2_file_operations qcam_fops = {
@@ -67975,10 +76950,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bw-qcam.c
  	.read		= qcam_read,
  };
  
-Index: linux-2.6.35.x86_64/drivers/media/video/bw-qcam.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/bw-qcam.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/bw-qcam.mod.c linux-2.6.35.media/drivers/media/video/bw-qcam.mod.c
+--- linux-2.6.35/drivers/media/video/bw-qcam.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/bw-qcam.mod.c	2011-01-24 22:56:37.687076985 -0500
 @@ -0,0 +1,23 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -68003,10 +76977,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/bw-qcam.mod.c
 +
 +
 +MODULE_INFO(srcversion, "4E4C9185D8755ED9FE92A4C");
-Index: linux-2.6.35.x86_64/drivers/media/video/cafe_ccic.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cafe_ccic.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cafe_ccic.c
+diff -Naurp linux-2.6.35/drivers/media/video/cafe_ccic.c linux-2.6.35.media/drivers/media/video/cafe_ccic.c
+--- linux-2.6.35/drivers/media/video/cafe_ccic.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cafe_ccic.c	2011-01-24 22:56:35.022073757 -0500
 @@ -4,7 +4,7 @@
   * sensor.
   *
@@ -68384,10 +77357,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cafe_ccic.c
  	}
  	mutex_unlock(&cam->s_mutex);
  
-Index: linux-2.6.35.x86_64/drivers/media/video/cpia2/cpia2_core.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cpia2/cpia2_core.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cpia2/cpia2_core.c
+diff -Naurp linux-2.6.35/drivers/media/video/cpia2/cpia2_core.c linux-2.6.35.media/drivers/media/video/cpia2/cpia2_core.c
+--- linux-2.6.35/drivers/media/video/cpia2/cpia2_core.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cpia2/cpia2_core.c	2011-01-24 22:56:34.991073719 -0500
 @@ -1058,44 +1058,44 @@ static int set_vw_size(struct camera_dat
  		DBG("Setting size to VGA\n");
  		cam->params.roi.width = STV_IMAGE_VGA_COLS;
@@ -68651,10 +77623,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cpia2/cpia2_core.c
  	return 0;
  }
 -
-Index: linux-2.6.35.x86_64/drivers/media/video/cpia2/cpia2dev.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cpia2/cpia2dev.h
-+++ linux-2.6.35.x86_64/drivers/media/video/cpia2/cpia2dev.h
+diff -Naurp linux-2.6.35/drivers/media/video/cpia2/cpia2dev.h linux-2.6.35.media/drivers/media/video/cpia2/cpia2dev.h
+--- linux-2.6.35/drivers/media/video/cpia2/cpia2dev.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cpia2/cpia2dev.h	2011-01-24 22:56:34.927073644 -0500
 @@ -29,14 +29,14 @@
  #ifndef CPIA2_DEV_HEADER
  #define CPIA2_DEV_HEADER
@@ -68672,10 +77643,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cpia2/cpia2dev.h
  
  /* V4L2 driver specific controls */
  #define CPIA2_CID_TARGET_KB     (V4L2_CID_PRIVATE_BASE+0)
-Index: linux-2.6.35.x86_64/drivers/media/video/cpia2/cpia2.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cpia2/cpia2.h
-+++ linux-2.6.35.x86_64/drivers/media/video/cpia2/cpia2.h
+diff -Naurp linux-2.6.35/drivers/media/video/cpia2/cpia2.h linux-2.6.35.media/drivers/media/video/cpia2/cpia2.h
+--- linux-2.6.35/drivers/media/video/cpia2/cpia2.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cpia2/cpia2.h	2011-01-24 22:56:34.959073682 -0500
 @@ -32,7 +32,7 @@
  #define __CPIA2_H__
  
@@ -68714,10 +77684,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cpia2/cpia2.h
  	__u32 pixelformat;       /* Format fourcc      */
  
  	/* USB */
-Index: linux-2.6.35.x86_64/drivers/media/video/cpia2/cpia2.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/cpia2/cpia2.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/cpia2/cpia2.mod.c linux-2.6.35.media/drivers/media/video/cpia2/cpia2.mod.c
+--- linux-2.6.35/drivers/media/video/cpia2/cpia2.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/cpia2/cpia2.mod.c	2011-01-24 22:56:35.001073731 -0500
 @@ -0,0 +1,26 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -68745,10 +77714,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cpia2/cpia2.mod.c
 +MODULE_ALIAS("usb:v0553p0151d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "9261EAD180CE3571C272BDC");
-Index: linux-2.6.35.x86_64/drivers/media/video/cpia2/cpia2_v4l.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cpia2/cpia2_v4l.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cpia2/cpia2_v4l.c
+diff -Naurp linux-2.6.35/drivers/media/video/cpia2/cpia2_v4l.c linux-2.6.35.media/drivers/media/video/cpia2/cpia2_v4l.c
+--- linux-2.6.35/drivers/media/video/cpia2/cpia2_v4l.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cpia2/cpia2_v4l.c	2011-01-24 22:56:34.949073670 -0500
 @@ -37,7 +37,7 @@
  #include <linux/sched.h>
  #include <linux/slab.h>
@@ -69385,10 +78353,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cpia2/cpia2_v4l.c
  
  	reset_camera_struct_v4l(cam);
  
-Index: linux-2.6.35.x86_64/drivers/media/video/cpia2/Kconfig
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cpia2/Kconfig
-+++ linux-2.6.35.x86_64/drivers/media/video/cpia2/Kconfig
+diff -Naurp linux-2.6.35/drivers/media/video/cpia2/Kconfig linux-2.6.35.media/drivers/media/video/cpia2/Kconfig
+--- linux-2.6.35/drivers/media/video/cpia2/Kconfig	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cpia2/Kconfig	2011-01-24 22:56:34.970073696 -0500
 @@ -1,6 +1,6 @@
  config VIDEO_CPIA2
  	tristate "CPiA2 Video For Linux"
@@ -69397,10 +78364,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cpia2/Kconfig
  	---help---
  	  This is the video4linux driver for cameras based on Vision's CPiA2
  	  (Colour Processor Interface ASIC), such as the Digital Blue QX5
-Index: linux-2.6.35.x86_64/drivers/media/video/c-qcam.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/c-qcam.c
-+++ linux-2.6.35.x86_64/drivers/media/video/c-qcam.c
+diff -Naurp linux-2.6.35/drivers/media/video/c-qcam.c linux-2.6.35.media/drivers/media/video/c-qcam.c
+--- linux-2.6.35/drivers/media/video/c-qcam.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/c-qcam.c	2011-01-24 22:56:33.921072452 -0500
 @@ -718,7 +718,7 @@ static ssize_t qcam_read(struct file *fi
  
  static const struct v4l2_file_operations qcam_fops = {
@@ -69410,10 +78376,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/c-qcam.c
  	.read		= qcam_read,
  };
  
-Index: linux-2.6.35.x86_64/drivers/media/video/c-qcam.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/c-qcam.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/c-qcam.mod.c linux-2.6.35.media/drivers/media/video/c-qcam.mod.c
+--- linux-2.6.35/drivers/media/video/c-qcam.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/c-qcam.mod.c	2011-01-24 22:56:38.312077755 -0500
 @@ -0,0 +1,23 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -69438,10 +78403,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/c-qcam.mod.c
 +
 +
 +MODULE_INFO(srcversion, "EE723EB13C134B08F043661");
-Index: linux-2.6.35.x86_64/drivers/media/video/cs5345.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cs5345.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cs5345.c
+diff -Naurp linux-2.6.35/drivers/media/video/cs5345.c linux-2.6.35.media/drivers/media/video/cs5345.c
+--- linux-2.6.35/drivers/media/video/cs5345.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cs5345.c	2011-01-24 22:56:34.318072921 -0500
 @@ -25,7 +25,7 @@
  #include <linux/slab.h>
  #include <media/v4l2-device.h>
@@ -69622,10 +78586,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cs5345.c
 +
 +module_init(init_cs5345);
 +module_exit(exit_cs5345);
-Index: linux-2.6.35.x86_64/drivers/media/video/cs5345.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/cs5345.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/cs5345.mod.c linux-2.6.35.media/drivers/media/video/cs5345.mod.c
+--- linux-2.6.35/drivers/media/video/cs5345.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/cs5345.mod.c	2011-01-24 22:56:32.833071178 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -69651,10 +78614,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cs5345.mod.c
 +MODULE_ALIAS("i2c:cs5345");
 +
 +MODULE_INFO(srcversion, "60A2E52659003B4E7D6596B");
-Index: linux-2.6.35.x86_64/drivers/media/video/cs53l32a.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cs53l32a.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cs53l32a.c
+diff -Naurp linux-2.6.35/drivers/media/video/cs53l32a.c linux-2.6.35.media/drivers/media/video/cs53l32a.c
+--- linux-2.6.35/drivers/media/video/cs53l32a.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cs53l32a.c	2011-01-24 22:56:32.268070522 -0500
 @@ -26,11 +26,10 @@
  #include <linux/ioctl.h>
  #include <asm/uaccess.h>
@@ -69872,10 +78834,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cs53l32a.c
 +
 +module_init(init_cs53l32a);
 +module_exit(exit_cs53l32a);
-Index: linux-2.6.35.x86_64/drivers/media/video/cs53l32a.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/cs53l32a.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/cs53l32a.mod.c linux-2.6.35.media/drivers/media/video/cs53l32a.mod.c
+--- linux-2.6.35/drivers/media/video/cs53l32a.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/cs53l32a.mod.c	2011-01-24 22:56:34.123072691 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -69901,10 +78862,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cs53l32a.mod.c
 +MODULE_ALIAS("i2c:cs53l32a");
 +
 +MODULE_INFO(srcversion, "478AEC8E472DB4771285BED");
-Index: linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-alsa-pcm.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx18/cx18-alsa-pcm.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-alsa-pcm.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx18/cx18-alsa-pcm.c linux-2.6.35.media/drivers/media/video/cx18/cx18-alsa-pcm.c
+--- linux-2.6.35/drivers/media/video/cx18/cx18-alsa-pcm.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx18/cx18-alsa-pcm.c	2011-01-24 22:56:37.790077112 -0500
 @@ -218,7 +218,13 @@ static int snd_cx18_pcm_capture_close(st
  static int snd_cx18_pcm_ioctl(struct snd_pcm_substream *substream,
  		     unsigned int cmd, void *arg)
@@ -69920,10 +78880,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-alsa-pcm.c
  }
  
  
-Index: linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-av-audio.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx18/cx18-av-audio.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-av-audio.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx18/cx18-av-audio.c linux-2.6.35.media/drivers/media/video/cx18/cx18-av-audio.c
+--- linux-2.6.35/drivers/media/video/cx18/cx18-av-audio.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx18/cx18-av-audio.c	2011-01-24 22:56:37.852077188 -0500
 @@ -342,17 +342,6 @@ void cx18_av_audio_set_path(struct cx18 
  	}
  }
@@ -70071,10 +79030,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-av-audio.c
 +const struct v4l2_ctrl_ops cx18_av_audio_ctrl_ops = {
 +	.s_ctrl = cx18_av_audio_s_ctrl,
 +};
-Index: linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-av-core.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx18/cx18-av-core.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-av-core.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx18/cx18-av-core.c linux-2.6.35.media/drivers/media/video/cx18/cx18-av-core.c
+--- linux-2.6.35/drivers/media/video/cx18/cx18-av-core.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx18/cx18-av-core.c	2011-01-24 22:56:38.180077592 -0500
 @@ -129,6 +129,7 @@ static void cx18_av_initialize(struct v4
  {
  	struct cx18_av_state *state = to_cx18_av_state(sd);
@@ -70313,10 +79271,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-av-core.c
  		cx18_av_init(cx);
  	return err;
  }
-Index: linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-av-core.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx18/cx18-av-core.h
-+++ linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-av-core.h
+diff -Naurp linux-2.6.35/drivers/media/video/cx18/cx18-av-core.h linux-2.6.35.media/drivers/media/video/cx18/cx18-av-core.h
+--- linux-2.6.35/drivers/media/video/cx18/cx18-av-core.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx18/cx18-av-core.h	2011-01-24 22:56:38.026077400 -0500
 @@ -26,6 +26,7 @@
  #define _CX18_AV_CORE_H_
  
@@ -70365,10 +79322,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-av-core.h
  
  /* ----------------------------------------------------------------------- */
  /* cx18_av-vbi.c                                                           */
-Index: linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-cards.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx18/cx18-cards.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-cards.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx18/cx18-cards.c linux-2.6.35.media/drivers/media/video/cx18/cx18-cards.c
+--- linux-2.6.35/drivers/media/video/cx18/cx18-cards.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx18/cx18-cards.c	2011-01-24 22:56:37.883077226 -0500
 @@ -39,7 +39,7 @@ static struct cx18_card_tuner_i2c cx18_i
  	.tv    = { 0x61, 0x60, I2C_CLIENT_END },
  };
@@ -70461,10 +79417,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-cards.c
  	if (index >= cx->nof_inputs)
  		return -EINVAL;
  	input->index = index;
-Index: linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-controls.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx18/cx18-controls.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-controls.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx18/cx18-controls.c linux-2.6.35.media/drivers/media/video/cx18/cx18-controls.c
+--- linux-2.6.35/drivers/media/video/cx18/cx18-controls.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx18/cx18-controls.c	2011-01-24 22:56:37.934077288 -0500
 @@ -30,152 +30,11 @@
  #include "cx18-mailbox.h"
  #include "cx18-controls.h"
@@ -70773,10 +79728,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-controls.c
 +	.s_video_encoding = cx18_s_video_encoding,
 +	.s_stream_vbi_fmt = cx18_s_stream_vbi_fmt,
 +};
-Index: linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-controls.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx18/cx18-controls.h
-+++ linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-controls.h
+diff -Naurp linux-2.6.35/drivers/media/video/cx18/cx18-controls.h linux-2.6.35.media/drivers/media/video/cx18/cx18-controls.h
+--- linux-2.6.35/drivers/media/video/cx18/cx18-controls.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx18/cx18-controls.h	2011-01-24 22:56:38.200077617 -0500
 @@ -21,9 +21,4 @@
   *  02111-1307  USA
   */
@@ -70788,10 +79742,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-controls.h
 -			struct v4l2_ext_controls *a);
 -int cx18_querymenu(struct file *file, void *fh, struct v4l2_querymenu *a);
 +extern struct cx2341x_handler_ops cx18_cxhdl_ops;
-Index: linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-driver.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx18/cx18-driver.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-driver.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx18/cx18-driver.c linux-2.6.35.media/drivers/media/video/cx18/cx18-driver.c
+--- linux-2.6.35/drivers/media/video/cx18/cx18-driver.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx18/cx18-driver.c	2011-01-24 22:56:37.811077138 -0500
 @@ -36,6 +36,7 @@
  #include "cx18-scb.h"
  #include "cx18-mailbox.h"
@@ -70808,7 +79761,22 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-driver.c
  		 "\t\t\t 0 = Autodetect (default)\n"
  		 "\t\t\t-1 = Ignore this card\n\t\t");
  MODULE_PARM_DESC(pal, "Set PAL standard: B, G, H, D, K, I, M, N, Nc, 60");
-@@ -333,6 +335,7 @@ void cx18_read_eeprom(struct cx18 *cx, s
+@@ -266,8 +268,14 @@ static void request_modules(struct cx18 
+ 	INIT_WORK(&dev->request_module_wk, request_module_async);
+ 	schedule_work(&dev->request_module_wk);
+ }
++
++static void flush_request_modules(struct cx18 *dev)
++{
++	flush_work_sync(&dev->request_module_wk);
++}
+ #else
+ #define request_modules(dev)
++#define flush_request_modules(dev)
+ #endif /* CONFIG_MODULES */
+ 
+ /* Generic utility functions */
+@@ -333,6 +341,7 @@ void cx18_read_eeprom(struct cx18 *cx, s
  		tveeprom_hauppauge_analog(&c, tv, eedata);
  		break;
  	case CX18_CARD_YUAN_MPC718:
@@ -70816,7 +79784,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-driver.c
  		tv->model = 0x718;
  		cx18_eeprom_dump(cx, eedata, sizeof(eedata));
  		CX18_INFO("eeprom PCI ID: %02x%02x:%02x%02x\n",
-@@ -718,15 +721,21 @@ static int __devinit cx18_init_struct1(s
+@@ -718,15 +727,21 @@ static int __devinit cx18_init_struct1(s
  	cx->open_id = 1;
  
  	/* Initial settings */
@@ -70847,7 +79815,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-driver.c
  	init_waitqueue_head(&cx->cap_w);
  	init_waitqueue_head(&cx->mb_apu_waitq);
  	init_waitqueue_head(&cx->mb_cpu_waitq);
-@@ -923,8 +932,13 @@ static int __devinit cx18_probe(struct p
+@@ -923,8 +938,13 @@ static int __devinit cx18_probe(struct p
  	cx->enc_mem = ioremap_nocache(cx->base_addr + CX18_MEM_OFFSET,
  				       CX18_MEM_SIZE);
  	if (!cx->enc_mem) {
@@ -70863,7 +79831,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-driver.c
  		retval = -ENOMEM;
  		goto free_mem;
  	}
-@@ -1033,7 +1047,7 @@ static int __devinit cx18_probe(struct p
+@@ -1033,7 +1053,7 @@ static int __devinit cx18_probe(struct p
  	else
  		cx->is_50hz = 1;
  
@@ -70872,7 +79840,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-driver.c
  
  	if (cx->options.radio > 0)
  		cx->v4l2_cap |= V4L2_CAP_RADIO;
-@@ -1079,7 +1093,6 @@ static int __devinit cx18_probe(struct p
+@@ -1079,7 +1099,6 @@ static int __devinit cx18_probe(struct p
  
  	/* Load cx18 submodules (cx18-alsa) */
  	request_modules(cx);
@@ -70880,7 +79848,16 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-driver.c
  	return 0;
  
  free_streams:
-@@ -1262,6 +1275,8 @@ static void cx18_remove(struct pci_dev *
+@@ -1226,6 +1245,8 @@ static void cx18_remove(struct pci_dev *
+ 
+ 	CX18_DEBUG_INFO("Removing Card\n");
+ 
++	flush_request_modules(cx);
++
+ 	/* Stop all captures */
+ 	CX18_DEBUG_INFO("Stopping all streams\n");
+ 	if (atomic_read(&cx->tot_capturing) > 0)
+@@ -1262,6 +1283,8 @@ static void cx18_remove(struct pci_dev *
  		for (i = 0; i < CX18_VBI_FRAMES; i++)
  			kfree(cx->vbi.sliced_mpeg_data[i]);
  
@@ -70889,10 +79866,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-driver.c
  	CX18_INFO("Removed %s\n", cx->card_name);
  
  	v4l2_device_unregister(v4l2_dev);
-Index: linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-driver.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx18/cx18-driver.h
-+++ linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-driver.h
+diff -Naurp linux-2.6.35/drivers/media/video/cx18/cx18-driver.h linux-2.6.35.media/drivers/media/video/cx18/cx18-driver.h
+--- linux-2.6.35/drivers/media/video/cx18/cx18-driver.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx18/cx18-driver.h	2011-01-24 22:56:38.088077478 -0500
 @@ -84,7 +84,8 @@
  #define CX18_CARD_TOSHIBA_QOSMIO_DVBT 5 /* Toshiba Qosmio Interal DVB-T/Analog*/
  #define CX18_CARD_LEADTEK_PVR2100     6 /* Leadtek WinFast PVR2100 */
@@ -70985,10 +79961,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-driver.h
  
  #define cx18_call_all_err(cx, o, f, args...) \
  	cx18_call_hw_err(cx, 0, o, f , ##args)
-Index: linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-dvb.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx18/cx18-dvb.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-dvb.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx18/cx18-dvb.c linux-2.6.35.media/drivers/media/video/cx18/cx18-dvb.c
+--- linux-2.6.35/drivers/media/video/cx18/cx18-dvb.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx18/cx18-dvb.c	2011-01-24 22:56:38.241077668 -0500
 @@ -137,7 +137,7 @@ static int yuan_mpc718_mt352_init(struct
  {
  	struct cx18_dvb *dvb = container_of(fe->dvb,
@@ -71153,10 +80128,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-dvb.c
  	default:
  		/* No Digital Tv Support */
  		break;
-Index: linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-fileops.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx18/cx18-fileops.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-fileops.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx18/cx18-fileops.c linux-2.6.35.media/drivers/media/video/cx18/cx18-fileops.c
+--- linux-2.6.35/drivers/media/video/cx18/cx18-fileops.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx18/cx18-fileops.c	2011-01-24 22:56:37.821077150 -0500
 @@ -160,13 +160,10 @@ EXPORT_SYMBOL(cx18_release_stream);
  static void cx18_dualwatch(struct cx18 *cx)
  {
@@ -71213,10 +80187,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-fileops.c
  		}
  		/* Done! Unmute and continue. */
  		cx18_unmute(cx);
-Index: linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-i2c.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx18/cx18-i2c.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-i2c.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx18/cx18-i2c.c linux-2.6.35.media/drivers/media/video/cx18/cx18-i2c.c
+--- linux-2.6.35/drivers/media/video/cx18/cx18-i2c.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx18/cx18-i2c.c	2011-01-24 22:56:37.975077339 -0500
 @@ -71,19 +71,6 @@ static const u8 hw_bus[] = {
  };
  
@@ -71291,10 +80264,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-i2c.c
  	if (sd != NULL)
  		sd->grp_id = hw;
  	return sd != NULL ? 0 : -1;
-Index: linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-ioctl.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx18/cx18-ioctl.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-ioctl.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx18/cx18-ioctl.c linux-2.6.35.media/drivers/media/video/cx18/cx18-ioctl.c
+--- linux-2.6.35/drivers/media/video/cx18/cx18-ioctl.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx18/cx18-ioctl.c	2011-01-24 22:56:37.769077087 -0500
 @@ -40,7 +40,6 @@
  #include "cx18-av-core.h"
  #include <media/tveeprom.h>
@@ -71376,10 +80348,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-ioctl.c
  };
  
  void cx18_set_funcs(struct video_device *vdev)
-Index: linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-mailbox.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx18/cx18-mailbox.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-mailbox.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx18/cx18-mailbox.c linux-2.6.35.media/drivers/media/video/cx18/cx18-mailbox.c
+--- linux-2.6.35/drivers/media/video/cx18/cx18-mailbox.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx18/cx18-mailbox.c	2011-01-24 22:56:37.955077315 -0500
 @@ -136,7 +136,7 @@ static void cx18_mdl_send_to_dvb(struct 
  {
  	struct cx18_buffer *buf;
@@ -71419,10 +80390,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-mailbox.c
  
  	switch (cmd) {
  	case CX2341X_ENC_SET_OUTPUT_PORT:
-Index: linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-mailbox.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx18/cx18-mailbox.h
-+++ linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-mailbox.h
+diff -Naurp linux-2.6.35/drivers/media/video/cx18/cx18-mailbox.h linux-2.6.35.media/drivers/media/video/cx18/cx18-mailbox.h
+--- linux-2.6.35/drivers/media/video/cx18/cx18-mailbox.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx18/cx18-mailbox.h	2011-01-24 22:56:38.211077631 -0500
 @@ -81,11 +81,6 @@ struct cx18_mailbox {
  
  struct cx18_stream;
@@ -71435,10 +80405,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-mailbox.h
  int cx18_api(struct cx18 *cx, u32 cmd, int args, u32 data[]);
  int cx18_vapi_result(struct cx18 *cx, u32 data[MAX_MB_ARGUMENTS], u32 cmd,
  		int args, ...);
-Index: linux-2.6.35.x86_64/drivers/media/video/cx18/cx18.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/cx18/cx18.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx18/cx18.mod.c linux-2.6.35.media/drivers/media/video/cx18/cx18.mod.c
+--- linux-2.6.35/drivers/media/video/cx18/cx18.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/cx18/cx18.mod.c	2011-01-24 22:56:37.800077125 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -71464,10 +80433,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx18/cx18.mod.c
 +MODULE_ALIAS("pci:v000014F1d00005B7Asv*sd*bc*sc*i*");
 +
 +MODULE_INFO(srcversion, "14E0E42D4AD88BFBADE4255");
-Index: linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-streams.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx18/cx18-streams.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-streams.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx18/cx18-streams.c linux-2.6.35.media/drivers/media/video/cx18/cx18-streams.c
+--- linux-2.6.35/drivers/media/video/cx18/cx18-streams.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx18/cx18-streams.c	2011-01-24 22:56:38.057077440 -0500
 @@ -41,7 +41,7 @@ static struct v4l2_file_operations cx18_
  	.read = cx18_v4l2_read,
  	.open = cx18_v4l2_open,
@@ -71620,10 +80588,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-streams.c
  	cx18_write_reg(cx, 5, CX18_DSP0_INTERRUPT_MASK);
  	wake_up(&s->waitq);
  
-Index: linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-streams.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx18/cx18-streams.h
-+++ linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-streams.h
+diff -Naurp linux-2.6.35/drivers/media/video/cx18/cx18-streams.h linux-2.6.35.media/drivers/media/video/cx18/cx18-streams.h
+--- linux-2.6.35/drivers/media/video/cx18/cx18-streams.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx18/cx18-streams.h	2011-01-24 22:56:38.129077530 -0500
 @@ -33,7 +33,8 @@ void cx18_stream_rotate_idx_mdls(struct 
  
  static inline bool cx18_stream_enabled(struct cx18_stream *s)
@@ -71634,10 +80601,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx18/cx18-streams.h
  	       (s->type == CX18_ENC_STREAM_TYPE_IDX &&
  		s->cx->stream_buffers[CX18_ENC_STREAM_TYPE_IDX] != 0);
  }
-Index: linux-2.6.35.x86_64/drivers/media/video/cx18/Kconfig
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx18/Kconfig
-+++ linux-2.6.35.x86_64/drivers/media/video/cx18/Kconfig
+diff -Naurp linux-2.6.35/drivers/media/video/cx18/Kconfig linux-2.6.35.media/drivers/media/video/cx18/Kconfig
+--- linux-2.6.35/drivers/media/video/cx18/Kconfig	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx18/Kconfig	2011-01-24 22:56:38.149077554 -0500
 @@ -1,9 +1,8 @@
  config VIDEO_CX18
  	tristate "Conexant cx23418 MPEG encoder support"
@@ -71649,10 +80615,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx18/Kconfig
  	select VIDEO_TUNER
  	select VIDEO_TVEEPROM
  	select VIDEO_CX2341X
-Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-417.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-417.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx231xx/cx231xx-417.c linux-2.6.35.media/drivers/media/video/cx231xx/cx231xx-417.c
+--- linux-2.6.35/drivers/media/video/cx231xx/cx231xx-417.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/cx231xx/cx231xx-417.c	2011-01-24 22:56:37.450076695 -0500
 @@ -0,0 +1,2192 @@
 +/*
 + *
@@ -73846,10 +82811,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-417.c
 +
 +	return 0;
 +}
-Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-alsa.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-alsa.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx231xx/cx231xx-alsa.mod.c linux-2.6.35.media/drivers/media/video/cx231xx/cx231xx-alsa.mod.c
+--- linux-2.6.35/drivers/media/video/cx231xx/cx231xx-alsa.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/cx231xx/cx231xx-alsa.mod.c	2011-01-24 22:56:37.356076579 -0500
 @@ -0,0 +1,23 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -73874,10 +82838,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-alsa.mod.c
 +
 +
 +MODULE_INFO(srcversion, "6F5DF7D2CB998B175253D99");
-Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-audio.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx231xx/cx231xx-audio.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-audio.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx231xx/cx231xx-audio.c linux-2.6.35.media/drivers/media/video/cx231xx/cx231xx-audio.c
+--- linux-2.6.35/drivers/media/video/cx231xx/cx231xx-audio.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx231xx/cx231xx-audio.c	2011-01-24 22:56:37.387076617 -0500
 @@ -75,6 +75,30 @@ static int cx231xx_isoc_audio_deinit(str
  	return 0;
  }
@@ -74271,10 +83234,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-audio.c
  	err = snd_card_register(card);
  	if (err < 0) {
  		snd_card_free(card);
-Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-avcore.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx231xx/cx231xx-avcore.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-avcore.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx231xx/cx231xx-avcore.c linux-2.6.35.media/drivers/media/video/cx231xx/cx231xx-avcore.c
+--- linux-2.6.35/drivers/media/video/cx231xx/cx231xx-avcore.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx231xx/cx231xx-avcore.c	2011-01-24 22:56:37.461076707 -0500
 @@ -31,13 +31,16 @@
  #include <linux/i2c.h>
  #include <linux/mm.h>
@@ -75332,10 +84294,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-avcore.c
  {
  	int status = 0;
  	int i = 0;
-Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-cards.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx231xx/cx231xx-cards.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-cards.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx231xx/cx231xx-cards.c linux-2.6.35.media/drivers/media/video/cx231xx/cx231xx-cards.c
+--- linux-2.6.35/drivers/media/video/cx231xx/cx231xx-cards.c	2011-01-24 22:40:24.097423750 -0500
++++ linux-2.6.35.media/drivers/media/video/cx231xx/cx231xx-cards.c	2011-01-24 22:56:37.492076746 -0500
 @@ -34,6 +34,7 @@
  #include <media/cx25840.h>
  #include "dvb-usb-ids.h"
@@ -75913,7 +84874,22 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-cards.c
  }
  
  #if defined(CONFIG_MODULES) && defined(MODULE)
-@@ -537,13 +833,12 @@ static int cx231xx_usb_probe(struct usb_
+@@ -517,8 +813,14 @@ static void request_modules(struct cx231
+ 	INIT_WORK(&dev->request_module_wk, request_module_async);
+ 	schedule_work(&dev->request_module_wk);
+ }
++
++static void flush_request_modules(struct cx231xx *dev)
++{
++	flush_work_sync(&dev->request_module_wk);
++}
+ #else
+ #define request_modules(dev)
++#define flush_request_modules(dev)
+ #endif /* CONFIG_MODULES */
+ 
+ /*
+@@ -537,13 +839,12 @@ static int cx231xx_usb_probe(struct usb_
  	char *speed;
  	char descr[255] = "";
  	struct usb_interface *lif = NULL;
@@ -75928,7 +84904,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-cards.c
  		/*
  		 * Interface number 0 - IR interface
  		 */
-@@ -552,8 +847,8 @@ static int cx231xx_usb_probe(struct usb_
+@@ -552,8 +853,8 @@ static int cx231xx_usb_probe(struct usb_
  		cx231xx_devused |= 1 << nr;
  
  		if (nr >= CX231XX_MAXBOARDS) {
@@ -75939,7 +84915,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-cards.c
  			cx231xx_devused &= ~(1 << nr);
  			return -ENOMEM;
  		}
-@@ -578,6 +873,7 @@ static int cx231xx_usb_probe(struct usb_
+@@ -578,6 +879,7 @@ static int cx231xx_usb_probe(struct usb_
  		dev->xc_fw_load_done = 0;
  		dev->has_alsa_audio = 1;
  		dev->power_mode = -1;
@@ -75947,7 +84923,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-cards.c
  
  		/* 0 - vbi ; 1 -sliced cc mode */
  		dev->vbi_or_sliced_cc_mode = 0;
-@@ -591,6 +887,11 @@ static int cx231xx_usb_probe(struct usb_
+@@ -591,6 +893,11 @@ static int cx231xx_usb_probe(struct usb_
  		/* store the current interface */
  		lif = interface;
  
@@ -75959,7 +84935,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-cards.c
  		switch (udev->speed) {
  		case USB_SPEED_LOW:
  			speed = "1.5";
-@@ -624,13 +925,6 @@ static int cx231xx_usb_probe(struct usb_
+@@ -624,13 +931,6 @@ static int cx231xx_usb_probe(struct usb_
  		     le16_to_cpu(udev->descriptor.idVendor),
  		     le16_to_cpu(udev->descriptor.idProduct),
  		     dev->max_iad_interface_count);
@@ -75973,7 +84949,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-cards.c
  
  		/* store the interface 0 back */
  		lif = udev->actconfig->interface[0];
-@@ -641,35 +935,21 @@ static int cx231xx_usb_probe(struct usb_
+@@ -641,35 +941,21 @@ static int cx231xx_usb_probe(struct usb_
  		/* get device number */
  		nr = dev->devno;
  
@@ -76016,7 +84992,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-cards.c
  	/*
  	 * AV device initialization - only done at the last interface
  	 */
-@@ -680,15 +960,18 @@ static int cx231xx_usb_probe(struct usb_
+@@ -680,15 +966,18 @@ static int cx231xx_usb_probe(struct usb_
  		cx231xx_errdev("v4l2_device_register failed\n");
  		cx231xx_devused &= ~(1 << nr);
  		kfree(dev);
@@ -76036,7 +85012,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-cards.c
  		return retval;
  	}
  
-@@ -711,6 +994,7 @@ static int cx231xx_usb_probe(struct usb_
+@@ -711,6 +1000,7 @@ static int cx231xx_usb_probe(struct usb_
  		cx231xx_devused &= ~(1 << nr);
  		v4l2_device_unregister(&dev->v4l2_dev);
  		kfree(dev);
@@ -76044,7 +85020,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-cards.c
  		return -ENOMEM;
  	}
  
-@@ -744,6 +1028,7 @@ static int cx231xx_usb_probe(struct usb_
+@@ -744,6 +1034,7 @@ static int cx231xx_usb_probe(struct usb_
  		cx231xx_devused &= ~(1 << nr);
  		v4l2_device_unregister(&dev->v4l2_dev);
  		kfree(dev);
@@ -76052,7 +85028,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-cards.c
  		return -ENOMEM;
  	}
  
-@@ -778,6 +1063,7 @@ static int cx231xx_usb_probe(struct usb_
+@@ -778,6 +1069,7 @@ static int cx231xx_usb_probe(struct usb_
  		cx231xx_devused &= ~(1 << nr);
  		v4l2_device_unregister(&dev->v4l2_dev);
  		kfree(dev);
@@ -76060,7 +85036,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-cards.c
  		return -ENOMEM;
  	}
  
-@@ -813,6 +1099,7 @@ static int cx231xx_usb_probe(struct usb_
+@@ -813,6 +1105,7 @@ static int cx231xx_usb_probe(struct usb_
  			cx231xx_devused &= ~(1 << nr);
  			v4l2_device_unregister(&dev->v4l2_dev);
  			kfree(dev);
@@ -76068,7 +85044,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-cards.c
  			return -ENOMEM;
  		}
  
-@@ -827,6 +1114,15 @@ static int cx231xx_usb_probe(struct usb_
+@@ -827,6 +1120,15 @@ static int cx231xx_usb_probe(struct usb_
  		}
  	}
  
@@ -76084,7 +85060,16 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-cards.c
  	/* load other modules required */
  	request_modules(dev);
  
-@@ -867,7 +1163,10 @@ static void cx231xx_usb_disconnect(struc
+@@ -851,6 +1153,8 @@ static void cx231xx_usb_disconnect(struc
+ 	if (!dev->udev)
+ 		return;
+ 
++	flush_request_modules(dev);
++
+ 	/* delete v4l2 device */
+ 	v4l2_device_unregister(&dev->v4l2_dev);
+ 
+@@ -867,7 +1171,10 @@ static void cx231xx_usb_disconnect(struc
  		     video_device_node_name(dev->vdev));
  
  		dev->state |= DEV_MISCONFIGURED;
@@ -76096,7 +85081,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-cards.c
  		dev->state |= DEV_DISCONNECTED;
  		wake_up_interruptible(&dev->wait_frame);
  		wake_up_interruptible(&dev->wait_stream);
-@@ -886,6 +1185,7 @@ static void cx231xx_usb_disconnect(struc
+@@ -886,6 +1193,7 @@ static void cx231xx_usb_disconnect(struc
  		kfree(dev->sliced_cc_mode.alt_max_pkt_size);
  		kfree(dev->ts1_mode.alt_max_pkt_size);
  		kfree(dev);
@@ -76104,10 +85089,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-cards.c
  	}
  }
  
-Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-conf-reg.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx231xx/cx231xx-conf-reg.h
-+++ linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-conf-reg.h
+diff -Naurp linux-2.6.35/drivers/media/video/cx231xx/cx231xx-conf-reg.h linux-2.6.35.media/drivers/media/video/cx231xx/cx231xx-conf-reg.h
+--- linux-2.6.35/drivers/media/video/cx231xx/cx231xx-conf-reg.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx231xx/cx231xx-conf-reg.h	2011-01-24 22:56:37.366076591 -0500
 @@ -39,6 +39,7 @@
  #define CIR_CAR_REG             0x38
  #define CIR_OT_CFG1             0x40
@@ -76116,10 +85100,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-conf-reg.h
  #define PWR_CTL_EN              0x74
  
  /* Polaris Endpoints capture mask for register EP_MODE_SET */
-Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-core.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx231xx/cx231xx-core.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-core.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx231xx/cx231xx-core.c linux-2.6.35.media/drivers/media/video/cx231xx/cx231xx-core.c
+--- linux-2.6.35/drivers/media/video/cx231xx/cx231xx-core.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx231xx/cx231xx-core.c	2011-01-24 22:56:37.502076759 -0500
 @@ -27,6 +27,7 @@
  #include <linux/usb.h>
  #include <linux/vmalloc.h>
@@ -77242,10 +86225,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-core.c
  		saddr &= 0xff;
  
  	/* prepare xfer_data struct */
-Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-dif.h
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-dif.h
+diff -Naurp linux-2.6.35/drivers/media/video/cx231xx/cx231xx-dif.h linux-2.6.35.media/drivers/media/video/cx231xx/cx231xx-dif.h
+--- linux-2.6.35/drivers/media/video/cx231xx/cx231xx-dif.h	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/cx231xx/cx231xx-dif.h	2011-01-24 22:56:37.439076682 -0500
 @@ -0,0 +1,3178 @@
 +/*
 + *  cx231xx-dif.h - driver for Conexant Cx23100/101/102 USB video capture devices
@@ -80425,10 +89407,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-dif.h
 +};
 +
 +#endif
-Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-dvb.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx231xx/cx231xx-dvb.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-dvb.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx231xx/cx231xx-dvb.c linux-2.6.35.media/drivers/media/video/cx231xx/cx231xx-dvb.c
+--- linux-2.6.35/drivers/media/video/cx231xx/cx231xx-dvb.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx231xx/cx231xx-dvb.c	2011-01-24 22:56:37.376076604 -0500
 @@ -28,7 +28,11 @@
  #include <media/videobuf-vmalloc.h>
  
@@ -80838,10 +89819,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-dvb.c
  }
  
  static int dvb_fini(struct cx231xx *dev)
-Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-dvb.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-dvb.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx231xx/cx231xx-dvb.mod.c linux-2.6.35.media/drivers/media/video/cx231xx/cx231xx-dvb.mod.c
+--- linux-2.6.35/drivers/media/video/cx231xx/cx231xx-dvb.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/cx231xx/cx231xx-dvb.mod.c	2011-01-24 22:56:37.325076541 -0500
 @@ -0,0 +1,23 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -80866,10 +89846,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-dvb.mod.c
 +
 +
 +MODULE_INFO(srcversion, "805329C33ECAE4DEF214B68");
-Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx231xx/cx231xx.h
-+++ linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx.h
+diff -Naurp linux-2.6.35/drivers/media/video/cx231xx/cx231xx.h linux-2.6.35.media/drivers/media/video/cx231xx/cx231xx.h
+--- linux-2.6.35/drivers/media/video/cx231xx/cx231xx.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx231xx/cx231xx.h	2011-01-24 22:56:37.534076798 -0500
 @@ -27,16 +27,16 @@
  #include <linux/ioctl.h>
  #include <linux/i2c.h>
@@ -81375,10 +90354,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx.h
  
  /* printk macros */
  
-Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-i2c.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx231xx/cx231xx-i2c.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-i2c.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx231xx/cx231xx-i2c.c linux-2.6.35.media/drivers/media/video/cx231xx/cx231xx-i2c.c
+--- linux-2.6.35/drivers/media/video/cx231xx/cx231xx-i2c.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx231xx/cx231xx-i2c.c	2011-01-24 22:56:37.346076568 -0500
 @@ -359,7 +359,7 @@ static int cx231xx_i2c_xfer(struct i2c_a
  
  	if (num <= 0)
@@ -81428,10 +90406,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-i2c.c
  	} else
  		cx231xx_warn("%s: i2c bus %d register FAILED\n",
  			     dev->name, bus->nr);
-Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-input.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx231xx/cx231xx-input.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-input.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx231xx/cx231xx-input.c linux-2.6.35.media/drivers/media/video/cx231xx/cx231xx-input.c
+--- linux-2.6.35/drivers/media/video/cx231xx/cx231xx-input.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx231xx/cx231xx-input.c	2011-01-24 22:56:37.429076669 -0500
 @@ -1,222 +1,112 @@
  /*
 -  handle cx231xx IR remotes via linux kernel input layer.
@@ -81742,10 +90719,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-input.c
 -	dev->ir = NULL;
 -	return 0;
  }
-Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx231xx/cx231xx.mod.c linux-2.6.35.media/drivers/media/video/cx231xx/cx231xx.mod.c
+--- linux-2.6.35/drivers/media/video/cx231xx/cx231xx.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/cx231xx/cx231xx.mod.c	2011-01-24 22:56:37.397076630 -0500
 @@ -0,0 +1,35 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -81782,10 +90758,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx.mod.c
 +MODULE_ALIAS("usb:v2040pC200d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "B189B139C01FCD6E5CDA5CF");
-Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-vbi.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx231xx/cx231xx-vbi.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-vbi.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx231xx/cx231xx-vbi.c linux-2.6.35.media/drivers/media/video/cx231xx/cx231xx-vbi.c
+--- linux-2.6.35/drivers/media/video/cx231xx/cx231xx-vbi.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx231xx/cx231xx-vbi.c	2011-01-24 22:56:37.481076732 -0500
 @@ -102,7 +102,7 @@ static inline int cx231xx_isoc_vbi_copy(
  			return 0;
  	}
@@ -82081,10 +91056,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-vbi.c
 +	else
 +		return 0;
  }
-Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-vbi.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx231xx/cx231xx-vbi.h
-+++ linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-vbi.h
+diff -Naurp linux-2.6.35/drivers/media/video/cx231xx/cx231xx-vbi.h linux-2.6.35.media/drivers/media/video/cx231xx/cx231xx-vbi.h
+--- linux-2.6.35/drivers/media/video/cx231xx/cx231xx-vbi.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx231xx/cx231xx-vbi.h	2011-01-24 22:56:37.407076642 -0500
 @@ -41,7 +41,7 @@ extern struct videobuf_queue_ops cx231xx
  /* stream functions */
  int cx231xx_init_vbi_isoc(struct cx231xx *dev, int max_packets,
@@ -82094,10 +91068,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-vbi.h
  					    struct urb *urb));
  
  void cx231xx_uninit_vbi_isoc(struct cx231xx *dev);
-Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-video.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx231xx/cx231xx-video.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-video.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx231xx/cx231xx-video.c linux-2.6.35.media/drivers/media/video/cx231xx/cx231xx-video.c
+--- linux-2.6.35/drivers/media/video/cx231xx/cx231xx-video.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx231xx/cx231xx-video.c	2011-01-24 22:56:37.513076772 -0500
 @@ -237,7 +237,10 @@ static inline void buffer_filled(struct 
  	buf->vb.field_count++;
  	do_gettimeofday(&buf->vb.ts);
@@ -83232,10 +92205,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/cx231xx-video.c
  
  	/* Audio defaults */
  	dev->mute = 1;
-Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/Kconfig
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx231xx/Kconfig
-+++ linux-2.6.35.x86_64/drivers/media/video/cx231xx/Kconfig
+diff -Naurp linux-2.6.35/drivers/media/video/cx231xx/Kconfig linux-2.6.35.media/drivers/media/video/cx231xx/Kconfig
+--- linux-2.6.35/drivers/media/video/cx231xx/Kconfig	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx231xx/Kconfig	2011-01-24 22:56:37.471076720 -0500
 @@ -1,11 +1,12 @@
  config VIDEO_CX231XX
  	tristate "Conexant cx231xx USB video capture support"
@@ -83280,10 +92252,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/Kconfig
  
  	---help---
  	  This adds support for DVB cards based on the
-Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/Makefile
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx231xx/Makefile
-+++ linux-2.6.35.x86_64/drivers/media/video/cx231xx/Makefile
+diff -Naurp linux-2.6.35/drivers/media/video/cx231xx/Makefile linux-2.6.35.media/drivers/media/video/cx231xx/Makefile
+--- linux-2.6.35/drivers/media/video/cx231xx/Makefile	2011-01-24 22:40:24.095423718 -0500
++++ linux-2.6.35.media/drivers/media/video/cx231xx/Makefile	2011-01-24 22:56:37.315076529 -0500
 @@ -1,5 +1,6 @@
 -cx231xx-objs     := cx231xx-video.o cx231xx-i2c.o cx231xx-cards.o cx231xx-core.o \
 -		    cx231xx-avcore.o cx231xx-pcb-cfg.o cx231xx-vbi.o
@@ -83293,10 +92264,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx231xx/Makefile
  
  cx231xx-alsa-objs := cx231xx-audio.o
  
-Index: linux-2.6.35.x86_64/drivers/media/video/cx2341x.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx2341x.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cx2341x.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx2341x.c linux-2.6.35.media/drivers/media/video/cx2341x.c
+--- linux-2.6.35/drivers/media/video/cx2341x.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx2341x.c	2011-01-24 22:56:34.192072772 -0500
 @@ -38,6 +38,145 @@ static int debug;
  module_param(debug, int, 0644);
  MODULE_PARM_DESC(debug, "Debug level (0-1)");
@@ -84142,10 +93112,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx2341x.c
 +	v4l2_ctrl_grab(cxhdl->video_bitrate_peak, busy);
 +}
 +EXPORT_SYMBOL(cx2341x_handler_set_busy);
-Index: linux-2.6.35.x86_64/drivers/media/video/cx2341x.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/cx2341x.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx2341x.mod.c linux-2.6.35.media/drivers/media/video/cx2341x.mod.c
+--- linux-2.6.35/drivers/media/video/cx2341x.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/cx2341x.mod.c	2011-01-24 22:56:38.282077719 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -84166,10 +93135,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx2341x.mod.c
 +
 +
 +MODULE_INFO(srcversion, "BD6BD0BC170B0BCE8F99D67");
-Index: linux-2.6.35.x86_64/drivers/media/video/cx23885/cimax2.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx23885/cimax2.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cx23885/cimax2.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx23885/cimax2.c linux-2.6.35.media/drivers/media/video/cx23885/cimax2.c
+--- linux-2.6.35/drivers/media/video/cx23885/cimax2.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx23885/cimax2.c	2011-01-24 22:56:31.458069590 -0500
 @@ -368,7 +368,7 @@ static void netup_read_ci_status(struct 
  				DVB_CA_EN50221_POLL_CAM_READY;
  		else
@@ -84211,10 +93179,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx23885/cimax2.c
  
  	return 1;
  }
-Index: linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23885-417.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx23885/cx23885-417.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23885-417.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx23885/cx23885-417.c linux-2.6.35.media/drivers/media/video/cx23885/cx23885-417.c
+--- linux-2.6.35/drivers/media/video/cx23885/cx23885-417.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx23885/cx23885-417.c	2011-01-24 22:56:31.293069401 -0500
 @@ -7,7 +7,7 @@
   *    (c) 2008 Steven Toth <stoth at linuxtv.org>
   *      - CX23885/7/8 support
@@ -84257,10 +93224,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23885-417.c
  	return 0;
  }
  
-Index: linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23885-av.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23885-av.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx23885/cx23885-av.c linux-2.6.35.media/drivers/media/video/cx23885/cx23885-av.c
+--- linux-2.6.35/drivers/media/video/cx23885/cx23885-av.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/cx23885/cx23885-av.c	2011-01-24 22:56:31.437069567 -0500
 @@ -0,0 +1,35 @@
 +/*
 + *  Driver for the Conexant CX23885/7/8 PCIe bridge
@@ -84297,10 +93263,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23885-av.c
 +			 PCI_MSK_AV_CORE, &handled);
 +	cx23885_irq_enable(dev, PCI_MSK_AV_CORE);
 +}
-Index: linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23885-av.h
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23885-av.h
+diff -Naurp linux-2.6.35/drivers/media/video/cx23885/cx23885-av.h linux-2.6.35.media/drivers/media/video/cx23885/cx23885-av.h
+--- linux-2.6.35/drivers/media/video/cx23885/cx23885-av.h	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/cx23885/cx23885-av.h	2011-01-24 22:56:31.499069637 -0500
 @@ -0,0 +1,27 @@
 +/*
 + *  Driver for the Conexant CX23885/7/8 PCIe bridge
@@ -84329,10 +93294,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23885-av.h
 +#define _CX23885_AV_H_
 +void cx23885_av_work_handler(struct work_struct *work);
 +#endif
-Index: linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23885-cards.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx23885/cx23885-cards.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23885-cards.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx23885/cx23885-cards.c linux-2.6.35.media/drivers/media/video/cx23885/cx23885-cards.c
+--- linux-2.6.35/drivers/media/video/cx23885/cx23885-cards.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx23885/cx23885-cards.c	2011-01-24 22:56:31.356069474 -0500
 @@ -30,6 +30,16 @@
  #include "netup-init.h"
  #include "cx23888-ir.h"
@@ -84643,10 +93607,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23885-cards.c
  		break;
  	}
  
-Index: linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23885-core.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx23885/cx23885-core.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23885-core.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx23885/cx23885-core.c linux-2.6.35.media/drivers/media/video/cx23885/cx23885-core.c
+--- linux-2.6.35/drivers/media/video/cx23885/cx23885-core.c	2011-01-24 22:40:24.107423879 -0500
++++ linux-2.6.35.media/drivers/media/video/cx23885/cx23885-core.c	2011-01-24 22:56:31.520069662 -0500
 @@ -34,6 +34,7 @@
  #include "cimax2.h"
  #include "cx23888-ir.h"
@@ -84912,10 +93875,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23885-core.c
  
  	cx23885_dev_unregister(dev);
  	v4l2_device_unregister(v4l2_dev);
-Index: linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23885-dvb.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx23885/cx23885-dvb.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23885-dvb.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx23885/cx23885-dvb.c linux-2.6.35.media/drivers/media/video/cx23885/cx23885-dvb.c
+--- linux-2.6.35/drivers/media/video/cx23885/cx23885-dvb.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx23885/cx23885-dvb.c	2011-01-24 22:56:31.273069379 -0500
 @@ -991,7 +991,7 @@ static int dvb_register(struct cx23885_t
  	ret = videobuf_dvb_register_bus(&port->frontends, THIS_MODULE, port,
  					&dev->pci->dev, adapter_nr, 0,
@@ -84946,10 +93908,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23885-dvb.c
  	}
  	err = dvb_register(port);
  	if (err != 0)
-Index: linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23885.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx23885/cx23885.h
-+++ linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23885.h
+diff -Naurp linux-2.6.35/drivers/media/video/cx23885/cx23885.h linux-2.6.35.media/drivers/media/video/cx23885/cx23885.h
+--- linux-2.6.35/drivers/media/video/cx23885/cx23885.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx23885/cx23885.h	2011-01-24 22:56:31.345069461 -0500
 @@ -30,6 +30,7 @@
  #include <media/tveeprom.h>
  #include <media/videobuf-dma-sg.h>
@@ -85027,10 +93988,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23885.h
  
  /* ----------------------------------------------------------- */
  /* cx23885-cards.c                                             */
-Index: linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23885-i2c.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx23885/cx23885-i2c.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23885-i2c.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx23885/cx23885-i2c.c linux-2.6.35.media/drivers/media/video/cx23885/cx23885-i2c.c
+--- linux-2.6.35/drivers/media/video/cx23885/cx23885-i2c.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx23885/cx23885-i2c.c	2011-01-24 22:56:31.509069649 -0500
 @@ -99,7 +99,7 @@ static int i2c_sendbytes(struct i2c_adap
  		if (!i2c_wait_done(i2c_adap))
  			return -EIO;
@@ -85130,10 +94090,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23885-i2c.c
  	return bus->i2c_rc;
  }
  
-Index: linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23885-input.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx23885/cx23885-input.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23885-input.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx23885/cx23885-input.c linux-2.6.35.media/drivers/media/video/cx23885/cx23885-input.c
+--- linux-2.6.35/drivers/media/video/cx23885/cx23885-input.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx23885/cx23885-input.c	2011-01-24 22:56:31.397069521 -0500
 @@ -35,163 +35,42 @@
   *  02110-1301, USA.
   */
@@ -85212,7 +94171,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23885-input.c
 -
 -static void cx23885_input_next_pulse_width_rc5(struct cx23885_dev *dev,
 -					       u32 ns_pulse)
--{
++static void cx23885_input_process_measurements(struct cx23885_dev *dev,
++					       bool overrun)
+ {
 -	const int rc5_quarterbit_ns = 444444; /* 32 cycles/36 kHz/2 = 444 us */
 -	struct card_ir *ir_input = dev->ir_input;
 -	int i, level, quarterbits, halfbits;
@@ -85223,7 +94184,8 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23885-input.c
 -		ir_input->code = 0;
 -		ir_input->last_bit = 0;
 -	}
--
++	struct cx23885_kernel_ir *kernel_ir = dev->kernel_ir;
+ 
 -	if (ns_pulse == V4L2_SUBDEV_IR_PULSE_RX_SEQ_END) {
 -		ir_input->last_bit++; /* Account for the final space */
 -		ir_input->active = 0;
@@ -85269,13 +94231,10 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23885-input.c
 -
 -static void cx23885_input_process_pulse_widths_rc5(struct cx23885_dev *dev,
 -						   bool add_eom)
-+static void cx23885_input_process_measurements(struct cx23885_dev *dev,
-+					       bool overrun)
- {
+-{
 -	struct card_ir *ir_input = dev->ir_input;
 -	struct ir_input_state *ir_input_state = &ir_input->ir;
-+	struct cx23885_kernel_ir *kernel_ir = dev->kernel_ir;
- 
+-
 -	u32 ns_pulse[RC5_HALF_BITS+1];
 -	ssize_t num = 0;
 +	ssize_t num;
@@ -85442,22 +94401,23 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23885-input.c
  	struct v4l2_subdev_ir_parameters params;
  
  	if (dev->sd_ir == NULL)
-@@ -327,21 +231,24 @@ static void cx23885_input_ir_stop(struct
+@@ -325,23 +229,24 @@ static void cx23885_input_ir_stop(struct
+ 		v4l2_subdev_call(dev->sd_ir, ir, rx_s_parameters, &params);
+ 		v4l2_subdev_call(dev->sd_ir, ir, rx_g_parameters, &params);
  	}
- 
- 	flush_scheduled_work();
 +}
  
+-	flush_scheduled_work();
++static void cx23885_input_ir_close(struct rc_dev *rc)
++{
++	struct cx23885_kernel_ir *kernel_ir = rc->priv;
+ 
 -	switch (dev->board) {
 -	case CX23885_BOARD_HAUPPAUGE_HVR1850:
 -	case CX23885_BOARD_HAUPPAUGE_HVR1290:
 -		del_timer_sync(&ir_input->timer_keyup);
 -		break;
 -	}
-+static void cx23885_input_ir_close(struct rc_dev *rc)
-+{
-+	struct cx23885_kernel_ir *kernel_ir = rc->priv;
-+
 +	if (kernel_ir->cx != NULL)
 +		cx23885_input_ir_stop(kernel_ir->cx);
  }
@@ -85477,7 +94437,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23885-input.c
  	int ret;
  
  	/*
-@@ -354,53 +261,66 @@ int cx23885_input_init(struct cx23885_de
+@@ -354,53 +259,66 @@ int cx23885_input_init(struct cx23885_de
  	switch (dev->board) {
  	case CX23885_BOARD_HAUPPAUGE_HVR1850:
  	case CX23885_BOARD_HAUPPAUGE_HVR1290:
@@ -85581,7 +94541,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23885-input.c
  	if (ret)
  		goto err_out_stop;
  
-@@ -408,9 +328,12 @@ int cx23885_input_init(struct cx23885_de
+@@ -408,9 +326,12 @@ int cx23885_input_init(struct cx23885_de
  
  err_out_stop:
  	cx23885_input_ir_stop(dev);
@@ -85596,7 +94556,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23885-input.c
  	return ret;
  }
  
-@@ -419,9 +342,11 @@ void cx23885_input_fini(struct cx23885_d
+@@ -419,9 +340,11 @@ void cx23885_input_fini(struct cx23885_d
  	/* Always stop the IR hardware from generating interrupts */
  	cx23885_input_ir_stop(dev);
  
@@ -85612,10 +94572,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23885-input.c
 +	kfree(dev->kernel_ir);
 +	dev->kernel_ir = NULL;
  }
-Index: linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23885-ir.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx23885/cx23885-ir.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23885-ir.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx23885/cx23885-ir.c linux-2.6.35.media/drivers/media/video/cx23885/cx23885-ir.c
+--- linux-2.6.35/drivers/media/video/cx23885/cx23885-ir.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx23885/cx23885-ir.c	2011-01-24 22:56:31.252069354 -0500
 @@ -53,7 +53,7 @@ void cx23885_ir_rx_work_handler(struct w
  	if (events == 0)
  		return;
@@ -85670,10 +94629,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23885-ir.c
 +	else
 +		schedule_work(&dev->ir_tx_work);
  }
-Index: linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23885.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23885.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx23885/cx23885.mod.c linux-2.6.35.media/drivers/media/video/cx23885/cx23885.mod.c
+--- linux-2.6.35/drivers/media/video/cx23885/cx23885.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/cx23885/cx23885.mod.c	2011-01-24 22:56:31.283069389 -0500
 @@ -0,0 +1,25 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -85700,10 +94658,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23885.mod.c
 +MODULE_ALIAS("pci:v000014F1d00008880sv*sd*bc*sc*i*");
 +
 +MODULE_INFO(srcversion, "1AB02EF2C5EBAD7D2969586");
-Index: linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23885-reg.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx23885/cx23885-reg.h
-+++ linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23885-reg.h
+diff -Naurp linux-2.6.35/drivers/media/video/cx23885/cx23885-reg.h linux-2.6.35.media/drivers/media/video/cx23885/cx23885-reg.h
+--- linux-2.6.35/drivers/media/video/cx23885/cx23885-reg.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx23885/cx23885-reg.h	2011-01-24 22:56:31.530069672 -0500
 @@ -213,6 +213,7 @@ Channel manager Data Structure entry = 2
  #define DEV_CNTRL2	0x00040000
  
@@ -85712,10 +94669,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23885-reg.h
  #define PCI_MSK_GPIO1     (1 << 24)
  #define PCI_MSK_GPIO0     (1 << 23)
  #define PCI_MSK_APB_DMA   (1 << 12)
-Index: linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23885-vbi.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx23885/cx23885-vbi.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23885-vbi.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx23885/cx23885-vbi.c linux-2.6.35.media/drivers/media/video/cx23885/cx23885-vbi.c
+--- linux-2.6.35/drivers/media/video/cx23885/cx23885-vbi.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx23885/cx23885-vbi.c	2011-01-24 22:56:31.335069449 -0500
 @@ -74,7 +74,7 @@ static int cx23885_start_vbi_dma(struct 
  	q->count = 1;
  
@@ -85725,10 +94681,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23885-vbi.c
  	cx_set(VID_A_INT_MSK, 0x000022);
  
  	/* start dma */
-Index: linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23885-video.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx23885/cx23885-video.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23885-video.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx23885/cx23885-video.c linux-2.6.35.media/drivers/media/video/cx23885/cx23885-video.c
+--- linux-2.6.35/drivers/media/video/cx23885/cx23885-video.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx23885/cx23885-video.c	2011-01-24 22:56:31.366069484 -0500
 @@ -26,7 +26,6 @@
  #include <linux/kmod.h>
  #include <linux/kernel.h>
@@ -85893,10 +94848,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23885-video.c
  		if (sd) {
  			struct tuner_setup tun_setup;
  
-Index: linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23888-ir.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx23885/cx23888-ir.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23888-ir.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx23885/cx23888-ir.c linux-2.6.35.media/drivers/media/video/cx23885/cx23888-ir.c
+--- linux-2.6.35/drivers/media/video/cx23885/cx23888-ir.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx23885/cx23888-ir.c	2011-01-24 22:56:31.468069602 -0500
 @@ -26,6 +26,7 @@
  
  #include <media/v4l2-device.h>
@@ -86227,10 +95181,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx23885/cx23888-ir.c
  };
  
  int cx23888_ir_probe(struct cx23885_dev *dev)
-Index: linux-2.6.35.x86_64/drivers/media/video/cx23885/Kconfig
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx23885/Kconfig
-+++ linux-2.6.35.x86_64/drivers/media/video/cx23885/Kconfig
+diff -Naurp linux-2.6.35/drivers/media/video/cx23885/Kconfig linux-2.6.35.media/drivers/media/video/cx23885/Kconfig
+--- linux-2.6.35/drivers/media/video/cx23885/Kconfig	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx23885/Kconfig	2011-01-24 22:56:31.376069496 -0500
 @@ -5,7 +5,7 @@ config VIDEO_CX23885
  	select VIDEO_BTCX
  	select VIDEO_TUNER
@@ -86240,10 +95193,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx23885/Kconfig
  	select VIDEOBUF_DVB
  	select VIDEOBUF_DMA_SG
  	select VIDEO_CX25840
-Index: linux-2.6.35.x86_64/drivers/media/video/cx23885/Makefile
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx23885/Makefile
-+++ linux-2.6.35.x86_64/drivers/media/video/cx23885/Makefile
+diff -Naurp linux-2.6.35/drivers/media/video/cx23885/Makefile linux-2.6.35.media/drivers/media/video/cx23885/Makefile
+--- linux-2.6.35/drivers/media/video/cx23885/Makefile	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx23885/Makefile	2011-01-24 22:56:31.235069335 -0500
 @@ -1,7 +1,8 @@
  cx23885-objs	:= cx23885-cards.o cx23885-video.o cx23885-vbi.o \
  		    cx23885-core.o cx23885-i2c.o cx23885-dvb.o cx23885-417.o \
@@ -86255,10 +95207,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx23885/Makefile
  
  obj-$(CONFIG_VIDEO_CX23885) += cx23885.o
  
-Index: linux-2.6.35.x86_64/drivers/media/video/cx25840/cx25840-audio.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx25840/cx25840-audio.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cx25840/cx25840-audio.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx25840/cx25840-audio.c linux-2.6.35.media/drivers/media/video/cx25840/cx25840-audio.c
+--- linux-2.6.35/drivers/media/video/cx25840/cx25840-audio.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx25840/cx25840-audio.c	2011-01-24 22:56:34.061072617 -0500
 @@ -437,70 +437,51 @@ void cx25840_audio_set_path(struct i2c_c
  {
  	struct cx25840_state *state = to_state(i2c_get_clientdata(client));
@@ -86518,10 +95469,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx25840/cx25840-audio.c
 +const struct v4l2_ctrl_ops cx25840_audio_ctrl_ops = {
 +	.s_ctrl = cx25840_audio_s_ctrl,
 +};
-Index: linux-2.6.35.x86_64/drivers/media/video/cx25840/cx25840-core.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx25840/cx25840-core.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cx25840/cx25840-core.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx25840/cx25840-core.c linux-2.6.35.media/drivers/media/video/cx25840/cx25840-core.c
+--- linux-2.6.35/drivers/media/video/cx25840/cx25840-core.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx25840/cx25840-core.c	2011-01-24 22:56:34.051072605 -0500
 @@ -15,6 +15,9 @@
   *
   * CX23885 support by Steven Toth <stoth at linuxtv.org>.
@@ -87299,10 +96249,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx25840/cx25840-core.c
 +
 +module_init(init_cx25840);
 +module_exit(exit_cx25840);
-Index: linux-2.6.35.x86_64/drivers/media/video/cx25840/cx25840-core.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx25840/cx25840-core.h
-+++ linux-2.6.35.x86_64/drivers/media/video/cx25840/cx25840-core.h
+diff -Naurp linux-2.6.35/drivers/media/video/cx25840/cx25840-core.h linux-2.6.35.media/drivers/media/video/cx25840/cx25840-core.h
+--- linux-2.6.35/drivers/media/video/cx25840/cx25840-core.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx25840/cx25840-core.h	2011-01-24 22:56:34.091072651 -0500
 @@ -24,19 +24,20 @@
  #include <linux/videodev2.h>
  #include <media/v4l2-device.h>
@@ -87414,10 +96363,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx25840/cx25840-core.h
 +int cx25840_ir_remove(struct v4l2_subdev *sd);
 +
  #endif
-Index: linux-2.6.35.x86_64/drivers/media/video/cx25840/cx25840-ir.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/cx25840/cx25840-ir.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx25840/cx25840-ir.c linux-2.6.35.media/drivers/media/video/cx25840/cx25840-ir.c
+--- linux-2.6.35/drivers/media/video/cx25840/cx25840-ir.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/cx25840/cx25840-ir.c	2011-01-24 22:56:34.056072610 -0500
 @@ -0,0 +1,1280 @@
 +/*
 + *  Driver for the Conexant CX2584x Audio/Video decoder chip and related cores
@@ -88699,10 +97647,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx25840/cx25840-ir.c
 +	state->ir_state = NULL;
 +	return 0;
 +}
-Index: linux-2.6.35.x86_64/drivers/media/video/cx25840/cx25840.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/cx25840/cx25840.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx25840/cx25840.mod.c linux-2.6.35.media/drivers/media/video/cx25840/cx25840.mod.c
+--- linux-2.6.35/drivers/media/video/cx25840/cx25840.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/cx25840/cx25840.mod.c	2011-01-24 22:56:34.068072625 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -88728,10 +97675,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx25840/cx25840.mod.c
 +MODULE_ALIAS("i2c:cx25840");
 +
 +MODULE_INFO(srcversion, "85877AF66F2E0392B5417DC");
-Index: linux-2.6.35.x86_64/drivers/media/video/cx25840/Makefile
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx25840/Makefile
-+++ linux-2.6.35.x86_64/drivers/media/video/cx25840/Makefile
+diff -Naurp linux-2.6.35/drivers/media/video/cx25840/Makefile linux-2.6.35.media/drivers/media/video/cx25840/Makefile
+--- linux-2.6.35/drivers/media/video/cx25840/Makefile	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx25840/Makefile	2011-01-24 22:56:34.047072599 -0500
 @@ -1,5 +1,5 @@
  cx25840-objs    := cx25840-core.o cx25840-audio.o cx25840-firmware.o \
 -		   cx25840-vbi.o
@@ -88739,10 +97685,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx25840/Makefile
  
  obj-$(CONFIG_VIDEO_CX25840) += cx25840.o
  
-Index: linux-2.6.35.x86_64/drivers/media/video/cx88/cx8800.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/cx88/cx8800.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx88/cx8800.mod.c linux-2.6.35.media/drivers/media/video/cx88/cx8800.mod.c
+--- linux-2.6.35/drivers/media/video/cx88/cx8800.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/cx88/cx8800.mod.c	2011-01-24 22:56:36.997076139 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -88768,10 +97713,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx88/cx8800.mod.c
 +MODULE_ALIAS("pci:v000014F1d00008800sv*sd*bc*sc*i*");
 +
 +MODULE_INFO(srcversion, "7C1EEA0BA82FD1E64ED9E59");
-Index: linux-2.6.35.x86_64/drivers/media/video/cx88/cx8802.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/cx88/cx8802.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx88/cx8802.mod.c linux-2.6.35.media/drivers/media/video/cx88/cx8802.mod.c
+--- linux-2.6.35/drivers/media/video/cx88/cx8802.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/cx88/cx8802.mod.c	2011-01-24 22:56:36.832075940 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -88797,10 +97741,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx88/cx8802.mod.c
 +MODULE_ALIAS("pci:v000014F1d00008802sv*sd*bc*sc*i*");
 +
 +MODULE_INFO(srcversion, "E3BB7687BAC268AFE616686");
-Index: linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-alsa.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx88/cx88-alsa.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-alsa.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx88/cx88-alsa.c linux-2.6.35.media/drivers/media/video/cx88/cx88-alsa.c
+--- linux-2.6.35/drivers/media/video/cx88/cx88-alsa.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx88/cx88-alsa.c	2011-01-24 22:56:36.883076001 -0500
 @@ -54,6 +54,12 @@
  	Data type declarations - Can be moded to a header file later
   ****************************************************************************/
@@ -88985,10 +97928,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-alsa.c
  
  	core = cx88_core_get(pci);
  	if (NULL == core) {
-Index: linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-alsa.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-alsa.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx88/cx88-alsa.mod.c linux-2.6.35.media/drivers/media/video/cx88/cx88-alsa.mod.c
+--- linux-2.6.35/drivers/media/video/cx88/cx88-alsa.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/cx88/cx88-alsa.mod.c	2011-01-24 22:56:36.893076013 -0500
 @@ -0,0 +1,25 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -89015,10 +97957,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-alsa.mod.c
 +MODULE_ALIAS("pci:v000014F1d00008811sv*sd*bc*sc*i*");
 +
 +MODULE_INFO(srcversion, "E21D3B3DFA3A13EC88EE1E6");
-Index: linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-blackbird.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx88/cx88-blackbird.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-blackbird.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx88/cx88-blackbird.c linux-2.6.35.media/drivers/media/video/cx88/cx88-blackbird.c
+--- linux-2.6.35/drivers/media/video/cx88/cx88-blackbird.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx88/cx88-blackbird.c	2011-01-24 22:56:36.821075926 -0500
 @@ -9,7 +9,7 @@
   *    (c) 2005-2006 Mauro Carvalho Chehab <mchehab at infradead.org>
   *        - video_ioctl2 conversion
@@ -89102,10 +98043,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-blackbird.c
  
  	/* Make sure we release the hardware */
  	drv = cx8802_get_driver(dev, CX88_MPEG_BLACKBIRD);
-Index: linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-blackbird.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-blackbird.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx88/cx88-blackbird.mod.c linux-2.6.35.media/drivers/media/video/cx88/cx88-blackbird.mod.c
+--- linux-2.6.35/drivers/media/video/cx88/cx88-blackbird.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/cx88/cx88-blackbird.mod.c	2011-01-24 22:56:36.842075952 -0500
 @@ -0,0 +1,23 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -89130,10 +98070,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-blackbird.mod.c
 +
 +
 +MODULE_INFO(srcversion, "60C62C43E01C560E5045E00");
-Index: linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-cards.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx88/cx88-cards.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-cards.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx88/cx88-cards.c linux-2.6.35.media/drivers/media/video/cx88/cx88-cards.c
+--- linux-2.6.35/drivers/media/video/cx88/cx88-cards.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx88/cx88-cards.c	2011-01-24 22:56:36.852075963 -0500
 @@ -45,6 +45,10 @@ static unsigned int latency = UNSET;
  module_param(latency,int,0444);
  MODULE_PARM_DESC(latency,"pci latency timer");
@@ -89290,10 +98229,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-cards.c
  
  	return core;
  }
-Index: linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-core.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx88/cx88-core.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-core.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx88/cx88-core.c linux-2.6.35.media/drivers/media/video/cx88/cx88-core.c
+--- linux-2.6.35/drivers/media/video/cx88/cx88-core.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx88/cx88-core.c	2011-01-24 22:56:36.976076115 -0500
 @@ -217,8 +217,8 @@ cx88_free_buffer(struct videobuf_queue *
  	struct videobuf_dmabuf *dma=videobuf_to_dma(&buf->vb);
  
@@ -89415,10 +98353,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-core.c
  	vfd->v4l2_dev = &core->v4l2_dev;
  	vfd->parent = &pci->dev;
  	vfd->release = video_device_release;
-Index: linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-dsp.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx88/cx88-dsp.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-dsp.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx88/cx88-dsp.c linux-2.6.35.media/drivers/media/video/cx88/cx88-dsp.c
+--- linux-2.6.35/drivers/media/video/cx88/cx88-dsp.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx88/cx88-dsp.c	2011-01-24 22:56:36.811075913 -0500
 @@ -230,7 +230,7 @@ static s32 detect_btsc(struct cx88_core 
  
  static s16 *read_rds_samples(struct cx88_core *core, u32 *N)
@@ -89449,10 +98386,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-dsp.c
  	}
  
  	kfree(samples);
-Index: linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-dvb.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx88/cx88-dvb.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-dvb.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx88/cx88-dvb.c linux-2.6.35.media/drivers/media/video/cx88/cx88-dvb.c
+--- linux-2.6.35/drivers/media/video/cx88/cx88-dvb.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx88/cx88-dvb.c	2011-01-24 22:56:36.759075850 -0500
 @@ -56,6 +56,7 @@
  #include "stv0900.h"
  #include "stb6100.h"
@@ -89916,10 +98852,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-dvb.c
  		/* init struct videobuf_dvb */
  		fe->dvb.name = dev->core->name;
  	}
-Index: linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-dvb.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-dvb.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx88/cx88-dvb.mod.c linux-2.6.35.media/drivers/media/video/cx88/cx88-dvb.mod.c
+--- linux-2.6.35/drivers/media/video/cx88/cx88-dvb.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/cx88/cx88-dvb.mod.c	2011-01-24 22:56:36.904076026 -0500
 @@ -0,0 +1,23 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -89944,10 +98879,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-dvb.mod.c
 +
 +
 +MODULE_INFO(srcversion, "0E792913B9327ECADDCFFEB");
-Index: linux-2.6.35.x86_64/drivers/media/video/cx88/cx88.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx88/cx88.h
-+++ linux-2.6.35.x86_64/drivers/media/video/cx88/cx88.h
+diff -Naurp linux-2.6.35/drivers/media/video/cx88/cx88.h linux-2.6.35.media/drivers/media/video/cx88/cx88.h
+--- linux-2.6.35/drivers/media/video/cx88/cx88.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx88/cx88.h	2011-01-24 22:56:37.007076152 -0500
 @@ -31,9 +31,8 @@
  #include <media/videobuf-dma-sg.h>
  #include <media/v4l2-chip-ident.h>
@@ -90141,10 +99075,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx88/cx88.h
 - * End:
 - * kate: eol "unix"; indent-width 3; remove-trailing-space on; replace-trailing-space-save on; tab-width 8; replace-tabs off; space-indent off; mixed-indent off
 - */
-Index: linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-i2c.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx88/cx88-i2c.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-i2c.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx88/cx88-i2c.c linux-2.6.35.media/drivers/media/video/cx88/cx88-i2c.c
+--- linux-2.6.35/drivers/media/video/cx88/cx88-i2c.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx88/cx88-i2c.c	2011-01-24 22:56:36.986076125 -0500
 @@ -108,7 +108,7 @@ static const struct i2c_algo_bit_data cx
  
  /* ----------------------------------------------------------------------- */
@@ -90211,10 +99144,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-i2c.c
 - * c-basic-offset: 8
 - * End:
 - */
-Index: linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-input.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx88/cx88-input.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-input.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx88/cx88-input.c linux-2.6.35.media/drivers/media/video/cx88/cx88-input.c
+--- linux-2.6.35/drivers/media/video/cx88/cx88-input.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx88/cx88-input.c	2011-01-24 22:56:36.924076052 -0500
 @@ -24,13 +24,12 @@
  
  #include <linux/init.h>
@@ -90743,11 +99675,25 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-input.c
 - * c-basic-offset: 8
 - * End:
 - */
-Index: linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-mpeg.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx88/cx88-mpeg.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-mpeg.c
-@@ -313,7 +313,7 @@ void cx8802_buf_queue(struct cx8802_dev 
+diff -Naurp linux-2.6.35/drivers/media/video/cx88/cx88-mpeg.c linux-2.6.35.media/drivers/media/video/cx88/cx88-mpeg.c
+--- linux-2.6.35/drivers/media/video/cx88/cx88-mpeg.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx88/cx88-mpeg.c	2011-01-24 22:56:36.801075903 -0500
+@@ -66,8 +66,14 @@ static void request_modules(struct cx880
+ 	INIT_WORK(&dev->request_module_wk, request_module_async);
+ 	schedule_work(&dev->request_module_wk);
+ }
++
++static void flush_request_modules(struct cx8802_dev *dev)
++{
++	flush_work_sync(&dev->request_module_wk);
++}
+ #else
+ #define request_modules(dev)
++#define flush_request_modules(dev)
+ #endif /* CONFIG_MODULES */
+ 
+ 
+@@ -313,7 +319,7 @@ void cx8802_buf_queue(struct cx8802_dev 
  
  /* ----------------------------------------------------------- */
  
@@ -90756,7 +99702,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-mpeg.c
  {
  	struct cx88_dmaqueue *q = &dev->mpegq;
  	struct cx88_buffer *buf;
-@@ -358,7 +358,7 @@ static void cx8802_timeout(unsigned long
+@@ -358,7 +364,7 @@ static void cx8802_timeout(unsigned long
  	do_cancel_buffers(dev,"timeout",1);
  }
  
@@ -90765,7 +99711,16 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-mpeg.c
  	"ts_risci1", NULL, NULL, NULL,
  	"ts_risci2", NULL, NULL, NULL,
  	"ts_oflow",  NULL, NULL, NULL,
-@@ -849,7 +849,7 @@ static void __devexit cx8802_remove(stru
+@@ -819,6 +825,8 @@ static void __devexit cx8802_remove(stru
+ 
+ 	dprintk( 1, "%s\n", __func__);
+ 
++	flush_request_modules(dev);
++
+ 	if (!list_empty(&dev->drvlist)) {
+ 		struct cx8802_driver *drv, *tmp;
+ 		int err;
+@@ -849,7 +857,7 @@ static void __devexit cx8802_remove(stru
  	kfree(dev);
  }
  
@@ -90774,10 +99729,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-mpeg.c
  	{
  		.vendor       = 0x14f1,
  		.device       = 0x8802,
-Index: linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-tvaudio.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx88/cx88-tvaudio.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-tvaudio.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx88/cx88-tvaudio.c linux-2.6.35.media/drivers/media/video/cx88/cx88-tvaudio.c
+--- linux-2.6.35/drivers/media/video/cx88/cx88-tvaudio.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx88/cx88-tvaudio.c	2011-01-24 22:56:36.914076039 -0500
 @@ -70,7 +70,7 @@ MODULE_PARM_DESC(radio_deemphasis, "Radi
  
  /* ----------------------------------------------------------- */
@@ -90877,10 +99831,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-tvaudio.c
  hw_autodetect:
  			/* stereo autodetection is supported by hardware so
  			   we don't need to do it manually. Do nothing. */
-Index: linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-vbi.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx88/cx88-vbi.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-vbi.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx88/cx88-vbi.c linux-2.6.35.media/drivers/media/video/cx88/cx88-vbi.c
+--- linux-2.6.35/drivers/media/video/cx88/cx88-vbi.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx88/cx88-vbi.c	2011-01-24 22:56:36.966076102 -0500
 @@ -230,7 +230,7 @@ static void vbi_release(struct videobuf_
  	cx88_free_buffer(q,buf);
  }
@@ -90890,10 +99843,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-vbi.c
  	.buf_setup    = vbi_setup,
  	.buf_prepare  = vbi_prepare,
  	.buf_queue    = vbi_queue,
-Index: linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-video.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx88/cx88-video.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-video.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx88/cx88-video.c linux-2.6.35.media/drivers/media/video/cx88/cx88-video.c
+--- linux-2.6.35/drivers/media/video/cx88/cx88-video.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx88/cx88-video.c	2011-01-24 22:56:36.935076064 -0500
 @@ -31,7 +31,6 @@
  #include <linux/kmod.h>
  #include <linux/kernel.h>
@@ -91169,10 +100121,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-video.c
  	{
  		.vendor       = 0x14f1,
  		.device       = 0x8800,
-Index: linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-vp3054-i2c.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx88/cx88-vp3054-i2c.c
-+++ linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-vp3054-i2c.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx88/cx88-vp3054-i2c.c linux-2.6.35.media/drivers/media/video/cx88/cx88-vp3054-i2c.c
+--- linux-2.6.35/drivers/media/video/cx88/cx88-vp3054-i2c.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx88/cx88-vp3054-i2c.c	2011-01-24 22:56:36.790075889 -0500
 @@ -121,13 +121,10 @@ int vp3054_i2c_probe(struct cx8802_dev *
  	memcpy(&vp3054_i2c->algo, &vp3054_i2c_algo_template,
  	       sizeof(vp3054_i2c->algo));
@@ -91187,10 +100138,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-vp3054-i2c.c
  	vp3054_i2c->algo.data = dev;
  	i2c_set_adapdata(&vp3054_i2c->adap, dev);
  	vp3054_i2c->adap.algo_data = &vp3054_i2c->algo;
-Index: linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-vp3054-i2c.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-vp3054-i2c.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx88/cx88-vp3054-i2c.mod.c linux-2.6.35.media/drivers/media/video/cx88/cx88-vp3054-i2c.mod.c
+--- linux-2.6.35/drivers/media/video/cx88/cx88-vp3054-i2c.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/cx88/cx88-vp3054-i2c.mod.c	2011-01-24 22:56:36.863075977 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -91211,10 +100161,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx88/cx88-vp3054-i2c.mod.c
 +
 +
 +MODULE_INFO(srcversion, "4A7950E67E52CAA3F9AACD6");
-Index: linux-2.6.35.x86_64/drivers/media/video/cx88/cx88xx.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/cx88/cx88xx.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/cx88/cx88xx.mod.c linux-2.6.35.media/drivers/media/video/cx88/cx88xx.mod.c
+--- linux-2.6.35/drivers/media/video/cx88/cx88xx.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/cx88/cx88xx.mod.c	2011-01-24 22:56:36.873075990 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -91235,10 +100184,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx88/cx88xx.mod.c
 +
 +
 +MODULE_INFO(srcversion, "232DA041D14A0A99248128F");
-Index: linux-2.6.35.x86_64/drivers/media/video/cx88/Kconfig
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/cx88/Kconfig
-+++ linux-2.6.35.x86_64/drivers/media/video/cx88/Kconfig
+diff -Naurp linux-2.6.35/drivers/media/video/cx88/Kconfig linux-2.6.35.media/drivers/media/video/cx88/Kconfig
+--- linux-2.6.35/drivers/media/video/cx88/Kconfig	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/cx88/Kconfig	2011-01-24 22:56:36.945076076 -0500
 @@ -1,12 +1,11 @@
  config VIDEO_CX88
  	tristate "Conexant 2388x (bt878 successor) support"
@@ -91262,10 +100210,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/cx88/Kconfig
  	select SND_PCM
  	---help---
  	  This is a video4linux driver for direct (DMA) audio on
-Index: linux-2.6.35.x86_64/drivers/media/video/dabusb.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/dabusb.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/dabusb.mod.c linux-2.6.35.media/drivers/media/video/dabusb.mod.c
+--- linux-2.6.35/drivers/media/video/dabusb.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/dabusb.mod.c	2011-01-24 22:56:31.723069894 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -91291,10 +100238,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/dabusb.mod.c
 +MODULE_ALIAS("usb:v0547p9999d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "0D3C50462D9DFBA50BD8AD7");
-Index: linux-2.6.35.x86_64/drivers/media/video/davinci/Kconfig
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/davinci/Kconfig
+diff -Naurp linux-2.6.35/drivers/media/video/davinci/Kconfig linux-2.6.35.media/drivers/media/video/davinci/Kconfig
+--- linux-2.6.35/drivers/media/video/davinci/Kconfig	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/davinci/Kconfig	2011-01-24 22:56:32.638070951 -0500
 @@ -0,0 +1,93 @@
 +config DISPLAY_DAVINCI_DM646X_EVM
 +	tristate "DM646x EVM Video Display"
@@ -91389,10 +100335,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/davinci/Kconfig
 +
 +	   To compile this driver as a module, choose M here: the
 +	   module will be called vpfe.
-Index: linux-2.6.35.x86_64/drivers/media/video/davinci/vpfe_capture.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/davinci/vpfe_capture.c
-+++ linux-2.6.35.x86_64/drivers/media/video/davinci/vpfe_capture.c
+diff -Naurp linux-2.6.35/drivers/media/video/davinci/vpfe_capture.c linux-2.6.35.media/drivers/media/video/davinci/vpfe_capture.c
+--- linux-2.6.35/drivers/media/video/davinci/vpfe_capture.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/davinci/vpfe_capture.c	2011-01-24 22:56:32.607070916 -0500
 @@ -370,7 +370,7 @@ static int vpfe_config_ccdc_image_format
   * For a given standard, this functions sets up the default
   * pix format & crop values in the vpfe device and ccdc.  It first
@@ -91497,10 +100442,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/davinci/vpfe_capture.c
  						  &sdinfo->board_info,
  						  NULL);
  		if (vpfe_dev->sd[i]) {
-Index: linux-2.6.35.x86_64/drivers/media/video/davinci/vpif.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/davinci/vpif.c
-+++ linux-2.6.35.x86_64/drivers/media/video/davinci/vpif.c
+diff -Naurp linux-2.6.35/drivers/media/video/davinci/vpif.c linux-2.6.35.media/drivers/media/video/davinci/vpif.c
+--- linux-2.6.35/drivers/media/video/davinci/vpif.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/davinci/vpif.c	2011-01-24 22:56:32.617070927 -0500
 @@ -41,6 +41,183 @@ spinlock_t vpif_lock;
  
  void __iomem *vpif_base;
@@ -91685,10 +100629,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/davinci/vpif.c
  static inline void vpif_wr_bit(u32 reg, u32 bit, u32 val)
  {
  	if (val)
-Index: linux-2.6.35.x86_64/drivers/media/video/davinci/vpif_capture.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/davinci/vpif_capture.c
-+++ linux-2.6.35.x86_64/drivers/media/video/davinci/vpif_capture.c
+diff -Naurp linux-2.6.35/drivers/media/video/davinci/vpif_capture.c linux-2.6.35.media/drivers/media/video/davinci/vpif_capture.c
+--- linux-2.6.35/drivers/media/video/davinci/vpif_capture.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/davinci/vpif_capture.c	2011-01-24 22:56:32.648070963 -0500
 @@ -37,6 +37,7 @@
  #include <linux/slab.h>
  #include <media/v4l2-device.h>
@@ -92474,10 +101417,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/davinci/vpif_capture.c
  	.driver	= {
  		.name	= "vpif_capture",
  		.owner	= THIS_MODULE,
-Index: linux-2.6.35.x86_64/drivers/media/video/davinci/vpif_capture.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/davinci/vpif_capture.h
-+++ linux-2.6.35.x86_64/drivers/media/video/davinci/vpif_capture.h
+diff -Naurp linux-2.6.35/drivers/media/video/davinci/vpif_capture.h linux-2.6.35.media/drivers/media/video/davinci/vpif_capture.h
+--- linux-2.6.35/drivers/media/video/davinci/vpif_capture.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/davinci/vpif_capture.h	2011-01-24 22:56:32.596070903 -0500
 @@ -59,6 +59,8 @@ struct video_obj {
  	enum v4l2_field buf_field;
  	/* Currently selected or default standard */
@@ -92487,10 +101429,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/davinci/vpif_capture.h
  	/* This is to track the last input that is passed to application */
  	u32 input_idx;
  };
-Index: linux-2.6.35.x86_64/drivers/media/video/davinci/vpif_display.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/davinci/vpif_display.c
-+++ linux-2.6.35.x86_64/drivers/media/video/davinci/vpif_display.c
+diff -Naurp linux-2.6.35/drivers/media/video/davinci/vpif_display.c linux-2.6.35.media/drivers/media/video/davinci/vpif_display.c
+--- linux-2.6.35/drivers/media/video/davinci/vpif_display.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/davinci/vpif_display.c	2011-01-24 22:56:32.731071060 -0500
 @@ -38,6 +38,7 @@
  #include <media/adv7343.h>
  #include <media/v4l2-device.h>
@@ -93278,10 +102219,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/davinci/vpif_display.c
  	.driver	= {
  			.name	= "vpif_display",
  			.owner	= THIS_MODULE,
-Index: linux-2.6.35.x86_64/drivers/media/video/davinci/vpif_display.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/davinci/vpif_display.h
-+++ linux-2.6.35.x86_64/drivers/media/video/davinci/vpif_display.h
+diff -Naurp linux-2.6.35/drivers/media/video/davinci/vpif_display.h linux-2.6.35.media/drivers/media/video/davinci/vpif_display.h
+--- linux-2.6.35/drivers/media/video/davinci/vpif_display.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/davinci/vpif_display.h	2011-01-24 22:56:32.689071010 -0500
 @@ -67,6 +67,8 @@ struct video_obj {
  					 * most recent displayed frame only */
  	v4l2_std_id stdid;		/* Currently selected or default
@@ -93291,10 +102231,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/davinci/vpif_display.h
  	u32 output_id;			/* Current output id */
  };
  
-Index: linux-2.6.35.x86_64/drivers/media/video/davinci/vpif.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/davinci/vpif.h
-+++ linux-2.6.35.x86_64/drivers/media/video/davinci/vpif.h
+diff -Naurp linux-2.6.35/drivers/media/video/davinci/vpif.h linux-2.6.35.media/drivers/media/video/davinci/vpif.h
+--- linux-2.6.35/drivers/media/video/davinci/vpif.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/davinci/vpif.h	2011-01-24 22:56:32.700071023 -0500
 @@ -577,12 +577,10 @@ struct vpif_channel_config_params {
  	char name[VPIF_MAX_NAME];	/* Name of the mode */
  	u16 width;			/* Indicates width of the image */
@@ -93329,10 +102268,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/davinci/vpif.h
  struct vpif_video_params;
  struct vpif_params;
  struct vpif_vbi_params;
-Index: linux-2.6.35.x86_64/drivers/media/video/em28xx/em28xx-alsa.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/em28xx/em28xx-alsa.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/em28xx/em28xx-alsa.mod.c linux-2.6.35.media/drivers/media/video/em28xx/em28xx-alsa.mod.c
+--- linux-2.6.35/drivers/media/video/em28xx/em28xx-alsa.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/em28xx/em28xx-alsa.mod.c	2011-01-24 22:56:32.306070566 -0500
 @@ -0,0 +1,23 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -93357,10 +102295,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/em28xx/em28xx-alsa.mod.c
 +
 +
 +MODULE_INFO(srcversion, "8F689CE8A77D265AB94E312");
-Index: linux-2.6.35.x86_64/drivers/media/video/em28xx/em28xx-audio.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/em28xx/em28xx-audio.c
-+++ linux-2.6.35.x86_64/drivers/media/video/em28xx/em28xx-audio.c
+diff -Naurp linux-2.6.35/drivers/media/video/em28xx/em28xx-audio.c linux-2.6.35.media/drivers/media/video/em28xx/em28xx-audio.c
+--- linux-2.6.35/drivers/media/video/em28xx/em28xx-audio.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/em28xx/em28xx-audio.c	2011-01-24 22:56:32.390070664 -0500
 @@ -102,6 +102,9 @@ static void em28xx_audio_isocirq(struct 
  		break;
  	}
@@ -93516,10 +102453,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/em28xx/em28xx-audio.c
  	err = snd_card_register(card);
  	if (err < 0) {
  		snd_card_free(card);
-Index: linux-2.6.35.x86_64/drivers/media/video/em28xx/em28xx-cards.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/em28xx/em28xx-cards.c
-+++ linux-2.6.35.x86_64/drivers/media/video/em28xx/em28xx-cards.c
+diff -Naurp linux-2.6.35/drivers/media/video/em28xx/em28xx-cards.c linux-2.6.35.media/drivers/media/video/em28xx/em28xx-cards.c
+--- linux-2.6.35/drivers/media/video/em28xx/em28xx-cards.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/em28xx/em28xx-cards.c	2011-01-24 22:56:32.422070701 -0500
 @@ -33,6 +33,7 @@
  #include <media/saa7115.h>
  #include <media/tvp5150.h>
@@ -93887,7 +102823,22 @@ Index: linux-2.6.35.x86_64/drivers/media/video/em28xx/em28xx-cards.c
  		}
  	}
  
-@@ -2690,8 +2810,8 @@ static int em28xx_init_dev(struct em28xx
+@@ -2573,8 +2693,14 @@ static void request_modules(struct em28x
+ 	INIT_WORK(&dev->request_module_wk, request_module_async);
+ 	schedule_work(&dev->request_module_wk);
+ }
++
++static void flush_request_modules(struct em28xx *dev)
++{
++	flush_work_sync(&dev->request_module_wk);
++}
+ #else
+ #define request_modules(dev)
++#define flush_request_modules(dev)
+ #endif /* CONFIG_MODULES */
+ 
+ /*
+@@ -2690,8 +2816,8 @@ static int em28xx_init_dev(struct em28xx
  	em28xx_pre_card_setup(dev);
  
  	if (!dev->board.is_em2800) {
@@ -93898,10 +102849,18 @@ Index: linux-2.6.35.x86_64/drivers/media/video/em28xx/em28xx-cards.c
  		if (retval < 0) {
  			em28xx_errdev("%s: em28xx_write_regs_req failed!"
  				      " retval [%d]\n",
-Index: linux-2.6.35.x86_64/drivers/media/video/em28xx/em28xx-cards.c.orig
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/em28xx/em28xx-cards.c.orig
+@@ -3001,6 +3127,8 @@ static void em28xx_usb_disconnect(struct
+ 
+ 	em28xx_info("disconnecting %s\n", dev->vdev->name);
+ 
++	flush_request_modules(dev);
++
+ 	/* wait until all current v4l2 io is finished then deallocate
+ 	   resources */
+ 	mutex_lock(&dev->lock);
+diff -Naurp linux-2.6.35/drivers/media/video/em28xx/em28xx-cards.c.orig linux-2.6.35.media/drivers/media/video/em28xx/em28xx-cards.c.orig
+--- linux-2.6.35/drivers/media/video/em28xx/em28xx-cards.c.orig	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/em28xx/em28xx-cards.c.orig	2011-01-24 22:56:32.327070591 -0500
 @@ -0,0 +1,3195 @@
 +/*
 +   em28xx-cards.c - driver for Empia EM2800/EM2820/2840 USB
@@ -96348,7 +105307,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/em28xx/em28xx-cards.c.orig
 +
 +	if (dev->init_data.name)
 +		info.platform_data = &dev->init_data;
-+	i2c_new_probed_device(&dev->i2c_adap, &info, addr_list);
++	i2c_new_probed_device(&dev->i2c_adap, &info, addr_list, NULL);
 +}
 +
 +void em28xx_card_setup(struct em28xx *dev)
@@ -97098,10 +106057,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/em28xx/em28xx-cards.c.orig
 +
 +module_init(em28xx_module_init);
 +module_exit(em28xx_module_exit);
-Index: linux-2.6.35.x86_64/drivers/media/video/em28xx/em28xx-dvb.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/em28xx/em28xx-dvb.c
-+++ linux-2.6.35.x86_64/drivers/media/video/em28xx/em28xx-dvb.c
+diff -Naurp linux-2.6.35/drivers/media/video/em28xx/em28xx-dvb.c linux-2.6.35.media/drivers/media/video/em28xx/em28xx-dvb.c
+--- linux-2.6.35/drivers/media/video/em28xx/em28xx-dvb.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/em28xx/em28xx-dvb.c	2011-01-24 22:56:32.411070688 -0500
 @@ -30,11 +30,14 @@
  #include "tuner-simple.h"
  
@@ -97198,10 +106156,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/em28xx/em28xx-dvb.c
  	default:
  		em28xx_errdev("/2: The frontend of your DVB/ATSC card"
  				" isn't supported yet\n");
-Index: linux-2.6.35.x86_64/drivers/media/video/em28xx/em28xx-dvb.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/em28xx/em28xx-dvb.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/em28xx/em28xx-dvb.mod.c linux-2.6.35.media/drivers/media/video/em28xx/em28xx-dvb.mod.c
+--- linux-2.6.35/drivers/media/video/em28xx/em28xx-dvb.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/em28xx/em28xx-dvb.mod.c	2011-01-24 22:56:32.368070638 -0500
 @@ -0,0 +1,23 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -97226,10 +106183,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/em28xx/em28xx-dvb.mod.c
 +
 +
 +MODULE_INFO(srcversion, "590E62998169CAF5D091436");
-Index: linux-2.6.35.x86_64/drivers/media/video/em28xx/em28xx.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/em28xx/em28xx.h
-+++ linux-2.6.35.x86_64/drivers/media/video/em28xx/em28xx.h
+diff -Naurp linux-2.6.35/drivers/media/video/em28xx/em28xx.h linux-2.6.35.media/drivers/media/video/em28xx/em28xx.h
+--- linux-2.6.35/drivers/media/video/em28xx/em28xx.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/em28xx/em28xx.h	2011-01-24 22:56:32.295070553 -0500
 @@ -25,13 +25,15 @@
  #ifndef _EM28XX_H
  #define _EM28XX_H
@@ -97298,10 +106254,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/em28xx/em28xx.h
  	struct em28xx_fmt *format;
  
  	struct em28xx_IR *ir;
-Index: linux-2.6.35.x86_64/drivers/media/video/em28xx/em28xx-input.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/em28xx/em28xx-input.c
-+++ linux-2.6.35.x86_64/drivers/media/video/em28xx/em28xx-input.c
+diff -Naurp linux-2.6.35/drivers/media/video/em28xx/em28xx-input.c linux-2.6.35.media/drivers/media/video/em28xx/em28xx-input.c
+--- linux-2.6.35/drivers/media/video/em28xx/em28xx-input.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/em28xx/em28xx-input.c	2011-01-24 22:56:32.273070529 -0500
 @@ -25,7 +25,6 @@
  #include <linux/init.h>
  #include <linux/delay.h>
@@ -97588,10 +106543,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/em28xx/em28xx-input.c
  		input_unregister_device(dev->sbutton_input_dev);
  		dev->sbutton_input_dev = NULL;
  	}
-Index: linux-2.6.35.x86_64/drivers/media/video/em28xx/em28xx.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/em28xx/em28xx.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/em28xx/em28xx.mod.c linux-2.6.35.media/drivers/media/video/em28xx/em28xx.mod.c
+--- linux-2.6.35/drivers/media/video/em28xx/em28xx.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/em28xx/em28xx.mod.c	2011-01-24 22:56:32.337070603 -0500
 @@ -0,0 +1,82 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -97675,10 +106629,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/em28xx/em28xx.mod.c
 +MODULE_ALIAS("usb:v1B80pA340d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "FCD16413B5B919D92BBAA5F");
-Index: linux-2.6.35.x86_64/drivers/media/video/em28xx/em28xx-vbi.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/em28xx/em28xx-vbi.c
-+++ linux-2.6.35.x86_64/drivers/media/video/em28xx/em28xx-vbi.c
+diff -Naurp linux-2.6.35/drivers/media/video/em28xx/em28xx-vbi.c linux-2.6.35.media/drivers/media/video/em28xx/em28xx-vbi.c
+--- linux-2.6.35/drivers/media/video/em28xx/em28xx-vbi.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/em28xx/em28xx-vbi.c	2011-01-24 22:56:32.347070613 -0500
 @@ -23,6 +23,7 @@
  
  #include <linux/kernel.h>
@@ -97687,10 +106640,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/em28xx/em28xx-vbi.c
  #include <linux/init.h>
  
  #include "em28xx.h"
-Index: linux-2.6.35.x86_64/drivers/media/video/em28xx/em28xx-video.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/em28xx/em28xx-video.c
-+++ linux-2.6.35.x86_64/drivers/media/video/em28xx/em28xx-video.c
+diff -Naurp linux-2.6.35/drivers/media/video/em28xx/em28xx-video.c linux-2.6.35.media/drivers/media/video/em28xx/em28xx-video.c
+--- linux-2.6.35/drivers/media/video/em28xx/em28xx-video.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/em28xx/em28xx-video.c	2011-01-24 22:56:32.379070651 -0500
 @@ -277,12 +277,13 @@ static void em28xx_copy_vbi(struct em28x
  {
  	void *startwrite, *startread;
@@ -98175,10 +107127,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/em28xx/em28xx-video.c
  	dev->interlaced = EM28XX_INTERLACED_DEFAULT;
  	dev->ctl_input = 0;
  
-Index: linux-2.6.35.x86_64/drivers/media/video/em28xx/Kconfig
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/em28xx/Kconfig
-+++ linux-2.6.35.x86_64/drivers/media/video/em28xx/Kconfig
+diff -Naurp linux-2.6.35/drivers/media/video/em28xx/Kconfig linux-2.6.35.media/drivers/media/video/em28xx/Kconfig
+--- linux-2.6.35/drivers/media/video/em28xx/Kconfig	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/em28xx/Kconfig	2011-01-24 22:56:32.358070626 -0500
 @@ -1,9 +1,9 @@
  config VIDEO_EM28XX
  	tristate "Empia EM28xx USB video capture support"
@@ -98199,10 +107150,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/em28xx/Kconfig
  	select VIDEOBUF_DVB
  	---help---
  	  This adds support for DVB cards based on the
-Index: linux-2.6.35.x86_64/drivers/media/video/et61x251/et61x251_core.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/et61x251/et61x251_core.c
-+++ linux-2.6.35.x86_64/drivers/media/video/et61x251/et61x251_core.c
+diff -Naurp linux-2.6.35/drivers/media/video/et61x251/et61x251_core.c linux-2.6.35.media/drivers/media/video/et61x251/et61x251_core.c
+--- linux-2.6.35/drivers/media/video/et61x251/et61x251_core.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/et61x251/et61x251_core.c	2011-01-24 22:56:37.120076290 -0500
 @@ -1610,6 +1610,7 @@ et61x251_vidioc_enuminput(struct et61x25
  	memset(&i, 0, sizeof(i));
  	strcpy(i.name, "Camera");
@@ -98220,10 +107170,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/et61x251/et61x251_core.c
  	.read =    et61x251_read,
  	.poll =    et61x251_poll,
  	.mmap =    et61x251_mmap,
-Index: linux-2.6.35.x86_64/drivers/media/video/et61x251/et61x251.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/et61x251/et61x251.h
-+++ linux-2.6.35.x86_64/drivers/media/video/et61x251/et61x251.h
+diff -Naurp linux-2.6.35/drivers/media/video/et61x251/et61x251.h linux-2.6.35.media/drivers/media/video/et61x251/et61x251.h
+--- linux-2.6.35/drivers/media/video/et61x251/et61x251.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/et61x251/et61x251.h	2011-01-24 22:56:37.109076276 -0500
 @@ -59,31 +59,7 @@
  /*****************************************************************************/
  
@@ -98256,10 +107205,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/et61x251/et61x251.h
  	{ }
  };
  
-Index: linux-2.6.35.x86_64/drivers/media/video/fsl-viu.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/fsl-viu.c
+diff -Naurp linux-2.6.35/drivers/media/video/fsl-viu.c linux-2.6.35.media/drivers/media/video/fsl-viu.c
+--- linux-2.6.35/drivers/media/video/fsl-viu.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/fsl-viu.c	2011-01-24 22:56:38.342077792 -0500
 @@ -0,0 +1,1659 @@
 +/*
 + * Copyright 2008-2010 Freescale Semiconductor, Inc. All Rights Reserved.
@@ -99920,10 +108868,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/fsl-viu.c
 +MODULE_DESCRIPTION("Freescale Video-In(VIU)");
 +MODULE_AUTHOR("Hongjun Chen");
 +MODULE_LICENSE("GPL");
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/benq.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/benq.c
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/benq.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/benq.c linux-2.6.35.media/drivers/media/video/gspca/benq.c
+--- linux-2.6.35/drivers/media/video/gspca/benq.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/benq.c	2011-01-24 22:56:35.275074060 -0500
 @@ -62,7 +62,7 @@ static void reg_w(struct gspca_dev *gspc
  			0,
  			500);
@@ -100004,10 +108951,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/benq.c
  }
  
  module_init(sd_mod_init);
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/conex.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/conex.c
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/conex.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/conex.c linux-2.6.35.media/drivers/media/video/gspca/conex.c
+--- linux-2.6.35/drivers/media/video/gspca/conex.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/conex.c	2011-01-24 22:56:35.223073997 -0500
 @@ -41,7 +41,7 @@ struct sd {
  #define QUALITY_MAX 60
  #define QUALITY_DEF 40
@@ -100102,10 +109048,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/conex.c
  }
  
  module_init(sd_mod_init);
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/cpia1.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/cpia1.c
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/cpia1.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/cpia1.c linux-2.6.35.media/drivers/media/video/gspca/cpia1.c
+--- linux-2.6.35/drivers/media/video/gspca/cpia1.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/cpia1.c	2011-01-24 22:56:35.118073872 -0500
 @@ -1,7 +1,7 @@
  /*
   * cpia CPiA (1) gspca driver
@@ -100430,10 +109375,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/cpia1.c
  }
  
  module_init(sd_mod_init);
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/etoms.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/etoms.c
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/etoms.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/etoms.c linux-2.6.35.media/drivers/media/video/gspca/etoms.c
+--- linux-2.6.35/drivers/media/video/gspca/etoms.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/etoms.c	2011-01-24 22:56:35.684074550 -0500
 @@ -710,9 +710,9 @@ static void Et_setgainG(struct gspca_dev
  }
  
@@ -100484,10 +109428,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/etoms.c
  }
  
  module_init(sd_mod_init);
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/finepix.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/finepix.c
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/finepix.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/finepix.c linux-2.6.35.media/drivers/media/video/gspca/finepix.c
+--- linux-2.6.35/drivers/media/video/gspca/finepix.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/finepix.c	2011-01-24 22:56:35.643074501 -0500
 @@ -182,7 +182,7 @@ static int sd_start(struct gspca_dev *gs
  	/* Init the device */
  	ret = command(gspca_dev, 0);
@@ -100544,10 +109487,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/finepix.c
  }
  
  module_init(sd_mod_init);
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gl860/gl860.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/gl860/gl860.c
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/gl860/gl860.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/gl860/gl860.c linux-2.6.35.media/drivers/media/video/gspca/gl860/gl860.c
+--- linux-2.6.35/drivers/media/video/gspca/gl860/gl860.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/gl860/gl860.c	2011-01-24 22:56:35.710074583 -0500
 @@ -63,7 +63,7 @@ static int sd_set_##thename(struct gspca
  \
  	sd->vcur.thename = val;\
@@ -100695,10 +109637,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gl860/gl860.c
  	} else if (_OV9655_) {
  		PDEBUG(D_PROBE, "05e3:0503 sensor OV9655 (1.3M)");
  	} else if (_OV2640_) {
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gl860/gl860.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/gl860/gl860.h
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/gl860/gl860.h
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/gl860/gl860.h linux-2.6.35.media/drivers/media/video/gspca/gl860/gl860.h
+--- linux-2.6.35/drivers/media/video/gspca/gl860/gl860.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/gl860/gl860.h	2011-01-24 22:56:35.741074620 -0500
 @@ -32,19 +32,16 @@
  #define ID_OV2640   2
  #define ID_OV9655   4
@@ -100735,10 +109676,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gl860/gl860.h
  	u8   waitSet;
  };
  
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gl860/gl860-mi2020.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/gl860/gl860-mi2020.c
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/gl860/gl860-mi2020.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/gl860/gl860-mi2020.c linux-2.6.35.media/drivers/media/video/gspca/gl860/gl860-mi2020.c
+--- linux-2.6.35/drivers/media/video/gspca/gl860/gl860-mi2020.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/gl860/gl860-mi2020.c	2011-01-24 22:56:35.751074632 -0500
 @@ -1,6 +1,7 @@
  /* Subdriver for the GL860 chip with the MI2020 sensor
 - * Author Olivier LORIN, from Ice/Soro2005's logs(A), Fret_saw/Hulkie's
@@ -101730,10 +110670,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gl860/gl860-mi2020.c
 +	msleep(40);
 +	ctrl_out(gspca_dev, 0x40, 1, 0x0001, 0x0000, 0, NULL);
  }
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gl860/gl860-ov9655.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/gl860/gl860-ov9655.c
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/gl860/gl860-ov9655.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/gl860/gl860-ov9655.c linux-2.6.35.media/drivers/media/video/gspca/gl860/gl860-ov9655.c
+--- linux-2.6.35/drivers/media/video/gspca/gl860/gl860-ov9655.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/gl860/gl860-ov9655.c	2011-01-24 22:56:35.772074656 -0500
 @@ -69,7 +69,7 @@ static u8 *tbl_640[] = {
  	"\xd0\x01\xd1\x08\xd2\xe0\xd3\x01" "\xd4\x10\xd5\x80"
  };
@@ -101752,10 +110691,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gl860/gl860-ov9655.c
  
  	ctrl_out(gspca_dev, 0x40, 3, 0x0000, 0x0200,
  			tbl_length[0], tbl[0]);
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gl860/gspca_gl860.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/gl860/gspca_gl860.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/gl860/gspca_gl860.mod.c linux-2.6.35.media/drivers/media/video/gspca/gl860/gspca_gl860.mod.c
+--- linux-2.6.35/drivers/media/video/gspca/gl860/gspca_gl860.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/gspca/gl860/gspca_gl860.mod.c	2011-01-24 22:56:35.720074594 -0500
 @@ -0,0 +1,25 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -101782,10 +110720,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gl860/gspca_gl860.mod.c
 +MODULE_ALIAS("usb:v05E3pF191d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "31E72CB07E1F9A9E4B55D5C");
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_benq.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_benq.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/gspca_benq.mod.c linux-2.6.35.media/drivers/media/video/gspca/gspca_benq.mod.c
+--- linux-2.6.35/drivers/media/video/gspca/gspca_benq.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/gspca/gspca_benq.mod.c	2011-01-24 22:56:35.651074512 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -101811,10 +110748,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_benq.mod.c
 +MODULE_ALIAS("usb:v04A5p3035d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "2F32F5A3C567FB1E8BA2B36");
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/gspca.c
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/gspca.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/gspca.c linux-2.6.35.media/drivers/media/video/gspca/gspca.c
+--- linux-2.6.35/drivers/media/video/gspca/gspca.c	2011-01-24 22:40:24.118424024 -0500
++++ linux-2.6.35.media/drivers/media/video/gspca/gspca.c	2011-01-24 22:56:35.963074887 -0500
 @@ -55,7 +55,7 @@ MODULE_AUTHOR("Jean-François Moine <htt
  MODULE_DESCRIPTION("GSPCA USB Camera Driver");
  MODULE_LICENSE("GPL");
@@ -103159,10 +112095,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca.c
  }
  
  module_init(gspca_init);
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_conex.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_conex.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/gspca_conex.mod.c linux-2.6.35.media/drivers/media/video/gspca/gspca_conex.mod.c
+--- linux-2.6.35/drivers/media/video/gspca/gspca_conex.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/gspca/gspca_conex.mod.c	2011-01-24 22:56:36.015074949 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -103188,10 +112123,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_conex.mod.c
 +MODULE_ALIAS("usb:v0572p0041d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "25E6C1E85F633D3AE44ACE6");
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_cpia1.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_cpia1.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/gspca_cpia1.mod.c linux-2.6.35.media/drivers/media/video/gspca/gspca_cpia1.mod.c
+--- linux-2.6.35/drivers/media/video/gspca/gspca_cpia1.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/gspca/gspca_cpia1.mod.c	2011-01-24 22:56:35.948074869 -0500
 @@ -0,0 +1,25 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -103218,10 +112152,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_cpia1.mod.c
 +MODULE_ALIAS("usb:v0813p0001d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "3F3E86156A8F668BD0751B0");
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_etoms.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_etoms.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/gspca_etoms.mod.c linux-2.6.35.media/drivers/media/video/gspca/gspca_etoms.mod.c
+--- linux-2.6.35/drivers/media/video/gspca/gspca_etoms.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/gspca/gspca_etoms.mod.c	2011-01-24 22:56:35.244074024 -0500
 @@ -0,0 +1,25 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -103248,10 +112181,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_etoms.mod.c
 +MODULE_ALIAS("usb:v102Cp6251d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "68E310CEF0340887D1FACE7");
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_finepix.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_finepix.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/gspca_finepix.mod.c linux-2.6.35.media/drivers/media/video/gspca/gspca_finepix.mod.c
+--- linux-2.6.35/drivers/media/video/gspca/gspca_finepix.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/gspca/gspca_finepix.mod.c	2011-01-24 22:56:35.306074097 -0500
 @@ -0,0 +1,46 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -103299,10 +112231,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_finepix.mod.c
 +MODULE_ALIAS("usb:v04CBp013Fd*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "999FF82E4CFFF6EB8840813");
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/gspca.h
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/gspca.h
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/gspca.h linux-2.6.35.media/drivers/media/video/gspca/gspca.h
+--- linux-2.6.35/drivers/media/video/gspca/gspca.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/gspca.h	2011-01-24 22:56:36.115075070 -0500
 @@ -7,7 +7,6 @@
  #include <linux/videodev2.h>
  #include <media/v4l2-common.h>
@@ -103428,10 +112359,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca.h
  #ifdef CONFIG_PM
  int gspca_suspend(struct usb_interface *intf, pm_message_t message);
  int gspca_resume(struct usb_interface *intf);
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_jeilinj.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_jeilinj.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/gspca_jeilinj.mod.c linux-2.6.35.media/drivers/media/video/gspca/gspca_jeilinj.mod.c
+--- linux-2.6.35/drivers/media/video/gspca/gspca_jeilinj.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/gspca/gspca_jeilinj.mod.c	2011-01-24 22:56:36.008074940 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -103457,10 +112387,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_jeilinj.mod.c
 +MODULE_ALIAS("usb:v0979p0280d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "FB8D45CBEFF9A4C19B1E533");
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_konica.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_konica.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/gspca_konica.mod.c linux-2.6.35.media/drivers/media/video/gspca/gspca_konica.mod.c
+--- linux-2.6.35/drivers/media/video/gspca/gspca_konica.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/gspca/gspca_konica.mod.c	2011-01-24 22:56:35.673074540 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -103486,10 +112415,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_konica.mod.c
 +MODULE_ALIAS("usb:v04C8p0720d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "4E12FE7991B073684ADA90A");
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_main.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_main.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/gspca_main.mod.c linux-2.6.35.media/drivers/media/video/gspca/gspca_main.mod.c
+--- linux-2.6.35/drivers/media/video/gspca/gspca_main.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/gspca/gspca_main.mod.c	2011-01-24 22:56:35.159073922 -0500
 @@ -0,0 +1,23 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -103514,10 +112442,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_main.mod.c
 +
 +
 +MODULE_INFO(srcversion, "C4ED99676C504A5A9154E79");
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_mars.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_mars.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/gspca_mars.mod.c linux-2.6.35.media/drivers/media/video/gspca/gspca_mars.mod.c
+--- linux-2.6.35/drivers/media/video/gspca/gspca_mars.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/gspca/gspca_mars.mod.c	2011-01-24 22:56:35.234074011 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -103543,10 +112470,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_mars.mod.c
 +MODULE_ALIAS("usb:v093Ap050Fd*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "861F64A12538844F266AC38");
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_mr97310a.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_mr97310a.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/gspca_mr97310a.mod.c linux-2.6.35.media/drivers/media/video/gspca/gspca_mr97310a.mod.c
+--- linux-2.6.35/drivers/media/video/gspca/gspca_mr97310a.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/gspca/gspca_mr97310a.mod.c	2011-01-24 22:56:35.793074682 -0500
 @@ -0,0 +1,27 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -103575,10 +112501,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_mr97310a.mod.c
 +MODULE_ALIAS("usb:v093Ap010Ed*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "11CD48CD0DFB445E29ED345");
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_ov519.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_ov519.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/gspca_ov519.mod.c linux-2.6.35.media/drivers/media/video/gspca/gspca_ov519.mod.c
+--- linux-2.6.35/drivers/media/video/gspca/gspca_ov519.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/gspca/gspca_ov519.mod.c	2011-01-24 22:56:35.835074733 -0500
 @@ -0,0 +1,48 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -103628,10 +112553,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_ov519.mod.c
 +MODULE_ALIAS("usb:v8020pEF04d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "7CD79364F24B84E51F18ADC");
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_ov534_9.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_ov534_9.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/gspca_ov534_9.mod.c linux-2.6.35.media/drivers/media/video/gspca/gspca_ov534_9.mod.c
+--- linux-2.6.35/drivers/media/video/gspca/gspca_ov534_9.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/gspca/gspca_ov534_9.mod.c	2011-01-24 22:56:35.524074360 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -103657,10 +112581,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_ov534_9.mod.c
 +MODULE_ALIAS("usb:v06F8p3003d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "82DD5B4A7896F3DB62B6EDD");
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_ov534.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_ov534.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/gspca_ov534.mod.c linux-2.6.35.media/drivers/media/video/gspca/gspca_ov534.mod.c
+--- linux-2.6.35/drivers/media/video/gspca/gspca_ov534.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/gspca/gspca_ov534.mod.c	2011-01-24 22:56:35.484074312 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -103686,10 +112609,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_ov534.mod.c
 +MODULE_ALIAS("usb:v1415p2000d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "EFFC771AEA1E304F9C8856B");
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_pac207.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_pac207.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/gspca_pac207.mod.c linux-2.6.35.media/drivers/media/video/gspca/gspca_pac207.mod.c
+--- linux-2.6.35/drivers/media/video/gspca/gspca_pac207.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/gspca/gspca_pac207.mod.c	2011-01-24 22:56:36.043074983 -0500
 @@ -0,0 +1,36 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -103727,10 +112649,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_pac207.mod.c
 +MODULE_ALIAS("usb:v2001pF115d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "D212B8827CBD933FF9C10A7");
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_pac7302.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_pac7302.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/gspca_pac7302.mod.c linux-2.6.35.media/drivers/media/video/gspca/gspca_pac7302.mod.c
+--- linux-2.6.35/drivers/media/video/gspca/gspca_pac7302.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/gspca/gspca_pac7302.mod.c	2011-01-24 22:56:35.063073806 -0500
 @@ -0,0 +1,34 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -103766,10 +112687,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_pac7302.mod.c
 +MODULE_ALIAS("usb:v093Ap262Cd*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "5728A13B99CCE8F0519C2C4");
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_pac7311.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_pac7311.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/gspca_pac7311.mod.c linux-2.6.35.media/drivers/media/video/gspca/gspca_pac7311.mod.c
+--- linux-2.6.35/drivers/media/video/gspca/gspca_pac7311.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/gspca/gspca_pac7311.mod.c	2011-01-24 22:56:35.504074334 -0500
 @@ -0,0 +1,29 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -103800,10 +112720,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_pac7311.mod.c
 +MODULE_ALIAS("usb:v093Ap260Fd*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "4E6ACE65E1346392F29E560");
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_sn9c2028.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_sn9c2028.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/gspca_sn9c2028.mod.c linux-2.6.35.media/drivers/media/video/gspca/gspca_sn9c2028.mod.c
+--- linux-2.6.35/drivers/media/video/gspca/gspca_sn9c2028.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/gspca/gspca_sn9c2028.mod.c	2011-01-24 22:56:35.170073935 -0500
 @@ -0,0 +1,28 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -103833,10 +112752,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_sn9c2028.mod.c
 +MODULE_ALIAS("usb:v0C45p800Ad*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "98109917B9715B3E4800631");
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_sn9c20x.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_sn9c20x.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/gspca_sn9c20x.mod.c linux-2.6.35.media/drivers/media/video/gspca/gspca_sn9c20x.mod.c
+--- linux-2.6.35/drivers/media/video/gspca/gspca_sn9c20x.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/gspca/gspca_sn9c20x.mod.c	2011-01-24 22:56:35.972074896 -0500
 @@ -0,0 +1,59 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -103897,10 +112815,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_sn9c20x.mod.c
 +MODULE_ALIAS("usb:vA168p0617d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "43DEF0542CA49A34F74DA6A");
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_sonixb.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_sonixb.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/gspca_sonixb.mod.c linux-2.6.35.media/drivers/media/video/gspca/gspca_sonixb.mod.c
+--- linux-2.6.35/drivers/media/video/gspca/gspca_sonixb.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/gspca/gspca_sonixb.mod.c	2011-01-24 22:56:35.846074746 -0500
 @@ -0,0 +1,40 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -103942,10 +112859,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_sonixb.mod.c
 +MODULE_ALIAS("usb:v0C45p60B0d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "463C2BB6642E44BD810104D");
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_sonixj.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_sonixj.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/gspca_sonixj.mod.c linux-2.6.35.media/drivers/media/video/gspca/gspca_sonixj.mod.c
+--- linux-2.6.35/drivers/media/video/gspca/gspca_sonixj.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/gspca/gspca_sonixj.mod.c	2011-01-24 22:56:35.108073859 -0500
 @@ -0,0 +1,61 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -104008,10 +112924,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_sonixj.mod.c
 +MODULE_ALIAS("usb:v0C45p614Ad*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "A85E3F7ABA81D45AC3B5AB6");
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_spca500.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_spca500.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/gspca_spca500.mod.c linux-2.6.35.media/drivers/media/video/gspca/gspca_spca500.mod.c
+--- linux-2.6.35/drivers/media/video/gspca/gspca_spca500.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/gspca/gspca_spca500.mod.c	2011-01-24 22:56:35.647074508 -0500
 @@ -0,0 +1,38 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -104051,10 +112966,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_spca500.mod.c
 +MODULE_ALIAS("usb:v8086p0630d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "AA274123E030DE336CBF19E");
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_spca501.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_spca501.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/gspca_spca501.mod.c linux-2.6.35.media/drivers/media/video/gspca/gspca_spca501.mod.c
+--- linux-2.6.35/drivers/media/video/gspca/gspca_spca501.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/gspca/gspca_spca501.mod.c	2011-01-24 22:56:35.514074346 -0500
 @@ -0,0 +1,29 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -104085,10 +112999,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_spca501.mod.c
 +MODULE_ALIAS("usb:v1776p501Cd*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "A25286997F1154E434BF7F9");
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_spca505.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_spca505.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/gspca_spca505.mod.c linux-2.6.35.media/drivers/media/video/gspca/gspca_spca505.mod.c
+--- linux-2.6.35/drivers/media/video/gspca/gspca_spca505.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/gspca/gspca_spca505.mod.c	2011-01-24 22:56:35.997074926 -0500
 @@ -0,0 +1,25 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -104115,10 +113028,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_spca505.mod.c
 +MODULE_ALIAS("usb:v0733p0430d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "39395E3FE925BAB865C3457");
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_spca506.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_spca506.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/gspca_spca506.mod.c linux-2.6.35.media/drivers/media/video/gspca/gspca_spca506.mod.c
+--- linux-2.6.35/drivers/media/video/gspca/gspca_spca506.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/gspca/gspca_spca506.mod.c	2011-01-24 22:56:36.094075044 -0500
 @@ -0,0 +1,26 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -104146,10 +113058,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_spca506.mod.c
 +MODULE_ALIAS("usb:v99FAp8988d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "CC0411BC406FE6216F5E343");
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_spca508.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_spca508.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/gspca_spca508.mod.c linux-2.6.35.media/drivers/media/video/gspca/gspca_spca508.mod.c
+--- linux-2.6.35/drivers/media/video/gspca/gspca_spca508.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/gspca/gspca_spca508.mod.c	2011-01-24 22:56:35.783074670 -0500
 @@ -0,0 +1,29 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -104180,10 +113091,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_spca508.mod.c
 +MODULE_ALIAS("usb:v8086p0110d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "3CC11A860EF4C53DD854672");
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_spca561.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_spca561.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/gspca_spca561.mod.c linux-2.6.35.media/drivers/media/video/gspca/gspca_spca561.mod.c
+--- linux-2.6.35/drivers/media/video/gspca/gspca_spca561.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/gspca/gspca_spca561.mod.c	2011-01-24 22:56:35.804074696 -0500
 @@ -0,0 +1,39 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -104224,10 +113134,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_spca561.mod.c
 +MODULE_ALIAS("usb:vABCDpCDEEd*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "2454710D9554E184245BEB5");
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_sq905c.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_sq905c.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/gspca_sq905c.mod.c linux-2.6.35.media/drivers/media/video/gspca/gspca_sq905c.mod.c
+--- linux-2.6.35/drivers/media/video/gspca/gspca_sq905c.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/gspca/gspca_sq905c.mod.c	2011-01-24 22:56:36.053074994 -0500
 @@ -0,0 +1,27 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -104256,10 +113165,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_sq905c.mod.c
 +MODULE_ALIAS("usb:v2770p913Dd*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "D426CC8DAB6F695499AE92D");
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_sq905.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_sq905.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/gspca_sq905.mod.c linux-2.6.35.media/drivers/media/video/gspca/gspca_sq905.mod.c
+--- linux-2.6.35/drivers/media/video/gspca/gspca_sq905.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/gspca/gspca_sq905.mod.c	2011-01-24 22:56:35.316074109 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -104285,10 +113193,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_sq905.mod.c
 +MODULE_ALIAS("usb:v2770p9120d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "FE11E6D9F684A10390132F6");
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_stk014.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_stk014.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/gspca_stk014.mod.c linux-2.6.35.media/drivers/media/video/gspca/gspca_stk014.mod.c
+--- linux-2.6.35/drivers/media/video/gspca/gspca_stk014.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/gspca/gspca_stk014.mod.c	2011-01-24 22:56:35.942074860 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -104314,10 +113221,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_stk014.mod.c
 +MODULE_ALIAS("usb:v05E1p0893d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "CD556F269CEEF218BA83F53");
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_stv0680.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_stv0680.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/gspca_stv0680.mod.c linux-2.6.35.media/drivers/media/video/gspca/gspca_stv0680.mod.c
+--- linux-2.6.35/drivers/media/video/gspca/gspca_stv0680.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/gspca/gspca_stv0680.mod.c	2011-01-24 22:56:35.987074915 -0500
 @@ -0,0 +1,25 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -104344,10 +113250,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_stv0680.mod.c
 +MODULE_ALIAS("usb:v041Ep4007d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "B72903E9CBA6B1CBB073CDB");
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_sunplus.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_sunplus.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/gspca_sunplus.mod.c linux-2.6.35.media/drivers/media/video/gspca/gspca_sunplus.mod.c
+--- linux-2.6.35/drivers/media/video/gspca/gspca_sunplus.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/gspca/gspca_sunplus.mod.c	2011-01-24 22:56:36.176075145 -0500
 @@ -0,0 +1,82 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -104431,10 +113336,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_sunplus.mod.c
 +MODULE_ALIAS("usb:v0D64p0303d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "9A200C508EC25DBE5460BDD");
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_t613.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_t613.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/gspca_t613.mod.c linux-2.6.35.media/drivers/media/video/gspca/gspca_t613.mod.c
+--- linux-2.6.35/drivers/media/video/gspca/gspca_t613.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/gspca/gspca_t613.mod.c	2011-01-24 22:56:35.180073947 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -104460,10 +113364,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_t613.mod.c
 +MODULE_ALIAS("usb:v17A1p0128d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "A8D873A310E2CB1D6C7A1DA");
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_tv8532.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_tv8532.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/gspca_tv8532.mod.c linux-2.6.35.media/drivers/media/video/gspca/gspca_tv8532.mod.c
+--- linux-2.6.35/drivers/media/video/gspca/gspca_tv8532.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/gspca/gspca_tv8532.mod.c	2011-01-24 22:56:35.254074035 -0500
 @@ -0,0 +1,28 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -104493,10 +113396,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_tv8532.mod.c
 +MODULE_ALIAS("usb:v0923p010Fd*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "03261AEB58045BAB1CBEB4B");
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_vc032x.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_vc032x.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/gspca_vc032x.mod.c linux-2.6.35.media/drivers/media/video/gspca/gspca_vc032x.mod.c
+--- linux-2.6.35/drivers/media/video/gspca/gspca_vc032x.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/gspca/gspca_vc032x.mod.c	2011-01-24 22:56:35.213073987 -0500
 @@ -0,0 +1,36 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -104534,10 +113436,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_vc032x.mod.c
 +MODULE_ALIAS("usb:v17EFp4802d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "89940B0781A5C1284DA8A00");
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_xirlink_cit.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_xirlink_cit.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/gspca_xirlink_cit.mod.c linux-2.6.35.media/drivers/media/video/gspca/gspca_xirlink_cit.mod.c
+--- linux-2.6.35/drivers/media/video/gspca/gspca_xirlink_cit.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/gspca/gspca_xirlink_cit.mod.c	2011-01-24 22:56:35.888074796 -0500
 @@ -0,0 +1,30 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -104569,10 +113470,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_xirlink_cit.mod.c
 +MODULE_ALIAS("usb:v0545p800Dd030Adc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "50AB133078D2612F7E69E15");
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_zc3xx.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_zc3xx.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/gspca_zc3xx.mod.c linux-2.6.35.media/drivers/media/video/gspca/gspca_zc3xx.mod.c
+--- linux-2.6.35/drivers/media/video/gspca/gspca_zc3xx.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/gspca/gspca_zc3xx.mod.c	2011-01-24 22:56:35.825074720 -0500
 @@ -0,0 +1,76 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -104650,10 +113550,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/gspca_zc3xx.mod.c
 +MODULE_ALIAS("usb:v10FDp8050d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "351C67DF3A3C44A0BEB2E84");
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/jeilinj.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/jeilinj.c
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/jeilinj.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/jeilinj.c linux-2.6.35.media/drivers/media/video/gspca/jeilinj.c
+--- linux-2.6.35/drivers/media/video/gspca/jeilinj.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/jeilinj.c	2011-01-24 22:56:35.867074771 -0500
 @@ -50,7 +50,7 @@ struct sd {
  	struct workqueue_struct *work_thread;
  	u8 quality;				 /* image quality */
@@ -104738,10 +113637,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/jeilinj.c
  }
  
  module_init(sd_mod_init);
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/jpeg.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/jpeg.h
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/jpeg.h
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/jpeg.h linux-2.6.35.media/drivers/media/video/gspca/jpeg.h
+--- linux-2.6.35/drivers/media/video/gspca/jpeg.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/jpeg.h	2011-01-24 22:56:35.295074084 -0500
 @@ -141,9 +141,9 @@ static void jpeg_define(u8 *jpeg_hdr,
  	memcpy(jpeg_hdr, jpeg_head, sizeof jpeg_head);
  #ifndef CONEX_CAM
@@ -104754,10 +113652,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/jpeg.h
  	jpeg_hdr[JPEG_HEIGHT_OFFSET + 6] = samplesY;
  #endif
  }
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/Kconfig
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/Kconfig
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/Kconfig
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/Kconfig linux-2.6.35.media/drivers/media/video/gspca/Kconfig
+--- linux-2.6.35/drivers/media/video/gspca/Kconfig	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/Kconfig	2011-01-24 22:56:35.856074758 -0500
 @@ -77,6 +77,15 @@ config USB_GSPCA_JEILINJ
  	  To compile this driver as a module, choose M here: the
  	  module will be called gspca_jeilinj.
@@ -104822,10 +113719,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/Kconfig
  config USB_GSPCA_ZC3XX
  	tristate "ZC3XX USB Camera Driver"
  	depends on VIDEO_V4L2 && USB_GSPCA
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/konica.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/konica.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/konica.c linux-2.6.35.media/drivers/media/video/gspca/konica.c
+--- linux-2.6.35/drivers/media/video/gspca/konica.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/gspca/konica.c	2011-01-24 22:56:35.931074847 -0500
 @@ -0,0 +1,646 @@
 +/*
 + * Driver for USB webcams based on Konica chipset. This
@@ -105473,10 +114369,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/konica.c
 +
 +module_init(sd_mod_init);
 +module_exit(sd_mod_exit);
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/m5602/gspca_m5602.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/m5602/gspca_m5602.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/m5602/gspca_m5602.mod.c linux-2.6.35.media/drivers/media/video/gspca/m5602/gspca_m5602.mod.c
+--- linux-2.6.35/drivers/media/video/gspca/m5602/gspca_m5602.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/gspca/m5602/gspca_m5602.mod.c	2011-01-24 22:56:35.473074298 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -105502,10 +114397,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/m5602/gspca_m5602.mod.c
 +MODULE_ALIAS("usb:v0402p5602d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "287F6C23786278C5FBC71B5");
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/m5602/m5602_bridge.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/m5602/m5602_bridge.h
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/m5602/m5602_bridge.h
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/m5602/m5602_bridge.h linux-2.6.35.media/drivers/media/video/gspca/m5602/m5602_bridge.h
+--- linux-2.6.35/drivers/media/video/gspca/m5602/m5602_bridge.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/m5602/m5602_bridge.h	2011-01-24 22:56:35.379074185 -0500
 @@ -19,6 +19,7 @@
  #ifndef M5602_BRIDGE_H_
  #define M5602_BRIDGE_H_
@@ -105514,10 +114408,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/m5602/m5602_bridge.h
  #include "gspca.h"
  
  #define MODULE_NAME "ALi m5602"
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/m5602/m5602_core.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/m5602/m5602_core.c
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/m5602/m5602_core.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/m5602/m5602_core.c linux-2.6.35.media/drivers/media/video/gspca/m5602/m5602_core.c
+--- linux-2.6.35/drivers/media/video/gspca/m5602/m5602_core.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/m5602/m5602_core.c	2011-01-24 22:56:35.337074135 -0500
 @@ -28,7 +28,7 @@ int force_sensor;
  static int dump_bridge;
  int dump_sensor;
@@ -105582,10 +114475,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/m5602/m5602_core.c
  }
  
  module_init(mod_m5602_init);
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/m5602/m5602_mt9m111.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/m5602/m5602_mt9m111.c
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/m5602/m5602_mt9m111.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/m5602/m5602_mt9m111.c linux-2.6.35.media/drivers/media/video/gspca/m5602/m5602_mt9m111.c
+--- linux-2.6.35/drivers/media/video/gspca/m5602/m5602_mt9m111.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/m5602/m5602_mt9m111.c	2011-01-24 22:56:35.444074263 -0500
 @@ -109,14 +109,14 @@ static const struct ctrl mt9m111_ctrls[]
  #define GREEN_BALANCE_IDX 4
  	{
@@ -105655,10 +114547,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/m5602/m5602_mt9m111.c
  		},
  		.set = mt9m111_set_red_balance,
  		.get = mt9m111_get_red_balance
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/m5602/m5602_mt9m111.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/m5602/m5602_mt9m111.h
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/m5602/m5602_mt9m111.h
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/m5602/m5602_mt9m111.h linux-2.6.35.media/drivers/media/video/gspca/m5602/m5602_mt9m111.h
+--- linux-2.6.35/drivers/media/video/gspca/m5602/m5602_mt9m111.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/m5602/m5602_mt9m111.h	2011-01-24 22:56:35.369074173 -0500
 @@ -70,7 +70,7 @@
  #define MT9M111_COLORPIPE			0x01
  #define MT9M111_CAMERA_CONTROL			0x02
@@ -105713,10 +114604,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/m5602/m5602_mt9m111.h
  };
 -
  #endif
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/m5602/m5602_ov7660.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/m5602/m5602_ov7660.c
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/m5602/m5602_ov7660.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/m5602/m5602_ov7660.c linux-2.6.35.media/drivers/media/video/gspca/m5602/m5602_ov7660.c
+--- linux-2.6.35/drivers/media/video/gspca/m5602/m5602_ov7660.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/m5602/m5602_ov7660.c	2011-01-24 22:56:35.463074287 -0500
 @@ -54,13 +54,13 @@ static const struct ctrl ov7660_ctrls[] 
  #define AUTO_WHITE_BALANCE_IDX 4
  	{
@@ -105822,10 +114712,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/m5602/m5602_ov7660.c
  		},
  		.set = ov7660_set_vflip,
  		.get = ov7660_get_vflip
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/m5602/m5602_ov7660.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/m5602/m5602_ov7660.h
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/m5602/m5602_ov7660.h
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/m5602/m5602_ov7660.h linux-2.6.35.media/drivers/media/video/gspca/m5602/m5602_ov7660.h
+--- linux-2.6.35/drivers/media/video/gspca/m5602/m5602_ov7660.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/m5602/m5602_ov7660.h	2011-01-24 22:56:35.456074277 -0500
 @@ -80,7 +80,7 @@
  
  #define OV7660_DEFAULT_GAIN		0x0e
@@ -105861,10 +114750,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/m5602/m5602_ov7660.h
  };
 -
  #endif
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/m5602/m5602_ov9650.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/m5602/m5602_ov9650.c
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/m5602/m5602_ov9650.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/m5602/m5602_ov9650.c linux-2.6.35.media/drivers/media/video/gspca/m5602/m5602_ov9650.c
+--- linux-2.6.35/drivers/media/video/gspca/m5602/m5602_ov9650.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/m5602/m5602_ov9650.c	2011-01-24 22:56:35.390074199 -0500
 @@ -121,8 +121,8 @@ static const struct ctrl ov9650_ctrls[] 
  			.minimum	= 0x00,
  			.maximum	= 0x1ff,
@@ -106032,10 +114920,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/m5602/m5602_ov9650.c
  	err = m5602_write_sensor(sd, OV9650_VREF, &i2c_data, 1);
  	if (err < 0)
  		return err;
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/m5602/m5602_ov9650.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/m5602/m5602_ov9650.h
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/m5602/m5602_ov9650.h
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/m5602/m5602_ov9650.h linux-2.6.35.media/drivers/media/video/gspca/m5602/m5602_ov9650.h
+--- linux-2.6.35/drivers/media/video/gspca/m5602/m5602_ov9650.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/m5602/m5602_ov9650.h	2011-01-24 22:56:35.421074235 -0500
 @@ -110,7 +110,7 @@
  
  #define OV9650_VARIOPIXEL		(1 << 2)
@@ -106081,10 +114968,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/m5602/m5602_ov9650.h
  };
 -
  #endif
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/m5602/m5602_po1030.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/m5602/m5602_po1030.c
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/m5602/m5602_po1030.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/m5602/m5602_po1030.c linux-2.6.35.media/drivers/media/video/gspca/m5602/m5602_po1030.c
+--- linux-2.6.35/drivers/media/video/gspca/m5602/m5602_po1030.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/m5602/m5602_po1030.c	2011-01-24 22:56:35.450074271 -0500
 @@ -58,14 +58,14 @@ static const struct ctrl po1030_ctrls[] 
  #define GAIN_IDX 0
  	{
@@ -106284,10 +115170,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/m5602/m5602_po1030.c
  		},
  		.set = po1030_set_green_balance,
  		.get = po1030_get_green_balance
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/m5602/m5602_po1030.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/m5602/m5602_po1030.h
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/m5602/m5602_po1030.h
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/m5602/m5602_po1030.h linux-2.6.35.media/drivers/media/video/gspca/m5602/m5602_po1030.h
+--- linux-2.6.35/drivers/media/video/gspca/m5602/m5602_po1030.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/m5602/m5602_po1030.h	2011-01-24 22:56:35.400074211 -0500
 @@ -139,9 +139,9 @@
  
  #define PO1030_GLOBAL_GAIN_DEFAULT	0x12
@@ -106327,10 +115212,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/m5602/m5602_po1030.h
  };
 -
  #endif
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/m5602/m5602_s5k4aa.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/m5602/m5602_s5k4aa.c
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/m5602/m5602_s5k4aa.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/m5602/m5602_s5k4aa.c linux-2.6.35.media/drivers/media/video/gspca/m5602/m5602_s5k4aa.c
+--- linux-2.6.35/drivers/media/video/gspca/m5602/m5602_s5k4aa.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/m5602/m5602_s5k4aa.c	2011-01-24 22:56:35.410074223 -0500
 @@ -143,13 +143,13 @@ static const struct ctrl s5k4aa_ctrls[] 
  #define VFLIP_IDX 0
  	{
@@ -106373,10 +115257,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/m5602/m5602_s5k4aa.c
  		},
  		.set = s5k4aa_set_hflip,
  		.get = s5k4aa_get_hflip
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/m5602/m5602_s5k4aa.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/m5602/m5602_s5k4aa.h
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/m5602/m5602_s5k4aa.h
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/m5602/m5602_s5k4aa.h linux-2.6.35.media/drivers/media/video/gspca/m5602/m5602_s5k4aa.h
+--- linux-2.6.35/drivers/media/video/gspca/m5602/m5602_s5k4aa.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/m5602/m5602_s5k4aa.h	2011-01-24 22:56:35.359074161 -0500
 @@ -83,8 +83,7 @@ static const struct m5602_sensor s5k4aa 
  	.disconnect = s5k4aa_disconnect,
  };
@@ -106424,10 +115307,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/m5602/m5602_s5k4aa.h
 -
 -
  #endif
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/m5602/m5602_s5k83a.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/m5602/m5602_s5k83a.c
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/m5602/m5602_s5k83a.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/m5602/m5602_s5k83a.c linux-2.6.35.media/drivers/media/video/gspca/m5602/m5602_s5k83a.c
+--- linux-2.6.35/drivers/media/video/gspca/m5602/m5602_s5k83a.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/m5602/m5602_s5k83a.c	2011-01-24 22:56:35.432074248 -0500
 @@ -17,7 +17,6 @@
   */
  
@@ -106436,10 +115318,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/m5602/m5602_s5k83a.c
  #include "m5602_s5k83a.h"
  
  static int s5k83a_set_gain(struct gspca_dev *gspca_dev, __s32 val);
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/m5602/m5602_s5k83a.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/m5602/m5602_s5k83a.h
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/m5602/m5602_s5k83a.h
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/m5602/m5602_s5k83a.h linux-2.6.35.media/drivers/media/video/gspca/m5602/m5602_s5k83a.h
+--- linux-2.6.35/drivers/media/video/gspca/m5602/m5602_s5k83a.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/m5602/m5602_s5k83a.h	2011-01-24 22:56:35.348074149 -0500
 @@ -35,7 +35,7 @@
  #define S5K83A_MAXIMUM_EXPOSURE		0x3c
  #define S5K83A_FLIP_MASK		0x10
@@ -106485,10 +115366,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/m5602/m5602_s5k83a.h
  };
 -
  #endif
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/Makefile
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/Makefile
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/Makefile
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/Makefile linux-2.6.35.media/drivers/media/video/gspca/Makefile
+--- linux-2.6.35/drivers/media/video/gspca/Makefile	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/Makefile	2011-01-24 22:56:35.084073832 -0500
 @@ -5,6 +5,7 @@ obj-$(CONFIG_USB_GSPCA_CPIA1)    += gspc
  obj-$(CONFIG_USB_GSPCA_ETOMS)    += gspca_etoms.o
  obj-$(CONFIG_USB_GSPCA_FINEPIX)  += gspca_finepix.o
@@ -106541,10 +115421,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/Makefile
  gspca_zc3xx-objs    := zc3xx.o
  
  obj-$(CONFIG_USB_M5602)   += m5602/
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/mars.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/mars.c
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/mars.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/mars.c linux-2.6.35.media/drivers/media/video/gspca/mars.c
+--- linux-2.6.35/drivers/media/video/gspca/mars.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/mars.c	2011-01-24 22:56:36.125075083 -0500
 @@ -28,34 +28,41 @@ MODULE_AUTHOR("Michel Xhaard <mxhaard at us
  MODULE_DESCRIPTION("GSPCA/Mars USB Camera Driver");
  MODULE_LICENSE("GPL");
@@ -107100,10 +115979,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/mars.c
  }
  
  module_init(sd_mod_init);
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/mr97310a.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/mr97310a.c
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/mr97310a.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/mr97310a.c linux-2.6.35.media/drivers/media/video/gspca/mr97310a.c
+--- linux-2.6.35/drivers/media/video/gspca/mr97310a.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/mr97310a.c	2011-01-24 22:56:36.104075056 -0500
 @@ -9,14 +9,14 @@
   * is Copyright (C) 2009 Theodore Kilgore <kilgota at auburn.edu>
   *
@@ -107297,10 +116175,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/mr97310a.c
  }
  
  module_init(sd_mod_init);
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/ov519.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/ov519.c
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/ov519.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/ov519.c linux-2.6.35.media/drivers/media/video/gspca/ov519.c
+--- linux-2.6.35/drivers/media/video/gspca/ov519.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/ov519.c	2011-01-24 22:56:35.920074834 -0500
 @@ -41,6 +41,11 @@
  #include <linux/input.h>
  #include "gspca.h"
@@ -110862,10 +119739,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/ov519.c
  }
  
  module_init(sd_mod_init);
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/ov534_9.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/ov534_9.c
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/ov534_9.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/ov534_9.c linux-2.6.35.media/drivers/media/video/gspca/ov534_9.c
+--- linux-2.6.35/drivers/media/video/gspca/ov534_9.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/ov534_9.c	2011-01-24 22:56:35.139073897 -0500
 @@ -785,7 +785,7 @@ static void reg_w_i(struct gspca_dev *gs
  			      USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_DEVICE,
  			      0x00, reg, gspca_dev->usb_buf, 1, CTRL_TIMEOUT);
@@ -110945,10 +119821,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/ov534_9.c
  }
  
  module_init(sd_mod_init);
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/ov534.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/ov534.c
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/ov534.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/ov534.c linux-2.6.35.media/drivers/media/video/gspca/ov534.c
+--- linux-2.6.35/drivers/media/video/gspca/ov534.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/ov534.c	2011-01-24 22:56:35.814074706 -0500
 @@ -479,15 +479,20 @@ static void ov534_reg_write(struct gspca
  	struct usb_device *udev = gspca_dev->dev;
  	int ret;
@@ -111137,10 +120012,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/ov534.c
  }
  
  module_init(sd_mod_init);
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/pac207.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/pac207.c
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/pac207.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/pac207.c linux-2.6.35.media/drivers/media/video/gspca/pac207.c
+--- linux-2.6.35/drivers/media/video/gspca/pac207.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/pac207.c	2011-01-24 22:56:35.202073973 -0500
 @@ -1,7 +1,7 @@
  /*
   * Pixart PAC207BCA library
@@ -111259,10 +120133,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/pac207.c
  }
  
  module_init(sd_mod_init);
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/pac7302.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/pac7302.c
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/pac7302.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/pac7302.c linux-2.6.35.media/drivers/media/video/gspca/pac7302.c
+--- linux-2.6.35/drivers/media/video/gspca/pac7302.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/pac7302.c	2011-01-24 22:56:35.074073819 -0500
 @@ -393,7 +393,7 @@ static const __u8 page3_7302[] = {
  
  static void reg_w_buf(struct gspca_dev *gspca_dev,
@@ -111451,10 +120324,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/pac7302.c
  }
  
  module_init(sd_mod_init);
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/pac7311.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/pac7311.c
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/pac7311.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/pac7311.c linux-2.6.35.media/drivers/media/video/gspca/pac7311.c
+--- linux-2.6.35/drivers/media/video/gspca/pac7311.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/pac7311.c	2011-01-24 22:56:36.166075132 -0500
 @@ -261,7 +261,7 @@ static const __u8 page4_7311[] = {
  
  static void reg_w_buf(struct gspca_dev *gspca_dev,
@@ -111636,10 +120508,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/pac7311.c
  }
  
  module_init(sd_mod_init);
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/sn9c2028.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/sn9c2028.c
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/sn9c2028.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/sn9c2028.c linux-2.6.35.media/drivers/media/video/gspca/sn9c2028.c
+--- linux-2.6.35/drivers/media/video/gspca/sn9c2028.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/sn9c2028.c	2011-01-24 22:56:36.073075020 -0500
 @@ -75,7 +75,7 @@ static int sn9c2028_command(struct gspca
  			USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_INTERFACE,
  			2, 0, gspca_dev->usb_buf, 6, 500);
@@ -111715,10 +120586,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/sn9c2028.c
  }
  
  module_init(sd_mod_init);
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/sn9c20x.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/sn9c20x.c
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/sn9c20x.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/sn9c20x.c linux-2.6.35.media/drivers/media/video/gspca/sn9c20x.c
+--- linux-2.6.35/drivers/media/video/gspca/sn9c20x.c	2011-01-24 22:40:24.129424175 -0500
++++ linux-2.6.35.media/drivers/media/video/gspca/sn9c20x.c	2011-01-24 22:56:35.191073959 -0500
 @@ -18,10 +18,7 @@
   * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
   */
@@ -112175,10 +121045,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/sn9c20x.c
  }
  
  module_init(sd_mod_init);
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/sonixb.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/sonixb.c
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/sonixb.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/sonixb.c linux-2.6.35.media/drivers/media/video/gspca/sonixb.c
+--- linux-2.6.35/drivers/media/video/gspca/sonixb.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/sonixb.c	2011-01-24 22:56:35.979074905 -0500
 @@ -23,8 +23,15 @@
  /* Some documentation on known sonixb registers:
  
@@ -113054,10 +121923,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/sonixb.c
  }
  
  module_init(sd_mod_init);
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/sonixj.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/sonixj.c
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/sonixj.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/sonixj.c linux-2.6.35.media/drivers/media/video/gspca/sonixj.c
+--- linux-2.6.35/drivers/media/video/gspca/sonixj.c	2011-01-24 22:40:24.131424205 -0500
++++ linux-2.6.35.media/drivers/media/video/gspca/sonixj.c	2011-01-24 22:56:35.899074809 -0500
 @@ -22,41 +22,51 @@
  #define MODULE_NAME "sonixj"
  
@@ -115382,10 +124250,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/sonixj.c
 +module_param(starcam, int, 0644);
 +MODULE_PARM_DESC(starcam,
 +	"StarCam model. 0: Clip, 1: 370i");
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/spca1528.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/spca1528.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/spca1528.c linux-2.6.35.media/drivers/media/video/gspca/spca1528.c
+--- linux-2.6.35/drivers/media/video/gspca/spca1528.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/gspca/spca1528.c	2011-01-24 22:56:35.967074891 -0500
 @@ -0,0 +1,598 @@
 +/*
 + * spca1528 subdriver
@@ -115985,10 +124852,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/spca1528.c
 +
 +module_init(sd_mod_init);
 +module_exit(sd_mod_exit);
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/spca500.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/spca500.c
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/spca500.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/spca500.c linux-2.6.35.media/drivers/media/video/gspca/spca500.c
+--- linux-2.6.35/drivers/media/video/gspca/spca500.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/spca500.c	2011-01-24 22:56:36.022074957 -0500
 @@ -57,7 +57,7 @@ struct sd {
  #define PalmPixDC85 13
  #define ToptroIndus 14
@@ -116077,10 +124943,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/spca500.c
  }
  
  module_init(sd_mod_init);
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/spca501.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/spca501.c
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/spca501.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/spca501.c linux-2.6.35.media/drivers/media/video/gspca/spca501.c
+--- linux-2.6.35/drivers/media/video/gspca/spca501.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/spca501.c	2011-01-24 22:56:35.264074047 -0500
 @@ -1724,7 +1724,7 @@ static const __u16 spca501c_mysterious_i
  	{0x00, 0x0000, 0x0048},
  	{0x00, 0x0000, 0x0049},
@@ -116145,10 +125010,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/spca501.c
  }
  
  module_init(sd_mod_init);
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/spca505.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/spca505.c
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/spca505.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/spca505.c linux-2.6.35.media/drivers/media/video/gspca/spca505.c
+--- linux-2.6.35/drivers/media/video/gspca/spca505.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/spca505.c	2011-01-24 22:56:35.877074783 -0500
 @@ -368,10 +368,6 @@ static const u8 spca505b_init_data[][3] 
  	{0x08, 0x00, 0x00},
  	{0x08, 0x00, 0x01},
@@ -116208,10 +125072,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/spca505.c
  }
  
  module_init(sd_mod_init);
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/spca508.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/spca508.c
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/spca508.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/spca508.c linux-2.6.35.media/drivers/media/video/gspca/spca508.c
+--- linux-2.6.35/drivers/media/video/gspca/spca508.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/spca508.c	2011-01-24 22:56:35.494074322 -0500
 @@ -92,8 +92,7 @@ static const struct v4l2_pix_format sif_
   * Initialization data: this is the first set-up data written to the
   * device (before the open data).
@@ -116269,10 +125132,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/spca508.c
  }
  
  module_init(sd_mod_init);
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/spca561.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/spca561.c
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/spca561.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/spca561.c linux-2.6.35.media/drivers/media/video/gspca/spca561.c
+--- linux-2.6.35/drivers/media/video/gspca/spca561.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/spca561.c	2011-01-24 22:56:36.084075032 -0500
 @@ -315,7 +315,7 @@ static void reg_w_val(struct usb_device 
  			      value, index, NULL, 0, 500);
  	PDEBUG(D_USBO, "reg write: 0x%02x:0x%02x", index, value);
@@ -116346,10 +125208,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/spca561.c
  }
  
  module_init(sd_mod_init);
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/sq905.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/sq905.c
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/sq905.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/sq905.c linux-2.6.35.media/drivers/media/video/gspca/sq905.c
+--- linux-2.6.35/drivers/media/video/gspca/sq905.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/sq905.c	2011-01-24 22:56:35.534074372 -0500
 @@ -123,7 +123,7 @@ static int sq905_command(struct gspca_de
  			      SQ905_COMMAND, index, gspca_dev->usb_buf, 1,
  			      SQ905_CMD_TIMEOUT);
@@ -116434,10 +125295,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/sq905.c
  }
  
  module_init(sd_mod_init);
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/sq905c.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/sq905c.c
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/sq905c.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/sq905c.c linux-2.6.35.media/drivers/media/video/gspca/sq905c.c
+--- linux-2.6.35/drivers/media/video/gspca/sq905c.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/sq905c.c	2011-01-24 22:56:36.145075106 -0500
 @@ -95,7 +95,7 @@ static int sq905c_command(struct gspca_d
  			      command, index, NULL, 0,
  			      SQ905C_CMD_TIMEOUT);
@@ -116498,15 +125358,14 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/sq905c.c
  }
  
  module_init(sd_mod_init);
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/sq930x.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/sq930x.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/sq930x.c linux-2.6.35.media/drivers/media/video/gspca/sq930x.c
+--- linux-2.6.35/drivers/media/video/gspca/sq930x.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/gspca/sq930x.c	2011-01-24 22:56:36.156075119 -0500
 @@ -0,0 +1,1208 @@
 +/*
 + * SQ930x subdriver
 + *
-+ * Copyright (C) 2010 Jean-François Moine <http://moinejf.free.fr>
++ * Copyright (C) 2010 Jean-François Moine <http://moinejf.free.fr>
 + * Copyright (C) 2006 -2008 Gerard Klaver <gerard at gkall dot hobby dot nl>
 + * Copyright (C) 2007 Sam Revitch <samr7 at cs.washington.edu>
 + *
@@ -117711,10 +126570,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/sq930x.c
 +
 +module_init(sd_mod_init);
 +module_exit(sd_mod_exit);
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/stk014.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/stk014.c
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/stk014.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/stk014.c linux-2.6.35.media/drivers/media/video/gspca/stk014.c
+--- linux-2.6.35/drivers/media/video/gspca/stk014.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/stk014.c	2011-01-24 22:56:36.002074934 -0500
 @@ -27,34 +27,37 @@ MODULE_AUTHOR("Jean-Francois Moine <http
  MODULE_DESCRIPTION("Syntek DV4000 (STK014) USB Camera Driver");
  MODULE_LICENSE("GPL");
@@ -118092,10 +126950,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/stk014.c
  }
  
  module_init(sd_mod_init);
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/stv0680.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/stv0680.c
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/stv0680.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/stv0680.c linux-2.6.35.media/drivers/media/video/gspca/stv0680.c
+--- linux-2.6.35/drivers/media/video/gspca/stv0680.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/stv0680.c	2011-01-24 22:56:35.958074879 -0500
 @@ -1,7 +1,7 @@
  /*
   * STV0680 USB Camera Driver
@@ -118161,10 +127018,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/stv0680.c
  }
  
  module_init(sd_mod_init);
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/stv06xx/gspca_stv06xx.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/stv06xx/gspca_stv06xx.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/stv06xx/gspca_stv06xx.mod.c linux-2.6.35.media/drivers/media/video/gspca/stv06xx/gspca_stv06xx.mod.c
+--- linux-2.6.35/drivers/media/video/gspca/stv06xx/gspca_stv06xx.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/gspca/stv06xx/gspca_stv06xx.mod.c	2011-01-24 22:56:35.566074409 -0500
 @@ -0,0 +1,29 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -118195,10 +127051,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/stv06xx/gspca_stv06xx.mod.c
 +MODULE_ALIAS("usb:v046Dp08F6d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "81D8784FBA09258B2B32875");
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/stv06xx/stv06xx.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/stv06xx/stv06xx.c
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/stv06xx/stv06xx.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/stv06xx/stv06xx.c linux-2.6.35.media/drivers/media/video/gspca/stv06xx/stv06xx.c
+--- linux-2.6.35/drivers/media/video/gspca/stv06xx/stv06xx.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/stv06xx/stv06xx.c	2011-01-24 22:56:35.639074497 -0500
 @@ -189,7 +189,7 @@ int stv06xx_read_sensor(struct sd *sd, c
  			      0x04, 0x40, 0x1400, 0, buf, I2C_BUFFER_LENGTH,
  			      STV06XX_URB_MSG_TIMEOUT);
@@ -118332,10 +127187,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/stv06xx/stv06xx.c
  }
  
  module_init(sd_mod_init);
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/stv06xx/stv06xx.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/stv06xx/stv06xx.h
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/stv06xx/stv06xx.h
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/stv06xx/stv06xx.h linux-2.6.35.media/drivers/media/video/gspca/stv06xx/stv06xx.h
+--- linux-2.6.35/drivers/media/video/gspca/stv06xx/stv06xx.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/stv06xx/stv06xx.h	2011-01-24 22:56:35.585074433 -0500
 @@ -30,13 +30,14 @@
  #ifndef STV06XX_H_
  #define STV06XX_H_
@@ -118352,10 +127206,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/stv06xx/stv06xx.h
  
  /* Control registers of the STV0600 ASIC */
  #define STV_I2C_PARTNER			0x1420
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/stv06xx/stv06xx_hdcs.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/stv06xx/stv06xx_hdcs.c
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/stv06xx/stv06xx_hdcs.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/stv06xx/stv06xx_hdcs.c linux-2.6.35.media/drivers/media/video/gspca/stv06xx/stv06xx_hdcs.c
+--- linux-2.6.35/drivers/media/video/gspca/stv06xx/stv06xx_hdcs.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/stv06xx/stv06xx_hdcs.c	2011-01-24 22:56:35.590074438 -0500
 @@ -39,8 +39,8 @@ static const struct ctrl hdcs1x00_ctrl[]
  			.minimum	= 0x00,
  			.maximum	= 0xff,
@@ -118410,10 +127263,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/stv06xx/stv06xx_hdcs.c
  		reg += 2;
  	}
  
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/stv06xx/stv06xx_hdcs.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/stv06xx/stv06xx_hdcs.h
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/stv06xx/stv06xx_hdcs.h
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/stv06xx/stv06xx_hdcs.h linux-2.6.35.media/drivers/media/video/gspca/stv06xx/stv06xx_hdcs.h
+--- linux-2.6.35/drivers/media/video/gspca/stv06xx/stv06xx_hdcs.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/stv06xx/stv06xx_hdcs.h	2011-01-24 22:56:35.594074442 -0500
 @@ -37,7 +37,7 @@
  #define HDCS_REG_CONTROL(sd)	(IS_1020(sd) ? HDCS20_CONTROL : HDCS00_CONTROL)
  
@@ -118455,10 +127307,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/stv06xx/stv06xx_hdcs.h
  	{STV_Y_CTRL, 0x01},
  	{STV_X_CTRL, 0x0a}
  };
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/stv06xx/stv06xx_pb0100.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/stv06xx/stv06xx_pb0100.c
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/stv06xx/stv06xx_pb0100.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/stv06xx/stv06xx_pb0100.c linux-2.6.35.media/drivers/media/video/gspca/stv06xx/stv06xx_pb0100.c
+--- linux-2.6.35/drivers/media/video/gspca/stv06xx/stv06xx_pb0100.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/stv06xx/stv06xx_pb0100.c	2011-01-24 22:56:35.618074473 -0500
 @@ -208,11 +208,24 @@ static int pb0100_probe(struct sd *sd)
  
  static int pb0100_start(struct sd *sd)
@@ -118495,10 +127346,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/stv06xx/stv06xx_pb0100.c
  	/* Scan/timing for the sensor */
  	stv06xx_write_sensor(sd, PB_ROWSPEED, BIT(4)|BIT(3)|BIT(1));
  	stv06xx_write_sensor(sd, PB_CFILLIN, 14);
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/stv06xx/stv06xx_pb0100.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/stv06xx/stv06xx_pb0100.h
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/stv06xx/stv06xx_pb0100.h
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/stv06xx/stv06xx_pb0100.h linux-2.6.35.media/drivers/media/video/gspca/stv06xx/stv06xx_pb0100.h
+--- linux-2.6.35/drivers/media/video/gspca/stv06xx/stv06xx_pb0100.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/stv06xx/stv06xx_pb0100.h	2011-01-24 22:56:35.635074493 -0500
 @@ -138,6 +138,9 @@ const struct stv06xx_sensor stv06xx_sens
  	.i2c_addr = 0xba,
  	.i2c_len = 2,
@@ -118509,10 +127359,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/stv06xx/stv06xx_pb0100.h
  	.init = pb0100_init,
  	.probe = pb0100_probe,
  	.start = pb0100_start,
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/stv06xx/stv06xx_sensor.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/stv06xx/stv06xx_sensor.h
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/stv06xx/stv06xx_sensor.h
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/stv06xx/stv06xx_sensor.h linux-2.6.35.media/drivers/media/video/gspca/stv06xx/stv06xx_sensor.h
+--- linux-2.6.35/drivers/media/video/gspca/stv06xx/stv06xx_sensor.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/stv06xx/stv06xx_sensor.h	2011-01-24 22:56:35.577074423 -0500
 @@ -53,6 +53,10 @@ struct stv06xx_sensor {
  	/* length of an i2c word */
  	u8 i2c_len;
@@ -118524,10 +127373,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/stv06xx/stv06xx_sensor.h
  	/* Probes if the sensor is connected */
  	int (*probe)(struct sd *sd);
  
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/stv06xx/stv06xx_st6422.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/stv06xx/stv06xx_st6422.c
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/stv06xx/stv06xx_st6422.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/stv06xx/stv06xx_st6422.c linux-2.6.35.media/drivers/media/video/gspca/stv06xx/stv06xx_st6422.c
+--- linux-2.6.35/drivers/media/video/gspca/stv06xx/stv06xx_st6422.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/stv06xx/stv06xx_st6422.c	2011-01-24 22:56:35.630074488 -0500
 @@ -28,6 +28,20 @@
  
  #include "stv06xx_st6422.h"
@@ -118977,10 +127825,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/stv06xx/stv06xx_st6422.c
 +
 +	gspca_dev->usb_err = err;
  }
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/stv06xx/stv06xx_st6422.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/stv06xx/stv06xx_st6422.h
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/stv06xx/stv06xx_st6422.h
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/stv06xx/stv06xx_st6422.h linux-2.6.35.media/drivers/media/video/gspca/stv06xx/stv06xx_st6422.h
+--- linux-2.6.35/drivers/media/video/gspca/stv06xx/stv06xx_st6422.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/stv06xx/stv06xx_st6422.h	2011-01-24 22:56:35.555074396 -0500
 @@ -37,18 +37,11 @@ static int st6422_init(struct sd *sd);
  static int st6422_stop(struct sd *sd);
  static void st6422_disconnect(struct sd *sd);
@@ -119003,10 +127850,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/stv06xx/stv06xx_st6422.h
  	.init = st6422_init,
  	.probe = st6422_probe,
  	.start = st6422_start,
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/stv06xx/stv06xx_vv6410.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/stv06xx/stv06xx_vv6410.c
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/stv06xx/stv06xx_vv6410.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/stv06xx/stv06xx_vv6410.c linux-2.6.35.media/drivers/media/video/gspca/stv06xx/stv06xx_vv6410.c
+--- linux-2.6.35/drivers/media/video/gspca/stv06xx/stv06xx_vv6410.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/stv06xx/stv06xx_vv6410.c	2011-01-24 22:56:35.625074480 -0500
 @@ -66,7 +66,7 @@ static const struct ctrl vv6410_ctrl[] =
  			.minimum	= 0,
  			.maximum	= 1,
@@ -119016,10 +127862,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/stv06xx/stv06xx_vv6410.c
  		},
  		.set = vv6410_set_vflip,
  		.get = vv6410_get_vflip
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/stv06xx/stv06xx_vv6410.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/stv06xx/stv06xx_vv6410.h
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/stv06xx/stv06xx_vv6410.h
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/stv06xx/stv06xx_vv6410.h linux-2.6.35.media/drivers/media/video/gspca/stv06xx/stv06xx_vv6410.h
+--- linux-2.6.35/drivers/media/video/gspca/stv06xx/stv06xx_vv6410.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/stv06xx/stv06xx_vv6410.h	2011-01-24 22:56:35.614074466 -0500
 @@ -157,8 +157,8 @@
  /* Audio Amplifier Setup Register */
  #define VV6410_AT1			0x79
@@ -119061,10 +127906,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/stv06xx/stv06xx_vv6410.h
  };
  
  static const u8 vv6410_sensor_init[][2] = {
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/sunplus.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/sunplus.c
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/sunplus.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/sunplus.c linux-2.6.35.media/drivers/media/video/gspca/sunplus.c
+--- linux-2.6.35/drivers/media/video/gspca/sunplus.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/sunplus.c	2011-01-24 22:56:35.285074072 -0500
 @@ -54,7 +54,7 @@ struct sd {
  #define MegapixV4 4
  #define MegaImageVI 5
@@ -119227,10 +128071,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/sunplus.c
  }
  
  module_init(sd_mod_init);
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/t613.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/t613.c
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/t613.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/t613.c linux-2.6.35.media/drivers/media/video/gspca/t613.c
+--- linux-2.6.35/drivers/media/video/gspca/t613.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/t613.c	2011-01-24 22:56:35.953074874 -0500
 @@ -1,5 +1,7 @@
  /*
 - * V4L2 by Jean-Francois Moine <http://moinejf.free.fr>
@@ -120052,10 +128895,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/t613.c
  }
  
  module_init(sd_mod_init);
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/tv8532.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/tv8532.c
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/tv8532.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/tv8532.c linux-2.6.35.media/drivers/media/video/gspca/tv8532.c
+--- linux-2.6.35/drivers/media/video/gspca/tv8532.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/tv8532.c	2011-01-24 22:56:35.909074821 -0500
 @@ -30,29 +30,46 @@ MODULE_LICENSE("GPL");
  struct sd {
  	struct gspca_dev gspca_dev;	/* !! must be the first item */
@@ -120433,10 +129275,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/tv8532.c
  }
  
  module_init(sd_mod_init);
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/vc032x.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/vc032x.c
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/vc032x.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/vc032x.c linux-2.6.35.media/drivers/media/video/gspca/vc032x.c
+--- linux-2.6.35/drivers/media/video/gspca/vc032x.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/vc032x.c	2011-01-24 22:56:35.983074909 -0500
 @@ -39,28 +39,37 @@ struct sd {
  	u8 vflip;
  	u8 lightfreq;
@@ -121493,10 +130334,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/vc032x.c
  }
  
  module_init(sd_mod_init);
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/w996Xcf.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/w996Xcf.c
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/w996Xcf.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/w996Xcf.c linux-2.6.35.media/drivers/media/video/gspca/w996Xcf.c
+--- linux-2.6.35/drivers/media/video/gspca/w996Xcf.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/w996Xcf.c	2011-01-24 22:56:35.678074544 -0500
 @@ -31,14 +31,10 @@
     the sensor drivers to v4l2 sub drivers, and properly split of this
     driver from ov519.c */
@@ -122095,10 +130935,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/w996Xcf.c
  }
  
  /* The w9968cf docs say that a 0 sized packet means EOF (and also SOF
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/xirlink_cit.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/xirlink_cit.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/xirlink_cit.c linux-2.6.35.media/drivers/media/video/gspca/xirlink_cit.c
+--- linux-2.6.35/drivers/media/video/gspca/xirlink_cit.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/gspca/xirlink_cit.c	2011-01-24 22:56:36.032074970 -0500
 @@ -0,0 +1,3337 @@
 +/*
 + * USB IBM C-It Video Camera driver
@@ -125437,10 +134276,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/xirlink_cit.c
 +
 +module_init(sd_mod_init);
 +module_exit(sd_mod_exit);
-Index: linux-2.6.35.x86_64/drivers/media/video/gspca/zc3xx.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/gspca/zc3xx.c
-+++ linux-2.6.35.x86_64/drivers/media/video/gspca/zc3xx.c
+diff -Naurp linux-2.6.35/drivers/media/video/gspca/zc3xx.c linux-2.6.35.media/drivers/media/video/gspca/zc3xx.c
+--- linux-2.6.35/drivers/media/video/gspca/zc3xx.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/gspca/zc3xx.c	2011-01-24 22:56:35.096073847 -0500
 @@ -22,7 +22,6 @@
  #define MODULE_NAME "zc3xx"
  
@@ -129002,10 +137840,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/gspca/zc3xx.c
  }
  
  module_init(sd_mod_init);
-Index: linux-2.6.35.x86_64/drivers/media/video/hdpvr/hdpvr-control.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/hdpvr/hdpvr-control.c
-+++ linux-2.6.35.x86_64/drivers/media/video/hdpvr/hdpvr-control.c
+diff -Naurp linux-2.6.35/drivers/media/video/hdpvr/hdpvr-control.c linux-2.6.35.media/drivers/media/video/hdpvr/hdpvr-control.c
+--- linux-2.6.35/drivers/media/video/hdpvr/hdpvr-control.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/hdpvr/hdpvr-control.c	2011-01-24 22:56:31.591069742 -0500
 @@ -29,8 +29,6 @@ int hdpvr_config_call(struct hdpvr_devic
  	int ret;
  	char request_type = 0x38, snd_request = 0x01;
@@ -129025,10 +137862,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/hdpvr/hdpvr-control.c
  error:
  	return ret;
  }
-Index: linux-2.6.35.x86_64/drivers/media/video/hdpvr/hdpvr-core.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/hdpvr/hdpvr-core.c
-+++ linux-2.6.35.x86_64/drivers/media/video/hdpvr/hdpvr-core.c
+diff -Naurp linux-2.6.35/drivers/media/video/hdpvr/hdpvr-core.c linux-2.6.35.media/drivers/media/video/hdpvr/hdpvr-core.c
+--- linux-2.6.35/drivers/media/video/hdpvr/hdpvr-core.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/hdpvr/hdpvr-core.c	2011-01-24 22:57:33.945739733 -0500
 @@ -60,6 +60,7 @@ static struct usb_device_id hdpvr_table[
  	{ USB_DEVICE(HD_PVR_VENDOR_ID, HD_PVR_PRODUCT_ID1) },
  	{ USB_DEVICE(HD_PVR_VENDOR_ID, HD_PVR_PRODUCT_ID2) },
@@ -129130,10 +137966,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/hdpvr/hdpvr-core.c
  		/* this frees allocated memory */
  		hdpvr_delete(dev);
  	}
-Index: linux-2.6.35.x86_64/drivers/media/video/hdpvr/hdpvr.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/hdpvr/hdpvr.h
-+++ linux-2.6.35.x86_64/drivers/media/video/hdpvr/hdpvr.h
+diff -Naurp linux-2.6.35/drivers/media/video/hdpvr/hdpvr.h linux-2.6.35.media/drivers/media/video/hdpvr/hdpvr.h
+--- linux-2.6.35/drivers/media/video/hdpvr/hdpvr.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/hdpvr/hdpvr.h	2011-01-24 22:57:33.947739701 -0500
 @@ -16,6 +16,7 @@
  #include <linux/videodev2.h>
  
@@ -129194,10 +138029,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/hdpvr/hdpvr.h
  /*========================================================================*/
  /* buffer management */
  int hdpvr_free_buffers(struct hdpvr_device *dev);
-Index: linux-2.6.35.x86_64/drivers/media/video/hdpvr/hdpvr-i2c.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/hdpvr/hdpvr-i2c.c
-+++ linux-2.6.35.x86_64/drivers/media/video/hdpvr/hdpvr-i2c.c
+diff -Naurp linux-2.6.35/drivers/media/video/hdpvr/hdpvr-i2c.c linux-2.6.35.media/drivers/media/video/hdpvr/hdpvr-i2c.c
+--- linux-2.6.35/drivers/media/video/hdpvr/hdpvr-i2c.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/hdpvr/hdpvr-i2c.c	2011-01-24 22:57:33.946739714 -0500
 @@ -4,12 +4,17 @@
   *
   * Copyright (C) 2008      Janne Grunau (j at jannau.net)
@@ -129401,10 +138235,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/hdpvr/hdpvr-i2c.c
  }
 +
 +#endif
-Index: linux-2.6.35.x86_64/drivers/media/video/hdpvr/hdpvr.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/hdpvr/hdpvr.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/hdpvr/hdpvr.mod.c linux-2.6.35.media/drivers/media/video/hdpvr/hdpvr.mod.c
+--- linux-2.6.35/drivers/media/video/hdpvr/hdpvr.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/hdpvr/hdpvr.mod.c	2011-01-24 22:56:31.581069731 -0500
 @@ -0,0 +1,28 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -129434,10 +138267,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/hdpvr/hdpvr.mod.c
 +MODULE_ALIAS("usb:v2040p4903d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "C7E3C6545617C763E2AEBE6");
-Index: linux-2.6.35.x86_64/drivers/media/video/hdpvr/hdpvr-video.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/hdpvr/hdpvr-video.c
-+++ linux-2.6.35.x86_64/drivers/media/video/hdpvr/hdpvr-video.c
+diff -Naurp linux-2.6.35/drivers/media/video/hdpvr/hdpvr-video.c linux-2.6.35.media/drivers/media/video/hdpvr/hdpvr-video.c
+--- linux-2.6.35/drivers/media/video/hdpvr/hdpvr-video.c	2011-01-24 22:40:24.136424268 -0500
++++ linux-2.6.35.media/drivers/media/video/hdpvr/hdpvr-video.c	2011-01-24 22:56:31.611069766 -0500
 @@ -26,7 +26,7 @@
  #include <media/v4l2-ioctl.h>
  #include "hdpvr.h"
@@ -129489,10 +138321,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/hdpvr/hdpvr-video.c
  	mutex_unlock(&dev->i2c_mutex);
  #endif /* CONFIG_I2C */
  
-Index: linux-2.6.35.x86_64/drivers/media/video/hdpvr/Makefile
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/hdpvr/Makefile
-+++ linux-2.6.35.x86_64/drivers/media/video/hdpvr/Makefile
+diff -Naurp linux-2.6.35/drivers/media/video/hdpvr/Makefile linux-2.6.35.media/drivers/media/video/hdpvr/Makefile
+--- linux-2.6.35/drivers/media/video/hdpvr/Makefile	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/hdpvr/Makefile	2011-01-24 22:56:31.571069720 -0500
 @@ -1,6 +1,4 @@
 -hdpvr-objs	:= hdpvr-control.o hdpvr-core.o hdpvr-video.o
 -
@@ -129501,10 +138332,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/hdpvr/Makefile
  
  obj-$(CONFIG_VIDEO_HDPVR) += hdpvr.o
  
-Index: linux-2.6.35.x86_64/drivers/media/video/hexium_gemini.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/hexium_gemini.c
-+++ linux-2.6.35.x86_64/drivers/media/video/hexium_gemini.c
+diff -Naurp linux-2.6.35/drivers/media/video/hexium_gemini.c linux-2.6.35.media/drivers/media/video/hexium_gemini.c
+--- linux-2.6.35/drivers/media/video/hexium_gemini.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/hexium_gemini.c	2011-01-24 22:56:33.757072260 -0500
 @@ -37,15 +37,15 @@ static int hexium_num;
  
  #define HEXIUM_INPUTS	9
@@ -129538,10 +138368,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/hexium_gemini.c
  		.name = "hexium gemini",
  	};
  	saa7146_i2c_adapter_prepare(dev, &hexium->i2c_adapter, SAA7146_I2C_BUS_BIT_RATE_480);
-Index: linux-2.6.35.x86_64/drivers/media/video/hexium_gemini.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/hexium_gemini.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/hexium_gemini.mod.c linux-2.6.35.media/drivers/media/video/hexium_gemini.mod.c
+--- linux-2.6.35/drivers/media/video/hexium_gemini.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/hexium_gemini.mod.c	2011-01-24 22:56:33.747072247 -0500
 @@ -0,0 +1,25 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -129568,10 +138397,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/hexium_gemini.mod.c
 +MODULE_ALIAS("pci:v00001131d00007146sv000017C8sd00002402bc*sc*i*");
 +
 +MODULE_INFO(srcversion, "3AF0DD13449D2235A2D80A8");
-Index: linux-2.6.35.x86_64/drivers/media/video/hexium_orion.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/hexium_orion.c
-+++ linux-2.6.35.x86_64/drivers/media/video/hexium_orion.c
+diff -Naurp linux-2.6.35/drivers/media/video/hexium_orion.c linux-2.6.35.media/drivers/media/video/hexium_orion.c
+--- linux-2.6.35/drivers/media/video/hexium_orion.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/hexium_orion.c	2011-01-24 22:56:33.090071477 -0500
 @@ -38,15 +38,15 @@ static int hexium_num;
  
  #define HEXIUM_INPUTS	9
@@ -129605,10 +138433,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/hexium_orion.c
  		.name = "hexium orion",
  	};
  	saa7146_i2c_adapter_prepare(dev, &hexium->i2c_adapter, SAA7146_I2C_BUS_BIT_RATE_480);
-Index: linux-2.6.35.x86_64/drivers/media/video/hexium_orion.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/hexium_orion.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/hexium_orion.mod.c linux-2.6.35.media/drivers/media/video/hexium_orion.mod.c
+--- linux-2.6.35/drivers/media/video/hexium_orion.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/hexium_orion.mod.c	2011-01-24 22:56:38.415077884 -0500
 @@ -0,0 +1,26 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -129636,10 +138463,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/hexium_orion.mod.c
 +MODULE_ALIAS("pci:v00001131d00007146sv000017C8sd00002101bc*sc*i*");
 +
 +MODULE_INFO(srcversion, "021703E27CF78A9F2FD33F9");
-Index: linux-2.6.35.x86_64/drivers/media/video/imx074.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/imx074.c
+diff -Naurp linux-2.6.35/drivers/media/video/imx074.c linux-2.6.35.media/drivers/media/video/imx074.c
+--- linux-2.6.35/drivers/media/video/imx074.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/imx074.c	2011-01-24 22:56:37.264076466 -0500
 @@ -0,0 +1,505 @@
 +/*
 + * Driver for IMX074 CMOS Image Sensor from Sony
@@ -130146,10 +138972,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/imx074.c
 +MODULE_DESCRIPTION("Sony IMX074 Camera driver");
 +MODULE_AUTHOR("Guennadi Liakhovetski <g.liakhovetski at gmx.de>");
 +MODULE_LICENSE("GPL v2");
-Index: linux-2.6.35.x86_64/drivers/media/video/indycam.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/indycam.c
-+++ linux-2.6.35.x86_64/drivers/media/video/indycam.c
+diff -Naurp linux-2.6.35/drivers/media/video/indycam.c linux-2.6.35.media/drivers/media/video/indycam.c
+--- linux-2.6.35/drivers/media/video/indycam.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/indycam.c	2011-01-24 22:56:37.575076847 -0500
 @@ -24,7 +24,6 @@
  #include <linux/i2c.h>
  #include <media/v4l2-device.h>
@@ -130189,10 +139014,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/indycam.c
 +
 +module_init(init_indycam);
 +module_exit(exit_indycam);
-Index: linux-2.6.35.x86_64/drivers/media/video/ir-kbd-i2c.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/ir-kbd-i2c.c
-+++ linux-2.6.35.x86_64/drivers/media/video/ir-kbd-i2c.c
+diff -Naurp linux-2.6.35/drivers/media/video/ir-kbd-i2c.c linux-2.6.35.media/drivers/media/video/ir-kbd-i2c.c
+--- linux-2.6.35/drivers/media/video/ir-kbd-i2c.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/ir-kbd-i2c.c	2011-01-24 22:57:33.948739686 -0500
 @@ -44,10 +44,9 @@
  #include <linux/errno.h>
  #include <linux/slab.h>
@@ -130487,10 +139311,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/ir-kbd-i2c.c
  	{ }
  };
  
-Index: linux-2.6.35.x86_64/drivers/media/video/ir-kbd-i2c.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/ir-kbd-i2c.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/ir-kbd-i2c.mod.c linux-2.6.35.media/drivers/media/video/ir-kbd-i2c.mod.c
+--- linux-2.6.35/drivers/media/video/ir-kbd-i2c.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/ir-kbd-i2c.mod.c	2011-01-24 22:56:36.749075840 -0500
 @@ -0,0 +1,23 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -130515,10 +139338,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/ir-kbd-i2c.mod.c
 +
 +
 +MODULE_INFO(srcversion, "2DDB83F011EFCEE6F2BDA53");
-Index: linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-cards.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/ivtv/ivtv-cards.c
-+++ linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-cards.c
+diff -Naurp linux-2.6.35/drivers/media/video/ivtv/ivtv-cards.c linux-2.6.35.media/drivers/media/video/ivtv/ivtv-cards.c
+--- linux-2.6.35/drivers/media/video/ivtv/ivtv-cards.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/ivtv/ivtv-cards.c	2011-01-24 22:56:31.900070096 -0500
 @@ -65,7 +65,7 @@ static struct ivtv_card_tuner_i2c ivtv_i
  
  /********************** card configuration *******************************/
@@ -130554,10 +139376,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-cards.c
  	if (index >= itv->card->nof_outputs)
  		return -EINVAL;
  	output->index = index;
-Index: linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-cards.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/ivtv/ivtv-cards.h
-+++ linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-cards.h
+diff -Naurp linux-2.6.35/drivers/media/video/ivtv/ivtv-cards.h linux-2.6.35.media/drivers/media/video/ivtv/ivtv-cards.h
+--- linux-2.6.35/drivers/media/video/ivtv/ivtv-cards.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/ivtv/ivtv-cards.h	2011-01-24 22:56:32.004070216 -0500
 @@ -111,6 +111,7 @@
  #define IVTV_HW_I2C_IR_RX_HAUP_INT	(1 << 18)
  #define IVTV_HW_Z8F0811_IR_TX_HAUP	(1 << 19)
@@ -130576,10 +139397,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-cards.h
  
  #define IVTV_HW_IR_TX_ANY (IVTV_HW_Z8F0811_IR_TX_HAUP)
  
-Index: linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-controls.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/ivtv/ivtv-controls.c
-+++ linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-controls.c
+diff -Naurp linux-2.6.35/drivers/media/video/ivtv/ivtv-controls.c linux-2.6.35.media/drivers/media/video/ivtv/ivtv-controls.c
+--- linux-2.6.35/drivers/media/video/ivtv/ivtv-controls.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/ivtv/ivtv-controls.c	2011-01-24 22:56:32.078070302 -0500
 @@ -17,163 +17,14 @@
      along with this program; if not, write to the Free Software
      Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
@@ -130883,10 +139703,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-controls.c
 +	.s_video_encoding = ivtv_s_video_encoding,
 +	.s_stream_vbi_fmt = ivtv_s_stream_vbi_fmt,
 +};
-Index: linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-controls.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/ivtv/ivtv-controls.h
-+++ linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-controls.h
+diff -Naurp linux-2.6.35/drivers/media/video/ivtv/ivtv-controls.h linux-2.6.35.media/drivers/media/video/ivtv/ivtv-controls.h
+--- linux-2.6.35/drivers/media/video/ivtv/ivtv-controls.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/ivtv/ivtv-controls.h	2011-01-24 22:56:32.129070361 -0500
 @@ -21,10 +21,6 @@
  #ifndef IVTV_CONTROLS_H
  #define IVTV_CONTROLS_H
@@ -130899,10 +139718,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-controls.h
 +extern struct cx2341x_handler_ops ivtv_cxhdl_ops;
  
  #endif
-Index: linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-driver.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/ivtv/ivtv-driver.c
-+++ linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-driver.c
+diff -Naurp linux-2.6.35/drivers/media/video/ivtv/ivtv-driver.c linux-2.6.35.media/drivers/media/video/ivtv/ivtv-driver.c
+--- linux-2.6.35/drivers/media/video/ivtv/ivtv-driver.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/ivtv/ivtv-driver.c	2011-01-24 22:56:32.014070228 -0500
 @@ -53,6 +53,7 @@
  #include "ivtv-cards.h"
  #include "ivtv-vbi.h"
@@ -131069,10 +139887,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-driver.c
  
  module_init(module_start);
  module_exit(module_cleanup);
-Index: linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-driver.c.orig
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-driver.c.orig
+diff -Naurp linux-2.6.35/drivers/media/video/ivtv/ivtv-driver.c.orig linux-2.6.35.media/drivers/media/video/ivtv/ivtv-driver.c.orig
+--- linux-2.6.35/drivers/media/video/ivtv/ivtv-driver.c.orig	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/ivtv/ivtv-driver.c.orig	2011-01-24 22:56:31.993070203 -0500
 @@ -0,0 +1,1474 @@
 +/*
 +    ivtv driver initialization and card probing
@@ -132548,10 +141365,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-driver.c.orig
 +
 +module_init(module_start);
 +module_exit(module_cleanup);
-Index: linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-driver.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/ivtv/ivtv-driver.h
-+++ linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-driver.h
+diff -Naurp linux-2.6.35/drivers/media/video/ivtv/ivtv-driver.h linux-2.6.35.media/drivers/media/video/ivtv/ivtv-driver.h
+--- linux-2.6.35/drivers/media/video/ivtv/ivtv-driver.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/ivtv/ivtv-driver.h	2011-01-24 22:56:31.775069954 -0500
 @@ -62,6 +62,7 @@
  #include <linux/dvb/audio.h>
  #include <media/v4l2-common.h>
@@ -132622,10 +141438,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-driver.h
  
  #define ivtv_call_all_err(itv, o, f, args...) ivtv_call_hw_err(itv, 0, o, f , ##args)
  
-Index: linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtvfb.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/ivtv/ivtvfb.c
-+++ linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtvfb.c
+diff -Naurp linux-2.6.35/drivers/media/video/ivtv/ivtvfb.c linux-2.6.35.media/drivers/media/video/ivtv/ivtvfb.c
+--- linux-2.6.35/drivers/media/video/ivtv/ivtvfb.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/ivtv/ivtvfb.c	2011-01-24 22:56:32.057070277 -0500
 @@ -53,6 +53,7 @@
  #include "ivtv-i2c.h"
  #include "ivtv-udma.h"
@@ -132777,10 +141592,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtvfb.c
  		ivtvfb_blank(FB_BLANK_VSYNC_SUSPEND, &oi->ivtvfb_info);
  		ivtvfb_release_buffers(itv);
  		itv->osd_video_pbase = 0;
-Index: linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtvfb.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtvfb.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/ivtv/ivtvfb.mod.c linux-2.6.35.media/drivers/media/video/ivtv/ivtvfb.mod.c
+--- linux-2.6.35/drivers/media/video/ivtv/ivtvfb.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/ivtv/ivtvfb.mod.c	2011-01-24 22:56:31.931070133 -0500
 @@ -0,0 +1,23 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -132805,10 +141619,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtvfb.mod.c
 +
 +
 +MODULE_INFO(srcversion, "6B3A30F5538AEAD09FEADED");
-Index: linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-fileops.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/ivtv/ivtv-fileops.c
-+++ linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-fileops.c
+diff -Naurp linux-2.6.35/drivers/media/video/ivtv/ivtv-fileops.c linux-2.6.35.media/drivers/media/video/ivtv/ivtv-fileops.c
+--- linux-2.6.35/drivers/media/video/ivtv/ivtv-fileops.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/ivtv/ivtv-fileops.c	2011-01-24 22:56:32.046070264 -0500
 @@ -32,6 +32,7 @@
  #include "ivtv-yuv.h"
  #include "ivtv-ioctl.h"
@@ -132930,10 +141743,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-fileops.c
  	if (s->type == IVTV_DEC_STREAM_TYPE_MPG &&
  		test_bit(IVTV_F_S_CLAIMED, &itv->streams[IVTV_DEC_STREAM_TYPE_YUV].s_flags))
  		return -EBUSY;
-Index: linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-firmware.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/ivtv/ivtv-firmware.c
-+++ linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-firmware.c
+diff -Naurp linux-2.6.35/drivers/media/video/ivtv/ivtv-firmware.c linux-2.6.35.media/drivers/media/video/ivtv/ivtv-firmware.c
+--- linux-2.6.35/drivers/media/video/ivtv/ivtv-firmware.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/ivtv/ivtv-firmware.c	2011-01-24 22:56:31.983070192 -0500
 @@ -23,7 +23,10 @@
  #include "ivtv-mailbox.h"
  #include "ivtv-firmware.h"
@@ -133081,10 +141893,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-firmware.c
 +
 +	return res;
 +}
-Index: linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-firmware.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/ivtv/ivtv-firmware.h
-+++ linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-firmware.h
+diff -Naurp linux-2.6.35/drivers/media/video/ivtv/ivtv-firmware.h linux-2.6.35.media/drivers/media/video/ivtv/ivtv-firmware.h
+--- linux-2.6.35/drivers/media/video/ivtv/ivtv-firmware.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/ivtv/ivtv-firmware.h	2011-01-24 22:56:31.868070060 -0500
 @@ -26,5 +26,6 @@ int ivtv_firmware_init(struct ivtv *itv)
  void ivtv_firmware_versions(struct ivtv *itv);
  void ivtv_halt_firmware(struct ivtv *itv);
@@ -133092,10 +141903,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-firmware.h
 +int ivtv_firmware_check(struct ivtv *itv, char *where);
  
  #endif
-Index: linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-gpio.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/ivtv/ivtv-gpio.c
-+++ linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-gpio.c
+diff -Naurp linux-2.6.35/drivers/media/video/ivtv/ivtv-gpio.c linux-2.6.35.media/drivers/media/video/ivtv/ivtv-gpio.c
+--- linux-2.6.35/drivers/media/video/ivtv/ivtv-gpio.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/ivtv/ivtv-gpio.c	2011-01-24 22:56:31.827070013 -0500
 @@ -24,6 +24,7 @@
  #include "ivtv-gpio.h"
  #include "tuner-xc2028.h"
@@ -133222,10 +142032,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-gpio.c
 +	v4l2_ctrl_handler_setup(&itv->hdl_gpio);
  	return v4l2_device_register_subdev(&itv->v4l2_dev, &itv->sd_gpio);
  }
-Index: linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-i2c.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/ivtv/ivtv-i2c.c
-+++ linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-i2c.c
+diff -Naurp linux-2.6.35/drivers/media/video/ivtv/ivtv-i2c.c linux-2.6.35.media/drivers/media/video/ivtv/ivtv-i2c.c
+--- linux-2.6.35/drivers/media/video/ivtv/ivtv-i2c.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/ivtv/ivtv-i2c.c	2011-01-24 22:56:32.140070374 -0500
 @@ -63,6 +63,7 @@
  #include "ivtv-cards.h"
  #include "ivtv-gpio.h"
@@ -133442,10 +142251,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-i2c.c
  		IVTV_ERR("Mismatched I2C hardware arrays\n");
  		return -ENODEV;
  	}
-Index: linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-ioctl.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/ivtv/ivtv-ioctl.c
-+++ linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-ioctl.c
+diff -Naurp linux-2.6.35/drivers/media/video/ivtv/ivtv-ioctl.c linux-2.6.35.media/drivers/media/video/ivtv/ivtv-ioctl.c
+--- linux-2.6.35/drivers/media/video/ivtv/ivtv-ioctl.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/ivtv/ivtv-ioctl.c	2011-01-24 22:56:31.764069941 -0500
 @@ -37,7 +37,6 @@
  #include <media/v4l2-chip-ident.h>
  #include <media/v4l2-event.h>
@@ -133546,10 +142354,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-ioctl.c
  	.vidioc_subscribe_event 	    = ivtv_subscribe_event,
  	.vidioc_unsubscribe_event 	    = v4l2_event_unsubscribe,
  };
-Index: linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-mailbox.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/ivtv/ivtv-mailbox.c
-+++ linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-mailbox.c
+diff -Naurp linux-2.6.35/drivers/media/video/ivtv/ivtv-mailbox.c linux-2.6.35.media/drivers/media/video/ivtv/ivtv-mailbox.c
+--- linux-2.6.35/drivers/media/video/ivtv/ivtv-mailbox.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/ivtv/ivtv-mailbox.c	2011-01-24 22:56:31.858070048 -0500
 @@ -377,3 +377,11 @@ void ivtv_api_get_data(struct ivtv_mailb
  	for (i = 0; i < argc; i++, p++)
  		data[i] = readl(p);
@@ -133562,10 +142369,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-mailbox.c
 +	for (i = 0; i < 256; i++)
 +		itv->api_cache[i].last_jiffies = 0;
 +}
-Index: linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-mailbox.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/ivtv/ivtv-mailbox.h
-+++ linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-mailbox.h
+diff -Naurp linux-2.6.35/drivers/media/video/ivtv/ivtv-mailbox.h linux-2.6.35.media/drivers/media/video/ivtv/ivtv-mailbox.h
+--- linux-2.6.35/drivers/media/video/ivtv/ivtv-mailbox.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/ivtv/ivtv-mailbox.h	2011-01-24 22:56:32.161070399 -0500
 @@ -30,5 +30,6 @@ int ivtv_api(struct ivtv *itv, int cmd, 
  int ivtv_vapi_result(struct ivtv *itv, u32 data[CX2341X_MBOX_MAX_DATA], int cmd, int args, ...);
  int ivtv_vapi(struct ivtv *itv, int cmd, int args, ...);
@@ -133573,10 +142379,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-mailbox.h
 +void ivtv_mailbox_cache_invalidate(struct ivtv *itv);
  
  #endif
-Index: linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/ivtv/ivtv.mod.c linux-2.6.35.media/drivers/media/video/ivtv/ivtv.mod.c
+--- linux-2.6.35/drivers/media/video/ivtv/ivtv.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/ivtv/ivtv.mod.c	2011-01-24 22:56:31.962070168 -0500
 @@ -0,0 +1,25 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -133603,10 +142408,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv.mod.c
 +MODULE_ALIAS("pci:v00004444d00000016sv*sd*bc*sc*i*");
 +
 +MODULE_INFO(srcversion, "022C275F35256F606B741D6");
-Index: linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-streams.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/ivtv/ivtv-streams.c
-+++ linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-streams.c
+diff -Naurp linux-2.6.35/drivers/media/video/ivtv/ivtv-streams.c linux-2.6.35.media/drivers/media/video/ivtv/ivtv-streams.c
+--- linux-2.6.35/drivers/media/video/ivtv/ivtv-streams.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/ivtv/ivtv-streams.c	2011-01-24 22:56:31.920070120 -0500
 @@ -42,6 +42,7 @@
  #include "ivtv-yuv.h"
  #include "ivtv-cards.h"
@@ -133748,10 +142552,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-streams.c
  
  	return 0;
  }
-Index: linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-vbi.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/ivtv/ivtv-vbi.c
-+++ linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-vbi.c
+diff -Naurp linux-2.6.35/drivers/media/video/ivtv/ivtv-vbi.c linux-2.6.35.media/drivers/media/video/ivtv/ivtv-vbi.c
+--- linux-2.6.35/drivers/media/video/ivtv/ivtv-vbi.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/ivtv/ivtv-vbi.c	2011-01-24 22:56:31.785069965 -0500
 @@ -92,52 +92,95 @@ static int odd_parity(u8 c)
  	return c & 1;
  }
@@ -133883,10 +142686,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-vbi.c
  }
  
  static void copy_vbi_data(struct ivtv *itv, int lines, u32 pts_stamp)
-Index: linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-vbi.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/ivtv/ivtv-vbi.h
-+++ linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-vbi.h
+diff -Naurp linux-2.6.35/drivers/media/video/ivtv/ivtv-vbi.h linux-2.6.35.media/drivers/media/video/ivtv/ivtv-vbi.h
+--- linux-2.6.35/drivers/media/video/ivtv/ivtv-vbi.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/ivtv/ivtv-vbi.h	2011-01-24 22:56:32.088070314 -0500
 @@ -20,7 +20,10 @@
  #ifndef IVTV_VBI_H
  #define IVTV_VBI_H
@@ -133899,10 +142701,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-vbi.h
  void ivtv_process_vbi_data(struct ivtv *itv, struct ivtv_buffer *buf,
  			   u64 pts_stamp, int streamtype);
  int ivtv_used_line(struct ivtv *itv, int line, int field);
-Index: linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-version.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/ivtv/ivtv-version.h
-+++ linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-version.h
+diff -Naurp linux-2.6.35/drivers/media/video/ivtv/ivtv-version.h linux-2.6.35.media/drivers/media/video/ivtv/ivtv-version.h
+--- linux-2.6.35/drivers/media/video/ivtv/ivtv-version.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/ivtv/ivtv-version.h	2011-01-24 22:56:32.119070349 -0500
 @@ -23,7 +23,7 @@
  #define IVTV_DRIVER_NAME "ivtv"
  #define IVTV_DRIVER_VERSION_MAJOR 1
@@ -133912,10 +142713,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/ivtv/ivtv-version.h
  
  #define IVTV_VERSION __stringify(IVTV_DRIVER_VERSION_MAJOR) "." __stringify(IVTV_DRIVER_VERSION_MINOR) "." __stringify(IVTV_DRIVER_VERSION_PATCHLEVEL)
  #define IVTV_DRIVER_VERSION KERNEL_VERSION(IVTV_DRIVER_VERSION_MAJOR,IVTV_DRIVER_VERSION_MINOR,IVTV_DRIVER_VERSION_PATCHLEVEL)
-Index: linux-2.6.35.x86_64/drivers/media/video/ivtv/Kconfig
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/ivtv/Kconfig
-+++ linux-2.6.35.x86_64/drivers/media/video/ivtv/Kconfig
+diff -Naurp linux-2.6.35/drivers/media/video/ivtv/Kconfig linux-2.6.35.media/drivers/media/video/ivtv/Kconfig
+--- linux-2.6.35/drivers/media/video/ivtv/Kconfig	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/ivtv/Kconfig	2011-01-24 22:56:31.972070180 -0500
 @@ -1,9 +1,8 @@
  config VIDEO_IVTV
  	tristate "Conexant cx23416/cx23415 MPEG encoder/decoder support"
@@ -133927,10 +142727,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/ivtv/Kconfig
  	select VIDEO_TUNER
  	select VIDEO_TVEEPROM
  	select VIDEO_CX2341X
-Index: linux-2.6.35.x86_64/drivers/media/video/Kconfig
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/Kconfig
-+++ linux-2.6.35.x86_64/drivers/media/video/Kconfig
+diff -Naurp linux-2.6.35/drivers/media/video/Kconfig linux-2.6.35.media/drivers/media/video/Kconfig
+--- linux-2.6.35/drivers/media/video/Kconfig	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/Kconfig	2011-01-24 22:56:36.217075194 -0500
 @@ -7,11 +7,6 @@ config VIDEO_V4L2
  	depends on VIDEO_DEV && VIDEO_V4L2_COMMON
  	default VIDEO_DEV && VIDEO_V4L2_COMMON
@@ -133993,6 +142792,15 @@ Index: linux-2.6.35.x86_64/drivers/media/video/Kconfig
  	default y
  	---help---
  	  Most boards have an IR chip directly connected via GPIO. However,
+@@ -112,7 +129,7 @@ config VIDEO_IR_I2C
+ #
+ 
+ menu "Encoders/decoders and other helper chips"
+-	depends on !VIDEO_HELPER_CHIPS_AUTO
++	depends on !VIDEO_HELPER_CHIPS_AUTO
+ 
+ comment "Audio decoders"
+ 
 @@ -146,15 +163,6 @@ config VIDEO_TDA9840
  	  To compile this driver as a module, choose M here: the
  	  module will be called tda9840.
@@ -134494,10 +143302,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/Kconfig
 +	  (video postprocessor)
 +
  endif # V4L_MEM2MEM_DRIVERS
-Index: linux-2.6.35.x86_64/drivers/media/video/ks0127.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/ks0127.c
-+++ linux-2.6.35.x86_64/drivers/media/video/ks0127.c
+diff -Naurp linux-2.6.35/drivers/media/video/ks0127.c linux-2.6.35.media/drivers/media/video/ks0127.c
+--- linux-2.6.35/drivers/media/video/ks0127.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/ks0127.c	2011-01-24 22:56:33.798072307 -0500
 @@ -43,7 +43,6 @@
  #include <linux/slab.h>
  #include <media/v4l2-device.h>
@@ -134537,10 +143344,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/ks0127.c
 +
 +module_init(init_ks0127);
 +module_exit(exit_ks0127);
-Index: linux-2.6.35.x86_64/drivers/media/video/ks0127.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/ks0127.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/ks0127.mod.c linux-2.6.35.media/drivers/media/video/ks0127.mod.c
+--- linux-2.6.35/drivers/media/video/ks0127.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/ks0127.mod.c	2011-01-24 22:56:38.302077743 -0500
 @@ -0,0 +1,26 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -134568,10 +143374,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/ks0127.mod.c
 +MODULE_ALIAS("i2c:ks0122s");
 +
 +MODULE_INFO(srcversion, "543A0F28C12213916B68624");
-Index: linux-2.6.35.x86_64/drivers/media/video/m52790.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/m52790.c
-+++ linux-2.6.35.x86_64/drivers/media/video/m52790.c
+diff -Naurp linux-2.6.35/drivers/media/video/m52790.c linux-2.6.35.media/drivers/media/video/m52790.c
+--- linux-2.6.35/drivers/media/video/m52790.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/m52790.c	2011-01-24 22:56:33.059071440 -0500
 @@ -26,12 +26,10 @@
  #include <linux/ioctl.h>
  #include <asm/uaccess.h>
@@ -134616,10 +143421,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/m52790.c
 +
 +module_init(init_m52790);
 +module_exit(exit_m52790);
-Index: linux-2.6.35.x86_64/drivers/media/video/m52790.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/m52790.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/m52790.mod.c linux-2.6.35.media/drivers/media/video/m52790.mod.c
+--- linux-2.6.35/drivers/media/video/m52790.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/m52790.mod.c	2011-01-24 22:56:36.318075316 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -134645,10 +143449,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/m52790.mod.c
 +MODULE_ALIAS("i2c:m52790");
 +
 +MODULE_INFO(srcversion, "45AD3791D81FCB292238694");
-Index: linux-2.6.35.x86_64/drivers/media/video/Makefile
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/Makefile
-+++ linux-2.6.35.x86_64/drivers/media/video/Makefile
+diff -Naurp linux-2.6.35/drivers/media/video/Makefile linux-2.6.35.media/drivers/media/video/Makefile
+--- linux-2.6.35/drivers/media/video/Makefile	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/Makefile	2011-01-24 22:56:31.703069871 -0500
 @@ -11,7 +11,7 @@ stkwebcam-objs	:=	stk-webcam.o stk-senso
  omap2cam-objs	:=	omap24xxcam.o omap24xxcam-dma.o
  
@@ -134791,10 +143594,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/Makefile
  
  obj-$(CONFIG_ARCH_OMAP)	+= omap/
  
-Index: linux-2.6.35.x86_64/drivers/media/video/mem2mem_testdev.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/mem2mem_testdev.c
-+++ linux-2.6.35.x86_64/drivers/media/video/mem2mem_testdev.c
+diff -Naurp linux-2.6.35/drivers/media/video/mem2mem_testdev.c linux-2.6.35.media/drivers/media/video/mem2mem_testdev.c
+--- linux-2.6.35/drivers/media/video/mem2mem_testdev.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/mem2mem_testdev.c	2011-01-24 22:56:37.615076897 -0500
 @@ -28,7 +28,7 @@
  #include <media/v4l2-mem2mem.h>
  #include <media/v4l2-device.h>
@@ -135258,10 +144060,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/mem2mem_testdev.c
  	v4l2_device_unregister(&dev->v4l2_dev);
  	kfree(dev);
  
-Index: linux-2.6.35.x86_64/drivers/media/video/meye.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/meye.c
-+++ linux-2.6.35.x86_64/drivers/media/video/meye.c
+diff -Naurp linux-2.6.35/drivers/media/video/meye.c linux-2.6.35.media/drivers/media/video/meye.c
+--- linux-2.6.35/drivers/media/video/meye.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/meye.c	2011-01-24 22:56:35.043073782 -0500
 @@ -1659,7 +1659,7 @@ static const struct v4l2_file_operations
  	.open		= meye_open,
  	.release	= meye_release,
@@ -135297,10 +144098,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/meye.c
  	v4l2_info(v4l2_dev, "Motion Eye Camera Driver v%s.\n",
  	       MEYE_DRIVER_VERSION);
  	v4l2_info(v4l2_dev, "mchip KL5A72002 rev. %d, base %lx, irq %d\n",
-Index: linux-2.6.35.x86_64/drivers/media/video/meye.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/meye.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/meye.mod.c linux-2.6.35.media/drivers/media/video/meye.mod.c
+--- linux-2.6.35/drivers/media/video/meye.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/meye.mod.c	2011-01-24 22:56:36.555075603 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -135326,10 +144126,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/meye.mod.c
 +MODULE_ALIAS("pci:v0000136Bd0000FF01sv*sd*bc*sc*i*");
 +
 +MODULE_INFO(srcversion, "B65B6C6AAE605D841095196");
-Index: linux-2.6.35.x86_64/drivers/media/video/msp3400-driver.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/msp3400-driver.c
-+++ linux-2.6.35.x86_64/drivers/media/video/msp3400-driver.c
+diff -Naurp linux-2.6.35/drivers/media/video/msp3400-driver.c linux-2.6.35.media/drivers/media/video/msp3400-driver.c
+--- linux-2.6.35/drivers/media/video/msp3400-driver.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/msp3400-driver.c	2011-01-24 22:56:32.171070409 -0500
 @@ -56,7 +56,6 @@
  #include <linux/videodev2.h>
  #include <media/v4l2-device.h>
@@ -135740,10 +144539,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/msp3400-driver.c
  /*
   * Overrides for Emacs so that we follow Linus's tabbing style.
   * ---------------------------------------------------------------------------
-Index: linux-2.6.35.x86_64/drivers/media/video/msp3400-driver.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/msp3400-driver.h
-+++ linux-2.6.35.x86_64/drivers/media/video/msp3400-driver.h
+diff -Naurp linux-2.6.35/drivers/media/video/msp3400-driver.h linux-2.6.35.media/drivers/media/video/msp3400-driver.h
+--- linux-2.6.35/drivers/media/video/msp3400-driver.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/msp3400-driver.h	2011-01-24 22:56:33.911072440 -0500
 @@ -6,6 +6,7 @@
  
  #include <media/msp3400.h>
@@ -135797,10 +144595,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/msp3400-driver.h
  int msp_sleep(struct msp_state *state, int timeout);
  
  /* msp3400-kthreads.c */
-Index: linux-2.6.35.x86_64/drivers/media/video/msp3400-kthreads.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/msp3400-kthreads.c
-+++ linux-2.6.35.x86_64/drivers/media/video/msp3400-kthreads.c
+diff -Naurp linux-2.6.35/drivers/media/video/msp3400-kthreads.c linux-2.6.35.media/drivers/media/video/msp3400-kthreads.c
+--- linux-2.6.35/drivers/media/video/msp3400-kthreads.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/msp3400-kthreads.c	2011-01-24 22:56:36.565075615 -0500
 @@ -496,13 +496,13 @@ restart:
  			v4l_dbg(1, msp_debug, client,
  				"thread: no carrier scan\n");
@@ -135869,10 +144666,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/msp3400-kthreads.c
  
  		/* restore ACB */
  		if (msp_write_dsp(client, 0x13, state->acb))
-Index: linux-2.6.35.x86_64/drivers/media/video/msp3400.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/msp3400.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/msp3400.mod.c linux-2.6.35.media/drivers/media/video/msp3400.mod.c
+--- linux-2.6.35/drivers/media/video/msp3400.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/msp3400.mod.c	2011-01-24 22:56:34.298072897 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -135898,10 +144694,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/msp3400.mod.c
 +MODULE_ALIAS("i2c:msp3400");
 +
 +MODULE_INFO(srcversion, "15A909140D67CE6283A46F8");
-Index: linux-2.6.35.x86_64/drivers/media/video/mt9m001.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/mt9m001.c
-+++ linux-2.6.35.x86_64/drivers/media/video/mt9m001.c
+diff -Naurp linux-2.6.35/drivers/media/video/mt9m001.c linux-2.6.35.media/drivers/media/video/mt9m001.c
+--- linux-2.6.35/drivers/media/video/mt9m001.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/mt9m001.c	2011-01-24 22:56:32.263070516 -0500
 @@ -157,7 +157,7 @@ static int mt9m001_init(struct i2c_clien
  
  static int mt9m001_s_stream(struct v4l2_subdev *sd, int enable)
@@ -136027,10 +144822,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/mt9m001.c
  	kfree(mt9m001);
  
  	return 0;
-Index: linux-2.6.35.x86_64/drivers/media/video/mt9m001.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/mt9m001.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/mt9m001.mod.c linux-2.6.35.media/drivers/media/video/mt9m001.mod.c
+--- linux-2.6.35/drivers/media/video/mt9m001.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/mt9m001.mod.c	2011-01-24 22:56:36.237075218 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -136056,10 +144850,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/mt9m001.mod.c
 +MODULE_ALIAS("i2c:mt9m001");
 +
 +MODULE_INFO(srcversion, "088BC780B95A4BAD75C0321");
-Index: linux-2.6.35.x86_64/drivers/media/video/mt9m111.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/mt9m111.c
-+++ linux-2.6.35.x86_64/drivers/media/video/mt9m111.c
+diff -Naurp linux-2.6.35/drivers/media/video/mt9m111.c linux-2.6.35.media/drivers/media/video/mt9m111.c
+--- linux-2.6.35/drivers/media/video/mt9m111.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/mt9m111.c	2011-01-24 22:56:37.027076176 -0500
 @@ -1,5 +1,5 @@
  /*
 - * Driver for MT9M111/MT9M112 CMOS Image Sensor from Micron
@@ -136385,10 +145178,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/mt9m111.c
 +MODULE_DESCRIPTION("Micron/Aptina MT9M111/MT9M112/MT9M131 Camera driver");
  MODULE_AUTHOR("Robert Jarzmik");
  MODULE_LICENSE("GPL");
-Index: linux-2.6.35.x86_64/drivers/media/video/mt9m111.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/mt9m111.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/mt9m111.mod.c linux-2.6.35.media/drivers/media/video/mt9m111.mod.c
+--- linux-2.6.35/drivers/media/video/mt9m111.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/mt9m111.mod.c	2011-01-24 22:56:34.112072676 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -136414,10 +145206,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/mt9m111.mod.c
 +MODULE_ALIAS("i2c:mt9m111");
 +
 +MODULE_INFO(srcversion, "6601508EA0D03E2D46AFD65");
-Index: linux-2.6.35.x86_64/drivers/media/video/mt9t031.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/mt9t031.c
-+++ linux-2.6.35.x86_64/drivers/media/video/mt9t031.c
+diff -Naurp linux-2.6.35/drivers/media/video/mt9t031.c linux-2.6.35.media/drivers/media/video/mt9t031.c
+--- linux-2.6.35/drivers/media/video/mt9t031.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/mt9t031.c	2011-01-24 22:56:33.818072331 -0500
 @@ -163,7 +163,7 @@ static int mt9t031_disable(struct i2c_cl
  
  static int mt9t031_s_stream(struct v4l2_subdev *sd, int enable)
@@ -136534,10 +145325,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/mt9t031.c
  	kfree(mt9t031);
  
  	return 0;
-Index: linux-2.6.35.x86_64/drivers/media/video/mt9t031.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/mt9t031.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/mt9t031.mod.c linux-2.6.35.media/drivers/media/video/mt9t031.mod.c
+--- linux-2.6.35/drivers/media/video/mt9t031.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/mt9t031.mod.c	2011-01-24 22:56:37.017076165 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -136563,10 +145353,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/mt9t031.mod.c
 +MODULE_ALIAS("i2c:mt9t031");
 +
 +MODULE_INFO(srcversion, "3D3F36D666A62634E279F6A");
-Index: linux-2.6.35.x86_64/drivers/media/video/mt9t112.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/mt9t112.c
-+++ linux-2.6.35.x86_64/drivers/media/video/mt9t112.c
+diff -Naurp linux-2.6.35/drivers/media/video/mt9t112.c linux-2.6.35.media/drivers/media/video/mt9t112.c
+--- linux-2.6.35/drivers/media/video/mt9t112.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/mt9t112.c	2011-01-24 22:56:33.767072270 -0500
 @@ -121,22 +121,22 @@ struct mt9t112_priv {
  
  static const struct mt9t112_format mt9t112_cfmts[] = {
@@ -136666,10 +145455,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/mt9t112.c
  
  	/* TODO: set colorspace */
  	return mt9t112_set_params(client, mf->width, mf->height, mf->code);
-Index: linux-2.6.35.x86_64/drivers/media/video/mt9t112.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/mt9t112.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/mt9t112.mod.c linux-2.6.35.media/drivers/media/video/mt9t112.mod.c
+--- linux-2.6.35/drivers/media/video/mt9t112.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/mt9t112.mod.c	2011-01-24 22:56:32.812071153 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -136695,10 +145483,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/mt9t112.mod.c
 +MODULE_ALIAS("i2c:mt9t112");
 +
 +MODULE_INFO(srcversion, "BC25D7FF14BD32F1E12B392");
-Index: linux-2.6.35.x86_64/drivers/media/video/mt9v011.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/mt9v011.c
-+++ linux-2.6.35.x86_64/drivers/media/video/mt9v011.c
+diff -Naurp linux-2.6.35/drivers/media/video/mt9v011.c linux-2.6.35.media/drivers/media/video/mt9v011.c
+--- linux-2.6.35/drivers/media/video/mt9v011.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/mt9v011.c	2011-01-24 22:56:37.544076810 -0500
 @@ -11,19 +11,42 @@
  #include <linux/delay.h>
  #include <asm/div64.h>
@@ -136823,10 +145610,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/mt9v011.c
 +
 +module_init(init_mt9v011);
 +module_exit(exit_mt9v011);
-Index: linux-2.6.35.x86_64/drivers/media/video/mt9v011.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/mt9v011.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/mt9v011.mod.c linux-2.6.35.media/drivers/media/video/mt9v011.mod.c
+--- linux-2.6.35/drivers/media/video/mt9v011.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/mt9v011.mod.c	2011-01-24 22:56:36.268075256 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -136852,10 +145638,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/mt9v011.mod.c
 +MODULE_ALIAS("i2c:mt9v011");
 +
 +MODULE_INFO(srcversion, "7E59823A498D0A4A678BA7A");
-Index: linux-2.6.35.x86_64/drivers/media/video/mt9v022.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/mt9v022.c
-+++ linux-2.6.35.x86_64/drivers/media/video/mt9v022.c
+diff -Naurp linux-2.6.35/drivers/media/video/mt9v022.c linux-2.6.35.media/drivers/media/video/mt9v022.c
+--- linux-2.6.35/drivers/media/video/mt9v022.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/mt9v022.c	2011-01-24 22:56:32.474070761 -0500
 @@ -184,7 +184,7 @@ static int mt9v022_init(struct i2c_clien
  
  static int mt9v022_s_stream(struct v4l2_subdev *sd, int enable)
@@ -136991,10 +145776,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/mt9v022.c
  	kfree(mt9v022);
  
  	return 0;
-Index: linux-2.6.35.x86_64/drivers/media/video/mt9v022.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/mt9v022.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/mt9v022.mod.c linux-2.6.35.media/drivers/media/video/mt9v022.mod.c
+--- linux-2.6.35/drivers/media/video/mt9v022.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/mt9v022.mod.c	2011-01-24 22:56:38.292077731 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -137020,10 +145804,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/mt9v022.mod.c
 +MODULE_ALIAS("i2c:mt9v022");
 +
 +MODULE_INFO(srcversion, "6B637492DBD74ED3AB0D1CF");
-Index: linux-2.6.35.x86_64/drivers/media/video/mx1_camera.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/mx1_camera.c
-+++ linux-2.6.35.x86_64/drivers/media/video/mx1_camera.c
+diff -Naurp linux-2.6.35/drivers/media/video/mx1_camera.c linux-2.6.35.media/drivers/media/video/mx1_camera.c
+--- linux-2.6.35/drivers/media/video/mx1_camera.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/mx1_camera.c	2011-01-24 22:56:36.186075155 -0500
 @@ -161,7 +161,7 @@ static void free_buffer(struct videobuf_
  	 * This waits until this buffer is out of danger, i.e., until it is no
  	 * longer in STATE_QUEUED or STATE_ACTIVE
@@ -137078,10 +145861,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/mx1_camera.c
  			 vb.stream);
  
  	poll_wait(file, &buf->vb.done, pt);
-Index: linux-2.6.35.x86_64/drivers/media/video/mx2_camera.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/mx2_camera.c
+diff -Naurp linux-2.6.35/drivers/media/video/mx2_camera.c linux-2.6.35.media/drivers/media/video/mx2_camera.c
+--- linux-2.6.35/drivers/media/video/mx2_camera.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/mx2_camera.c	2011-01-24 22:56:37.677076973 -0500
 @@ -0,0 +1,1525 @@
 +/*
 + * V4L2 Driver for i.MX27/i.MX25 camera host
@@ -138608,10 +147390,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/mx2_camera.c
 +MODULE_DESCRIPTION("i.MX27/i.MX25 SoC Camera Host driver");
 +MODULE_AUTHOR("Sascha Hauer <sha at pengutronix.de>");
 +MODULE_LICENSE("GPL");
-Index: linux-2.6.35.x86_64/drivers/media/video/mx3_camera.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/mx3_camera.c
-+++ linux-2.6.35.x86_64/drivers/media/video/mx3_camera.c
+diff -Naurp linux-2.6.35/drivers/media/video/mx3_camera.c linux-2.6.35.media/drivers/media/video/mx3_camera.c
+--- linux-2.6.35/drivers/media/video/mx3_camera.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/mx3_camera.c	2011-01-24 22:56:33.070071453 -0500
 @@ -27,6 +27,7 @@
  
  #include <mach/ipu.h>
@@ -138685,10 +147466,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/mx3_camera.c
  
  	mx3_cam->clk = clk_get(&pdev->dev, NULL);
  	if (IS_ERR(mx3_cam->clk)) {
-Index: linux-2.6.35.x86_64/drivers/media/video/mxb.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/mxb.c
-+++ linux-2.6.35.x86_64/drivers/media/video/mxb.c
+diff -Naurp linux-2.6.35/drivers/media/video/mxb.c linux-2.6.35.media/drivers/media/video/mxb.c
+--- linux-2.6.35/drivers/media/video/mxb.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/mxb.c	2011-01-24 22:56:36.278075267 -0500
 @@ -3,7 +3,7 @@
  
      Copyright (C) 1998-2006 Michael Hunold <michael at mihu.de>
@@ -138749,10 +147529,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/mxb.c
  
  	/* check if all devices are present */
  	if (!mxb->tea6420_1 || !mxb->tea6420_2 || !mxb->tea6415c ||
-Index: linux-2.6.35.x86_64/drivers/media/video/mxb.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/mxb.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/mxb.mod.c linux-2.6.35.media/drivers/media/video/mxb.mod.c
+--- linux-2.6.35/drivers/media/video/mxb.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/mxb.mod.c	2011-01-24 22:56:33.686072176 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -138778,10 +147557,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/mxb.mod.c
 +MODULE_ALIAS("pci:v00001131d00007146sv00000000sd00000000bc*sc*i*");
 +
 +MODULE_INFO(srcversion, "C0DF87778AF66AB5B79E690");
-Index: linux-2.6.35.x86_64/drivers/media/video/noon010pc30.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/noon010pc30.c
+diff -Naurp linux-2.6.35/drivers/media/video/noon010pc30.c linux-2.6.35.media/drivers/media/video/noon010pc30.c
+--- linux-2.6.35/drivers/media/video/noon010pc30.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/noon010pc30.c	2011-01-24 22:56:32.525070820 -0500
 @@ -0,0 +1,792 @@
 +/*
 + * Driver for SiliconFile NOON010PC30 CIF (1/11") Image Sensor with ISP
@@ -139575,10 +148353,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/noon010pc30.c
 +MODULE_DESCRIPTION("Siliconfile NOON010PC30 camera driver");
 +MODULE_AUTHOR("Sylwester Nawrocki <s.nawrocki at samsung.com>");
 +MODULE_LICENSE("GPL");
-Index: linux-2.6.35.x86_64/drivers/media/video/omap/omap_vout.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/omap/omap_vout.c
-+++ linux-2.6.35.x86_64/drivers/media/video/omap/omap_vout.c
+diff -Naurp linux-2.6.35/drivers/media/video/omap/omap_vout.c linux-2.6.35.media/drivers/media/video/omap/omap_vout.c
+--- linux-2.6.35/drivers/media/video/omap/omap_vout.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/omap/omap_vout.c	2011-01-24 22:56:33.869072390 -0500
 @@ -1341,7 +1341,7 @@ static int omap_vout_open(struct file *f
  
  	videobuf_queue_dma_contig_init(q, &video_vbq_ops, q->dev,
@@ -139616,10 +148393,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/omap/omap_vout.c
  			} else {
  				if (dssdrv->set_update_mode)
  					dssdrv->set_update_mode(def_display,
-Index: linux-2.6.35.x86_64/drivers/media/video/omap1_camera.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/omap1_camera.c
+diff -Naurp linux-2.6.35/drivers/media/video/omap1_camera.c linux-2.6.35.media/drivers/media/video/omap1_camera.c
+--- linux-2.6.35/drivers/media/video/omap1_camera.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/omap1_camera.c	2011-01-24 22:56:31.754069929 -0500
 @@ -0,0 +1,1702 @@
 +/*
 + * V4L2 SoC Camera driver for OMAP1 Camera Interface
@@ -141323,10 +150099,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/omap1_camera.c
 +MODULE_AUTHOR("Janusz Krzysztofik <jkrzyszt at tis.icnet.pl>");
 +MODULE_LICENSE("GPL v2");
 +MODULE_ALIAS("platform:" DRIVER_NAME);
-Index: linux-2.6.35.x86_64/drivers/media/video/omap24xxcam.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/omap24xxcam.c
-+++ linux-2.6.35.x86_64/drivers/media/video/omap24xxcam.c
+diff -Naurp linux-2.6.35/drivers/media/video/omap24xxcam.c linux-2.6.35.media/drivers/media/video/omap24xxcam.c
+--- linux-2.6.35/drivers/media/video/omap24xxcam.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/omap24xxcam.c	2011-01-24 22:56:38.686078220 -0500
 @@ -420,13 +420,13 @@ static void omap24xxcam_vbq_release(stru
  	struct videobuf_dmabuf *dma = videobuf_to_dma(vb);
  
@@ -141343,6 +150118,15 @@ Index: linux-2.6.35.x86_64/drivers/media/video/omap24xxcam.c
  		videobuf_dma_free(videobuf_to_dma(vb));
  	}
  
+@@ -1198,7 +1198,7 @@ static int vidioc_streamoff(struct file 
+ 
+ 	atomic_inc(&cam->reset_disable);
+ 
+-	flush_scheduled_work();
++	flush_work_sync(&cam->sensor_reset_work);
+ 
+ 	rval = videobuf_streamoff(q);
+ 	if (!rval) {
 @@ -1491,7 +1491,7 @@ static int omap24xxcam_open(struct file 
  	videobuf_queue_sg_init(&fh->vbq, &omap24xxcam_vbq_ops, NULL,
  				&fh->vbq_lock, V4L2_BUF_TYPE_VIDEO_CAPTURE,
@@ -141352,10 +150136,27 @@ Index: linux-2.6.35.x86_64/drivers/media/video/omap24xxcam.c
  
  	return 0;
  
-Index: linux-2.6.35.x86_64/drivers/media/video/ov2640.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/ov2640.c
+@@ -1512,7 +1512,7 @@ static int omap24xxcam_release(struct fi
+ 
+ 	atomic_inc(&cam->reset_disable);
+ 
+-	flush_scheduled_work();
++	flush_work_sync(&cam->sensor_reset_work);
+ 
+ 	/* stop streaming capture */
+ 	videobuf_streamoff(&fh->vbq);
+@@ -1536,7 +1536,7 @@ static int omap24xxcam_release(struct fi
+ 	 * not be scheduled anymore since streaming is already
+ 	 * disabled.)
+ 	 */
+-	flush_scheduled_work();
++	flush_work_sync(&cam->sensor_reset_work);
+ 
+ 	mutex_lock(&cam->mutex);
+ 	if (atomic_dec_return(&cam->users) == 0) {
+diff -Naurp linux-2.6.35/drivers/media/video/ov2640.c linux-2.6.35.media/drivers/media/video/ov2640.c
+--- linux-2.6.35/drivers/media/video/ov2640.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/ov2640.c	2011-01-24 22:56:37.605076884 -0500
 @@ -0,0 +1,1205 @@
 +/*
 + * ov2640 Camera Driver
@@ -142562,10 +151363,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/ov2640.c
 +MODULE_DESCRIPTION("SoC Camera driver for Omni Vision 2640 sensor");
 +MODULE_AUTHOR("Alberto Panizzo");
 +MODULE_LICENSE("GPL v2");
-Index: linux-2.6.35.x86_64/drivers/media/video/ov6650.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/ov6650.c
+diff -Naurp linux-2.6.35/drivers/media/video/ov6650.c linux-2.6.35.media/drivers/media/video/ov6650.c
+--- linux-2.6.35/drivers/media/video/ov6650.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/ov6650.c	2011-01-24 22:56:33.696072187 -0500
 @@ -0,0 +1,1221 @@
 +/*
 + * V4L2 SoC Camera driver for OmniVision OV6650 Camera Sensor
@@ -143788,10 +152588,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/ov6650.c
 +MODULE_DESCRIPTION("SoC Camera driver for OmniVision OV6650");
 +MODULE_AUTHOR("Janusz Krzysztofik <jkrzyszt at tis.icnet.pl>");
 +MODULE_LICENSE("GPL v2");
-Index: linux-2.6.35.x86_64/drivers/media/video/ov7670.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/ov7670.c
-+++ linux-2.6.35.x86_64/drivers/media/video/ov7670.c
+diff -Naurp linux-2.6.35/drivers/media/video/ov7670.c linux-2.6.35.media/drivers/media/video/ov7670.c
+--- linux-2.6.35/drivers/media/video/ov7670.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/ov7670.c	2011-01-24 22:56:34.412073033 -0500
 @@ -18,8 +18,9 @@
  #include <linux/videodev2.h>
  #include <media/v4l2-device.h>
@@ -144242,10 +153041,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/ov7670.c
 +
 +module_init(init_ov7670);
 +module_exit(exit_ov7670);
-Index: linux-2.6.35.x86_64/drivers/media/video/ov7670.h
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/ov7670.h
+diff -Naurp linux-2.6.35/drivers/media/video/ov7670.h linux-2.6.35.media/drivers/media/video/ov7670.h
+--- linux-2.6.35/drivers/media/video/ov7670.h	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/ov7670.h	2011-01-24 22:56:37.739077049 -0500
 @@ -0,0 +1,20 @@
 +/*
 + * A V4L2 driver for OmniVision OV7670 cameras.
@@ -144267,10 +153065,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/ov7670.h
 +};
 +
 +#endif
-Index: linux-2.6.35.x86_64/drivers/media/video/ov772x.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/ov772x.c
-+++ linux-2.6.35.x86_64/drivers/media/video/ov772x.c
+diff -Naurp linux-2.6.35/drivers/media/video/ov772x.c linux-2.6.35.media/drivers/media/video/ov772x.c
+--- linux-2.6.35/drivers/media/video/ov772x.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/ov772x.c	2011-01-24 22:56:37.254076454 -0500
 @@ -440,21 +440,21 @@ static const struct regval_list ov772x_v
   */
  static const struct ov772x_color_format ov772x_cfmts[] = {
@@ -144394,10 +153191,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/ov772x.c
  	const struct ov772x_win_size *win;
  	int i;
  
-Index: linux-2.6.35.x86_64/drivers/media/video/ov772x.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/ov772x.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/ov772x.mod.c linux-2.6.35.media/drivers/media/video/ov772x.mod.c
+--- linux-2.6.35/drivers/media/video/ov772x.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/ov772x.mod.c	2011-01-24 22:56:34.138072708 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -144423,10 +153219,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/ov772x.mod.c
 +MODULE_ALIAS("i2c:ov772x");
 +
 +MODULE_INFO(srcversion, "78C1E5CBA9CA6059DC28D76");
-Index: linux-2.6.35.x86_64/drivers/media/video/ov9640.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/ov9640.c
-+++ linux-2.6.35.x86_64/drivers/media/video/ov9640.c
+diff -Naurp linux-2.6.35/drivers/media/video/ov9640.c linux-2.6.35.media/drivers/media/video/ov9640.c
+--- linux-2.6.35/drivers/media/video/ov9640.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/ov9640.c	2011-01-24 22:56:37.048076201 -0500
 @@ -31,6 +31,8 @@
  
  #include "ov9640.h"
@@ -144566,10 +153361,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/ov9640.c
  
  	kfree(priv);
  	return 0;
-Index: linux-2.6.35.x86_64/drivers/media/video/ov9640.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/ov9640.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/ov9640.mod.c linux-2.6.35.media/drivers/media/video/ov9640.mod.c
+--- linux-2.6.35/drivers/media/video/ov9640.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/ov9640.mod.c	2011-01-24 22:56:37.708077012 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -144595,10 +153389,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/ov9640.mod.c
 +MODULE_ALIAS("i2c:ov9640");
 +
 +MODULE_INFO(srcversion, "53F3F9CD27DC28F142A543F");
-Index: linux-2.6.35.x86_64/drivers/media/video/pms.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/pms.c
-+++ linux-2.6.35.x86_64/drivers/media/video/pms.c
+diff -Naurp linux-2.6.35/drivers/media/video/pms.c linux-2.6.35.media/drivers/media/video/pms.c
+--- linux-2.6.35/drivers/media/video/pms.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/pms.c	2011-01-24 22:56:34.328072933 -0500
 @@ -932,7 +932,7 @@ static ssize_t pms_read(struct file *fil
  
  static const struct v4l2_file_operations pms_fops = {
@@ -144608,10 +153401,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/pms.c
  	.read           = pms_read,
  };
  
-Index: linux-2.6.35.x86_64/drivers/media/video/pvrusb2/pvrusb2-ctrl.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/pvrusb2/pvrusb2-ctrl.c
-+++ linux-2.6.35.x86_64/drivers/media/video/pvrusb2/pvrusb2-ctrl.c
+diff -Naurp linux-2.6.35/drivers/media/video/pvrusb2/pvrusb2-ctrl.c linux-2.6.35.media/drivers/media/video/pvrusb2/pvrusb2-ctrl.c
+--- linux-2.6.35/drivers/media/video/pvrusb2/pvrusb2-ctrl.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/pvrusb2/pvrusb2-ctrl.c	2011-01-24 22:56:34.579073230 -0500
 @@ -203,7 +203,7 @@ int pvr2_ctrl_get_valname(struct pvr2_ct
  	*blen = 0;
  	LOCK_TAKE(cptr->hdw->big_lock); do {
@@ -144666,10 +153458,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/pvrusb2/pvrusb2-ctrl.c
  		names = cptr->info->def.type_enum.value_names;
  		if ((val >= 0) &&
  		    (val < cptr->info->def.type_enum.count)) {
-Index: linux-2.6.35.x86_64/drivers/media/video/pvrusb2/pvrusb2-debugifc.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/pvrusb2/pvrusb2-debugifc.c
-+++ linux-2.6.35.x86_64/drivers/media/video/pvrusb2/pvrusb2-debugifc.c
+diff -Naurp linux-2.6.35/drivers/media/video/pvrusb2/pvrusb2-debugifc.c linux-2.6.35.media/drivers/media/video/pvrusb2/pvrusb2-debugifc.c
+--- linux-2.6.35/drivers/media/video/pvrusb2/pvrusb2-debugifc.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/pvrusb2/pvrusb2-debugifc.c	2011-01-24 22:56:34.763073450 -0500
 @@ -94,8 +94,6 @@ static int debugifc_parse_unsigned_numbe
  					  u32 *num_ptr)
  {
@@ -144699,10 +153490,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/pvrusb2/pvrusb2-debugifc.c
  		result *= radix;
  		result += val;
  	}
-Index: linux-2.6.35.x86_64/drivers/media/video/pvrusb2/pvrusb2-hdw.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/pvrusb2/pvrusb2-hdw.c
-+++ linux-2.6.35.x86_64/drivers/media/video/pvrusb2/pvrusb2-hdw.c
+diff -Naurp linux-2.6.35/drivers/media/video/pvrusb2/pvrusb2-hdw.c linux-2.6.35.media/drivers/media/video/pvrusb2/pvrusb2-hdw.c
+--- linux-2.6.35/drivers/media/video/pvrusb2/pvrusb2-hdw.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/pvrusb2/pvrusb2-hdw.c	2011-01-24 22:56:34.516073156 -0500
 @@ -2082,29 +2082,20 @@ static int pvr2_hdw_load_subdev(struct p
  		return -EINVAL;
  	}
@@ -144735,10 +153525,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/pvrusb2/pvrusb2-hdw.c
  	}
  
  	if (!sd) {
-Index: linux-2.6.35.x86_64/drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h
-+++ linux-2.6.35.x86_64/drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h
+diff -Naurp linux-2.6.35/drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h linux-2.6.35.media/drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h
+--- linux-2.6.35/drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h	2011-01-24 22:56:34.548073194 -0500
 @@ -40,6 +40,7 @@
  #include "pvrusb2-io.h"
  #include <media/v4l2-device.h>
@@ -144764,10 +153553,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h
  
  	/* Frequency table */
  	unsigned int freqTable[FREQTABLE_SIZE];
-Index: linux-2.6.35.x86_64/drivers/media/video/pvrusb2/pvrusb2-i2c-core.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/pvrusb2/pvrusb2-i2c-core.c
-+++ linux-2.6.35.x86_64/drivers/media/video/pvrusb2/pvrusb2-i2c-core.c
+diff -Naurp linux-2.6.35/drivers/media/video/pvrusb2/pvrusb2-i2c-core.c linux-2.6.35.media/drivers/media/video/pvrusb2/pvrusb2-i2c-core.c
+--- linux-2.6.35/drivers/media/video/pvrusb2/pvrusb2-i2c-core.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/pvrusb2/pvrusb2-i2c-core.c	2011-01-24 22:57:33.949739672 -0500
 @@ -19,6 +19,7 @@
   */
  
@@ -144859,10 +153647,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/pvrusb2/pvrusb2-i2c-core.c
  }
  
  void pvr2_i2c_core_init(struct pvr2_hdw *hdw)
-Index: linux-2.6.35.x86_64/drivers/media/video/pvrusb2/pvrusb2-ioread.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/pvrusb2/pvrusb2-ioread.c
-+++ linux-2.6.35.x86_64/drivers/media/video/pvrusb2/pvrusb2-ioread.c
+diff -Naurp linux-2.6.35/drivers/media/video/pvrusb2/pvrusb2-ioread.c linux-2.6.35.media/drivers/media/video/pvrusb2/pvrusb2-ioread.c
+--- linux-2.6.35/drivers/media/video/pvrusb2/pvrusb2-ioread.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/pvrusb2/pvrusb2-ioread.c	2011-01-24 22:56:34.661073328 -0500
 @@ -223,7 +223,10 @@ int pvr2_ioread_setup(struct pvr2_ioread
  				   " pvr2_ioread_setup (setup) id=%p",cp);
  			pvr2_stream_kill(sp);
@@ -144875,10 +153662,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/pvrusb2/pvrusb2-ioread.c
  			for (idx = 0; idx < BUFFER_COUNT; idx++) {
  				bp = pvr2_stream_get_buffer(sp,idx);
  				pvr2_buffer_set_buffer(bp,
-Index: linux-2.6.35.x86_64/drivers/media/video/pvrusb2/pvrusb2.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/pvrusb2/pvrusb2.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/pvrusb2/pvrusb2.mod.c linux-2.6.35.media/drivers/media/video/pvrusb2/pvrusb2.mod.c
+--- linux-2.6.35/drivers/media/video/pvrusb2/pvrusb2.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/pvrusb2/pvrusb2.mod.c	2011-01-24 22:56:34.610073267 -0500
 @@ -0,0 +1,33 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -144913,10 +153699,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/pvrusb2/pvrusb2.mod.c
 +MODULE_ALIAS("usb:v2040p7501d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "093B1A6C7F33F3358F46C87");
-Index: linux-2.6.35.x86_64/drivers/media/video/pvrusb2/pvrusb2-sysfs.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/pvrusb2/pvrusb2-sysfs.c
-+++ linux-2.6.35.x86_64/drivers/media/video/pvrusb2/pvrusb2-sysfs.c
+diff -Naurp linux-2.6.35/drivers/media/video/pvrusb2/pvrusb2-sysfs.c linux-2.6.35.media/drivers/media/video/pvrusb2/pvrusb2-sysfs.c
+--- linux-2.6.35/drivers/media/video/pvrusb2/pvrusb2-sysfs.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/pvrusb2/pvrusb2-sysfs.c	2011-01-24 22:56:34.527073170 -0500
 @@ -647,7 +647,7 @@ static void class_dev_create(struct pvr2
  	if (ret) {
  		pvr2_trace(PVR2_TRACE_ERROR_LEGS,
@@ -144926,10 +153711,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/pvrusb2/pvrusb2-sysfs.c
  		return;
  	}
  
-Index: linux-2.6.35.x86_64/drivers/media/video/pvrusb2/pvrusb2-v4l2.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/pvrusb2/pvrusb2-v4l2.c
-+++ linux-2.6.35.x86_64/drivers/media/video/pvrusb2/pvrusb2-v4l2.c
+diff -Naurp linux-2.6.35/drivers/media/video/pvrusb2/pvrusb2-v4l2.c linux-2.6.35.media/drivers/media/video/pvrusb2/pvrusb2-v4l2.c
+--- linux-2.6.35/drivers/media/video/pvrusb2/pvrusb2-v4l2.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/pvrusb2/pvrusb2-v4l2.c	2011-01-24 22:56:34.865073570 -0500
 @@ -852,8 +852,8 @@ static long pvr2_v4l2_do_ioctl(struct fi
  #endif
  
@@ -144941,10 +153725,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/pvrusb2/pvrusb2-v4l2.c
  	}
  
  	pvr2_hdw_commit_ctl(hdw);
-Index: linux-2.6.35.x86_64/drivers/media/video/pwc/Kconfig
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/pwc/Kconfig
-+++ linux-2.6.35.x86_64/drivers/media/video/pwc/Kconfig
+diff -Naurp linux-2.6.35/drivers/media/video/pwc/Kconfig linux-2.6.35.media/drivers/media/video/pwc/Kconfig
+--- linux-2.6.35/drivers/media/video/pwc/Kconfig	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/pwc/Kconfig	2011-01-24 22:56:33.306071730 -0500
 @@ -1,6 +1,6 @@
  config USB_PWC
  	tristate "USB Philips Cameras"
@@ -144953,10 +153736,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/pwc/Kconfig
  	---help---
  	  Say Y or M here if you want to use one of these Philips & OEM
  	  webcams:
-Index: linux-2.6.35.x86_64/drivers/media/video/pwc/pwc-ctrl.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/pwc/pwc-ctrl.c
-+++ linux-2.6.35.x86_64/drivers/media/video/pwc/pwc-ctrl.c
+diff -Naurp linux-2.6.35/drivers/media/video/pwc/pwc-ctrl.c linux-2.6.35.media/drivers/media/video/pwc/pwc-ctrl.c
+--- linux-2.6.35/drivers/media/video/pwc/pwc-ctrl.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/pwc/pwc-ctrl.c	2011-01-24 22:56:33.213071621 -0500
 @@ -261,7 +261,7 @@ static int set_video_mode_Nala(struct pw
  		PWC_DEBUG_MODULE("Failed to send video command... %d\n", ret);
  		return ret;
@@ -145039,10 +153821,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/pwc/pwc-ctrl.c
  		if (ret >= 0)
  			pdev->vcompression = ARGR(qual);
  		break;
-Index: linux-2.6.35.x86_64/drivers/media/video/pwc/pwc.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/pwc/pwc.h
-+++ linux-2.6.35.x86_64/drivers/media/video/pwc/pwc.h
+diff -Naurp linux-2.6.35/drivers/media/video/pwc/pwc.h linux-2.6.35.media/drivers/media/video/pwc/pwc.h
+--- linux-2.6.35/drivers/media/video/pwc/pwc.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/pwc/pwc.h	2011-01-24 22:56:33.223071633 -0500
 @@ -34,7 +34,7 @@
  #include <linux/mm.h>
  #include <linux/slab.h>
@@ -145078,10 +153859,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/pwc/pwc.h
  int pwc_handle_frame(struct pwc_device *pdev);
  void pwc_next_image(struct pwc_device *pdev);
  int pwc_isoc_init(struct pwc_device *pdev);
-Index: linux-2.6.35.x86_64/drivers/media/video/pwc/pwc-if.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/pwc/pwc-if.c
-+++ linux-2.6.35.x86_64/drivers/media/video/pwc/pwc-if.c
+diff -Naurp linux-2.6.35/drivers/media/video/pwc/pwc-if.c linux-2.6.35.media/drivers/media/video/pwc/pwc-if.c
+--- linux-2.6.35/drivers/media/video/pwc/pwc-if.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/pwc/pwc-if.c	2011-01-24 22:56:33.274071693 -0500
 @@ -62,7 +62,6 @@
  #include <linux/module.h>
  #include <linux/poll.h>
@@ -145334,10 +154114,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/pwc/pwc-if.c
  }
  
  
-Index: linux-2.6.35.x86_64/drivers/media/video/pwc/pwc-misc.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/pwc/pwc-misc.c
-+++ linux-2.6.35.x86_64/drivers/media/video/pwc/pwc-misc.c
+diff -Naurp linux-2.6.35/drivers/media/video/pwc/pwc-misc.c linux-2.6.35.media/drivers/media/video/pwc/pwc-misc.c
+--- linux-2.6.35/drivers/media/video/pwc/pwc-misc.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/pwc/pwc-misc.c	2011-01-24 22:56:33.264071681 -0500
 @@ -47,7 +47,7 @@ int pwc_decode_size(struct pwc_device *p
  	   you don't have the decompressor loaded or use RAW mode,
  	   the maximum viewable size is smaller.
@@ -145356,10 +154135,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/pwc/pwc-misc.c
  	pdev->view_min.size = pdev->view_min.x * pdev->view_min.y;
  	pdev->view_max.size = pdev->view_max.x * pdev->view_max.y;
  	/* length of image, in YUV format; always allocate enough memory. */
-Index: linux-2.6.35.x86_64/drivers/media/video/pwc/pwc.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/pwc/pwc.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/pwc/pwc.mod.c linux-2.6.35.media/drivers/media/video/pwc/pwc.mod.c
+--- linux-2.6.35/drivers/media/video/pwc/pwc.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/pwc/pwc.mod.c	2011-01-24 22:56:33.233071645 -0500
 @@ -0,0 +1,53 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -145414,10 +154192,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/pwc/pwc.mod.c
 +MODULE_ALIAS("usb:v0D81p1900d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "929E02158A1DF250F583E38");
-Index: linux-2.6.35.x86_64/drivers/media/video/pwc/pwc-uncompress.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/pwc/pwc-uncompress.c
-+++ linux-2.6.35.x86_64/drivers/media/video/pwc/pwc-uncompress.c
+diff -Naurp linux-2.6.35/drivers/media/video/pwc/pwc-uncompress.c linux-2.6.35.media/drivers/media/video/pwc/pwc-uncompress.c
+--- linux-2.6.35/drivers/media/video/pwc/pwc-uncompress.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/pwc/pwc-uncompress.c	2011-01-24 22:56:33.337071766 -0500
 @@ -54,7 +54,7 @@ int pwc_decompress(struct pwc_device *pd
  	yuv = fbuf->data + pdev->frame_header_size;  /* Skip header */
  
@@ -145427,10 +154204,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/pwc/pwc-uncompress.c
  	{
  		struct pwc_raw_frame *raw_frame = image;
  		raw_frame->type = cpu_to_le16(pdev->type);
-Index: linux-2.6.35.x86_64/drivers/media/video/pwc/pwc-v4l.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/pwc/pwc-v4l.c
-+++ linux-2.6.35.x86_64/drivers/media/video/pwc/pwc-v4l.c
+diff -Naurp linux-2.6.35/drivers/media/video/pwc/pwc-v4l.c linux-2.6.35.media/drivers/media/video/pwc/pwc-v4l.c
+--- linux-2.6.35/drivers/media/video/pwc/pwc-v4l.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/pwc/pwc-v4l.c	2011-01-24 22:56:33.192071596 -0500
 @@ -216,7 +216,7 @@ static void pwc_vidioc_fill_fmt(const st
  	f->fmt.pix.width        = pdev->view.x;
  	f->fmt.pix.height       = pdev->view.y;
@@ -145839,10 +154615,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/pwc/pwc-v4l.c
  		}
  
  		case VIDIOC_STREAMOFF:
-Index: linux-2.6.35.x86_64/drivers/media/video/pxa_camera.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/pxa_camera.c
-+++ linux-2.6.35.x86_64/drivers/media/video/pxa_camera.c
+diff -Naurp linux-2.6.35/drivers/media/video/pxa_camera.c linux-2.6.35.media/drivers/media/video/pxa_camera.c
+--- linux-2.6.35/drivers/media/video/pxa_camera.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/pxa_camera.c	2011-01-24 22:56:32.259070512 -0500
 @@ -275,8 +275,8 @@ static void free_buffer(struct videobuf_
  	 * This waits until this buffer is out of danger, i.e., until it is no
  	 * longer in STATE_QUEUED or STATE_ACTIVE
@@ -145916,10 +154691,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/pxa_camera.c
  			 vb.stream);
  
  	poll_wait(file, &buf->vb.done, pt);
-Index: linux-2.6.35.x86_64/drivers/media/video/rj54n1cb0c.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/rj54n1cb0c.c
-+++ linux-2.6.35.x86_64/drivers/media/video/rj54n1cb0c.c
+diff -Naurp linux-2.6.35/drivers/media/video/rj54n1cb0c.c linux-2.6.35.media/drivers/media/video/rj54n1cb0c.c
+--- linux-2.6.35/drivers/media/video/rj54n1cb0c.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/rj54n1cb0c.c	2011-01-24 22:56:33.100071490 -0500
 @@ -1,5 +1,5 @@
  /*
 - * Driver for RJ54N1CB0C CMOS Image Sensor from Micron
@@ -146078,10 +154852,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/rj54n1cb0c.c
  	kfree(rj54n1);
  
  	return 0;
-Index: linux-2.6.35.x86_64/drivers/media/video/rj54n1cb0c.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/rj54n1cb0c.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/rj54n1cb0c.mod.c linux-2.6.35.media/drivers/media/video/rj54n1cb0c.mod.c
+--- linux-2.6.35/drivers/media/video/rj54n1cb0c.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/rj54n1cb0c.mod.c	2011-01-24 22:56:37.284076491 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -146107,10 +154880,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/rj54n1cb0c.mod.c
 +MODULE_ALIAS("i2c:rj54n1cb0c");
 +
 +MODULE_INFO(srcversion, "6F4F1213736CA0560AEF76A");
-Index: linux-2.6.35.x86_64/drivers/media/video/s2255drv.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/s2255drv.c
-+++ linux-2.6.35.x86_64/drivers/media/video/s2255drv.c
+diff -Naurp linux-2.6.35/drivers/media/video/s2255drv.c linux-2.6.35.media/drivers/media/video/s2255drv.c
+--- linux-2.6.35/drivers/media/video/s2255drv.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/s2255drv.c	2011-01-24 22:56:32.742071071 -0500
 @@ -49,7 +49,6 @@
  #include <linux/videodev2.h>
  #include <linux/version.h>
@@ -147663,10 +156435,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/s2255drv.c
  		s2255_destroy(dev);
  	dev_info(&interface->dev, "%s\n", __func__);
  }
-Index: linux-2.6.35.x86_64/drivers/media/video/s2255drv.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/s2255drv.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/s2255drv.mod.c linux-2.6.35.media/drivers/media/video/s2255drv.mod.c
+--- linux-2.6.35/drivers/media/video/s2255drv.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/s2255drv.mod.c	2011-01-24 22:56:33.161071560 -0500
 @@ -0,0 +1,25 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -147693,10 +156464,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/s2255drv.mod.c
 +MODULE_ALIAS("usb:v1943p2257d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "48F0FAEB3F4EEE9A2360D5F");
-Index: linux-2.6.35.x86_64/drivers/media/video/s5p-fimc/fimc-capture.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/s5p-fimc/fimc-capture.c
+diff -Naurp linux-2.6.35/drivers/media/video/s5p-fimc/fimc-capture.c linux-2.6.35.media/drivers/media/video/s5p-fimc/fimc-capture.c
+--- linux-2.6.35/drivers/media/video/s5p-fimc/fimc-capture.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/s5p-fimc/fimc-capture.c	2011-01-24 22:56:34.381072996 -0500
 @@ -0,0 +1,942 @@
 +/*
 + * Samsung S5P SoC series camera interface (camera capture) driver
@@ -148640,10 +157410,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/s5p-fimc/fimc-capture.c
 +
 +	kfree(capture->ctx);
 +}
-Index: linux-2.6.35.x86_64/drivers/media/video/s5p-fimc/fimc-core.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/s5p-fimc/fimc-core.c
+diff -Naurp linux-2.6.35/drivers/media/video/s5p-fimc/fimc-core.c linux-2.6.35.media/drivers/media/video/s5p-fimc/fimc-core.c
+--- linux-2.6.35/drivers/media/video/s5p-fimc/fimc-core.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/s5p-fimc/fimc-core.c	2011-01-24 22:56:34.402073021 -0500
 @@ -0,0 +1,1912 @@
 +/*
 + * S5P camera interface (video postprocessor) driver
@@ -150557,10 +159326,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/s5p-fimc/fimc-core.c
 +MODULE_AUTHOR("Sylwester Nawrocki <s.nawrocki at samsung.com>");
 +MODULE_DESCRIPTION("S5P FIMC camera host interface/video postprocessor driver");
 +MODULE_LICENSE("GPL");
-Index: linux-2.6.35.x86_64/drivers/media/video/s5p-fimc/fimc-core.h
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/s5p-fimc/fimc-core.h
+diff -Naurp linux-2.6.35/drivers/media/video/s5p-fimc/fimc-core.h linux-2.6.35.media/drivers/media/video/s5p-fimc/fimc-core.h
+--- linux-2.6.35/drivers/media/video/s5p-fimc/fimc-core.h	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/s5p-fimc/fimc-core.h	2011-01-24 22:56:34.391073008 -0500
 @@ -0,0 +1,688 @@
 +/*
 + * Copyright (c) 2010 Samsung Electronics
@@ -151250,10 +160018,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/s5p-fimc/fimc-core.h
 +}
 +
 +#endif /* FIMC_CORE_H_ */
-Index: linux-2.6.35.x86_64/drivers/media/video/s5p-fimc/fimc-reg.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/s5p-fimc/fimc-reg.c
+diff -Naurp linux-2.6.35/drivers/media/video/s5p-fimc/fimc-reg.c linux-2.6.35.media/drivers/media/video/s5p-fimc/fimc-reg.c
+--- linux-2.6.35/drivers/media/video/s5p-fimc/fimc-reg.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/s5p-fimc/fimc-reg.c	2011-01-24 22:56:34.371072984 -0500
 @@ -0,0 +1,683 @@
 +/*
 + * Register interface file for Samsung Camera Interface (FIMC) driver
@@ -151938,18 +160705,16 @@ Index: linux-2.6.35.x86_64/drivers/media/video/s5p-fimc/fimc-reg.c
 +
 +	return 0;
 +}
-Index: linux-2.6.35.x86_64/drivers/media/video/s5p-fimc/Makefile
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/s5p-fimc/Makefile
+diff -Naurp linux-2.6.35/drivers/media/video/s5p-fimc/Makefile linux-2.6.35.media/drivers/media/video/s5p-fimc/Makefile
+--- linux-2.6.35/drivers/media/video/s5p-fimc/Makefile	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/s5p-fimc/Makefile	2011-01-24 22:56:34.350072959 -0500
 @@ -0,0 +1,3 @@
 +
 +obj-$(CONFIG_VIDEO_SAMSUNG_S5P_FIMC) := s5p-fimc.o
 +s5p-fimc-y := fimc-core.o fimc-reg.o fimc-capture.o
-Index: linux-2.6.35.x86_64/drivers/media/video/s5p-fimc/regs-fimc.h
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/s5p-fimc/regs-fimc.h
+diff -Naurp linux-2.6.35/drivers/media/video/s5p-fimc/regs-fimc.h linux-2.6.35.media/drivers/media/video/s5p-fimc/regs-fimc.h
+--- linux-2.6.35/drivers/media/video/s5p-fimc/regs-fimc.h	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/s5p-fimc/regs-fimc.h	2011-01-24 22:56:34.360072971 -0500
 @@ -0,0 +1,297 @@
 +/*
 + * Register definition file for Samsung Camera Interface (FIMC) driver
@@ -152248,10 +161013,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/s5p-fimc/regs-fimc.h
 +#define S5P_CIFCNTSEQ			0x1FC
 +
 +#endif /* REGS_FIMC_H_ */
-Index: linux-2.6.35.x86_64/drivers/media/video/saa5246a.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/saa5246a.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/saa5246a.mod.c linux-2.6.35.media/drivers/media/video/saa5246a.mod.c
+--- linux-2.6.35/drivers/media/video/saa5246a.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/saa5246a.mod.c	2011-01-24 22:56:38.738078284 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -152277,10 +161041,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa5246a.mod.c
 +MODULE_ALIAS("i2c:saa5246a");
 +
 +MODULE_INFO(srcversion, "400128D55F64A2F49875A56");
-Index: linux-2.6.35.x86_64/drivers/media/video/saa5249.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/saa5249.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/saa5249.mod.c linux-2.6.35.media/drivers/media/video/saa5249.mod.c
+--- linux-2.6.35/drivers/media/video/saa5249.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/saa5249.mod.c	2011-01-24 22:56:36.196075168 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -152306,10 +161069,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa5249.mod.c
 +MODULE_ALIAS("i2c:saa5249");
 +
 +MODULE_INFO(srcversion, "9BC7152ED12D201D275118C");
-Index: linux-2.6.35.x86_64/drivers/media/video/saa6588.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/saa6588.c
-+++ linux-2.6.35.x86_64/drivers/media/video/saa6588.c
+diff -Naurp linux-2.6.35/drivers/media/video/saa6588.c linux-2.6.35.media/drivers/media/video/saa6588.c
+--- linux-2.6.35/drivers/media/video/saa6588.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/saa6588.c	2011-01-24 22:56:38.717078258 -0500
 @@ -31,10 +31,9 @@
  #include <linux/wait.h>
  #include <asm/uaccess.h>
@@ -152402,10 +161164,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa6588.c
 +
 +module_init(init_saa6588);
 +module_exit(exit_saa6588);
-Index: linux-2.6.35.x86_64/drivers/media/video/saa6588.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/saa6588.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/saa6588.mod.c linux-2.6.35.media/drivers/media/video/saa6588.mod.c
+--- linux-2.6.35/drivers/media/video/saa6588.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/saa6588.mod.c	2011-01-24 22:56:31.540069685 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -152431,10 +161192,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa6588.mod.c
 +MODULE_ALIAS("i2c:saa6588");
 +
 +MODULE_INFO(srcversion, "1AED95F5570ED3468208997");
-Index: linux-2.6.35.x86_64/drivers/media/video/saa7110.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/saa7110.c
-+++ linux-2.6.35.x86_64/drivers/media/video/saa7110.c
+diff -Naurp linux-2.6.35/drivers/media/video/saa7110.c linux-2.6.35.media/drivers/media/video/saa7110.c
+--- linux-2.6.35/drivers/media/video/saa7110.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/saa7110.c	2011-01-24 22:56:32.247070498 -0500
 @@ -36,7 +36,7 @@
  #include <linux/videodev2.h>
  #include <media/v4l2-device.h>
@@ -152650,10 +161410,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7110.c
 +
 +module_init(init_saa7110);
 +module_exit(exit_saa7110);
-Index: linux-2.6.35.x86_64/drivers/media/video/saa7110.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/saa7110.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/saa7110.mod.c linux-2.6.35.media/drivers/media/video/saa7110.mod.c
+--- linux-2.6.35/drivers/media/video/saa7110.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/saa7110.mod.c	2011-01-24 22:56:33.717072213 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -152679,10 +161438,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7110.mod.c
 +MODULE_ALIAS("i2c:saa7110");
 +
 +MODULE_INFO(srcversion, "771EB635F7B8EBC4F990A59");
-Index: linux-2.6.35.x86_64/drivers/media/video/saa7115.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/saa7115.c
-+++ linux-2.6.35.x86_64/drivers/media/video/saa7115.c
+diff -Naurp linux-2.6.35/drivers/media/video/saa7115.c linux-2.6.35.media/drivers/media/video/saa7115.c
+--- linux-2.6.35/drivers/media/video/saa7115.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/saa7115.c	2011-01-24 22:56:31.693069860 -0500
 @@ -45,8 +45,8 @@
  #include <linux/i2c.h>
  #include <linux/videodev2.h>
@@ -153038,10 +161796,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7115.c
 +
 +module_init(init_saa711x);
 +module_exit(exit_saa711x);
-Index: linux-2.6.35.x86_64/drivers/media/video/saa7115.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/saa7115.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/saa7115.mod.c linux-2.6.35.media/drivers/media/video/saa7115.mod.c
+--- linux-2.6.35/drivers/media/video/saa7115.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/saa7115.mod.c	2011-01-24 22:56:37.294076503 -0500
 @@ -0,0 +1,29 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -153072,10 +161829,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7115.mod.c
 +MODULE_ALIAS("i2c:saa7118");
 +
 +MODULE_INFO(srcversion, "B650F715D44A1C6CC06DF03");
-Index: linux-2.6.35.x86_64/drivers/media/video/saa7127.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/saa7127.c
-+++ linux-2.6.35.x86_64/drivers/media/video/saa7127.c
+diff -Naurp linux-2.6.35/drivers/media/video/saa7127.c linux-2.6.35.media/drivers/media/video/saa7127.c
+--- linux-2.6.35/drivers/media/video/saa7127.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/saa7127.c	2011-01-24 22:56:38.696078232 -0500
 @@ -55,7 +55,6 @@
  #include <linux/videodev2.h>
  #include <media/v4l2-device.h>
@@ -153115,10 +161871,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7127.c
 +
 +module_init(init_saa7127);
 +module_exit(exit_saa7127);
-Index: linux-2.6.35.x86_64/drivers/media/video/saa7127.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/saa7127.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/saa7127.mod.c linux-2.6.35.media/drivers/media/video/saa7127.mod.c
+--- linux-2.6.35/drivers/media/video/saa7127.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/saa7127.mod.c	2011-01-24 22:56:36.575075628 -0500
 @@ -0,0 +1,28 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -153148,10 +161903,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7127.mod.c
 +MODULE_ALIAS("i2c:saa7129");
 +
 +MODULE_INFO(srcversion, "13F8B1BED6C7813574DBF59");
-Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/Kconfig
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/saa7134/Kconfig
-+++ linux-2.6.35.x86_64/drivers/media/video/saa7134/Kconfig
+diff -Naurp linux-2.6.35/drivers/media/video/saa7134/Kconfig linux-2.6.35.media/drivers/media/video/saa7134/Kconfig
+--- linux-2.6.35/drivers/media/video/saa7134/Kconfig	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/saa7134/Kconfig	2011-01-24 22:56:38.571078076 -0500
 @@ -1,8 +1,7 @@
  config VIDEO_SAA7134
  	tristate "Philips SAA7134 support"
@@ -153177,10 +161931,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/Kconfig
  config VIDEO_SAA7134_DVB
  	tristate "DVB/ATSC Support for saa7134 based TV cards"
  	depends on VIDEO_SAA7134 && DVB_CORE
-Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/Makefile
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/saa7134/Makefile
-+++ linux-2.6.35.x86_64/drivers/media/video/saa7134/Makefile
+diff -Naurp linux-2.6.35/drivers/media/video/saa7134/Makefile linux-2.6.35.media/drivers/media/video/saa7134/Makefile
+--- linux-2.6.35/drivers/media/video/saa7134/Makefile	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/saa7134/Makefile	2011-01-24 22:56:38.446077922 -0500
 @@ -1,7 +1,8 @@
  
 -saa7134-objs :=	saa7134-cards.o saa7134-core.o saa7134-i2c.o	\
@@ -153193,10 +161946,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/Makefile
  
  obj-$(CONFIG_VIDEO_SAA7134) +=  saa6752hs.o saa7134.o saa7134-empress.o
  
-Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa6752hs.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/saa7134/saa6752hs.c
-+++ linux-2.6.35.x86_64/drivers/media/video/saa7134/saa6752hs.c
+diff -Naurp linux-2.6.35/drivers/media/video/saa7134/saa6752hs.c linux-2.6.35.media/drivers/media/video/saa7134/saa6752hs.c
+--- linux-2.6.35/drivers/media/video/saa7134/saa6752hs.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/saa7134/saa6752hs.c	2011-01-24 22:56:38.581078089 -0500
 @@ -36,7 +36,6 @@
  #include <media/v4l2-device.h>
  #include <media/v4l2-common.h>
@@ -153240,10 +161992,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa6752hs.c
  /*
   * Overrides for Emacs so that we follow Linus's tabbing style.
   * ---------------------------------------------------------------------------
-Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa6752hs.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/saa7134/saa6752hs.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/saa7134/saa6752hs.mod.c linux-2.6.35.media/drivers/media/video/saa7134/saa6752hs.mod.c
+--- linux-2.6.35/drivers/media/video/saa7134/saa6752hs.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/saa7134/saa6752hs.mod.c	2011-01-24 22:56:38.624078143 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -153269,10 +162020,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa6752hs.mod.c
 +MODULE_ALIAS("i2c:saa6752hs");
 +
 +MODULE_INFO(srcversion, "AE0E86F637C9DCC47EA91C5");
-Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-alsa.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/saa7134/saa7134-alsa.c
-+++ linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-alsa.c
+diff -Naurp linux-2.6.35/drivers/media/video/saa7134/saa7134-alsa.c linux-2.6.35.media/drivers/media/video/saa7134/saa7134-alsa.c
+--- linux-2.6.35/drivers/media/video/saa7134/saa7134-alsa.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/saa7134/saa7134-alsa.c	2011-01-24 22:56:38.466077947 -0500
 @@ -630,7 +630,7 @@ static int snd_card_saa7134_hw_params(st
  	/* release the old buffer */
  	if (substream->runtime->dma_area) {
@@ -153333,10 +162083,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-alsa.c
  
  	spin_lock_init(&chip->lock);
  	spin_lock_init(&chip->mixer_lock);
-Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-alsa.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-alsa.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/saa7134/saa7134-alsa.mod.c linux-2.6.35.media/drivers/media/video/saa7134/saa7134-alsa.mod.c
+--- linux-2.6.35/drivers/media/video/saa7134/saa7134-alsa.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/saa7134/saa7134-alsa.mod.c	2011-01-24 22:56:38.456077934 -0500
 @@ -0,0 +1,23 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -153361,11 +162110,49 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-alsa.mod.c
 +
 +
 +MODULE_INFO(srcversion, "86EF796A2D55A751286EF27");
-Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-cards.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/saa7134/saa7134-cards.c
-+++ linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-cards.c
-@@ -4323,13 +4323,13 @@ struct saa7134_board saa7134_boards[] = 
+diff -Naurp linux-2.6.35/drivers/media/video/saa7134/saa7134-cards.c linux-2.6.35.media/drivers/media/video/saa7134/saa7134-cards.c
+--- linux-2.6.35/drivers/media/video/saa7134/saa7134-cards.c	2011-01-24 22:40:24.155424524 -0500
++++ linux-2.6.35.media/drivers/media/video/saa7134/saa7134-cards.c	2011-01-24 22:56:38.613078129 -0500
+@@ -3620,6 +3620,38 @@ struct saa7134_board saa7134_boards[] = 
+ 			.amux = 0,
+ 		},
+ 	},
++	[SAA7134_BOARD_ENCORE_ENLTV_FM3] = {
++		.name           = "Encore ENLTV-FM 3",
++		.audio_clock    = 0x02187de7,
++		.tuner_type     = TUNER_TENA_TNF_5337,
++		.radio_type     = TUNER_TEA5767,
++		.tuner_addr	= 0x61,
++		.radio_addr	= 0x60,
++		.inputs         = { {
++			.name = name_tv,
++			.vmux = 1,
++			.amux = LINE2,
++			.tv   = 1,
++		}, {
++			.name = name_comp1,
++			.vmux = 3,
++			.amux = LINE1,
++		}, {
++			.name = name_svideo,
++			.vmux = 8,
++			.amux = LINE1,
++		} },
++		.radio = {
++			.name = name_radio,
++			.vmux = 1,
++			.amux = LINE1,
++		},
++		.mute = {
++			.name = name_mute,
++			.amux = LINE1,
++			.gpio = 0x43000,
++		},
++	},
+ 	[SAA7134_BOARD_CINERGY_HT_PCI] = {
+ 		.name           = "Terratec Cinergy HT PCI",
+ 		.audio_clock    = 0x00187de7,
+@@ -4323,13 +4355,13 @@ struct saa7134_board saa7134_boards[] = 
  	},
  	[SAA7134_BOARD_BEHOLD_COLUMBUS_TVFM] = {
  		/*       Beholder Intl. Ltd. 2008      */
@@ -153384,7 +162171,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-cards.c
  		.tda9887_conf   = TDA9887_PRESENT,
  		.gpiomask       = 0x000A8004,
  		.inputs         = {{
-@@ -5176,6 +5176,48 @@ struct saa7134_board saa7134_boards[] = 
+@@ -5176,6 +5208,48 @@ struct saa7134_board saa7134_boards[] = 
  			.amux = 2,
  		},
  	},
@@ -153433,7 +162220,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-cards.c
  	[SAA7134_BOARD_AVERMEDIA_GO_007_FM_PLUS] = {
  		.name           = "Avermedia AVerTV GO 007 FM Plus",
  		.audio_clock    = 0x00187de7,
-@@ -5462,6 +5504,61 @@ struct saa7134_board saa7134_boards[] = 
+@@ -5462,6 +5536,61 @@ struct saa7134_board saa7134_boards[] = 
  			.amux = TV,
  		},
  	},
@@ -153495,7 +162282,20 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-cards.c
  
  };
  
-@@ -6591,6 +6688,12 @@ struct pci_device_id saa7134_pci_tbl[] =
+@@ -6290,6 +6419,12 @@ struct pci_device_id saa7134_pci_tbl[] =
+ 		.driver_data  = SAA7134_BOARD_ENCORE_ENLTV_FM53,
+ 	}, {
+ 		.vendor       = PCI_VENDOR_ID_PHILIPS,
++		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
++		.subvendor    = 0x1a7f,
++		.subdevice    = 0x2108,
++		.driver_data  = SAA7134_BOARD_ENCORE_ENLTV_FM3,
++	}, {
++		.vendor       = PCI_VENDOR_ID_PHILIPS,
+ 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
+ 		.subvendor    = 0x153b,
+ 		.subdevice    = 0x1175,
+@@ -6591,6 +6726,12 @@ struct pci_device_id saa7134_pci_tbl[] =
  	}, {
  		.vendor       = PCI_VENDOR_ID_PHILIPS,
  		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
@@ -153508,7 +162308,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-cards.c
  		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
  		.subdevice    = 0xf31d,
  		.driver_data  = SAA7134_BOARD_AVERMEDIA_GO_007_FM_PLUS,
-@@ -6633,6 +6736,12 @@ struct pci_device_id saa7134_pci_tbl[] =
+@@ -6633,6 +6774,12 @@ struct pci_device_id saa7134_pci_tbl[] =
  	}, {
  		.vendor       = PCI_VENDOR_ID_PHILIPS,
  		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
@@ -153521,7 +162321,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-cards.c
  		.subvendor    = 0x5ace, /* Beholder Intl. Ltd. */
  		.subdevice    = 0x7190,
  		.driver_data  = SAA7134_BOARD_BEHOLD_H7,
-@@ -6643,6 +6752,12 @@ struct pci_device_id saa7134_pci_tbl[] =
+@@ -6643,6 +6790,12 @@ struct pci_device_id saa7134_pci_tbl[] =
  		.subdevice    = 0x7090,
  		.driver_data  = SAA7134_BOARD_BEHOLD_A7,
  	}, {
@@ -153534,7 +162334,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-cards.c
  		/* --- boards without eeprom + subsystem ID --- */
  		.vendor       = PCI_VENDOR_ID_PHILIPS,
  		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
-@@ -6801,6 +6916,30 @@ static inline int saa7134_tda18271_hvr11
+@@ -6801,6 +6954,30 @@ static inline int saa7134_tda18271_hvr11
  	return 0;
  }
  
@@ -153565,7 +162365,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-cards.c
  static int saa7134_tda8290_18271_callback(struct saa7134_dev *dev,
  					  int command, int arg)
  {
-@@ -6813,6 +6952,9 @@ static int saa7134_tda8290_18271_callbac
+@@ -6813,6 +6990,9 @@ static int saa7134_tda8290_18271_callbac
  		case SAA7134_BOARD_HAUPPAUGE_HVR1120:
  			ret = saa7134_tda18271_hvr11x0_toggle_agc(dev, arg);
  			break;
@@ -153575,7 +162375,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-cards.c
  		default:
  			break;
  		}
-@@ -6833,6 +6975,7 @@ static int saa7134_tda8290_callback(stru
+@@ -6833,6 +7013,7 @@ static int saa7134_tda8290_callback(stru
  	case SAA7134_BOARD_HAUPPAUGE_HVR1150:
  	case SAA7134_BOARD_HAUPPAUGE_HVR1120:
  	case SAA7134_BOARD_AVERMEDIA_M733A:
@@ -153583,7 +162383,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-cards.c
  		/* tda8290 + tda18271 */
  		ret = saa7134_tda8290_18271_callback(dev, command, arg);
  		break;
-@@ -6847,6 +6990,7 @@ static int saa7134_tda8290_callback(stru
+@@ -6847,6 +7028,7 @@ static int saa7134_tda8290_callback(stru
  int saa7134_tuner_callback(void *priv, int component, int command, int arg)
  {
  	struct saa7134_dev *dev = priv;
@@ -153591,7 +162391,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-cards.c
  	if (dev != NULL) {
  		switch (dev->tuner_type) {
  		case TUNER_PHILIPS_TDA8290:
-@@ -6937,6 +7081,7 @@ int saa7134_board_init1(struct saa7134_d
+@@ -6937,6 +7119,7 @@ int saa7134_board_init1(struct saa7134_d
  	case SAA7134_BOARD_VIDEOMATE_TV_PVR:
  	case SAA7134_BOARD_VIDEOMATE_GOLD_PLUS:
  	case SAA7134_BOARD_VIDEOMATE_TV_GOLD_PLUSII:
@@ -153599,7 +162399,15 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-cards.c
  	case SAA7134_BOARD_VIDEOMATE_DVBT_300:
  	case SAA7134_BOARD_VIDEOMATE_DVBT_200:
  	case SAA7134_BOARD_VIDEOMATE_DVBT_200A:
-@@ -7320,6 +7465,7 @@ int saa7134_board_init2(struct saa7134_d
+@@ -6957,6 +7140,7 @@ int saa7134_board_init1(struct saa7134_d
+ 	case SAA7134_BOARD_ENCORE_ENLTV:
+ 	case SAA7134_BOARD_ENCORE_ENLTV_FM:
+ 	case SAA7134_BOARD_ENCORE_ENLTV_FM53:
++	case SAA7134_BOARD_ENCORE_ENLTV_FM3:
+ 	case SAA7134_BOARD_10MOONSTVMASTER3:
+ 	case SAA7134_BOARD_BEHOLD_401:
+ 	case SAA7134_BOARD_BEHOLD_403:
+@@ -7320,6 +7504,7 @@ int saa7134_board_init2(struct saa7134_d
  	case SAA7134_BOARD_VIDEOMATE_DVBT_300:
  	case SAA7134_BOARD_ASUS_EUROPA2_HYBRID:
  	case SAA7134_BOARD_ASUS_EUROPA_HYBRID:
@@ -153607,7 +162415,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-cards.c
  	{
  
  		/* The Philips EUROPA based hybrid boards have the tuner
-@@ -7510,6 +7656,12 @@ int saa7134_board_init2(struct saa7134_d
+@@ -7510,6 +7695,12 @@ int saa7134_board_init2(struct saa7134_d
  				       dev->name);
  		break;
  	}
@@ -153620,7 +162428,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-cards.c
  	} /* switch() */
  
  	/* initialize tuner */
-@@ -7520,22 +7672,22 @@ int saa7134_board_init2(struct saa7134_d
+@@ -7520,22 +7711,22 @@ int saa7134_board_init2(struct saa7134_d
  		   so we do not need to probe for a radio tuner device. */
  		if (dev->radio_type != UNSET)
  			v4l2_i2c_new_subdev(&dev->v4l2_dev,
@@ -153647,11 +162455,25 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-cards.c
  				dev->tuner_addr, NULL);
  		}
  	}
-Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-core.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/saa7134/saa7134-core.c
-+++ linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-core.c
-@@ -255,8 +255,8 @@ void saa7134_dma_free(struct videobuf_qu
+diff -Naurp linux-2.6.35/drivers/media/video/saa7134/saa7134-core.c linux-2.6.35.media/drivers/media/video/saa7134/saa7134-core.c
+--- linux-2.6.35/drivers/media/video/saa7134/saa7134-core.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/saa7134/saa7134-core.c	2011-01-24 22:56:38.498077986 -0500
+@@ -166,8 +166,14 @@ static void request_submodules(struct sa
+ 	schedule_work(&dev->request_module_wk);
+ }
+ 
++static void flush_request_submodules(struct saa7134_dev *dev)
++{
++	flush_work_sync(&dev->request_module_wk);
++}
++
+ #else
+ #define request_submodules(dev)
++#define flush_request_submodules(dev)
+ #endif /* CONFIG_MODULES */
+ 
+ /* ------------------------------------------------------------------ */
+@@ -255,8 +261,8 @@ void saa7134_dma_free(struct videobuf_qu
  	struct videobuf_dmabuf *dma=videobuf_to_dma(&buf->vb);
  	BUG_ON(in_interrupt());
  
@@ -153662,7 +162484,59 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-core.c
  	videobuf_dma_free(dma);
  	buf->vb.state = VIDEOBUF_NEEDS_INIT;
  }
-@@ -991,7 +991,7 @@ static int __devinit saa7134_initdev(str
+@@ -746,19 +752,28 @@ static int saa7134_hwfini(struct saa7134
+ 	return 0;
+ }
+ 
+-static void __devinit must_configure_manually(void)
++static void __devinit must_configure_manually(int has_eeprom)
+ {
+ 	unsigned int i,p;
+ 
+-	printk(KERN_WARNING
+-	       "saa7134: <rant>\n"
+-	       "saa7134:  Congratulations!  Your TV card vendor saved a few\n"
+-	       "saa7134:  cents for a eeprom, thus your pci board has no\n"
+-	       "saa7134:  subsystem ID and I can't identify it automatically\n"
+-	       "saa7134: </rant>\n"
+-	       "saa7134: I feel better now.  Ok, here are the good news:\n"
+-	       "saa7134: You can use the card=<nr> insmod option to specify\n"
+-	       "saa7134: which board do you have.  The list:\n");
++	if (!has_eeprom)
++		printk(KERN_WARNING
++		       "saa7134: <rant>\n"
++		       "saa7134:  Congratulations!  Your TV card vendor saved a few\n"
++		       "saa7134:  cents for a eeprom, thus your pci board has no\n"
++		       "saa7134:  subsystem ID and I can't identify it automatically\n"
++		       "saa7134: </rant>\n"
++		       "saa7134: I feel better now.  Ok, here are the good news:\n"
++		       "saa7134: You can use the card=<nr> insmod option to specify\n"
++		       "saa7134: which board do you have.  The list:\n");
++	else
++		printk(KERN_WARNING
++		       "saa7134: Board is currently unknown. You might try to use the card=<nr>\n"
++		       "saa7134: insmod option to specify which board do you have, but this is\n"
++		       "saa7134: somewhat risky, as might damage your card. It is better to ask\n"
++		       "saa7134: for support at linux-media at vger.kernel.org.\n"
++		       "saa7134: The supported cards are:\n");
++
+ 	for (i = 0; i < saa7134_bcount; i++) {
+ 		printk(KERN_WARNING "saa7134:   card=%d -> %-40.40s",
+ 		       i,saa7134_boards[i].name);
+@@ -930,8 +945,10 @@ static int __devinit saa7134_initdev(str
+ 	if (card[dev->nr] >= 0 &&
+ 	    card[dev->nr] < saa7134_bcount)
+ 		dev->board = card[dev->nr];
+-	if (SAA7134_BOARD_NOAUTO == dev->board) {
+-		must_configure_manually();
++	if (SAA7134_BOARD_UNKNOWN == dev->board)
++		must_configure_manually(0);
++	else if (SAA7134_BOARD_NOAUTO == dev->board) {
++		must_configure_manually(1);
+ 		dev->board = SAA7134_BOARD_UNKNOWN;
+ 	}
+ 	dev->autodetected = card[dev->nr] != dev->board;
+@@ -991,7 +1008,7 @@ static int __devinit saa7134_initdev(str
  	if (card_is_empress(dev)) {
  		struct v4l2_subdev *sd =
  			v4l2_i2c_new_subdev(&dev->v4l2_dev, &dev->i2c_adap,
@@ -153671,7 +162545,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-core.c
  				saa7134_boards[dev->board].empress_addr, NULL);
  
  		if (sd)
-@@ -1002,7 +1002,7 @@ static int __devinit saa7134_initdev(str
+@@ -1002,7 +1019,7 @@ static int __devinit saa7134_initdev(str
  		struct v4l2_subdev *sd;
  
  		sd = v4l2_i2c_new_subdev(&dev->v4l2_dev,
@@ -153680,10 +162554,35 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-core.c
  				0, I2C_ADDRS(saa7134_boards[dev->board].rds_addr));
  		if (sd) {
  			printk(KERN_INFO "%s: found RDS decoder\n", dev->name);
-Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-dvb.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/saa7134/saa7134-dvb.c
-+++ linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-dvb.c
+@@ -1010,8 +1027,6 @@ static int __devinit saa7134_initdev(str
+ 		}
+ 	}
+ 
+-	request_submodules(dev);
+-
+ 	v4l2_prio_init(&dev->prio);
+ 
+ 	mutex_lock(&saa7134_devlist_lock);
+@@ -1066,6 +1081,7 @@ static int __devinit saa7134_initdev(str
+ 	if (saa7134_dmasound_init && !dev->dmasound.priv_data)
+ 		saa7134_dmasound_init(dev);
+ 
++	request_submodules(dev);
+ 	return 0;
+ 
+  fail4:
+@@ -1091,6 +1107,8 @@ static void __devexit saa7134_finidev(st
+ 	struct saa7134_dev *dev = container_of(v4l2_dev, struct saa7134_dev, v4l2_dev);
+ 	struct saa7134_mpeg_ops *mops;
+ 
++	flush_request_submodules(dev);
++
+ 	/* Release DMA sound modules if present */
+ 	if (saa7134_dmasound_exit && dev->dmasound.priv_data) {
+ 		saa7134_dmasound_exit(dev);
+diff -Naurp linux-2.6.35/drivers/media/video/saa7134/saa7134-dvb.c linux-2.6.35.media/drivers/media/video/saa7134/saa7134-dvb.c
+--- linux-2.6.35/drivers/media/video/saa7134/saa7134-dvb.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/saa7134/saa7134-dvb.c	2011-01-24 22:56:38.539078036 -0500
 @@ -52,6 +52,7 @@
  #include "tda18271.h"
  #include "lgdt3305.h"
@@ -153812,10 +162711,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-dvb.c
  	default:
  		wprintk("Huh? unknown DVB card?\n");
  		break;
-Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-dvb.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-dvb.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/saa7134/saa7134-dvb.mod.c linux-2.6.35.media/drivers/media/video/saa7134/saa7134-dvb.mod.c
+--- linux-2.6.35/drivers/media/video/saa7134/saa7134-dvb.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/saa7134/saa7134-dvb.mod.c	2011-01-24 22:56:38.591078101 -0500
 @@ -0,0 +1,23 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -153840,10 +162738,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-dvb.mod.c
 +
 +
 +MODULE_INFO(srcversion, "7021109BF1443F5B254BB66");
-Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-empress.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/saa7134/saa7134-empress.c
-+++ linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-empress.c
+diff -Naurp linux-2.6.35/drivers/media/video/saa7134/saa7134-empress.c linux-2.6.35.media/drivers/media/video/saa7134/saa7134-empress.c
+--- linux-2.6.35/drivers/media/video/saa7134/saa7134-empress.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/saa7134/saa7134-empress.c	2011-01-24 22:56:38.550078051 -0500
 @@ -21,7 +21,6 @@
  #include <linux/list.h>
  #include <linux/module.h>
@@ -153861,10 +162758,18 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-empress.c
  
  	empress_signal_update(&dev->empress_workqueue);
  	return 0;
-Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-empress.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-empress.mod.c
+@@ -554,7 +553,7 @@ static int empress_fini(struct saa7134_d
+ 
+ 	if (NULL == dev->empress_dev)
+ 		return 0;
+-	flush_scheduled_work();
++	flush_work_sync(&dev->empress_workqueue);
+ 	video_unregister_device(dev->empress_dev);
+ 	dev->empress_dev = NULL;
+ 	return 0;
+diff -Naurp linux-2.6.35/drivers/media/video/saa7134/saa7134-empress.mod.c linux-2.6.35.media/drivers/media/video/saa7134/saa7134-empress.mod.c
+--- linux-2.6.35/drivers/media/video/saa7134/saa7134-empress.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/saa7134/saa7134-empress.mod.c	2011-01-24 22:56:38.655078181 -0500
 @@ -0,0 +1,23 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -153889,10 +162794,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-empress.mod.c
 +
 +
 +MODULE_INFO(srcversion, "14B5E5722BBD8516199374C");
-Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/saa7134/saa7134.h
-+++ linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134.h
+diff -Naurp linux-2.6.35/drivers/media/video/saa7134/saa7134.h linux-2.6.35.media/drivers/media/video/saa7134/saa7134.h
+--- linux-2.6.35/drivers/media/video/saa7134/saa7134.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/saa7134/saa7134.h	2011-01-24 22:56:38.518078010 -0500
 @@ -37,7 +37,7 @@
  #include <media/v4l2-ioctl.h>
  #include <media/v4l2-device.h>
@@ -153929,17 +162833,18 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134.h
  /* ----------------------------------------------------------- */
  /* card configuration                                          */
  
-@@ -304,6 +324,9 @@ struct saa7134_format {
+@@ -304,6 +324,10 @@ struct saa7134_format {
  #define SAA7134_BOARD_BEHOLD_H7             178
  #define SAA7134_BOARD_BEHOLD_A7             179
  #define SAA7134_BOARD_AVERMEDIA_M733A       180
 +#define SAA7134_BOARD_TECHNOTREND_BUDGET_T3000 181
 +#define SAA7134_BOARD_KWORLD_PCI_SBTVD_FULLSEG 182
 +#define SAA7134_BOARD_VIDEOMATE_M1F         183
++#define SAA7134_BOARD_ENCORE_ENLTV_FM3      184
  
  #define SAA7134_MAXBOARDS 32
  #define SAA7134_INPUT_MAX 8
-@@ -528,7 +551,7 @@ struct saa7134_dev {
+@@ -528,7 +552,7 @@ struct saa7134_dev {
  
  	/* infrared remote */
  	int                        has_remote;
@@ -153948,7 +162853,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134.h
  
  	/* pci i/o */
  	char                       name[32];
-@@ -809,16 +832,18 @@ void saa7134_irq_oss_done(struct saa7134
+@@ -809,16 +833,18 @@ void saa7134_irq_oss_done(struct saa7134
  /* ----------------------------------------------------------- */
  /* saa7134-input.c                                             */
  
@@ -153974,10 +162879,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134.h
 +#define saa7134_ir_start(dev)		(0)
 +#define saa7134_ir_stop(dev)		(0)
 +#endif
-Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-i2c.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/saa7134/saa7134-i2c.c
-+++ linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-i2c.c
+diff -Naurp linux-2.6.35/drivers/media/video/saa7134/saa7134-i2c.c linux-2.6.35.media/drivers/media/video/saa7134/saa7134-i2c.c
+--- linux-2.6.35/drivers/media/video/saa7134/saa7134-i2c.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/saa7134/saa7134-i2c.c	2011-01-24 22:56:38.601078113 -0500
 @@ -328,7 +328,6 @@ static struct i2c_algorithm saa7134_algo
  static struct i2c_adapter saa7134_adap_template = {
  	.owner         = THIS_MODULE,
@@ -153986,10 +162890,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-i2c.c
  	.algo          = &saa7134_algo,
  };
  
-Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-input.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/saa7134/saa7134-input.c
-+++ linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-input.c
+diff -Naurp linux-2.6.35/drivers/media/video/saa7134/saa7134-input.c linux-2.6.35.media/drivers/media/video/saa7134/saa7134-input.c
+--- linux-2.6.35/drivers/media/video/saa7134/saa7134-input.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/saa7134/saa7134-input.c	2011-01-24 22:56:38.644078168 -0500
 @@ -22,7 +22,6 @@
  #include <linux/init.h>
  #include <linux/delay.h>
@@ -154348,9 +163251,11 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-input.c
  		break;
  	case SAA7134_BOARD_ENCORE_ENLTV:
  	case SAA7134_BOARD_ENCORE_ENLTV_FM:
-@@ -784,9 +682,10 @@ int saa7134_input_init1(struct saa7134_d
+@@ -783,10 +681,12 @@ int saa7134_input_init1(struct saa7134_d
+ 		polling      = 50; // ms
  		break;
  	case SAA7134_BOARD_ENCORE_ENLTV_FM53:
++	case SAA7134_BOARD_ENCORE_ENLTV_FM3:
  		ir_codes     = RC_MAP_ENCORE_ENLTV_FM53;
 -		mask_keydown = 0x0040000;
 -		mask_keycode = 0x00007f;
@@ -154362,7 +163267,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-input.c
  		break;
  	case SAA7134_BOARD_10MOONSTVMASTER3:
  		ir_codes     = RC_MAP_ENCORE_ENLTV;
-@@ -822,6 +721,11 @@ int saa7134_input_init1(struct saa7134_d
+@@ -822,6 +722,11 @@ int saa7134_input_init1(struct saa7134_d
  		mask_keyup   = 0x020000;
  		polling      = 50; /* ms */
  		break;
@@ -154374,7 +163279,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-input.c
  	}
  	if (NULL == ir_codes) {
  		printk("%s: Oops: IR config error [card=%d]\n",
-@@ -830,24 +734,20 @@ int saa7134_input_init1(struct saa7134_d
+@@ -830,24 +735,20 @@ int saa7134_input_init1(struct saa7134_d
  	}
  
  	ir = kzalloc(sizeof(*ir), GFP_KERNEL);
@@ -154402,7 +163307,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-input.c
  	ir->raw_decode	 = raw_decode;
  
  	/* init input device */
-@@ -856,47 +756,35 @@ int saa7134_input_init1(struct saa7134_d
+@@ -856,47 +757,35 @@ int saa7134_input_init1(struct saa7134_d
  	snprintf(ir->phys, sizeof(ir->phys), "pci-%s/ir0",
  		 pci_name(dev->pci));
  
@@ -154467,7 +163372,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-input.c
  	dev->remote = NULL;
  	kfree(ir);
  	return err;
-@@ -908,7 +796,7 @@ void saa7134_input_fini(struct saa7134_d
+@@ -908,7 +797,7 @@ void saa7134_input_fini(struct saa7134_d
  		return;
  
  	saa7134_ir_stop(dev);
@@ -154476,7 +163381,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-input.c
  	kfree(dev->remote);
  	dev->remote = NULL;
  }
-@@ -916,14 +804,12 @@ void saa7134_input_fini(struct saa7134_d
+@@ -916,14 +805,12 @@ void saa7134_input_fini(struct saa7134_d
  void saa7134_probe_i2c_ir(struct saa7134_dev *dev)
  {
  	struct i2c_board_info info;
@@ -154491,7 +163396,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-input.c
  	int rc;
  
  	if (disable_ir) {
-@@ -959,13 +845,18 @@ void saa7134_probe_i2c_ir(struct saa7134
+@@ -959,13 +846,18 @@ void saa7134_probe_i2c_ir(struct saa7134
  		dev->init_data.name = "MSI TV at nywhere Plus";
  		dev->init_data.get_key = get_key_msi_tvanywhere_plus;
  		dev->init_data.ir_codes = RC_MAP_MSI_TVANYWHERE_PLUS;
@@ -154511,7 +163416,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-input.c
  			msg_msi.addr, dev->i2c_adap.name,
  			(1 == rc) ? "yes" : "no");
  		break;
-@@ -993,7 +884,7 @@ void saa7134_probe_i2c_ir(struct saa7134
+@@ -993,7 +885,7 @@ void saa7134_probe_i2c_ir(struct saa7134
  		dev->init_data.name = "BeholdTV";
  		dev->init_data.get_key = get_key_beholdm6xx;
  		dev->init_data.ir_codes = RC_MAP_BEHOLD;
@@ -154520,7 +163425,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-input.c
  		info.addr = 0x2d;
  		break;
  	case SAA7134_BOARD_AVERMEDIA_CARDBUS_501:
-@@ -1018,8 +909,8 @@ void saa7134_probe_i2c_ir(struct saa7134
+@@ -1018,8 +910,8 @@ void saa7134_probe_i2c_ir(struct saa7134
  
  static int saa7134_raw_decode_irq(struct saa7134_dev *dev)
  {
@@ -154531,7 +163436,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-input.c
  	int space;
  
  	/* Generate initial event */
-@@ -1028,7 +919,6 @@ static int saa7134_raw_decode_irq(struct
+@@ -1028,7 +920,6 @@ static int saa7134_raw_decode_irq(struct
  	space = saa_readl(SAA7134_GPIO_GPSTATUS0 >> 2) & ir->mask_keydown;
  	ir_raw_event_store_edge(dev->remote->dev, space ? IR_SPACE : IR_PULSE);
  
@@ -154539,7 +163444,7 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-input.c
  	/*
  	 * Wait 15 ms from the start of the first IR event before processing
  	 * the event. This time is enough for NEC protocol. May need adjustments
-@@ -1036,173 +926,9 @@ static int saa7134_raw_decode_irq(struct
+@@ -1036,173 +927,9 @@ static int saa7134_raw_decode_irq(struct
  	 */
  	if (!ir->active) {
  		timeout = jiffies + jiffies_to_msecs(15);
@@ -154715,10 +163620,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-input.c
 -
 -	return 1;
 -}
-Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/saa7134/saa7134.mod.c linux-2.6.35.media/drivers/media/video/saa7134/saa7134.mod.c
+--- linux-2.6.35/drivers/media/video/saa7134/saa7134.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/saa7134/saa7134.mod.c	2011-01-24 22:56:38.508077998 -0500
 @@ -0,0 +1,224 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -154944,10 +163848,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134.mod.c
 +MODULE_ALIAS("pci:v00001131d00007133sv00005ACEsd00007090bc*sc*i*");
 +
 +MODULE_INFO(srcversion, "360A7488571FC4A9A8FEE64");
-Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-tvaudio.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/saa7134/saa7134-tvaudio.c
-+++ linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-tvaudio.c
+diff -Naurp linux-2.6.35/drivers/media/video/saa7134/saa7134-tvaudio.c linux-2.6.35.media/drivers/media/video/saa7134/saa7134-tvaudio.c
+--- linux-2.6.35/drivers/media/video/saa7134/saa7134-tvaudio.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/saa7134/saa7134-tvaudio.c	2011-01-24 22:56:38.529078024 -0500
 @@ -550,16 +550,16 @@ static int tvaudio_thread(void *data)
  		} else if (0 != dev->last_carrier) {
  			/* no carrier -- try last detected one as fallback */
@@ -154971,10 +163874,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-tvaudio.c
  		}
  		tvaudio_setcarrier(dev,carrier,carrier);
  		dev->automute = 0;
-Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-video.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/saa7134/saa7134-video.c
-+++ linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-video.c
+diff -Naurp linux-2.6.35/drivers/media/video/saa7134/saa7134-video.c linux-2.6.35.media/drivers/media/video/saa7134/saa7134-video.c
+--- linux-2.6.35/drivers/media/video/saa7134/saa7134-video.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/saa7134/saa7134-video.c	2011-01-24 22:56:38.560078063 -0500
 @@ -30,7 +30,7 @@
  #include "saa7134-reg.h"
  #include "saa7134.h"
@@ -155120,10 +164022,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7134/saa7134-video.c
  	.vidioc_g_crop			= saa7134_g_crop,
  	.vidioc_s_crop			= saa7134_s_crop,
  	.vidioc_g_fbuf			= saa7134_g_fbuf,
-Index: linux-2.6.35.x86_64/drivers/media/video/saa7164/Makefile
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/saa7164/Makefile
-+++ linux-2.6.35.x86_64/drivers/media/video/saa7164/Makefile
+diff -Naurp linux-2.6.35/drivers/media/video/saa7164/Makefile linux-2.6.35.media/drivers/media/video/saa7164/Makefile
+--- linux-2.6.35/drivers/media/video/saa7164/Makefile	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/saa7164/Makefile	2011-01-24 22:56:33.408071849 -0500
 @@ -1,6 +1,6 @@
  saa7164-objs	:= saa7164-cards.o saa7164-core.o saa7164-i2c.o saa7164-dvb.o \
  			saa7164-fw.o saa7164-bus.o saa7164-cmd.o saa7164-api.o \
@@ -155132,10 +164033,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7164/Makefile
  
  obj-$(CONFIG_VIDEO_SAA7164) += saa7164.o
  
-Index: linux-2.6.35.x86_64/drivers/media/video/saa7164/saa7164-api.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/saa7164/saa7164-api.c
-+++ linux-2.6.35.x86_64/drivers/media/video/saa7164/saa7164-api.c
+diff -Naurp linux-2.6.35/drivers/media/video/saa7164/saa7164-api.c linux-2.6.35.media/drivers/media/video/saa7164/saa7164-api.c
+--- linux-2.6.35/drivers/media/video/saa7164/saa7164-api.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/saa7164/saa7164-api.c	2011-01-24 22:56:33.541072006 -0500
 @@ -1,7 +1,7 @@
  /*
   *  Driver for the NXP SAA7164 PCIe bridge
@@ -156287,10 +165187,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7164/saa7164-api.c
  
 -
 -
-Index: linux-2.6.35.x86_64/drivers/media/video/saa7164/saa7164-buffer.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/saa7164/saa7164-buffer.c
-+++ linux-2.6.35.x86_64/drivers/media/video/saa7164/saa7164-buffer.c
+diff -Naurp linux-2.6.35/drivers/media/video/saa7164/saa7164-buffer.c linux-2.6.35.media/drivers/media/video/saa7164/saa7164-buffer.c
+--- linux-2.6.35/drivers/media/video/saa7164/saa7164-buffer.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/saa7164/saa7164-buffer.c	2011-01-24 22:56:33.428071873 -0500
 @@ -1,7 +1,7 @@
  /*
   *  Driver for the NXP SAA7164 PCIe bridge
@@ -156628,10 +165527,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7164/saa7164-buffer.c
 +	kfree(buf);
 +}
 +
-Index: linux-2.6.35.x86_64/drivers/media/video/saa7164/saa7164-bus.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/saa7164/saa7164-bus.c
-+++ linux-2.6.35.x86_64/drivers/media/video/saa7164/saa7164-bus.c
+diff -Naurp linux-2.6.35/drivers/media/video/saa7164/saa7164-bus.c linux-2.6.35.media/drivers/media/video/saa7164/saa7164-bus.c
+--- linux-2.6.35/drivers/media/video/saa7164/saa7164-bus.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/saa7164/saa7164-bus.c	2011-01-24 22:56:33.469071922 -0500
 @@ -1,7 +1,7 @@
  /*
   *  Driver for the NXP SAA7164 PCIe bridge
@@ -156914,10 +165812,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7164/saa7164-bus.c
  	return ret;
  }
  
-Index: linux-2.6.35.x86_64/drivers/media/video/saa7164/saa7164-cards.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/saa7164/saa7164-cards.c
-+++ linux-2.6.35.x86_64/drivers/media/video/saa7164/saa7164-cards.c
+diff -Naurp linux-2.6.35/drivers/media/video/saa7164/saa7164-cards.c linux-2.6.35.media/drivers/media/video/saa7164/saa7164-cards.c
+--- linux-2.6.35/drivers/media/video/saa7164/saa7164-cards.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/saa7164/saa7164-cards.c	2011-01-24 22:56:33.398071839 -0500
 @@ -1,7 +1,7 @@
  /*
   *  Driver for the NXP SAA7164 PCIe bridge
@@ -157021,10 +165918,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7164/saa7164-cards.c
  }
  
  static void hauppauge_eeprom(struct saa7164_dev *dev, u8 *eeprom_data)
-Index: linux-2.6.35.x86_64/drivers/media/video/saa7164/saa7164-cmd.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/saa7164/saa7164-cmd.c
-+++ linux-2.6.35.x86_64/drivers/media/video/saa7164/saa7164-cmd.c
+diff -Naurp linux-2.6.35/drivers/media/video/saa7164/saa7164-cmd.c linux-2.6.35.media/drivers/media/video/saa7164/saa7164-cmd.c
+--- linux-2.6.35/drivers/media/video/saa7164/saa7164-cmd.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/saa7164/saa7164-cmd.c	2011-01-24 22:56:33.418071861 -0500
 @@ -1,7 +1,7 @@
  /*
   *  Driver for the NXP SAA7164 PCIe bridge
@@ -157125,10 +166021,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7164/saa7164-cmd.c
  	u8 errdata[256];
  	u16 resp_dsize;
  	u16 data_recd;
-Index: linux-2.6.35.x86_64/drivers/media/video/saa7164/saa7164-core.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/saa7164/saa7164-core.c
-+++ linux-2.6.35.x86_64/drivers/media/video/saa7164/saa7164-core.c
+diff -Naurp linux-2.6.35/drivers/media/video/saa7164/saa7164-core.c linux-2.6.35.media/drivers/media/video/saa7164/saa7164-core.c
+--- linux-2.6.35/drivers/media/video/saa7164/saa7164-core.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/saa7164/saa7164-core.c	2011-01-24 22:56:33.562072031 -0500
 @@ -1,7 +1,7 @@
  /*
   *  Driver for the NXP SAA7164 PCIe bridge
@@ -158232,10 +167127,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7164/saa7164-core.c
  	pci_unregister_driver(&saa7164_pci_driver);
  }
  
-Index: linux-2.6.35.x86_64/drivers/media/video/saa7164/saa7164-dvb.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/saa7164/saa7164-dvb.c
-+++ linux-2.6.35.x86_64/drivers/media/video/saa7164/saa7164-dvb.c
+diff -Naurp linux-2.6.35/drivers/media/video/saa7164/saa7164-dvb.c linux-2.6.35.media/drivers/media/video/saa7164/saa7164-dvb.c
+--- linux-2.6.35/drivers/media/video/saa7164/saa7164-dvb.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/saa7164/saa7164-dvb.c	2011-01-24 22:56:33.552072019 -0500
 @@ -1,7 +1,7 @@
  /*
   *  Driver for the NXP SAA7164 PCIe bridge
@@ -158474,10 +167368,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7164/saa7164-dvb.c
  	/* register everything */
  	ret = dvb_register(port);
  	if (ret < 0) {
-Index: linux-2.6.35.x86_64/drivers/media/video/saa7164/saa7164-encoder.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/saa7164/saa7164-encoder.c
+diff -Naurp linux-2.6.35/drivers/media/video/saa7164/saa7164-encoder.c linux-2.6.35.media/drivers/media/video/saa7164/saa7164-encoder.c
+--- linux-2.6.35/drivers/media/video/saa7164/saa7164-encoder.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/saa7164/saa7164-encoder.c	2011-01-24 22:56:33.511071970 -0500
 @@ -0,0 +1,1510 @@
 +/*
 + *  Driver for the NXP SAA7164 PCIe bridge
@@ -159989,10 +168882,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7164/saa7164-encoder.c
 +	dprintk(DBGLVL_ENC, "%s(port=%d) done\n", __func__, port->nr);
 +}
 +
-Index: linux-2.6.35.x86_64/drivers/media/video/saa7164/saa7164-fw.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/saa7164/saa7164-fw.c
-+++ linux-2.6.35.x86_64/drivers/media/video/saa7164/saa7164-fw.c
+diff -Naurp linux-2.6.35/drivers/media/video/saa7164/saa7164-fw.c linux-2.6.35.media/drivers/media/video/saa7164/saa7164-fw.c
+--- linux-2.6.35/drivers/media/video/saa7164/saa7164-fw.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/saa7164/saa7164-fw.c	2011-01-24 22:56:33.500071957 -0500
 @@ -1,7 +1,7 @@
  /*
   *  Driver for the NXP SAA7164 PCIe bridge
@@ -160068,10 +168960,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7164/saa7164-fw.c
 +	release_firmware(fw);
  	return ret;
  }
-Index: linux-2.6.35.x86_64/drivers/media/video/saa7164/saa7164.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/saa7164/saa7164.h
-+++ linux-2.6.35.x86_64/drivers/media/video/saa7164/saa7164.h
+diff -Naurp linux-2.6.35/drivers/media/video/saa7164/saa7164.h linux-2.6.35.media/drivers/media/video/saa7164/saa7164.h
+--- linux-2.6.35/drivers/media/video/saa7164/saa7164.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/saa7164/saa7164.h	2011-01-24 22:56:33.490071946 -0500
 @@ -1,7 +1,7 @@
  /*
   *  Driver for the NXP SAA7164 PCIe bridge
@@ -160536,10 +169427,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7164/saa7164.h
  #define saa7164_readb(reg)             readl(dev->bmmio + (reg))
  #define saa7164_writeb(reg, value)     writel((value), dev->bmmio + (reg))
  
-Index: linux-2.6.35.x86_64/drivers/media/video/saa7164/saa7164-i2c.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/saa7164/saa7164-i2c.c
-+++ linux-2.6.35.x86_64/drivers/media/video/saa7164/saa7164-i2c.c
+diff -Naurp linux-2.6.35/drivers/media/video/saa7164/saa7164-i2c.c linux-2.6.35.media/drivers/media/video/saa7164/saa7164-i2c.c
+--- linux-2.6.35/drivers/media/video/saa7164/saa7164-i2c.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/saa7164/saa7164-i2c.c	2011-01-24 22:56:33.449071898 -0500
 @@ -1,7 +1,7 @@
  /*
   *  Driver for the NXP SAA7164 PCIe bridge
@@ -160567,10 +169457,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7164/saa7164-i2c.c
  	return retval;
  }
  
-Index: linux-2.6.35.x86_64/drivers/media/video/saa7164/saa7164.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/saa7164/saa7164.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/saa7164/saa7164.mod.c linux-2.6.35.media/drivers/media/video/saa7164/saa7164.mod.c
+--- linux-2.6.35/drivers/media/video/saa7164/saa7164.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/saa7164/saa7164.mod.c	2011-01-24 22:56:33.459071910 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -160596,10 +169485,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7164/saa7164.mod.c
 +MODULE_ALIAS("pci:v00001131d00007164sv*sd*bc*sc*i*");
 +
 +MODULE_INFO(srcversion, "5DF061B4BB3A862A80F1FDE");
-Index: linux-2.6.35.x86_64/drivers/media/video/saa7164/saa7164-reg.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/saa7164/saa7164-reg.h
-+++ linux-2.6.35.x86_64/drivers/media/video/saa7164/saa7164-reg.h
+diff -Naurp linux-2.6.35/drivers/media/video/saa7164/saa7164-reg.h linux-2.6.35.media/drivers/media/video/saa7164/saa7164-reg.h
+--- linux-2.6.35/drivers/media/video/saa7164/saa7164-reg.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/saa7164/saa7164-reg.h	2011-01-24 22:56:33.521071982 -0500
 @@ -1,7 +1,7 @@
  /*
   *  Driver for the NXP SAA7164 PCIe bridge
@@ -160682,10 +169570,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7164/saa7164-reg.h
 +/* Firmware Debugging */
 +#define SET_DEBUG_LEVEL_CONTROL	0x0B
 +#define GET_DEBUG_DATA_CONTROL	0x0C
-Index: linux-2.6.35.x86_64/drivers/media/video/saa7164/saa7164-types.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/saa7164/saa7164-types.h
-+++ linux-2.6.35.x86_64/drivers/media/video/saa7164/saa7164-types.h
+diff -Naurp linux-2.6.35/drivers/media/video/saa7164/saa7164-types.h linux-2.6.35.media/drivers/media/video/saa7164/saa7164-types.h
+--- linux-2.6.35/drivers/media/video/saa7164/saa7164-types.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/saa7164/saa7164-types.h	2011-01-24 22:56:33.531071994 -0500
 @@ -1,7 +1,7 @@
  /*
   *  Driver for the NXP SAA7164 PCIe bridge
@@ -161119,10 +170006,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7164/saa7164-types.h
 +	u32	CPUClock;
 +	u32	RAMSpeed;
 +} __attribute__((packed));
-Index: linux-2.6.35.x86_64/drivers/media/video/saa7164/saa7164-vbi.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/saa7164/saa7164-vbi.c
+diff -Naurp linux-2.6.35/drivers/media/video/saa7164/saa7164-vbi.c linux-2.6.35.media/drivers/media/video/saa7164/saa7164-vbi.c
+--- linux-2.6.35/drivers/media/video/saa7164/saa7164-vbi.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/saa7164/saa7164-vbi.c	2011-01-24 22:56:33.439071886 -0500
 @@ -0,0 +1,1384 @@
 +/*
 + *  Driver for the NXP SAA7164 PCIe bridge
@@ -162508,10 +171394,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7164/saa7164-vbi.c
 +	}
 +
 +}
-Index: linux-2.6.35.x86_64/drivers/media/video/saa717x.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/saa717x.c
-+++ linux-2.6.35.x86_64/drivers/media/video/saa717x.c
+diff -Naurp linux-2.6.35/drivers/media/video/saa717x.c linux-2.6.35.media/drivers/media/video/saa717x.c
+--- linux-2.6.35/drivers/media/video/saa717x.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/saa717x.c	2011-01-24 22:56:34.235072823 -0500
 @@ -38,7 +38,7 @@
  #include <linux/videodev2.h>
  #include <linux/i2c.h>
@@ -163005,10 +171890,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa717x.c
 +
 +module_init(init_saa717x);
 +module_exit(exit_saa717x);
-Index: linux-2.6.35.x86_64/drivers/media/video/saa717x.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/saa717x.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/saa717x.mod.c linux-2.6.35.media/drivers/media/video/saa717x.mod.c
+--- linux-2.6.35/drivers/media/video/saa717x.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/saa717x.mod.c	2011-01-24 22:56:31.663069826 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -163034,10 +171918,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa717x.mod.c
 +MODULE_ALIAS("i2c:saa717x");
 +
 +MODULE_INFO(srcversion, "4FC6310555FD4C39801FF62");
-Index: linux-2.6.35.x86_64/drivers/media/video/saa7185.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/saa7185.c
-+++ linux-2.6.35.x86_64/drivers/media/video/saa7185.c
+diff -Naurp linux-2.6.35/drivers/media/video/saa7185.c linux-2.6.35.media/drivers/media/video/saa7185.c
+--- linux-2.6.35/drivers/media/video/saa7185.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/saa7185.c	2011-01-24 22:56:33.838072355 -0500
 @@ -30,11 +30,9 @@
  #include <linux/ioctl.h>
  #include <asm/uaccess.h>
@@ -163081,10 +171964,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7185.c
 +
 +module_init(init_saa7185);
 +module_exit(exit_saa7185);
-Index: linux-2.6.35.x86_64/drivers/media/video/saa7185.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/saa7185.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/saa7185.mod.c linux-2.6.35.media/drivers/media/video/saa7185.mod.c
+--- linux-2.6.35/drivers/media/video/saa7185.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/saa7185.mod.c	2011-01-24 22:56:32.545070844 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -163110,10 +171992,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7185.mod.c
 +MODULE_ALIAS("i2c:saa7185");
 +
 +MODULE_INFO(srcversion, "8A2C73D55EAEB8876865FD7");
-Index: linux-2.6.35.x86_64/drivers/media/video/saa7191.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/saa7191.c
-+++ linux-2.6.35.x86_64/drivers/media/video/saa7191.c
+diff -Naurp linux-2.6.35/drivers/media/video/saa7191.c linux-2.6.35.media/drivers/media/video/saa7191.c
+--- linux-2.6.35/drivers/media/video/saa7191.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/saa7191.c	2011-01-24 22:56:38.665078193 -0500
 @@ -23,7 +23,6 @@
  #include <linux/i2c.h>
  #include <media/v4l2-device.h>
@@ -163153,10 +172034,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/saa7191.c
 +
 +module_init(init_saa7191);
 +module_exit(exit_saa7191);
-Index: linux-2.6.35.x86_64/drivers/media/video/se401.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/se401.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/se401.mod.c linux-2.6.35.media/drivers/media/video/se401.mod.c
+--- linux-2.6.35/drivers/media/video/se401.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/se401.mod.c	2011-01-24 22:56:31.713069882 -0500
 @@ -0,0 +1,28 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -163186,10 +172066,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/se401.mod.c
 +MODULE_ALIAS("usb:v047Dp5003d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "890CA1BA7A843DD19C15683");
-Index: linux-2.6.35.x86_64/drivers/media/video/sh_mobile_ceu_camera.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/sh_mobile_ceu_camera.c
-+++ linux-2.6.35.x86_64/drivers/media/video/sh_mobile_ceu_camera.c
+diff -Naurp linux-2.6.35/drivers/media/video/sh_mobile_ceu_camera.c linux-2.6.35.media/drivers/media/video/sh_mobile_ceu_camera.c
+--- linux-2.6.35/drivers/media/video/sh_mobile_ceu_camera.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/sh_mobile_ceu_camera.c	2011-01-24 22:56:38.404077870 -0500
 @@ -245,7 +245,7 @@ static void free_buffer(struct videobuf_
  	if (in_interrupt())
  		BUG();
@@ -163582,10 +172461,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/sh_mobile_ceu_camera.c
  	return platform_driver_register(&sh_mobile_ceu_driver);
  }
  
-Index: linux-2.6.35.x86_64/drivers/media/video/sh_mobile_csi2.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/sh_mobile_csi2.c
+diff -Naurp linux-2.6.35/drivers/media/video/sh_mobile_csi2.c linux-2.6.35.media/drivers/media/video/sh_mobile_csi2.c
+--- linux-2.6.35/drivers/media/video/sh_mobile_csi2.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/sh_mobile_csi2.c	2011-01-24 22:56:33.131071525 -0500
 @@ -0,0 +1,354 @@
 +/*
 + * Driver for the SH-Mobile MIPI CSI-2 unit
@@ -163941,10 +172819,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/sh_mobile_csi2.c
 +MODULE_AUTHOR("Guennadi Liakhovetski <g.liakhovetski at gmx.de>");
 +MODULE_LICENSE("GPL v2");
 +MODULE_ALIAS("platform:sh-mobile-csi2");
-Index: linux-2.6.35.x86_64/drivers/media/video/sh_vou.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/sh_vou.c
-+++ linux-2.6.35.x86_64/drivers/media/video/sh_vou.c
+diff -Naurp linux-2.6.35/drivers/media/video/sh_vou.c linux-2.6.35.media/drivers/media/video/sh_vou.c
+--- linux-2.6.35/drivers/media/video/sh_vou.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/sh_vou.c	2011-01-24 22:56:34.158072732 -0500
 @@ -18,6 +18,7 @@
  #include <linux/kernel.h>
  #include <linux/platform_device.h>
@@ -164217,10 +173094,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/sh_vou.c
  	if (!subdev) {
  		ret = -ENOMEM;
  		goto ei2cnd;
-Index: linux-2.6.35.x86_64/drivers/media/video/sn9c102/sn9c102_core.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/sn9c102/sn9c102_core.c
-+++ linux-2.6.35.x86_64/drivers/media/video/sn9c102/sn9c102_core.c
+diff -Naurp linux-2.6.35/drivers/media/video/sn9c102/sn9c102_core.c linux-2.6.35.media/drivers/media/video/sn9c102/sn9c102_core.c
+--- linux-2.6.35/drivers/media/video/sn9c102/sn9c102_core.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/sn9c102/sn9c102_core.c	2011-01-24 22:56:36.462075490 -0500
 @@ -2189,6 +2189,7 @@ sn9c102_vidioc_enuminput(struct sn9c102_
  	memset(&i, 0, sizeof(i));
  	strcpy(i.name, "Camera");
@@ -164238,10 +173114,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/sn9c102/sn9c102_core.c
  	.read = sn9c102_read,
  	.poll = sn9c102_poll,
  	.mmap = sn9c102_mmap,
-Index: linux-2.6.35.x86_64/drivers/media/video/sn9c102/sn9c102_devtable.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/sn9c102/sn9c102_devtable.h
-+++ linux-2.6.35.x86_64/drivers/media/video/sn9c102/sn9c102_devtable.h
+diff -Naurp linux-2.6.35/drivers/media/video/sn9c102/sn9c102_devtable.h linux-2.6.35.media/drivers/media/video/sn9c102/sn9c102_devtable.h
+--- linux-2.6.35/drivers/media/video/sn9c102/sn9c102_devtable.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/sn9c102/sn9c102_devtable.h	2011-01-24 22:56:36.329075330 -0500
 @@ -43,89 +43,81 @@ static const struct usb_device_id sn9c10
  #if !defined CONFIG_USB_GSPCA_SONIXB && !defined CONFIG_USB_GSPCA_SONIXB_MODULE
  	{ SN9C102_USB_DEVICE(0x0c45, 0x6001, BRIDGE_SN9C102), },
@@ -164365,10 +173240,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/sn9c102/sn9c102_devtable.h
  	{ SN9C102_USB_DEVICE(0x0c45, 0x613c, BRIDGE_SN9C120), },
  	{ SN9C102_USB_DEVICE(0x0c45, 0x613e, BRIDGE_SN9C120), },
  #endif
-Index: linux-2.6.35.x86_64/drivers/media/video/sn9c102/sn9c102_pas202bcb.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/sn9c102/sn9c102_pas202bcb.c
-+++ linux-2.6.35.x86_64/drivers/media/video/sn9c102/sn9c102_pas202bcb.c
+diff -Naurp linux-2.6.35/drivers/media/video/sn9c102/sn9c102_pas202bcb.c linux-2.6.35.media/drivers/media/video/sn9c102/sn9c102_pas202bcb.c
+--- linux-2.6.35/drivers/media/video/sn9c102/sn9c102_pas202bcb.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/sn9c102/sn9c102_pas202bcb.c	2011-01-24 22:56:36.483075517 -0500
 @@ -4,7 +4,6 @@
   *                                                                         *
   * Copyright (C) 2004 by Carlos Eduardo Medaglia Dyonisio                  *
@@ -164377,10 +173251,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/sn9c102/sn9c102_pas202bcb.c
   *                                                                         *
   * Support for SN9C103, DAC Magnitude, exposure and green gain controls    *
   * added by Luca Risolia <luca.risolia at studio.unibo.it>                    *
-Index: linux-2.6.35.x86_64/drivers/media/video/soc_camera.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/soc_camera.c
-+++ linux-2.6.35.x86_64/drivers/media/video/soc_camera.c
+diff -Naurp linux-2.6.35/drivers/media/video/soc_camera.c linux-2.6.35.media/drivers/media/video/soc_camera.c
+--- linux-2.6.35/drivers/media/video/soc_camera.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/soc_camera.c	2011-01-24 22:56:36.739075827 -0500
 @@ -24,6 +24,7 @@
  #include <linux/mutex.h>
  #include <linux/module.h>
@@ -165156,10 +174029,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/soc_camera.c
  
  	mutex_lock(&list_lock);
  	list_for_each_entry(ix, &hosts, list) {
-Index: linux-2.6.35.x86_64/drivers/media/video/soc_camera.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/soc_camera.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/soc_camera.mod.c linux-2.6.35.media/drivers/media/video/soc_camera.mod.c
+--- linux-2.6.35/drivers/media/video/soc_camera.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/soc_camera.mod.c	2011-01-24 22:56:37.636076923 -0500
 @@ -0,0 +1,23 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -165184,10 +174056,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/soc_camera.mod.c
 +
 +
 +MODULE_INFO(srcversion, "C6E1A69838E5BF9C3A4E469");
-Index: linux-2.6.35.x86_64/drivers/media/video/soc_camera_platform.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/soc_camera_platform.c
-+++ linux-2.6.35.x86_64/drivers/media/video/soc_camera_platform.c
+diff -Naurp linux-2.6.35/drivers/media/video/soc_camera_platform.c linux-2.6.35.media/drivers/media/video/soc_camera_platform.c
+--- linux-2.6.35/drivers/media/video/soc_camera_platform.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/soc_camera_platform.c	2011-01-24 22:56:36.288075280 -0500
 @@ -56,8 +56,8 @@ soc_camera_platform_query_bus_param(stru
  	return p->bus_param;
  }
@@ -165254,10 +174125,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/soc_camera_platform.c
  };
  
  static struct v4l2_subdev_ops platform_subdev_ops = {
-Index: linux-2.6.35.x86_64/drivers/media/video/soc_camera_platform.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/soc_camera_platform.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/soc_camera_platform.mod.c linux-2.6.35.media/drivers/media/video/soc_camera_platform.mod.c
+--- linux-2.6.35/drivers/media/video/soc_camera_platform.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/soc_camera_platform.mod.c	2011-01-24 22:56:38.707078246 -0500
 @@ -0,0 +1,23 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -165282,10 +174152,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/soc_camera_platform.mod.c
 +
 +
 +MODULE_INFO(srcversion, "6FF8314D701E119BFE188D0");
-Index: linux-2.6.35.x86_64/drivers/media/video/soc_mediabus.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/soc_mediabus.c
-+++ linux-2.6.35.x86_64/drivers/media/video/soc_mediabus.c
+diff -Naurp linux-2.6.35/drivers/media/video/soc_mediabus.c linux-2.6.35.media/drivers/media/video/soc_mediabus.c
+--- linux-2.6.35/drivers/media/video/soc_mediabus.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/soc_mediabus.c	2011-01-24 22:56:34.040072592 -0500
 @@ -18,28 +18,28 @@
  #define MBUS_IDX(f) (V4L2_MBUS_FMT_ ## f - V4L2_MBUS_FMT_FIXED - 1)
  
@@ -165319,10 +174188,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/soc_mediabus.c
  		.fourcc			= V4L2_PIX_FMT_VYUY,
  		.name			= "VYUY",
  		.bits_per_sample	= 8,
-Index: linux-2.6.35.x86_64/drivers/media/video/soc_mediabus.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/soc_mediabus.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/soc_mediabus.mod.c linux-2.6.35.media/drivers/media/video/soc_mediabus.mod.c
+--- linux-2.6.35/drivers/media/video/soc_mediabus.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/soc_mediabus.mod.c	2011-01-24 22:56:34.036072587 -0500
 @@ -0,0 +1,23 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -165347,10 +174215,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/soc_mediabus.mod.c
 +
 +
 +MODULE_INFO(srcversion, "3831A51ACB3805C3DF702AF");
-Index: linux-2.6.35.x86_64/drivers/media/video/sr030pc30.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/sr030pc30.c
+diff -Naurp linux-2.6.35/drivers/media/video/sr030pc30.c linux-2.6.35.media/drivers/media/video/sr030pc30.c
+--- linux-2.6.35/drivers/media/video/sr030pc30.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/sr030pc30.c	2011-01-24 22:56:32.432070713 -0500
 @@ -0,0 +1,884 @@
 +/*
 + * Driver for SiliconFile SR030PC30 VGA (1/10-Inch) Image Sensor with ISP
@@ -166236,10 +175103,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/sr030pc30.c
 +MODULE_DESCRIPTION("Siliconfile SR030PC30 camera driver");
 +MODULE_AUTHOR("Sylwester Nawrocki <s.nawrocki at samsung.com>");
 +MODULE_LICENSE("GPL");
-Index: linux-2.6.35.x86_64/drivers/media/video/stk-webcam.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/stk-webcam.c
-+++ linux-2.6.35.x86_64/drivers/media/video/stk-webcam.c
+diff -Naurp linux-2.6.35/drivers/media/video/stk-webcam.c linux-2.6.35.media/drivers/media/video/stk-webcam.c
+--- linux-2.6.35/drivers/media/video/stk-webcam.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/stk-webcam.c	2011-01-24 22:56:38.425077896 -0500
 @@ -27,7 +27,6 @@
  #include <linux/kernel.h>
  #include <linux/errno.h>
@@ -166453,10 +175319,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/stk-webcam.c
  
  	STK_INFO("Syntek USB2.0 Camera release resources device %s\n",
  		 video_device_node_name(&dev->vdev));
-Index: linux-2.6.35.x86_64/drivers/media/video/stkwebcam.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/stkwebcam.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/stkwebcam.mod.c linux-2.6.35.media/drivers/media/video/stkwebcam.mod.c
+--- linux-2.6.35/drivers/media/video/stkwebcam.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/stkwebcam.mod.c	2011-01-24 22:56:36.585075641 -0500
 @@ -0,0 +1,25 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -166483,10 +175348,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/stkwebcam.mod.c
 +MODULE_ALIAS("usb:v05E1p0501d*dc*dsc*dp*icFFiscFFipFF*");
 +
 +MODULE_INFO(srcversion, "771499685D17D397122337E");
-Index: linux-2.6.35.x86_64/drivers/media/video/stradis.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/stradis.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/stradis.mod.c linux-2.6.35.media/drivers/media/video/stradis.mod.c
+--- linux-2.6.35/drivers/media/video/stradis.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/stradis.mod.c	2011-01-24 22:56:32.244070495 -0500
 @@ -0,0 +1,23 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -166511,10 +175375,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/stradis.mod.c
 +
 +
 +MODULE_INFO(srcversion, "11FE680824022CEF375CBC7");
-Index: linux-2.6.35.x86_64/drivers/media/video/tda7432.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/tda7432.c
-+++ linux-2.6.35.x86_64/drivers/media/video/tda7432.c
+diff -Naurp linux-2.6.35/drivers/media/video/tda7432.c linux-2.6.35.media/drivers/media/video/tda7432.c
+--- linux-2.6.35/drivers/media/video/tda7432.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/tda7432.c	2011-01-24 22:56:32.484070773 -0500
 @@ -36,7 +36,6 @@
  #include <media/v4l2-device.h>
  #include <media/v4l2-ioctl.h>
@@ -166554,10 +175417,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/tda7432.c
 +
 +module_init(init_tda7432);
 +module_exit(exit_tda7432);
-Index: linux-2.6.35.x86_64/drivers/media/video/tda7432.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/tda7432.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/tda7432.mod.c linux-2.6.35.media/drivers/media/video/tda7432.mod.c
+--- linux-2.6.35/drivers/media/video/tda7432.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/tda7432.mod.c	2011-01-24 22:56:34.339072946 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -166583,10 +175445,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/tda7432.mod.c
 +MODULE_ALIAS("i2c:tda7432");
 +
 +MODULE_INFO(srcversion, "7FE73FF6E7F92C04AF8AF68");
-Index: linux-2.6.35.x86_64/drivers/media/video/tda9840.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/tda9840.c
-+++ linux-2.6.35.x86_64/drivers/media/video/tda9840.c
+diff -Naurp linux-2.6.35/drivers/media/video/tda9840.c linux-2.6.35.media/drivers/media/video/tda9840.c
+--- linux-2.6.35/drivers/media/video/tda9840.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/tda9840.c	2011-01-24 22:56:36.524075566 -0500
 @@ -32,7 +32,6 @@
  #include <linux/i2c.h>
  #include <media/v4l2-device.h>
@@ -166626,10 +175487,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/tda9840.c
 +
 +module_init(init_tda9840);
 +module_exit(exit_tda9840);
-Index: linux-2.6.35.x86_64/drivers/media/video/tda9840.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/tda9840.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/tda9840.mod.c linux-2.6.35.media/drivers/media/video/tda9840.mod.c
+--- linux-2.6.35/drivers/media/video/tda9840.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/tda9840.mod.c	2011-01-24 22:56:39.004078613 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -166655,10 +175515,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/tda9840.mod.c
 +MODULE_ALIAS("i2c:tda9840");
 +
 +MODULE_INFO(srcversion, "B05331C71F653750248E1A0");
-Index: linux-2.6.35.x86_64/drivers/media/video/tea6415c.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/tea6415c.c
-+++ linux-2.6.35.x86_64/drivers/media/video/tea6415c.c
+diff -Naurp linux-2.6.35/drivers/media/video/tea6415c.c linux-2.6.35.media/drivers/media/video/tea6415c.c
+--- linux-2.6.35/drivers/media/video/tea6415c.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/tea6415c.c	2011-01-24 22:56:32.853071200 -0500
 @@ -34,7 +34,6 @@
  #include <linux/i2c.h>
  #include <media/v4l2-device.h>
@@ -166707,10 +175566,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/tea6415c.c
 +
 +module_init(init_tea6415c);
 +module_exit(exit_tea6415c);
-Index: linux-2.6.35.x86_64/drivers/media/video/tea6415c.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/tea6415c.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/tea6415c.mod.c linux-2.6.35.media/drivers/media/video/tea6415c.mod.c
+--- linux-2.6.35/drivers/media/video/tea6415c.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/tea6415c.mod.c	2011-01-24 22:56:33.151071549 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -166736,10 +175594,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/tea6415c.mod.c
 +MODULE_ALIAS("i2c:tea6415c");
 +
 +MODULE_INFO(srcversion, "471DD73684E6827357970A1");
-Index: linux-2.6.35.x86_64/drivers/media/video/tea6420.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/tea6420.c
-+++ linux-2.6.35.x86_64/drivers/media/video/tea6420.c
+diff -Naurp linux-2.6.35/drivers/media/video/tea6420.c linux-2.6.35.media/drivers/media/video/tea6420.c
+--- linux-2.6.35/drivers/media/video/tea6420.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/tea6420.c	2011-01-24 22:56:38.675078206 -0500
 @@ -34,7 +34,6 @@
  #include <linux/i2c.h>
  #include <media/v4l2-device.h>
@@ -166779,10 +175636,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/tea6420.c
 +
 +module_init(init_tea6420);
 +module_exit(exit_tea6420);
-Index: linux-2.6.35.x86_64/drivers/media/video/tea6420.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/tea6420.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/tea6420.mod.c linux-2.6.35.media/drivers/media/video/tea6420.mod.c
+--- linux-2.6.35/drivers/media/video/tea6420.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/tea6420.mod.c	2011-01-24 22:56:32.802071141 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -166808,10 +175664,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/tea6420.mod.c
 +MODULE_ALIAS("i2c:tea6420");
 +
 +MODULE_INFO(srcversion, "1B881714ED46410F27B44D9");
-Index: linux-2.6.35.x86_64/drivers/media/video/timblogiw.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/timblogiw.c
+diff -Naurp linux-2.6.35/drivers/media/video/timblogiw.c linux-2.6.35.media/drivers/media/video/timblogiw.c
+--- linux-2.6.35/drivers/media/video/timblogiw.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/timblogiw.c	2011-01-24 22:56:32.453070736 -0500
 @@ -0,0 +1,893 @@
 +/*
 + * timblogiw.c timberdale FPGA LogiWin Video In driver
@@ -167706,10 +176561,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/timblogiw.c
 +MODULE_AUTHOR("Pelagicore AB <info at pelagicore.com>");
 +MODULE_LICENSE("GPL v2");
 +MODULE_ALIAS("platform:"DRIVER_NAME);
-Index: linux-2.6.35.x86_64/drivers/media/video/tlg2300/Kconfig
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/tlg2300/Kconfig
-+++ linux-2.6.35.x86_64/drivers/media/video/tlg2300/Kconfig
+diff -Naurp linux-2.6.35/drivers/media/video/tlg2300/Kconfig linux-2.6.35.media/drivers/media/video/tlg2300/Kconfig
+--- linux-2.6.35/drivers/media/video/tlg2300/Kconfig	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/tlg2300/Kconfig	2011-01-24 22:56:37.212076402 -0500
 @@ -1,9 +1,9 @@
  config VIDEO_TLG2300
  	tristate "Telegent TLG2300 USB video capture support"
@@ -167722,10 +176576,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/tlg2300/Kconfig
  	select VIDEOBUF_VMALLOC
  	select SND_PCM
  	select VIDEOBUF_DVB
-Index: linux-2.6.35.x86_64/drivers/media/video/tlg2300/pd-main.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/tlg2300/pd-main.c
-+++ linux-2.6.35.x86_64/drivers/media/video/tlg2300/pd-main.c
+diff -Naurp linux-2.6.35/drivers/media/video/tlg2300/pd-main.c linux-2.6.35.media/drivers/media/video/tlg2300/pd-main.c
+--- linux-2.6.35/drivers/media/video/tlg2300/pd-main.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/tlg2300/pd-main.c	2011-01-24 22:56:37.192076378 -0500
 @@ -36,7 +36,6 @@
  #include <linux/string.h>
  #include <linux/types.h>
@@ -167748,7 +176601,17 @@ Index: linux-2.6.35.x86_64/drivers/media/video/tlg2300/pd-main.c
  
  	max_packet_size = udev->ep_out[0x1]->desc.wMaxPacketSize;
  	log("\t\t download size : %d", (int)max_packet_size);
-@@ -486,15 +484,11 @@ static void poseidon_disconnect(struct u
+@@ -454,7 +452,8 @@ static int poseidon_probe(struct usb_int
+ 
+ 	device_init_wakeup(&udev->dev, 1);
+ #ifdef CONFIG_PM
+-	pd->udev->autosuspend_delay = HZ * PM_SUSPEND_DELAY;
++	pm_runtime_set_autosuspend_delay(&pd->udev->dev,
++			1000 * PM_SUSPEND_DELAY);
+ 	usb_enable_autosuspend(pd->udev);
+ 
+ 	if (in_hibernation(pd)) {
+@@ -486,15 +485,11 @@ static void poseidon_disconnect(struct u
  	/*unregister v4l2 device */
  	v4l2_device_unregister(&pd->v4l2_dev);
  
@@ -167768,10 +176631,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/tlg2300/pd-main.c
  
  	usb_set_intfdata(interface, NULL);
  	kref_put(&pd->kref, poseidon_delete);
-Index: linux-2.6.35.x86_64/drivers/media/video/tlg2300/pd-video.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/tlg2300/pd-video.c
-+++ linux-2.6.35.x86_64/drivers/media/video/tlg2300/pd-video.c
+diff -Naurp linux-2.6.35/drivers/media/video/tlg2300/pd-video.c linux-2.6.35.media/drivers/media/video/tlg2300/pd-video.c
+--- linux-2.6.35/drivers/media/video/tlg2300/pd-video.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/tlg2300/pd-video.c	2011-01-24 22:56:37.161076340 -0500
 @@ -512,19 +512,20 @@ int alloc_bulk_urbs_generic(struct urb *
  			int buf_size, gfp_t gfp_flags,
  			usb_complete_t complete_fn, void *context)
@@ -167817,10 +176679,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/tlg2300/pd-video.c
  	} else {
  		/* maybe add FM support here */
  		log("other ");
-Index: linux-2.6.35.x86_64/drivers/media/video/tlv320aic23b.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/tlv320aic23b.c
-+++ linux-2.6.35.x86_64/drivers/media/video/tlv320aic23b.c
+diff -Naurp linux-2.6.35/drivers/media/video/tlv320aic23b.c linux-2.6.35.media/drivers/media/video/tlv320aic23b.c
+--- linux-2.6.35/drivers/media/video/tlv320aic23b.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/tlv320aic23b.c	2011-01-24 22:56:32.822071165 -0500
 @@ -29,10 +29,9 @@
  #include <linux/ioctl.h>
  #include <asm/uaccess.h>
@@ -167993,10 +176854,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/tlv320aic23b.c
 +
 +module_init(init_tlv320aic23b);
 +module_exit(exit_tlv320aic23b);
-Index: linux-2.6.35.x86_64/drivers/media/video/tuner-core.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/tuner-core.c
-+++ linux-2.6.35.x86_64/drivers/media/video/tuner-core.c
+diff -Naurp linux-2.6.35/drivers/media/video/tuner-core.c linux-2.6.35.media/drivers/media/video/tuner-core.c
+--- linux-2.6.35/drivers/media/video/tuner-core.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/tuner-core.c	2011-01-24 22:56:34.308072909 -0500
 @@ -20,7 +20,6 @@
  #include <media/tuner-types.h>
  #include <media/v4l2-device.h>
@@ -168067,10 +176927,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/tuner-core.c
  /*
   * Overrides for Emacs so that we follow Linus's tabbing style.
   * ---------------------------------------------------------------------------
-Index: linux-2.6.35.x86_64/drivers/media/video/tuner.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/tuner.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/tuner.mod.c linux-2.6.35.media/drivers/media/video/tuner.mod.c
+--- linux-2.6.35/drivers/media/video/tuner.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/tuner.mod.c	2011-01-24 22:56:34.906073619 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -168096,10 +176955,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/tuner.mod.c
 +MODULE_ALIAS("i2c:tuner");
 +
 +MODULE_INFO(srcversion, "B4F07999A80389863E13E28");
-Index: linux-2.6.35.x86_64/drivers/media/video/tvaudio.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/tvaudio.c
-+++ linux-2.6.35.x86_64/drivers/media/video/tvaudio.c
+diff -Naurp linux-2.6.35/drivers/media/video/tvaudio.c linux-2.6.35.media/drivers/media/video/tvaudio.c
+--- linux-2.6.35/drivers/media/video/tvaudio.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/tvaudio.c	2011-01-24 22:56:32.863071212 -0500
 @@ -35,7 +35,6 @@
  #include <media/tvaudio.h>
  #include <media/v4l2-device.h>
@@ -168166,10 +177024,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/tvaudio.c
 +
 +module_init(init_tvaudio);
 +module_exit(exit_tvaudio);
-Index: linux-2.6.35.x86_64/drivers/media/video/tvaudio.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/tvaudio.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/tvaudio.mod.c linux-2.6.35.media/drivers/media/video/tvaudio.mod.c
+--- linux-2.6.35/drivers/media/video/tvaudio.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/tvaudio.mod.c	2011-01-24 22:56:36.605075663 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -168195,10 +177052,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/tvaudio.mod.c
 +MODULE_ALIAS("i2c:tvaudio");
 +
 +MODULE_INFO(srcversion, "A71686608EC6CA5522223E6");
-Index: linux-2.6.35.x86_64/drivers/media/video/tveeprom.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/tveeprom.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/tveeprom.mod.c linux-2.6.35.media/drivers/media/video/tveeprom.mod.c
+--- linux-2.6.35/drivers/media/video/tveeprom.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/tveeprom.mod.c	2011-01-24 22:56:33.808072319 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -168219,10 +177075,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/tveeprom.mod.c
 +
 +
 +MODULE_INFO(srcversion, "90A8EEDF913B1108A538792");
-Index: linux-2.6.35.x86_64/drivers/media/video/tvp514x.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/tvp514x.c
-+++ linux-2.6.35.x86_64/drivers/media/video/tvp514x.c
+diff -Naurp linux-2.6.35/drivers/media/video/tvp514x.c linux-2.6.35.media/drivers/media/video/tvp514x.c
+--- linux-2.6.35/drivers/media/video/tvp514x.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/tvp514x.c	2011-01-24 22:56:37.243076440 -0500
 @@ -35,7 +35,9 @@
  
  #include <media/v4l2-device.h>
@@ -168643,10 +177498,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/tvp514x.c
  	kfree(decoder);
  	return 0;
  }
-Index: linux-2.6.35.x86_64/drivers/media/video/tvp5150.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/tvp5150.c
-+++ linux-2.6.35.x86_64/drivers/media/video/tvp5150.c
+diff -Naurp linux-2.6.35/drivers/media/video/tvp5150.c linux-2.6.35.media/drivers/media/video/tvp5150.c
+--- linux-2.6.35/drivers/media/video/tvp5150.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/tvp5150.c	2011-01-24 22:56:34.287072884 -0500
 @@ -11,8 +11,8 @@
  #include <linux/delay.h>
  #include <media/v4l2-device.h>
@@ -168940,10 +177794,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/tvp5150.c
 +
 +module_init(init_tvp5150);
 +module_exit(exit_tvp5150);
-Index: linux-2.6.35.x86_64/drivers/media/video/tvp5150.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/tvp5150.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/tvp5150.mod.c linux-2.6.35.media/drivers/media/video/tvp5150.mod.c
+--- linux-2.6.35/drivers/media/video/tvp5150.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/tvp5150.mod.c	2011-01-24 22:56:33.931072463 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -168969,10 +177822,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/tvp5150.mod.c
 +MODULE_ALIAS("i2c:tvp5150");
 +
 +MODULE_INFO(srcversion, "1C7215215A0A37B163815C5");
-Index: linux-2.6.35.x86_64/drivers/media/video/tvp7002.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/tvp7002.c
-+++ linux-2.6.35.x86_64/drivers/media/video/tvp7002.c
+diff -Naurp linux-2.6.35/drivers/media/video/tvp7002.c linux-2.6.35.media/drivers/media/video/tvp7002.c
+--- linux-2.6.35/drivers/media/video/tvp7002.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/tvp7002.c	2011-01-24 22:56:36.257075243 -0500
 @@ -32,6 +32,7 @@
  #include <media/v4l2-device.h>
  #include <media/v4l2-chip-ident.h>
@@ -169401,10 +178253,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/tvp7002.c
  	kfree(device);
  	return 0;
  }
-Index: linux-2.6.35.x86_64/drivers/media/video/tw9910.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/tw9910.c
-+++ linux-2.6.35.x86_64/drivers/media/video/tw9910.c
+diff -Naurp linux-2.6.35/drivers/media/video/tw9910.c linux-2.6.35.media/drivers/media/video/tw9910.c
+--- linux-2.6.35/drivers/media/video/tw9910.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/tw9910.c	2011-01-24 22:56:34.277072872 -0500
 @@ -469,7 +469,7 @@ tw9910_select_norm(struct soc_camera_dev
   */
  static int tw9910_s_stream(struct v4l2_subdev *sd, int enable)
@@ -169531,10 +178382,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/tw9910.c
  	return 0;
  }
  
-Index: linux-2.6.35.x86_64/drivers/media/video/tw9910.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/tw9910.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/tw9910.mod.c linux-2.6.35.media/drivers/media/video/tw9910.mod.c
+--- linux-2.6.35/drivers/media/video/tw9910.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/tw9910.mod.c	2011-01-24 22:56:31.673069836 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -169560,10 +178410,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/tw9910.mod.c
 +MODULE_ALIAS("i2c:tw9910");
 +
 +MODULE_INFO(srcversion, "9FAA49854765328D14243A1");
-Index: linux-2.6.35.x86_64/drivers/media/video/upd64031a.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/upd64031a.c
-+++ linux-2.6.35.x86_64/drivers/media/video/upd64031a.c
+diff -Naurp linux-2.6.35/drivers/media/video/upd64031a.c linux-2.6.35.media/drivers/media/video/upd64031a.c
+--- linux-2.6.35/drivers/media/video/upd64031a.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/upd64031a.c	2011-01-24 22:56:32.555070856 -0500
 @@ -28,7 +28,6 @@
  #include <linux/slab.h>
  #include <media/v4l2-device.h>
@@ -169603,10 +178452,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/upd64031a.c
 +
 +module_init(init_upd64031a);
 +module_exit(exit_upd64031a);
-Index: linux-2.6.35.x86_64/drivers/media/video/upd64031a.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/upd64031a.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/upd64031a.mod.c linux-2.6.35.media/drivers/media/video/upd64031a.mod.c
+--- linux-2.6.35/drivers/media/video/upd64031a.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/upd64031a.mod.c	2011-01-24 22:56:32.495070786 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -169632,10 +178480,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/upd64031a.mod.c
 +MODULE_ALIAS("i2c:upd64031a");
 +
 +MODULE_INFO(srcversion, "9D5333EBE9286763283872B");
-Index: linux-2.6.35.x86_64/drivers/media/video/upd64083.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/upd64083.c
-+++ linux-2.6.35.x86_64/drivers/media/video/upd64083.c
+diff -Naurp linux-2.6.35/drivers/media/video/upd64083.c linux-2.6.35.media/drivers/media/video/upd64083.c
+--- linux-2.6.35/drivers/media/video/upd64083.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/upd64083.c	2011-01-24 22:56:32.464070749 -0500
 @@ -28,7 +28,6 @@
  #include <linux/slab.h>
  #include <media/v4l2-device.h>
@@ -169675,10 +178522,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/upd64083.c
 +
 +module_init(init_upd64083);
 +module_exit(exit_upd64083);
-Index: linux-2.6.35.x86_64/drivers/media/video/upd64083.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/upd64083.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/upd64083.mod.c linux-2.6.35.media/drivers/media/video/upd64083.mod.c
+--- linux-2.6.35/drivers/media/video/upd64083.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/upd64083.mod.c	2011-01-24 22:56:37.068076227 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -169704,10 +178550,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/upd64083.mod.c
 +MODULE_ALIAS("i2c:upd64083");
 +
 +MODULE_INFO(srcversion, "7265F12B9935CE3AAC12E32");
-Index: linux-2.6.35.x86_64/drivers/media/video/usbvideo/ibmcam.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/usbvideo/ibmcam.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/usbvideo/ibmcam.mod.c linux-2.6.35.media/drivers/media/video/usbvideo/ibmcam.mod.c
+--- linux-2.6.35/drivers/media/video/usbvideo/ibmcam.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/usbvideo/ibmcam.mod.c	2011-01-24 22:56:32.752071083 -0500
 @@ -0,0 +1,29 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -169738,10 +178583,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/usbvideo/ibmcam.mod.c
 +MODULE_ALIAS("usb:v0545p800Dd030Adc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "46D44396085061F69B70CC5");
-Index: linux-2.6.35.x86_64/drivers/media/video/usbvideo/konicawc.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/usbvideo/konicawc.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/usbvideo/konicawc.mod.c linux-2.6.35.media/drivers/media/video/usbvideo/konicawc.mod.c
+--- linux-2.6.35/drivers/media/video/usbvideo/konicawc.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/usbvideo/konicawc.mod.c	2011-01-24 22:56:32.762071095 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -169767,10 +178611,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/usbvideo/konicawc.mod.c
 +MODULE_ALIAS("usb:v04C8p0720d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "35D4056FB1968FA51441F71");
-Index: linux-2.6.35.x86_64/drivers/media/video/usbvideo/ultracam.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/usbvideo/ultracam.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/usbvideo/ultracam.mod.c linux-2.6.35.media/drivers/media/video/usbvideo/ultracam.mod.c
+--- linux-2.6.35/drivers/media/video/usbvideo/ultracam.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/usbvideo/ultracam.mod.c	2011-01-24 22:56:32.792071129 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -169796,10 +178639,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/usbvideo/ultracam.mod.c
 +MODULE_ALIAS("usb:v0461p0813d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "0B80ADDB9AF5BE459E3CB89");
-Index: linux-2.6.35.x86_64/drivers/media/video/usbvideo/usbvideo.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/usbvideo/usbvideo.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/usbvideo/usbvideo.mod.c linux-2.6.35.media/drivers/media/video/usbvideo/usbvideo.mod.c
+--- linux-2.6.35/drivers/media/video/usbvideo/usbvideo.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/usbvideo/usbvideo.mod.c	2011-01-24 22:56:32.782071119 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -169820,10 +178662,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/usbvideo/usbvideo.mod.c
 +
 +
 +MODULE_INFO(srcversion, "06E74AE8E5C558868277422");
-Index: linux-2.6.35.x86_64/drivers/media/video/usbvideo/vicam.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/usbvideo/vicam.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/usbvideo/vicam.mod.c linux-2.6.35.media/drivers/media/video/usbvideo/vicam.mod.c
+--- linux-2.6.35/drivers/media/video/usbvideo/vicam.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/usbvideo/vicam.mod.c	2011-01-24 22:56:32.772071107 -0500
 @@ -0,0 +1,25 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -169850,10 +178691,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/usbvideo/vicam.mod.c
 +MODULE_ALIAS("usb:v0602p1001d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "EF1443CF0355F413EEE6A1D");
-Index: linux-2.6.35.x86_64/drivers/media/video/usbvision/usbvision-cards.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/usbvision/usbvision-cards.c
-+++ linux-2.6.35.x86_64/drivers/media/video/usbvision/usbvision-cards.c
+diff -Naurp linux-2.6.35/drivers/media/video/usbvision/usbvision-cards.c linux-2.6.35.media/drivers/media/video/usbvision/usbvision-cards.c
+--- linux-2.6.35/drivers/media/video/usbvision/usbvision-cards.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/usbvision/usbvision-cards.c	2011-01-24 22:56:33.583072056 -0500
 @@ -32,1072 +32,1072 @@
  /* Supported Devices: A table for usbvision.c*/
  struct usbvision_device_data_st  usbvision_device_data[] = {
@@ -171857,10 +180697,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/usbvision/usbvision-cards.c
  
 -MODULE_DEVICE_TABLE (usb, usbvision_table);
 +MODULE_DEVICE_TABLE(usb, usbvision_table);
-Index: linux-2.6.35.x86_64/drivers/media/video/usbvision/usbvision-core.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/usbvision/usbvision-core.c
-+++ linux-2.6.35.x86_64/drivers/media/video/usbvision/usbvision-core.c
+diff -Naurp linux-2.6.35/drivers/media/video/usbvision/usbvision-core.c linux-2.6.35.media/drivers/media/video/usbvision/usbvision-core.c
+--- linux-2.6.35/drivers/media/video/usbvision/usbvision-core.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/usbvision/usbvision-core.c	2011-01-24 22:56:33.624072103 -0500
 @@ -33,7 +33,7 @@
  #include <linux/module.h>
  #include <linux/init.h>
@@ -174602,10 +183441,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/usbvision/usbvision-core.c
  	}
  	call_all(usbvision, video, s_routing, mode[channel], 0, 0);
  	usbvision_set_audio(usbvision, audio[channel]);
-Index: linux-2.6.35.x86_64/drivers/media/video/usbvision/usbvision.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/usbvision/usbvision.h
-+++ linux-2.6.35.x86_64/drivers/media/video/usbvision/usbvision.h
+diff -Naurp linux-2.6.35/drivers/media/video/usbvision/usbvision.h linux-2.6.35.media/drivers/media/video/usbvision/usbvision.h
+--- linux-2.6.35/drivers/media/video/usbvision/usbvision.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/usbvision/usbvision.h	2011-01-24 22:56:33.656072141 -0500
 @@ -132,15 +132,15 @@
  #define MAX_BYTES_PER_PIXEL		4
  
@@ -175035,10 +183873,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/usbvision/usbvision.h
  int usbvision_power_off(struct usb_usbvision *usbvision);
  int usbvision_power_on(struct usb_usbvision *usbvision);
  
-Index: linux-2.6.35.x86_64/drivers/media/video/usbvision/usbvision-i2c.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/usbvision/usbvision-i2c.c
-+++ linux-2.6.35.x86_64/drivers/media/video/usbvision/usbvision-i2c.c
+diff -Naurp linux-2.6.35/drivers/media/video/usbvision/usbvision-i2c.c linux-2.6.35.media/drivers/media/video/usbvision/usbvision-i2c.c
+--- linux-2.6.35/drivers/media/video/usbvision/usbvision-i2c.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/usbvision/usbvision-i2c.c	2011-01-24 22:56:33.604072079 -0500
 @@ -28,18 +28,18 @@
  #include <linux/module.h>
  #include <linux/delay.h>
@@ -175250,10 +184087,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/usbvision/usbvision-i2c.c
  			wrcount += count;
  		} else
  			return (retval < 0) ? retval : -EFAULT;
-Index: linux-2.6.35.x86_64/drivers/media/video/usbvision/usbvision.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/usbvision/usbvision.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/usbvision/usbvision.mod.c linux-2.6.35.media/drivers/media/video/usbvision/usbvision.mod.c
+--- linux-2.6.35/drivers/media/video/usbvision/usbvision.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/usbvision/usbvision.mod.c	2011-01-24 22:56:33.614072091 -0500
 @@ -0,0 +1,88 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -175343,10 +184179,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/usbvision/usbvision.mod.c
 +MODULE_ALIAS("usb:v2400p4200d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "5FEB287CD0CBC642F3E0A07");
-Index: linux-2.6.35.x86_64/drivers/media/video/usbvision/usbvision-video.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/usbvision/usbvision-video.c
-+++ linux-2.6.35.x86_64/drivers/media/video/usbvision/usbvision-video.c
+diff -Naurp linux-2.6.35/drivers/media/video/usbvision/usbvision-video.c linux-2.6.35.media/drivers/media/video/usbvision/usbvision-video.c
+--- linux-2.6.35/drivers/media/video/usbvision/usbvision-video.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/usbvision/usbvision-video.c	2011-01-24 22:56:33.593072066 -0500
 @@ -50,14 +50,13 @@
  #include <linux/list.h>
  #include <linux/timer.h>
@@ -176920,10 +185755,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/usbvision/usbvision-video.c
  }
  
  module_init(usbvision_init);
-Index: linux-2.6.35.x86_64/drivers/media/video/uvc/uvc_ctrl.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/uvc/uvc_ctrl.c
-+++ linux-2.6.35.x86_64/drivers/media/video/uvc/uvc_ctrl.c
+diff -Naurp linux-2.6.35/drivers/media/video/uvc/uvc_ctrl.c linux-2.6.35.media/drivers/media/video/uvc/uvc_ctrl.c
+--- linux-2.6.35/drivers/media/video/uvc/uvc_ctrl.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/uvc/uvc_ctrl.c	2011-01-24 22:56:33.972072511 -0500
 @@ -1,8 +1,8 @@
  /*
   *      uvc_ctrl.c  --  USB Video Class driver - Controls
@@ -178061,10 +186895,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/uvc/uvc_ctrl.c
 +	}
  }
 -
-Index: linux-2.6.35.x86_64/drivers/media/video/uvc/uvc_driver.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/uvc/uvc_driver.c
-+++ linux-2.6.35.x86_64/drivers/media/video/uvc/uvc_driver.c
+diff -Naurp linux-2.6.35/drivers/media/video/uvc/uvc_driver.c linux-2.6.35.media/drivers/media/video/uvc/uvc_driver.c
+--- linux-2.6.35/drivers/media/video/uvc/uvc_driver.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/uvc/uvc_driver.c	2011-01-24 22:56:33.983072524 -0500
 @@ -1,8 +1,8 @@
  /*
   *      uvc_driver.c  --  USB Video Class driver
@@ -178213,10 +187046,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/uvc/uvc_driver.c
  	result = usb_register(&uvc_driver.driver);
  	if (result == 0)
  		printk(KERN_INFO DRIVER_DESC " (" DRIVER_VERSION ")\n");
-Index: linux-2.6.35.x86_64/drivers/media/video/uvc/uvc_isight.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/uvc/uvc_isight.c
-+++ linux-2.6.35.x86_64/drivers/media/video/uvc/uvc_isight.c
+diff -Naurp linux-2.6.35/drivers/media/video/uvc/uvc_isight.c linux-2.6.35.media/drivers/media/video/uvc/uvc_isight.c
+--- linux-2.6.35/drivers/media/video/uvc/uvc_isight.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/uvc/uvc_isight.c	2011-01-24 22:56:34.003072547 -0500
 @@ -4,7 +4,7 @@
   *	Copyright (C) 2006-2007
   *		Ivan N. Zlatev <contact at i-nz.net>
@@ -178226,10 +187058,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/uvc/uvc_isight.c
   *
   *      This program is free software; you can redistribute it and/or modify
   *      it under the terms of the GNU General Public License as published by
-Index: linux-2.6.35.x86_64/drivers/media/video/uvc/uvc_queue.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/uvc/uvc_queue.c
-+++ linux-2.6.35.x86_64/drivers/media/video/uvc/uvc_queue.c
+diff -Naurp linux-2.6.35/drivers/media/video/uvc/uvc_queue.c linux-2.6.35.media/drivers/media/video/uvc/uvc_queue.c
+--- linux-2.6.35/drivers/media/video/uvc/uvc_queue.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/uvc/uvc_queue.c	2011-01-24 22:56:33.999072543 -0500
 @@ -1,8 +1,8 @@
  /*
   *      uvc_queue.c  --  USB Video Class driver - Buffers management
@@ -178480,10 +187311,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/uvc/uvc_queue.c
  	wake_up(&buf->wait);
  	return nextbuf;
  }
-Index: linux-2.6.35.x86_64/drivers/media/video/uvc/uvc_status.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/uvc/uvc_status.c
-+++ linux-2.6.35.x86_64/drivers/media/video/uvc/uvc_status.c
+diff -Naurp linux-2.6.35/drivers/media/video/uvc/uvc_status.c linux-2.6.35.media/drivers/media/video/uvc/uvc_status.c
+--- linux-2.6.35/drivers/media/video/uvc/uvc_status.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/uvc/uvc_status.c	2011-01-24 22:56:34.014072560 -0500
 @@ -1,8 +1,8 @@
  /*
   *      uvc_status.c  --  USB Video Class driver - Status endpoint
@@ -178495,10 +187325,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/uvc/uvc_status.c
   *
   *      This program is free software; you can redistribute it and/or modify
   *      it under the terms of the GNU General Public License as published by
-Index: linux-2.6.35.x86_64/drivers/media/video/uvc/uvc_v4l2.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/uvc/uvc_v4l2.c
-+++ linux-2.6.35.x86_64/drivers/media/video/uvc/uvc_v4l2.c
+diff -Naurp linux-2.6.35/drivers/media/video/uvc/uvc_v4l2.c linux-2.6.35.media/drivers/media/video/uvc/uvc_v4l2.c
+--- linux-2.6.35/drivers/media/video/uvc/uvc_v4l2.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/uvc/uvc_v4l2.c	2011-01-24 22:56:34.017072565 -0500
 @@ -1,8 +1,8 @@
  /*
   *      uvc_v4l2.c  --  USB Video Class driver - V4L2 API
@@ -179027,10 +187856,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/uvc/uvc_v4l2.c
  	.read		= uvc_v4l2_read,
  	.mmap		= uvc_v4l2_mmap,
  	.poll		= uvc_v4l2_poll,
-Index: linux-2.6.35.x86_64/drivers/media/video/uvc/uvc_video.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/uvc/uvc_video.c
-+++ linux-2.6.35.x86_64/drivers/media/video/uvc/uvc_video.c
+diff -Naurp linux-2.6.35/drivers/media/video/uvc/uvc_video.c linux-2.6.35.media/drivers/media/video/uvc/uvc_video.c
+--- linux-2.6.35/drivers/media/video/uvc/uvc_video.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/uvc/uvc_video.c	2011-01-24 22:56:34.010072556 -0500
 @@ -1,8 +1,8 @@
  /*
   *      uvc_video.c  --  USB Video Class driver - Video handling
@@ -179204,10 +188032,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/uvc/uvc_video.c
  	ret = uvc_queue_enable(&stream->queue, 1);
  	if (ret < 0)
  		return ret;
-Index: linux-2.6.35.x86_64/drivers/media/video/uvc/uvcvideo.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/uvc/uvcvideo.h
-+++ linux-2.6.35.x86_64/drivers/media/video/uvc/uvcvideo.h
+diff -Naurp linux-2.6.35/drivers/media/video/uvc/uvcvideo.h linux-2.6.35.media/drivers/media/video/uvc/uvcvideo.h
+--- linux-2.6.35/drivers/media/video/uvc/uvcvideo.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/uvc/uvcvideo.h	2011-01-24 22:56:34.021072569 -0500
 @@ -40,6 +40,15 @@ struct uvc_xu_control_info {
  	__u32 flags;
  };
@@ -179445,10 +188272,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/uvc/uvcvideo.h
  
  extern int uvc_ctrl_begin(struct uvc_video_chain *chain);
  extern int __uvc_ctrl_commit(struct uvc_video_chain *chain, int rollback);
-Index: linux-2.6.35.x86_64/drivers/media/video/uvc/uvcvideo.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/uvc/uvcvideo.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/uvc/uvcvideo.mod.c linux-2.6.35.media/drivers/media/video/uvc/uvcvideo.mod.c
+--- linux-2.6.35/drivers/media/video/uvc/uvcvideo.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/uvc/uvcvideo.mod.c	2011-01-24 22:56:33.995072539 -0500
 @@ -0,0 +1,60 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -179510,10 +188336,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/uvc/uvcvideo.mod.c
 +MODULE_ALIAS("usb:v*p*d*dc*dsc*dp*ic0Eisc01ip00*");
 +
 +MODULE_INFO(srcversion, "4A1F5BFA1CF72942256925F");
-Index: linux-2.6.35.x86_64/drivers/media/video/v4l1-compat.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/v4l1-compat.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/v4l1-compat.mod.c linux-2.6.35.media/drivers/media/video/v4l1-compat.mod.c
+--- linux-2.6.35/drivers/media/video/v4l1-compat.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/v4l1-compat.mod.c	2011-01-24 22:56:32.505070798 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -179534,10 +188359,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/v4l1-compat.mod.c
 +
 +
 +MODULE_INFO(srcversion, "E98903C7627EBE32AD250B1");
-Index: linux-2.6.35.x86_64/drivers/media/video/v4l2-common.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/v4l2-common.c
-+++ linux-2.6.35.x86_64/drivers/media/video/v4l2-common.c
+diff -Naurp linux-2.6.35/drivers/media/video/v4l2-common.c linux-2.6.35.media/drivers/media/video/v4l2-common.c
+--- linux-2.6.35/drivers/media/video/v4l2-common.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/v4l2-common.c	2011-01-24 22:56:38.384077844 -0500
 @@ -62,6 +62,7 @@
  #define __OLD_VIDIOC_ /* To allow fixing old calls*/
  #include <media/v4l2-common.h>
@@ -180162,10 +188986,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/v4l2-common.c
 +	return best;
 +}
 +EXPORT_SYMBOL_GPL(v4l2_find_nearest_format);
-Index: linux-2.6.35.x86_64/drivers/media/video/v4l2-common.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/v4l2-common.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/v4l2-common.mod.c linux-2.6.35.media/drivers/media/video/v4l2-common.mod.c
+--- linux-2.6.35/drivers/media/video/v4l2-common.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/v4l2-common.mod.c	2011-01-24 22:56:34.032072582 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -180186,10 +189009,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/v4l2-common.mod.c
 +
 +
 +MODULE_INFO(srcversion, "BCE35457511BCF86DA64D84");
-Index: linux-2.6.35.x86_64/drivers/media/video/v4l2-compat-ioctl32.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/v4l2-compat-ioctl32.c
-+++ linux-2.6.35.x86_64/drivers/media/video/v4l2-compat-ioctl32.c
+diff -Naurp linux-2.6.35/drivers/media/video/v4l2-compat-ioctl32.c linux-2.6.35.media/drivers/media/video/v4l2-compat-ioctl32.c
+--- linux-2.6.35/drivers/media/video/v4l2-compat-ioctl32.c	2011-01-24 22:40:24.165424659 -0500
++++ linux-2.6.35.media/drivers/media/video/v4l2-compat-ioctl32.c	2011-01-24 22:56:32.443070726 -0500
 @@ -5,7 +5,7 @@
   * Copyright (C) 1997-2000  Jakub Jelinek  (jakub at redhat.com)
   * Copyright (C) 1998  Eddie C. Dost  (ecd at skynet.be)
@@ -180954,10 +189776,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/v4l2-compat-ioctl32.c
  	default:
  		printk(KERN_WARNING "compat_ioctl32: "
  			"unknown ioctl '%c', dir=%d, #%d (0x%08x)\n",
-Index: linux-2.6.35.x86_64/drivers/media/video/v4l2-compat-ioctl32.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/v4l2-compat-ioctl32.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/v4l2-compat-ioctl32.mod.c linux-2.6.35.media/drivers/media/video/v4l2-compat-ioctl32.mod.c
+--- linux-2.6.35/drivers/media/video/v4l2-compat-ioctl32.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/v4l2-compat-ioctl32.mod.c	2011-01-24 22:56:31.733069906 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -180978,10 +189799,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/v4l2-compat-ioctl32.mod.c
 +
 +
 +MODULE_INFO(srcversion, "571A65E83451C4838986420");
-Index: linux-2.6.35.x86_64/drivers/media/video/v4l2-ctrls.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/v4l2-ctrls.c
+diff -Naurp linux-2.6.35/drivers/media/video/v4l2-ctrls.c linux-2.6.35.media/drivers/media/video/v4l2-ctrls.c
+--- linux-2.6.35/drivers/media/video/v4l2-ctrls.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/v4l2-ctrls.c	2011-01-24 22:56:34.152072724 -0500
 @@ -0,0 +1,1873 @@
 +/*
 +    V4L2 controls framework implementation.
@@ -182856,10 +191676,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/v4l2-ctrls.c
 +	return set_ctrl(ctrl, &val);
 +}
 +EXPORT_SYMBOL(v4l2_ctrl_s_ctrl);
-Index: linux-2.6.35.x86_64/drivers/media/video/v4l2-dev.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/v4l2-dev.c
-+++ linux-2.6.35.x86_64/drivers/media/video/v4l2-dev.c
+diff -Naurp linux-2.6.35/drivers/media/video/v4l2-dev.c linux-2.6.35.media/drivers/media/video/v4l2-dev.c
+--- linux-2.6.35/drivers/media/video/v4l2-dev.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/v4l2-dev.c	2011-01-24 22:56:33.727072224 -0500
 @@ -80,7 +80,7 @@ static inline unsigned long *devnode_bit
  	/* Any types not assigned to fixed minor ranges must be mapped to
  	   one single bitmap for the purposes of finding a free node number
@@ -183213,10 +192032,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/v4l2-dev.c
  	device_unregister(&vdev->dev);
  }
  EXPORT_SYMBOL(video_unregister_device);
-Index: linux-2.6.35.x86_64/drivers/media/video/v4l2-device.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/v4l2-device.c
-+++ linux-2.6.35.x86_64/drivers/media/video/v4l2-device.c
+diff -Naurp linux-2.6.35/drivers/media/video/v4l2-device.c linux-2.6.35.media/drivers/media/video/v4l2-device.c
+--- linux-2.6.35/drivers/media/video/v4l2-device.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/v4l2-device.c	2011-01-24 22:56:33.778072283 -0500
 @@ -26,6 +26,7 @@
  #endif
  #include <linux/videodev2.h>
@@ -183286,10 +192104,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/v4l2-device.c
  	sd->v4l2_dev = NULL;
  	module_put(sd->owner);
  }
-Index: linux-2.6.35.x86_64/drivers/media/video/v4l2-event.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/v4l2-event.c
-+++ linux-2.6.35.x86_64/drivers/media/video/v4l2-event.c
+diff -Naurp linux-2.6.35/drivers/media/video/v4l2-event.c linux-2.6.35.media/drivers/media/video/v4l2-event.c
+--- linux-2.6.35/drivers/media/video/v4l2-event.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/v4l2-event.c	2011-01-24 22:56:32.236070485 -0500
 @@ -134,15 +134,22 @@ int v4l2_event_dequeue(struct v4l2_fh *f
  	if (nonblocking)
  		return __v4l2_event_dequeue(fh, event);
@@ -183314,10 +192131,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/v4l2-event.c
  	return ret;
  }
  EXPORT_SYMBOL_GPL(v4l2_event_dequeue);
-Index: linux-2.6.35.x86_64/drivers/media/video/v4l2-int-device.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/v4l2-int-device.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/v4l2-int-device.mod.c linux-2.6.35.media/drivers/media/video/v4l2-int-device.mod.c
+--- linux-2.6.35/drivers/media/video/v4l2-int-device.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/v4l2-int-device.mod.c	2011-01-24 22:56:34.223072809 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -183338,10 +192154,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/v4l2-int-device.mod.c
 +
 +
 +MODULE_INFO(srcversion, "5B6679391087BBF89860AB3");
-Index: linux-2.6.35.x86_64/drivers/media/video/v4l2-ioctl.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/v4l2-ioctl.c
-+++ linux-2.6.35.x86_64/drivers/media/video/v4l2-ioctl.c
+diff -Naurp linux-2.6.35/drivers/media/video/v4l2-ioctl.c linux-2.6.35.media/drivers/media/video/v4l2-ioctl.c
+--- linux-2.6.35/drivers/media/video/v4l2-ioctl.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/v4l2-ioctl.c	2011-01-24 22:56:39.008078619 -0500
 @@ -18,14 +18,11 @@
  #include <linux/kernel.h>
  
@@ -184236,10 +193051,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/v4l2-ioctl.c
  	/*  Copy results into user buffer  */
  	switch (_IOC_DIR(cmd)) {
  	case _IOC_READ:
-Index: linux-2.6.35.x86_64/drivers/media/video/v4l2-mem2mem.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/v4l2-mem2mem.c
-+++ linux-2.6.35.x86_64/drivers/media/video/v4l2-mem2mem.c
+diff -Naurp linux-2.6.35/drivers/media/video/v4l2-mem2mem.c linux-2.6.35.media/drivers/media/video/v4l2-mem2mem.c
+--- linux-2.6.35/drivers/media/video/v4l2-mem2mem.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/v4l2-mem2mem.c	2011-01-24 22:56:34.146072718 -0500
 @@ -17,7 +17,7 @@
  #include <linux/sched.h>
  #include <linux/slab.h>
@@ -184692,10 +193506,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/v4l2-mem2mem.c
  }
  EXPORT_SYMBOL_GPL(v4l2_m2m_buf_queue);
  
-Index: linux-2.6.35.x86_64/drivers/media/video/via-camera.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/via-camera.c
+diff -Naurp linux-2.6.35/drivers/media/video/via-camera.c linux-2.6.35.media/drivers/media/video/via-camera.c
+--- linux-2.6.35/drivers/media/video/via-camera.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/via-camera.c	2011-01-24 22:56:37.595076872 -0500
 @@ -0,0 +1,1461 @@
 +/*
 + * Driver for the VIA Chrome integrated camera controller.
@@ -186158,10 +194971,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/via-camera.c
 +	platform_driver_unregister(&viacam_driver);
 +}
 +module_exit(viacam_exit);
-Index: linux-2.6.35.x86_64/drivers/media/video/via-camera.h
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/via-camera.h
+diff -Naurp linux-2.6.35/drivers/media/video/via-camera.h linux-2.6.35.media/drivers/media/video/via-camera.h
+--- linux-2.6.35/drivers/media/video/via-camera.h	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/via-camera.h	2011-01-24 22:56:36.595075651 -0500
 @@ -0,0 +1,93 @@
 +/*
 + * VIA Camera register definitions.
@@ -186256,10 +195068,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/via-camera.h
 +#define VCR_TS2ERR	0x35c	/* TS buffer 0 error indicator */
 +
 +/* Add 0x1000 for the second capture engine registers */
-Index: linux-2.6.35.x86_64/drivers/media/video/videobuf2-core.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/videobuf2-core.c
+diff -Naurp linux-2.6.35/drivers/media/video/videobuf2-core.c linux-2.6.35.media/drivers/media/video/videobuf2-core.c
+--- linux-2.6.35/drivers/media/video/videobuf2-core.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/videobuf2-core.c	2011-01-24 22:56:38.363077818 -0500
 @@ -0,0 +1,1804 @@
 +/*
 + * videobuf2-core.c - V4L2 driver helper framework
@@ -188065,10 +196876,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/videobuf2-core.c
 +MODULE_DESCRIPTION("Driver helper framework for Video for Linux 2");
 +MODULE_AUTHOR("Pawel Osciak, Marek Szyprowski");
 +MODULE_LICENSE("GPL");
-Index: linux-2.6.35.x86_64/drivers/media/video/videobuf2-dma-contig.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/videobuf2-dma-contig.c
+diff -Naurp linux-2.6.35/drivers/media/video/videobuf2-dma-contig.c linux-2.6.35.media/drivers/media/video/videobuf2-dma-contig.c
+--- linux-2.6.35/drivers/media/video/videobuf2-dma-contig.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/videobuf2-dma-contig.c	2011-01-24 22:56:34.172072748 -0500
 @@ -0,0 +1,185 @@
 +/*
 + * videobuf2-dma-contig.c - DMA contig memory allocator for videobuf2
@@ -188255,10 +197065,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/videobuf2-dma-contig.c
 +MODULE_DESCRIPTION("DMA-contig memory handling routines for videobuf2");
 +MODULE_AUTHOR("Pawel Osciak");
 +MODULE_LICENSE("GPL");
-Index: linux-2.6.35.x86_64/drivers/media/video/videobuf2-dma-sg.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/videobuf2-dma-sg.c
+diff -Naurp linux-2.6.35/drivers/media/video/videobuf2-dma-sg.c linux-2.6.35.media/drivers/media/video/videobuf2-dma-sg.c
+--- linux-2.6.35/drivers/media/video/videobuf2-dma-sg.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/videobuf2-dma-sg.c	2011-01-24 22:56:35.011073743 -0500
 @@ -0,0 +1,292 @@
 +/*
 + * videobuf2-dma-sg.c - dma scatter/gather memory allocator for videobuf2
@@ -188552,10 +197361,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/videobuf2-dma-sg.c
 +MODULE_DESCRIPTION("dma scatter/gather memory handling routines for videobuf2");
 +MODULE_AUTHOR("Andrzej Pietrasiewicz");
 +MODULE_LICENSE("GPL");
-Index: linux-2.6.35.x86_64/drivers/media/video/videobuf2-memops.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/videobuf2-memops.c
+diff -Naurp linux-2.6.35/drivers/media/video/videobuf2-memops.c linux-2.6.35.media/drivers/media/video/videobuf2-memops.c
+--- linux-2.6.35/drivers/media/video/videobuf2-memops.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/videobuf2-memops.c	2011-01-24 22:56:33.121071513 -0500
 @@ -0,0 +1,232 @@
 +/*
 + * videobuf2-memops.c - generic memory handling routines for videobuf2
@@ -188789,10 +197597,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/videobuf2-memops.c
 +MODULE_DESCRIPTION("common memory handling routines for videobuf2");
 +MODULE_AUTHOR("Pawel Osciak");
 +MODULE_LICENSE("GPL");
-Index: linux-2.6.35.x86_64/drivers/media/video/videobuf2-vmalloc.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/videobuf2-vmalloc.c
+diff -Naurp linux-2.6.35/drivers/media/video/videobuf2-vmalloc.c linux-2.6.35.media/drivers/media/video/videobuf2-vmalloc.c
+--- linux-2.6.35/drivers/media/video/videobuf2-vmalloc.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/videobuf2-vmalloc.c	2011-01-24 22:56:37.564076834 -0500
 @@ -0,0 +1,132 @@
 +/*
 + * videobuf2-vmalloc.c - vmalloc memory allocator for videobuf2
@@ -188926,10 +197733,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/videobuf2-vmalloc.c
 +MODULE_DESCRIPTION("vmalloc memory handling routines for videobuf2");
 +MODULE_AUTHOR("Pawel Osciak");
 +MODULE_LICENSE("GPL");
-Index: linux-2.6.35.x86_64/drivers/media/video/videobuf-core.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/videobuf-core.c
-+++ linux-2.6.35.x86_64/drivers/media/video/videobuf-core.c
+diff -Naurp linux-2.6.35/drivers/media/video/videobuf-core.c linux-2.6.35.media/drivers/media/video/videobuf-core.c
+--- linux-2.6.35/drivers/media/video/videobuf-core.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/videobuf-core.c	2011-01-24 22:56:32.255070508 -0500
 @@ -52,18 +52,18 @@ MODULE_LICENSE("GPL");
  #define CALL(q, f, arg...)						\
  	((q->int_ops->f) ? q->int_ops->f(arg) : 0)
@@ -189466,10 +198272,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/videobuf-core.c
 -EXPORT_SYMBOL_GPL(videobuf_cgmbuf);
 -#endif
 -
-Index: linux-2.6.35.x86_64/drivers/media/video/videobuf-core.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/videobuf-core.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/videobuf-core.mod.c linux-2.6.35.media/drivers/media/video/videobuf-core.mod.c
+--- linux-2.6.35/drivers/media/video/videobuf-core.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/videobuf-core.mod.c	2011-01-24 22:56:32.535070832 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -189490,10 +198295,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/videobuf-core.mod.c
 +
 +
 +MODULE_INFO(srcversion, "3ADB8672F89CC6A57A2DD79");
-Index: linux-2.6.35.x86_64/drivers/media/video/videobuf-dma-contig.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/videobuf-dma-contig.c
-+++ linux-2.6.35.x86_64/drivers/media/video/videobuf-dma-contig.c
+diff -Naurp linux-2.6.35/drivers/media/video/videobuf-dma-contig.c linux-2.6.35.media/drivers/media/video/videobuf-dma-contig.c
+--- linux-2.6.35/drivers/media/video/videobuf-dma-contig.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/videobuf-dma-contig.c	2011-01-24 22:56:32.240070489 -0500
 @@ -28,7 +28,6 @@ struct videobuf_dma_contig_memory {
  	void *vaddr;
  	dma_addr_t dma_handle;
@@ -189599,10 +198403,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/videobuf-dma-contig.c
  }
  EXPORT_SYMBOL_GPL(videobuf_dma_contig_free);
  
-Index: linux-2.6.35.x86_64/drivers/media/video/videobuf-dma-sg.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/videobuf-dma-sg.c
-+++ linux-2.6.35.x86_64/drivers/media/video/videobuf-dma-sg.c
+diff -Naurp linux-2.6.35/drivers/media/video/videobuf-dma-sg.c linux-2.6.35.media/drivers/media/video/videobuf-dma-sg.c
+--- linux-2.6.35/drivers/media/video/videobuf-dma-sg.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/videobuf-dma-sg.c	2011-01-24 22:56:31.652069813 -0500
 @@ -57,16 +57,21 @@ MODULE_LICENSE("GPL");
  
  /* --------------------------------------------------------------------- */
@@ -189913,10 +198716,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/videobuf-dma-sg.c
  }
  EXPORT_SYMBOL_GPL(videobuf_queue_sg_init);
  
-Index: linux-2.6.35.x86_64/drivers/media/video/videobuf-dma-sg.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/videobuf-dma-sg.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/videobuf-dma-sg.mod.c linux-2.6.35.media/drivers/media/video/videobuf-dma-sg.mod.c
+--- linux-2.6.35/drivers/media/video/videobuf-dma-sg.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/videobuf-dma-sg.mod.c	2011-01-24 22:56:35.032073769 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -189937,10 +198739,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/videobuf-dma-sg.mod.c
 +
 +
 +MODULE_INFO(srcversion, "B2208F2F9649A4E20B92077");
-Index: linux-2.6.35.x86_64/drivers/media/video/videobuf-dvb.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/videobuf-dvb.c
-+++ linux-2.6.35.x86_64/drivers/media/video/videobuf-dvb.c
+diff -Naurp linux-2.6.35/drivers/media/video/videobuf-dvb.c linux-2.6.35.media/drivers/media/video/videobuf-dvb.c
+--- linux-2.6.35/drivers/media/video/videobuf-dvb.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/videobuf-dvb.c	2011-01-24 22:56:36.247075230 -0500
 @@ -57,7 +57,7 @@ static int videobuf_dvb_thread(void *dat
  		buf = list_entry(dvb->dvbq.stream.next,
  				 struct videobuf_buffer, stream);
@@ -189950,10 +198751,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/videobuf-dvb.c
  
  		/* no more feeds left or stop_feed() asked us to quit */
  		if (0 == dvb->nfeeds)
-Index: linux-2.6.35.x86_64/drivers/media/video/videobuf-dvb.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/videobuf-dvb.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/videobuf-dvb.mod.c linux-2.6.35.media/drivers/media/video/videobuf-dvb.mod.c
+--- linux-2.6.35/drivers/media/video/videobuf-dvb.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/videobuf-dvb.mod.c	2011-01-24 22:56:32.182070423 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -189974,10 +198774,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/videobuf-dvb.mod.c
 +
 +
 +MODULE_INFO(srcversion, "5979C8CA0810250D7009D24");
-Index: linux-2.6.35.x86_64/drivers/media/video/videobuf-vmalloc.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/videobuf-vmalloc.c
-+++ linux-2.6.35.x86_64/drivers/media/video/videobuf-vmalloc.c
+diff -Naurp linux-2.6.35/drivers/media/video/videobuf-vmalloc.c linux-2.6.35.media/drivers/media/video/videobuf-vmalloc.c
+--- linux-2.6.35/drivers/media/video/videobuf-vmalloc.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/videobuf-vmalloc.c	2011-01-24 22:56:33.111071501 -0500
 @@ -75,7 +75,7 @@ static void videobuf_vm_close(struct vm_
  		struct videobuf_vmalloc_memory *mem;
  
@@ -190121,10 +198920,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/videobuf-vmalloc.c
  
  	return;
  }
-Index: linux-2.6.35.x86_64/drivers/media/video/videobuf-vmalloc.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/videobuf-vmalloc.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/videobuf-vmalloc.mod.c linux-2.6.35.media/drivers/media/video/videobuf-vmalloc.mod.c
+--- linux-2.6.35/drivers/media/video/videobuf-vmalloc.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/videobuf-vmalloc.mod.c	2011-01-24 22:56:31.683069848 -0500
 @@ -0,0 +1,19 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -190145,10 +198943,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/videobuf-vmalloc.mod.c
 +
 +
 +MODULE_INFO(srcversion, "141C86FF55D6459F4F25317");
-Index: linux-2.6.35.x86_64/drivers/media/video/videodev.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/videodev.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/videodev.mod.c linux-2.6.35.media/drivers/media/video/videodev.mod.c
+--- linux-2.6.35/drivers/media/video/videodev.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/videodev.mod.c	2011-01-24 22:56:34.029072579 -0500
 @@ -0,0 +1,23 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -190173,10 +198970,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/videodev.mod.c
 +
 +
 +MODULE_INFO(srcversion, "004463C1825C09F4238927E");
-Index: linux-2.6.35.x86_64/drivers/media/video/vino.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/vino.c
-+++ linux-2.6.35.x86_64/drivers/media/video/vino.c
+diff -Naurp linux-2.6.35/drivers/media/video/vino.c linux-2.6.35.media/drivers/media/video/vino.c
+--- linux-2.6.35/drivers/media/video/vino.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/vino.c	2011-01-24 22:56:32.232070481 -0500
 @@ -2954,9 +2954,6 @@ static int vino_enum_input(struct file *
  	if (input == VINO_INPUT_NONE)
  		return -EINVAL;
@@ -190200,10 +198996,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/vino.c
  
  	dprintk("init complete!\n");
  
-Index: linux-2.6.35.x86_64/drivers/media/video/vivi.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/vivi.c
-+++ linux-2.6.35.x86_64/drivers/media/video/vivi.c
+diff -Naurp linux-2.6.35/drivers/media/video/vivi.c linux-2.6.35.media/drivers/media/video/vivi.c
+--- linux-2.6.35/drivers/media/video/vivi.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/vivi.c	2011-01-24 22:56:37.626076911 -0500
 @@ -7,6 +7,9 @@
   *      John Sokol <sokol--a.t--videotechnology.com>
   *      http://v4l.videotechnology.com/
@@ -191157,10 +199952,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/vivi.c
  	v4l2_device_unregister(&dev->v4l2_dev);
  free_dev:
  	kfree(dev);
-Index: linux-2.6.35.x86_64/drivers/media/video/vp27smpx.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/vp27smpx.c
-+++ linux-2.6.35.x86_64/drivers/media/video/vp27smpx.c
+diff -Naurp linux-2.6.35/drivers/media/video/vp27smpx.c linux-2.6.35.media/drivers/media/video/vp27smpx.c
+--- linux-2.6.35/drivers/media/video/vp27smpx.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/vp27smpx.c	2011-01-24 22:56:37.667076961 -0500
 @@ -27,11 +27,9 @@
  #include <linux/ioctl.h>
  #include <asm/uaccess.h>
@@ -191204,10 +199998,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/vp27smpx.c
 +
 +module_init(init_vp27smpx);
 +module_exit(exit_vp27smpx);
-Index: linux-2.6.35.x86_64/drivers/media/video/vp27smpx.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/vp27smpx.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/vp27smpx.mod.c linux-2.6.35.media/drivers/media/video/vp27smpx.mod.c
+--- linux-2.6.35/drivers/media/video/vp27smpx.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/vp27smpx.mod.c	2011-01-24 22:56:33.706072200 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -191233,10 +200026,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/vp27smpx.mod.c
 +MODULE_ALIAS("i2c:vp27smpx");
 +
 +MODULE_INFO(srcversion, "8CC4CE66C8805B04A54419E");
-Index: linux-2.6.35.x86_64/drivers/media/video/vpx3220.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/vpx3220.c
-+++ linux-2.6.35.x86_64/drivers/media/video/vpx3220.c
+diff -Naurp linux-2.6.35/drivers/media/video/vpx3220.c linux-2.6.35.media/drivers/media/video/vpx3220.c
+--- linux-2.6.35/drivers/media/video/vpx3220.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/vpx3220.c	2011-01-24 22:56:36.308075303 -0500
 @@ -28,7 +28,7 @@
  #include <linux/videodev2.h>
  #include <media/v4l2-device.h>
@@ -191474,10 +200266,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/vpx3220.c
 +
 +module_init(init_vpx3220);
 +module_exit(exit_vpx3220);
-Index: linux-2.6.35.x86_64/drivers/media/video/vpx3220.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/vpx3220.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/vpx3220.mod.c linux-2.6.35.media/drivers/media/video/vpx3220.mod.c
+--- linux-2.6.35/drivers/media/video/vpx3220.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/vpx3220.mod.c	2011-01-24 22:56:38.322077767 -0500
 @@ -0,0 +1,26 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -191505,10 +200296,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/vpx3220.mod.c
 +MODULE_ALIAS("i2c:vpx3214c");
 +
 +MODULE_INFO(srcversion, "0F00D07FD1F568DF0CDDD73");
-Index: linux-2.6.35.x86_64/drivers/media/video/w9966.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/w9966.c
-+++ linux-2.6.35.x86_64/drivers/media/video/w9966.c
+diff -Naurp linux-2.6.35/drivers/media/video/w9966.c linux-2.6.35.media/drivers/media/video/w9966.c
+--- linux-2.6.35/drivers/media/video/w9966.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/w9966.c	2011-01-24 22:56:36.534075579 -0500
 @@ -815,7 +815,7 @@ out:
  
  static const struct v4l2_file_operations w9966_fops = {
@@ -191526,10 +200316,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/w9966.c
  }
  
  
-Index: linux-2.6.35.x86_64/drivers/media/video/w9966.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/w9966.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/w9966.mod.c linux-2.6.35.media/drivers/media/video/w9966.mod.c
+--- linux-2.6.35/drivers/media/video/w9966.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/w9966.mod.c	2011-01-24 22:56:34.165072739 -0500
 @@ -0,0 +1,23 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -191554,10 +200343,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/w9966.mod.c
 +
 +
 +MODULE_INFO(srcversion, "1EA16419AB4F81F0DCCC689");
-Index: linux-2.6.35.x86_64/drivers/media/video/wm8739.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/wm8739.c
-+++ linux-2.6.35.x86_64/drivers/media/video/wm8739.c
+diff -Naurp linux-2.6.35/drivers/media/video/wm8739.c linux-2.6.35.media/drivers/media/video/wm8739.c
+--- linux-2.6.35/drivers/media/video/wm8739.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/wm8739.c	2011-01-24 22:56:38.394077857 -0500
 @@ -27,11 +27,10 @@
  #include <linux/ioctl.h>
  #include <asm/uaccess.h>
@@ -191870,10 +200658,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/wm8739.c
 +
 +module_init(init_wm8739);
 +module_exit(exit_wm8739);
-Index: linux-2.6.35.x86_64/drivers/media/video/wm8739.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/wm8739.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/wm8739.mod.c linux-2.6.35.media/drivers/media/video/wm8739.mod.c
+--- linux-2.6.35/drivers/media/video/wm8739.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/wm8739.mod.c	2011-01-24 22:56:37.554076822 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -191899,10 +200686,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/wm8739.mod.c
 +MODULE_ALIAS("i2c:wm8739");
 +
 +MODULE_INFO(srcversion, "6983C09884BB61A64BE5E65");
-Index: linux-2.6.35.x86_64/drivers/media/video/wm8775.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/wm8775.c
-+++ linux-2.6.35.x86_64/drivers/media/video/wm8775.c
+diff -Naurp linux-2.6.35/drivers/media/video/wm8775.c linux-2.6.35.media/drivers/media/video/wm8775.c
+--- linux-2.6.35/drivers/media/video/wm8775.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/wm8775.c	2011-01-24 22:56:34.267072861 -0500
 @@ -31,11 +31,10 @@
  #include <linux/ioctl.h>
  #include <asm/uaccess.h>
@@ -192095,10 +200881,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/wm8775.c
 +
 +module_init(init_wm8775);
 +module_exit(exit_wm8775);
-Index: linux-2.6.35.x86_64/drivers/media/video/wm8775.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/wm8775.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/wm8775.mod.c linux-2.6.35.media/drivers/media/video/wm8775.mod.c
+--- linux-2.6.35/drivers/media/video/wm8775.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/wm8775.mod.c	2011-01-24 22:56:33.666072153 -0500
 @@ -0,0 +1,24 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -192124,10 +200909,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/wm8775.mod.c
 +MODULE_ALIAS("i2c:wm8775");
 +
 +MODULE_INFO(srcversion, "32AF0CD78AAF6577A340166");
-Index: linux-2.6.35.x86_64/drivers/media/video/zoran/videocodec.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/zoran/videocodec.c
-+++ linux-2.6.35.x86_64/drivers/media/video/zoran/videocodec.c
+diff -Naurp linux-2.6.35/drivers/media/video/zoran/videocodec.c linux-2.6.35.media/drivers/media/video/zoran/videocodec.c
+--- linux-2.6.35/drivers/media/video/zoran/videocodec.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/zoran/videocodec.c	2011-01-24 22:56:38.974078577 -0500
 @@ -107,15 +107,14 @@ videocodec_attach (struct videocodec_mas
  			if (!try_module_get(h->codec->owner))
  				return NULL;
@@ -192146,10 +200930,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/zoran/videocodec.c
  
  			snprintf(codec->name, sizeof(codec->name),
  				 "%s[%d]", codec->name, h->attached);
-Index: linux-2.6.35.x86_64/drivers/media/video/zoran/videocodec.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/zoran/videocodec.h
-+++ linux-2.6.35.x86_64/drivers/media/video/zoran/videocodec.h
+diff -Naurp linux-2.6.35/drivers/media/video/zoran/videocodec.h linux-2.6.35.media/drivers/media/video/zoran/videocodec.h
+--- linux-2.6.35/drivers/media/video/zoran/videocodec.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/zoran/videocodec.h	2011-01-24 22:56:38.758078309 -0500
 @@ -56,7 +56,7 @@
     the slave is bound to it). Otherwise it doesn't need this functions and
     therfor they may not be initialized.
@@ -192159,10 +200942,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/zoran/videocodec.h
     most/all of the codecs. The last ones may be ommited, too.
  
     See the structure declaration below for more information and which data has
-Index: linux-2.6.35.x86_64/drivers/media/video/zoran/videocodec.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/zoran/videocodec.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/zoran/videocodec.mod.c linux-2.6.35.media/drivers/media/video/zoran/videocodec.mod.c
+--- linux-2.6.35/drivers/media/video/zoran/videocodec.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/zoran/videocodec.mod.c	2011-01-24 22:56:38.922078512 -0500
 @@ -0,0 +1,23 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -192187,10 +200969,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/zoran/videocodec.mod.c
 +
 +
 +MODULE_INFO(srcversion, "E1A2870F38D9529A53C0917");
-Index: linux-2.6.35.x86_64/drivers/media/video/zoran/zoran_card.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/zoran/zoran_card.c
-+++ linux-2.6.35.x86_64/drivers/media/video/zoran/zoran_card.c
+diff -Naurp linux-2.6.35/drivers/media/video/zoran/zoran_card.c linux-2.6.35.media/drivers/media/video/zoran/zoran_card.c
+--- linux-2.6.35/drivers/media/video/zoran/zoran_card.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/zoran/zoran_card.c	2011-01-24 22:56:38.800078361 -0500
 @@ -379,7 +379,6 @@ static struct card_info zoran_cards[NUM_
  		.type = DC10_old,
  		.name = "DC10(old)",
@@ -192330,10 +201111,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/zoran/zoran_card.c
  			0, zr->card.addrs_encoder);
  
  	dprintk(2,
-Index: linux-2.6.35.x86_64/drivers/media/video/zoran/zoran_device.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/zoran/zoran_device.c
-+++ linux-2.6.35.x86_64/drivers/media/video/zoran/zoran_device.c
+diff -Naurp linux-2.6.35/drivers/media/video/zoran/zoran_device.c linux-2.6.35.media/drivers/media/video/zoran/zoran_device.c
+--- linux-2.6.35/drivers/media/video/zoran/zoran_device.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/zoran/zoran_device.c	2011-01-24 22:56:38.789078347 -0500
 @@ -484,7 +484,7 @@ zr36057_overlay (struct zoran *zr,
  				zr->overlay_settings.format);
  
@@ -192378,10 +201158,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/zoran/zoran_device.c
  			error_handler(zr, astat, stat);
  		}
  
-Index: linux-2.6.35.x86_64/drivers/media/video/zoran/zoran_driver.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/zoran/zoran_driver.c
-+++ linux-2.6.35.x86_64/drivers/media/video/zoran/zoran_driver.c
+diff -Naurp linux-2.6.35/drivers/media/video/zoran/zoran_driver.c linux-2.6.35.media/drivers/media/video/zoran/zoran_driver.c
+--- linux-2.6.35/drivers/media/video/zoran/zoran_driver.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/zoran/zoran_driver.c	2011-01-24 22:56:38.933078525 -0500
 @@ -49,7 +49,6 @@
  #include <linux/module.h>
  #include <linux/delay.h>
@@ -192837,10 +201616,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/zoran/zoran_driver.c
  	.read = zoran_read,
  	.write = zoran_write,
  	.mmap = zoran_mmap,
-Index: linux-2.6.35.x86_64/drivers/media/video/zoran/zoran.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/zoran/zoran.h
-+++ linux-2.6.35.x86_64/drivers/media/video/zoran/zoran.h
+diff -Naurp linux-2.6.35/drivers/media/video/zoran/zoran.h linux-2.6.35.media/drivers/media/video/zoran/zoran.h
+--- linux-2.6.35/drivers/media/video/zoran/zoran.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/zoran/zoran.h	2011-01-24 22:56:38.954078551 -0500
 @@ -33,15 +33,6 @@
  
  #include <media/v4l2-device.h>
@@ -192989,10 +201767,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/zoran/zoran.h
 -#endif				/* __kernel__ */
 -
  #endif
-Index: linux-2.6.35.x86_64/drivers/media/video/zoran/zr36016.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/zoran/zr36016.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/zoran/zr36016.mod.c linux-2.6.35.media/drivers/media/video/zoran/zr36016.mod.c
+--- linux-2.6.35/drivers/media/video/zoran/zr36016.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/zoran/zr36016.mod.c	2011-01-24 22:56:38.943078538 -0500
 @@ -0,0 +1,23 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -193017,10 +201794,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/zoran/zr36016.mod.c
 +
 +
 +MODULE_INFO(srcversion, "27D704581CB7D319C38DBD2");
-Index: linux-2.6.35.x86_64/drivers/media/video/zoran/zr36050.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/zoran/zr36050.c
-+++ linux-2.6.35.x86_64/drivers/media/video/zoran/zr36050.c
+diff -Naurp linux-2.6.35/drivers/media/video/zoran/zr36050.c linux-2.6.35.media/drivers/media/video/zoran/zr36050.c
+--- linux-2.6.35/drivers/media/video/zoran/zr36050.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/zoran/zr36050.c	2011-01-24 22:56:38.912078499 -0500
 @@ -236,7 +236,7 @@ zr36050_pushit (struct zr36050 *ptr,
  
     Could be variable, but until it's not needed it they are just fixed to save
@@ -193030,10 +201806,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/zoran/zr36050.c
     ========================================================================= */
  
  static const char zr36050_dqt[0x86] = {
-Index: linux-2.6.35.x86_64/drivers/media/video/zoran/zr36050.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/zoran/zr36050.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/zoran/zr36050.mod.c linux-2.6.35.media/drivers/media/video/zoran/zr36050.mod.c
+--- linux-2.6.35/drivers/media/video/zoran/zr36050.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/zoran/zr36050.mod.c	2011-01-24 22:56:38.830078398 -0500
 @@ -0,0 +1,23 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -193058,10 +201833,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/zoran/zr36050.mod.c
 +
 +
 +MODULE_INFO(srcversion, "A8504A21D453EAF630E53F1");
-Index: linux-2.6.35.x86_64/drivers/media/video/zoran/zr36060.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/zoran/zr36060.c
-+++ linux-2.6.35.x86_64/drivers/media/video/zoran/zr36060.c
+diff -Naurp linux-2.6.35/drivers/media/video/zoran/zr36060.c linux-2.6.35.media/drivers/media/video/zoran/zr36060.c
+--- linux-2.6.35/drivers/media/video/zoran/zr36060.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/zoran/zr36060.c	2011-01-24 22:56:38.779078334 -0500
 @@ -227,7 +227,7 @@ zr36060_pushit (struct zr36060 *ptr,
  
     Could be variable, but until it's not needed it they are just fixed to save
@@ -193071,10 +201845,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/zoran/zr36060.c
     ========================================================================= */
  
  static const char zr36060_dqt[0x86] = {
-Index: linux-2.6.35.x86_64/drivers/media/video/zoran/zr36060.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/zoran/zr36060.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/zoran/zr36060.mod.c linux-2.6.35.media/drivers/media/video/zoran/zr36060.mod.c
+--- linux-2.6.35/drivers/media/video/zoran/zr36060.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/zoran/zr36060.mod.c	2011-01-24 22:56:38.902078487 -0500
 @@ -0,0 +1,23 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -193099,10 +201872,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/zoran/zr36060.mod.c
 +
 +
 +MODULE_INFO(srcversion, "203FAE8DB033CB52C901C61");
-Index: linux-2.6.35.x86_64/drivers/media/video/zoran/zr36067.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/zoran/zr36067.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/zoran/zr36067.mod.c linux-2.6.35.media/drivers/media/video/zoran/zr36067.mod.c
+--- linux-2.6.35/drivers/media/video/zoran/zr36067.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/zoran/zr36067.mod.c	2011-01-24 22:56:38.820078385 -0500
 @@ -0,0 +1,28 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -193132,10 +201904,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/zoran/zr36067.mod.c
 +MODULE_ALIAS("pci:v000011DEd00006057sv*sd*bc*sc*i*");
 +
 +MODULE_INFO(srcversion, "190A5631110203658288DF0");
-Index: linux-2.6.35.x86_64/drivers/media/video/zr364xx.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/media/video/zr364xx.c
-+++ linux-2.6.35.x86_64/drivers/media/video/zr364xx.c
+diff -Naurp linux-2.6.35/drivers/media/video/zr364xx.c linux-2.6.35.media/drivers/media/video/zr364xx.c
+--- linux-2.6.35/drivers/media/video/zr364xx.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/media/video/zr364xx.c	2011-01-24 22:56:37.657076948 -0500
 @@ -572,7 +572,7 @@ static int zr364xx_got_frame(struct zr36
  	DBG("wakeup [buf/i] [%p/%d]\n", buf, buf->vb.i);
  unlock:
@@ -193154,10 +201925,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/zr364xx.c
  
  	/* Added some delay here, since opening/closing the camera quickly,
  	 * like Ekiga does during its startup, can crash the webcam
-Index: linux-2.6.35.x86_64/drivers/media/video/zr364xx.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/media/video/zr364xx.mod.c
+diff -Naurp linux-2.6.35/drivers/media/video/zr364xx.mod.c linux-2.6.35.media/drivers/media/video/zr364xx.mod.c
+--- linux-2.6.35/drivers/media/video/zr364xx.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/media/video/zr364xx.mod.c	2011-01-24 22:56:36.227075205 -0500
 @@ -0,0 +1,44 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -193203,10 +201973,9 @@ Index: linux-2.6.35.x86_64/drivers/media/video/zr364xx.mod.c
 +MODULE_ALIAS("usb:v06D6p003Dd*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "98299773CE5C501094AD563");
-Index: linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-alsa.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/staging/cx25821/cx25821-alsa.c
-+++ linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-alsa.c
+diff -Naurp linux-2.6.35/drivers/staging/cx25821/cx25821-alsa.c linux-2.6.35.media/drivers/staging/cx25821/cx25821-alsa.c
+--- linux-2.6.35/drivers/staging/cx25821/cx25821-alsa.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/staging/cx25821/cx25821-alsa.c	2011-01-24 22:56:46.366088136 -0500
 @@ -20,6 +20,8 @@
   *
   */
@@ -193500,10 +202269,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-alsa.c
  
  	return 0;
  
-Index: linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-audio.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/staging/cx25821/cx25821-audio.h
-+++ linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-audio.h
+diff -Naurp linux-2.6.35/drivers/staging/cx25821/cx25821-audio.h linux-2.6.35.media/drivers/staging/cx25821/cx25821-audio.h
+--- linux-2.6.35/drivers/staging/cx25821/cx25821-audio.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/staging/cx25821/cx25821-audio.h	2011-01-24 22:56:46.532088358 -0500
 @@ -27,24 +27,25 @@
  #define LINES_PER_BUFFER            15
  #define AUDIO_LINE_SIZE             128
@@ -193547,10 +202315,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-audio.h
 +(MAX_BUFFER_PROGRAM_SIZE * NUMBER_OF_PROGRAMS + RISC_SYNC_INSTRUCTION_SIZE)
  
  #endif
-Index: linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-audio-upstream.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/staging/cx25821/cx25821-audio-upstream.c
-+++ linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-audio-upstream.c
+diff -Naurp linux-2.6.35/drivers/staging/cx25821/cx25821-audio-upstream.c linux-2.6.35.media/drivers/staging/cx25821/cx25821-audio-upstream.c
+--- linux-2.6.35/drivers/staging/cx25821/cx25821-audio-upstream.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/staging/cx25821/cx25821-audio-upstream.c	2011-01-24 22:56:46.459088261 -0500
 @@ -20,6 +20,8 @@
   *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
   */
@@ -193832,10 +202599,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-audio-upstream.c
  		       dev->name);
  		goto error;
  	}
-Index: linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-audio-upstream.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/staging/cx25821/cx25821-audio-upstream.h
-+++ linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-audio-upstream.h
+diff -Naurp linux-2.6.35/drivers/staging/cx25821/cx25821-audio-upstream.h linux-2.6.35.media/drivers/staging/cx25821/cx25821-audio-upstream.h
+--- linux-2.6.35/drivers/staging/cx25821/cx25821-audio-upstream.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/staging/cx25821/cx25821-audio-upstream.h	2011-01-24 22:56:46.469088273 -0500
 @@ -46,11 +46,11 @@
  #define USE_RISC_NOOP_AUDIO   1
  
@@ -193850,10 +202616,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-audio-upstream.h
  #endif
  
  static int _line_size;
-Index: linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-cards.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/staging/cx25821/cx25821-cards.c
-+++ linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-cards.c
+diff -Naurp linux-2.6.35/drivers/staging/cx25821/cx25821-cards.c linux-2.6.35.media/drivers/staging/cx25821/cx25821-cards.c
+--- linux-2.6.35/drivers/staging/cx25821/cx25821-cards.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/staging/cx25821/cx25821-cards.c	2011-01-24 22:56:46.449088246 -0500
 @@ -21,6 +21,8 @@
   *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
   */
@@ -193863,10 +202628,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-cards.c
  #include <linux/init.h>
  #include <linux/module.h>
  #include <linux/pci.h>
-Index: linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-core.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/staging/cx25821/cx25821-core.c
-+++ linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-core.c
+diff -Naurp linux-2.6.35/drivers/staging/cx25821/cx25821-core.c linux-2.6.35.media/drivers/staging/cx25821/cx25821-core.c
+--- linux-2.6.35/drivers/staging/cx25821/cx25821-core.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/staging/cx25821/cx25821-core.c	2011-01-24 22:56:46.511088330 -0500
 @@ -21,6 +21,8 @@
   *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
   */
@@ -194459,10 +203223,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-core.c
  	return pci_register_driver(&cx25821_pci_driver);
  }
  
-Index: linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/staging/cx25821/cx25821.h
-+++ linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821.h
+diff -Naurp linux-2.6.35/drivers/staging/cx25821/cx25821.h linux-2.6.35.media/drivers/staging/cx25821/cx25821.h
+--- linux-2.6.35/drivers/staging/cx25821/cx25821.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/staging/cx25821/cx25821.h	2011-01-24 22:56:46.356088123 -0500
 @@ -61,7 +61,7 @@
  #define FALSE   0
  #define LINE_SIZE_D1    1440
@@ -194638,10 +203401,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821.h
  
  extern int cx25821_i2c_register(struct cx25821_i2c *bus);
  extern void cx25821_card_setup(struct cx25821_dev *dev);
-Index: linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-i2c.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/staging/cx25821/cx25821-i2c.c
-+++ linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-i2c.c
+diff -Naurp linux-2.6.35/drivers/staging/cx25821/cx25821-i2c.c linux-2.6.35.media/drivers/staging/cx25821/cx25821-i2c.c
+--- linux-2.6.35/drivers/staging/cx25821/cx25821-i2c.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/staging/cx25821/cx25821-i2c.c	2011-01-24 22:56:46.397088177 -0500
 @@ -21,6 +21,8 @@
   *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
   */
@@ -194713,10 +203475,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-i2c.c
  };
  
  static struct i2c_adapter cx25821_i2c_adap_template = {
-Index: linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-medusa-defines.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/staging/cx25821/cx25821-medusa-defines.h
-+++ linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-medusa-defines.h
+diff -Naurp linux-2.6.35/drivers/staging/cx25821/cx25821-medusa-defines.h linux-2.6.35.media/drivers/staging/cx25821/cx25821-medusa-defines.h
+--- linux-2.6.35/drivers/staging/cx25821/cx25821-medusa-defines.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/staging/cx25821/cx25821-medusa-defines.h	2011-01-24 22:56:46.489088301 -0500
 @@ -23,7 +23,7 @@
  #ifndef _MEDUSA_DEF_H_
  #define _MEDUSA_DEF_H_
@@ -194748,10 +203509,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-medusa-defines.h
  #define MAX_REGISTRY_SZ					40;
  
  #endif
-Index: linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-medusa-reg.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/staging/cx25821/cx25821-medusa-reg.h
-+++ linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-medusa-reg.h
+diff -Naurp linux-2.6.35/drivers/staging/cx25821/cx25821-medusa-reg.h linux-2.6.35.media/drivers/staging/cx25821/cx25821-medusa-reg.h
+--- linux-2.6.35/drivers/staging/cx25821/cx25821-medusa-reg.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/staging/cx25821/cx25821-medusa-reg.h	2011-01-24 22:56:46.536088364 -0500
 @@ -23,11 +23,11 @@
  #ifndef __MEDUSA_REGISTERS__
  #define __MEDUSA_REGISTERS__
@@ -194882,10 +203642,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-medusa-reg.h
 +#define VDEC_A_HUE_CTRL				0x101A
  
  #endif
-Index: linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-medusa-video.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/staging/cx25821/cx25821-medusa-video.c
-+++ linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-medusa-video.c
+diff -Naurp linux-2.6.35/drivers/staging/cx25821/cx25821-medusa-video.c linux-2.6.35.media/drivers/staging/cx25821/cx25821-medusa-video.c
+--- linux-2.6.35/drivers/staging/cx25821/cx25821-medusa-video.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/staging/cx25821/cx25821-medusa-video.c	2011-01-24 22:56:46.541088370 -0500
 @@ -20,6 +20,8 @@
   *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
   */
@@ -194973,10 +203732,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-medusa-video.c
  	return ret_val;
  
  error:
-Index: linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-medusa-video.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/staging/cx25821/cx25821-medusa-video.h
-+++ linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-medusa-video.h
+diff -Naurp linux-2.6.35/drivers/staging/cx25821/cx25821-medusa-video.h linux-2.6.35.media/drivers/staging/cx25821/cx25821-medusa-video.h
+--- linux-2.6.35/drivers/staging/cx25821/cx25821-medusa-video.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/staging/cx25821/cx25821-medusa-video.h	2011-01-24 22:56:46.438088231 -0500
 @@ -25,7 +25,7 @@
  
  #include "cx25821-medusa-defines.h"
@@ -194995,10 +203753,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-medusa-video.h
  #define SHARPNESS_DEFAULT                 50
  #define SATURATION_DEFAULT              5000
  #define BRIGHTNESS_DEFAULT              6200
-Index: linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-reg.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/staging/cx25821/cx25821-reg.h
-+++ linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-reg.h
+diff -Naurp linux-2.6.35/drivers/staging/cx25821/cx25821-reg.h linux-2.6.35.media/drivers/staging/cx25821/cx25821-reg.h
+--- linux-2.6.35/drivers/staging/cx25821/cx25821-reg.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/staging/cx25821/cx25821-reg.h	2011-01-24 22:56:46.528088353 -0500
 @@ -48,24 +48,24 @@
  #define RISC_SYNC_EVEN_VBI	 0x00000207
  #define RISC_NOOP			 0xF0000000
@@ -197349,10 +206106,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-reg.h
  
 -#endif //Athena_REGISTERS
 +#endif /* Athena_REGISTERS */
-Index: linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-sram.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/staging/cx25821/cx25821-sram.h
-+++ linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-sram.h
+diff -Naurp linux-2.6.35/drivers/staging/cx25821/cx25821-sram.h linux-2.6.35.media/drivers/staging/cx25821/cx25821-sram.h
+--- linux-2.6.35/drivers/staging/cx25821/cx25821-sram.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/staging/cx25821/cx25821-sram.h	2011-01-24 22:56:46.387088163 -0500
 @@ -23,34 +23,34 @@
  #ifndef __ATHENA_SRAM_H__
  #define __ATHENA_SRAM_H__
@@ -197441,10 +206197,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-sram.h
  #define TX_SRAM_POOL_START        0x00000
  
  #define VID_A_DOWN_CLUSTER_1      0x00040
-Index: linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-video.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/staging/cx25821/cx25821-video.c
-+++ linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-video.c
+diff -Naurp linux-2.6.35/drivers/staging/cx25821/cx25821-video.c linux-2.6.35.media/drivers/staging/cx25821/cx25821-video.c
+--- linux-2.6.35/drivers/staging/cx25821/cx25821-video.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/staging/cx25821/cx25821-video.c	2011-01-24 22:56:46.522088344 -0500
 @@ -4,6 +4,9 @@
   *  Copyright (C) 2009 Conexant Systems Inc.
   *  Authors  <shu.lin at conexant.com>, <hiep.huynh at conexant.com>
@@ -198757,10 +207512,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-video.c
 +	       .tvnorms = CX25821_NORMS,
 +	       .current_norm = V4L2_STD_NTSC_M,
 +};
-Index: linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-video.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/staging/cx25821/cx25821-video.h
-+++ linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-video.h
+diff -Naurp linux-2.6.35/drivers/staging/cx25821/cx25821-video.h linux-2.6.35.media/drivers/staging/cx25821/cx25821-video.h
+--- linux-2.6.35/drivers/staging/cx25821/cx25821-video.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/staging/cx25821/cx25821-video.h	2011-01-24 22:56:46.408088191 -0500
 @@ -40,21 +40,17 @@
  #include <media/v4l2-common.h>
  #include <media/v4l2-ioctl.h>
@@ -198844,10 +207598,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-video.h
  extern int cx25821_vidioc_reqbufs(struct file *file, void *priv,
  			  struct v4l2_requestbuffers *p);
  extern int cx25821_vidioc_querybuf(struct file *file, void *priv,
-Index: linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-video-upstream.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/staging/cx25821/cx25821-video-upstream.c
-+++ linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-video-upstream.c
+diff -Naurp linux-2.6.35/drivers/staging/cx25821/cx25821-video-upstream.c linux-2.6.35.media/drivers/staging/cx25821/cx25821-video-upstream.c
+--- linux-2.6.35/drivers/staging/cx25821/cx25821-video-upstream.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/staging/cx25821/cx25821-video-upstream.c	2011-01-24 22:56:46.418088205 -0500
 @@ -20,6 +20,8 @@
   *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
   */
@@ -199100,10 +207853,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-video-upstream.c
  		       dev->name);
  		goto error;
  	}
-Index: linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-video-upstream-ch2.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/staging/cx25821/cx25821-video-upstream-ch2.c
-+++ linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-video-upstream-ch2.c
+diff -Naurp linux-2.6.35/drivers/staging/cx25821/cx25821-video-upstream-ch2.c linux-2.6.35.media/drivers/staging/cx25821/cx25821-video-upstream-ch2.c
+--- linux-2.6.35/drivers/staging/cx25821/cx25821-video-upstream-ch2.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/staging/cx25821/cx25821-video-upstream-ch2.c	2011-01-24 22:56:46.376088149 -0500
 @@ -20,6 +20,8 @@
   *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
   */
@@ -199652,10 +208404,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-video-upstream-ch2.c
  	cx25821_dev_unregister(dev);
  
  	return err;
-Index: linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-video-upstream-ch2.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/staging/cx25821/cx25821-video-upstream-ch2.h
-+++ linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-video-upstream-ch2.h
+diff -Naurp linux-2.6.35/drivers/staging/cx25821/cx25821-video-upstream-ch2.h linux-2.6.35.media/drivers/staging/cx25821/cx25821-video-upstream-ch2.h
+--- linux-2.6.35/drivers/staging/cx25821/cx25821-video-upstream-ch2.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/staging/cx25821/cx25821-video-upstream-ch2.h	2011-01-24 22:56:46.428088219 -0500
 @@ -37,7 +37,7 @@
  #define RESET_STATUS          -1
  #define NUM_NO_OPS            5
@@ -199687,10 +208438,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-video-upstream-ch2.h
 -				    RISC_WRITECR_INSTRUCTION_SIZE + JUMP_INSTRUCTION_SIZE )
 +				    RISC_WRITECR_INSTRUCTION_SIZE + JUMP_INSTRUCTION_SIZE)
  #endif
-Index: linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-video-upstream.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/staging/cx25821/cx25821-video-upstream.h
-+++ linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-video-upstream.h
+diff -Naurp linux-2.6.35/drivers/staging/cx25821/cx25821-video-upstream.h linux-2.6.35.media/drivers/staging/cx25821/cx25821-video-upstream.h
+--- linux-2.6.35/drivers/staging/cx25821/cx25821-video-upstream.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/staging/cx25821/cx25821-video-upstream.h	2011-01-24 22:56:46.558088393 -0500
 @@ -38,7 +38,7 @@
  #define RESET_STATUS          -1
  #define NUM_NO_OPS            5
@@ -199719,10 +208469,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/cx25821/cx25821-video-upstream.h
 -				      RISC_WRITECR_INSTRUCTION_SIZE + JUMP_INSTRUCTION_SIZE )
 +				      RISC_WRITECR_INSTRUCTION_SIZE + JUMP_INSTRUCTION_SIZE)
  #endif
-Index: linux-2.6.35.x86_64/drivers/staging/cx25821/Kconfig
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/staging/cx25821/Kconfig
-+++ linux-2.6.35.x86_64/drivers/staging/cx25821/Kconfig
+diff -Naurp linux-2.6.35/drivers/staging/cx25821/Kconfig linux-2.6.35.media/drivers/staging/cx25821/Kconfig
+--- linux-2.6.35/drivers/staging/cx25821/Kconfig	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/staging/cx25821/Kconfig	2011-01-24 22:56:46.499088314 -0500
 @@ -1,10 +1,11 @@
  config VIDEO_CX25821
  	tristate "Conexant cx25821 support"
@@ -199737,10 +208486,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/cx25821/Kconfig
  	select VIDEOBUF_DVB
  	select VIDEOBUF_DMA_SG
  	select VIDEO_CX25840
-Index: linux-2.6.35.x86_64/drivers/staging/cx25821/Makefile
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/staging/cx25821/Makefile
-+++ linux-2.6.35.x86_64/drivers/staging/cx25821/Makefile
+diff -Naurp linux-2.6.35/drivers/staging/cx25821/Makefile linux-2.6.35.media/drivers/staging/cx25821/Makefile
+--- linux-2.6.35/drivers/staging/cx25821/Makefile	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/staging/cx25821/Makefile	2011-01-24 22:56:46.346088108 -0500
 @@ -1,14 +1,13 @@
 -cx25821-objs	:= cx25821-core.o cx25821-cards.o cx25821-i2c.o cx25821-gpio.o 				\
 -				cx25821-medusa-video.o cx25821-video.o cx25821-video0.o cx25821-video1.o    \
@@ -199765,10 +208513,656 @@ Index: linux-2.6.35.x86_64/drivers/staging/cx25821/Makefile
 +ccflags-y += -Idrivers/media/common/tuners
 +ccflags-y += -Idrivers/media/dvb/dvb-core
 +ccflags-y += -Idrivers/media/dvb/frontends
-Index: linux-2.6.35.x86_64/drivers/staging/go7007/go7007-driver.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/staging/go7007/go7007-driver.c
-+++ linux-2.6.35.x86_64/drivers/staging/go7007/go7007-driver.c
+diff -Naurp linux-2.6.35/drivers/staging/cxd2099/cxd2099.c linux-2.6.35.media/drivers/staging/cxd2099/cxd2099.c
+--- linux-2.6.35/drivers/staging/cxd2099/cxd2099.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/staging/cxd2099/cxd2099.c	2011-01-24 22:56:46.325088080 -0500
+@@ -0,0 +1,574 @@
++/*
++ * cxd2099.c: Driver for the CXD2099AR Common Interface Controller
++ *
++ * Copyright (C) 2010 DigitalDevices UG
++ *
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License
++ * version 2 only, as published by the Free Software Foundation.
++ *
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ * GNU General Public License for more details.
++ *
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
++ * 02110-1301, USA
++ * Or, point your browser to http://www.gnu.org/copyleft/gpl.html
++ */
++
++#include <linux/version.h>
++#include <linux/slab.h>
++#include <linux/kernel.h>
++#include <linux/module.h>
++#include <linux/moduleparam.h>
++#include <linux/init.h>
++#include <linux/i2c.h>
++#include <linux/wait.h>
++#include <linux/delay.h>
++#include <linux/mutex.h>
++#include <linux/io.h>
++
++#include "cxd2099.h"
++
++#define MAX_BUFFER_SIZE 248
++
++struct cxd {
++	struct dvb_ca_en50221 en;
++
++	struct i2c_adapter *i2c;
++	u8     adr;
++	u8     regs[0x23];
++	u8     lastaddress;
++	u8     clk_reg_f;
++	u8     clk_reg_b;
++	int    mode;
++	u32    bitrate;
++	int    ready;
++	int    dr;
++	int    slot_stat;
++
++	u8     amem[1024];
++	int    amem_read;
++
++	int    cammode;
++	struct mutex lock;
++};
++
++static int i2c_write_reg(struct i2c_adapter *adapter, u8 adr,
++			 u8 reg, u8 data)
++{
++	u8 m[2] = {reg, data};
++	struct i2c_msg msg = {.addr = adr, .flags = 0, .buf = m, .len = 2};
++
++	if (i2c_transfer(adapter, &msg, 1) != 1) {
++		printk(KERN_ERR "Failed to write to I2C register %02x@%02x!\n",
++		       reg, adr);
++		return -1;
++	}
++	return 0;
++}
++
++static int i2c_write(struct i2c_adapter *adapter, u8 adr,
++		     u8 *data, u8 len)
++{
++	struct i2c_msg msg = {.addr = adr, .flags = 0, .buf = data, .len = len};
++
++	if (i2c_transfer(adapter, &msg, 1) != 1) {
++		printk(KERN_ERR "Failed to write to I2C!\n");
++		return -1;
++	}
++	return 0;
++}
++
++static int i2c_read_reg(struct i2c_adapter *adapter, u8 adr,
++			u8 reg, u8 *val)
++{
++	struct i2c_msg msgs[2] = {{.addr = adr, .flags = 0,
++				   .buf = &reg, .len = 1 },
++				  {.addr = adr, .flags = I2C_M_RD,
++				   .buf = val, .len = 1 } };
++
++	if (i2c_transfer(adapter, msgs, 2) != 2) {
++		printk(KERN_ERR "error in i2c_read_reg\n");
++		return -1;
++	}
++	return 0;
++}
++
++static int i2c_read(struct i2c_adapter *adapter, u8 adr,
++		    u8 reg, u8 *data, u8 n)
++{
++	struct i2c_msg msgs[2] = {{.addr = adr, .flags = 0,
++				   .buf = &reg, .len = 1 },
++				  {.addr = adr, .flags = I2C_M_RD,
++				   .buf = data, .len = n } };
++
++	if (i2c_transfer(adapter, msgs, 2) != 2) {
++		printk(KERN_ERR "error in i2c_read\n");
++		return -1;
++	}
++	return 0;
++}
++
++static int read_block(struct cxd *ci, u8 adr, u8 *data, u8 n)
++{
++	int status;
++
++	status = i2c_write_reg(ci->i2c, ci->adr, 0, adr);
++	if (!status) {
++		ci->lastaddress = adr;
++		status = i2c_read(ci->i2c, ci->adr, 1, data, n);
++	}
++	return status;
++}
++
++static int read_reg(struct cxd *ci, u8 reg, u8 *val)
++{
++	return read_block(ci, reg, val, 1);
++}
++
++
++static int read_pccard(struct cxd *ci, u16 address, u8 *data, u8 n)
++{
++	int status;
++	u8 addr[3] = { 2, address&0xff, address>>8 };
++
++	status = i2c_write(ci->i2c, ci->adr, addr, 3);
++	if (!status)
++		status = i2c_read(ci->i2c, ci->adr, 3, data, n);
++	return status;
++}
++
++static int write_pccard(struct cxd *ci, u16 address, u8 *data, u8 n)
++{
++	int status;
++	u8 addr[3] = { 2, address&0xff, address>>8 };
++
++	status = i2c_write(ci->i2c, ci->adr, addr, 3);
++	if (!status) {
++		u8 buf[256] = {3};
++		memcpy(buf+1, data, n);
++		status = i2c_write(ci->i2c, ci->adr, buf, n+1);
++	}
++	return status;
++}
++
++static int read_io(struct cxd *ci, u16 address, u8 *val)
++{
++	int status;
++	u8 addr[3] = { 2, address&0xff, address>>8 };
++
++	status = i2c_write(ci->i2c, ci->adr, addr, 3);
++	if (!status)
++		status = i2c_read(ci->i2c, ci->adr, 3, val, 1);
++	return status;
++}
++
++static int write_io(struct cxd *ci, u16 address, u8 val)
++{
++	int status;
++	u8 addr[3] = { 2, address&0xff, address>>8 };
++	u8 buf[2] = { 3, val };
++
++	status = i2c_write(ci->i2c, ci->adr, addr, 3);
++	if (!status)
++		status = i2c_write(ci->i2c, ci->adr, buf, 2);
++
++	return status;
++}
++
++
++static int write_regm(struct cxd *ci, u8 reg, u8 val, u8 mask)
++{
++	int status;
++
++	status = i2c_write_reg(ci->i2c, ci->adr, 0, reg);
++	if (!status && reg >= 6 && reg <= 8 && mask != 0xff)
++		status = i2c_read_reg(ci->i2c, ci->adr, 1, &ci->regs[reg]);
++	ci->regs[reg] = (ci->regs[reg]&(~mask))|val;
++	if (!status) {
++		ci->lastaddress = reg;
++		status = i2c_write_reg(ci->i2c, ci->adr, 1, ci->regs[reg]);
++	}
++	if (reg == 0x20)
++		ci->regs[reg] &= 0x7f;
++	return status;
++}
++
++static int write_reg(struct cxd *ci, u8 reg, u8 val)
++{
++	return write_regm(ci, reg, val, 0xff);
++}
++
++#ifdef BUFFER_MODE
++static int write_block(struct cxd *ci, u8 adr, u8 *data, int n)
++{
++	int status;
++	u8 buf[256] = {1};
++
++	status = i2c_write_reg(ci->i2c, ci->adr, 0, adr);
++	if (!status) {
++		ci->lastaddress = adr;
++		memcpy(buf+1, data, n);
++		status = i2c_write(ci->i2c, ci->adr, buf, n+1);
++	}
++	return status;
++}
++#endif
++
++static void set_mode(struct cxd *ci, int mode)
++{
++	if (mode == ci->mode)
++		return;
++
++	switch (mode) {
++	case 0x00: /* IO mem */
++		write_regm(ci, 0x06, 0x00, 0x07);
++		break;
++	case 0x01: /* ATT mem */
++		write_regm(ci, 0x06, 0x02, 0x07);
++		break;
++	default:
++		break;
++	}
++	ci->mode = mode;
++}
++
++static void cam_mode(struct cxd *ci, int mode)
++{
++	if (mode == ci->cammode)
++		return;
++
++	switch (mode) {
++	case 0x00:
++		write_regm(ci, 0x20, 0x80, 0x80);
++		break;
++	case 0x01:
++		printk(KERN_INFO "enable cam buffer mode\n");
++		/* write_reg(ci, 0x0d, 0x00); */
++		/* write_reg(ci, 0x0e, 0x01); */
++		write_regm(ci, 0x08, 0x40, 0x40);
++		/* read_reg(ci, 0x12, &dummy); */
++		write_regm(ci, 0x08, 0x80, 0x80);
++		break;
++	default:
++		break;
++	}
++	ci->cammode = mode;
++}
++
++
++
++#define CHK_ERROR(s) if ((status = s)) break
++
++static int init(struct cxd *ci)
++{
++	int status;
++
++	mutex_lock(&ci->lock);
++	ci->mode = -1;
++	do {
++		CHK_ERROR(write_reg(ci, 0x00, 0x00));
++		CHK_ERROR(write_reg(ci, 0x01, 0x00));
++		CHK_ERROR(write_reg(ci, 0x02, 0x10));
++		CHK_ERROR(write_reg(ci, 0x03, 0x00));
++		CHK_ERROR(write_reg(ci, 0x05, 0xFF));
++		CHK_ERROR(write_reg(ci, 0x06, 0x1F));
++		CHK_ERROR(write_reg(ci, 0x07, 0x1F));
++		CHK_ERROR(write_reg(ci, 0x08, 0x28));
++		CHK_ERROR(write_reg(ci, 0x14, 0x20));
++
++		CHK_ERROR(write_reg(ci, 0x09, 0x4D)); /* Input Mode C, BYPass Serial, TIVAL = low, MSB */
++		CHK_ERROR(write_reg(ci, 0x0A, 0xA7)); /* TOSTRT = 8, Mode B (gated clock), falling Edge, Serial, POL=HIGH, MSB */
++
++		/* Sync detector */
++		CHK_ERROR(write_reg(ci, 0x0B, 0x33));
++		CHK_ERROR(write_reg(ci, 0x0C, 0x33));
++
++		CHK_ERROR(write_regm(ci, 0x14, 0x00, 0x0F));
++		CHK_ERROR(write_reg(ci, 0x15, ci->clk_reg_b));
++		CHK_ERROR(write_regm(ci, 0x16, 0x00, 0x0F));
++		CHK_ERROR(write_reg(ci, 0x17, ci->clk_reg_f));
++
++		CHK_ERROR(write_reg(ci, 0x20, 0x28)); /* Integer Divider, Falling Edge, Internal Sync, */
++		CHK_ERROR(write_reg(ci, 0x21, 0x00)); /* MCLKI = TICLK/8 */
++		CHK_ERROR(write_reg(ci, 0x22, 0x07)); /* MCLKI = TICLK/8 */
++
++
++		CHK_ERROR(write_regm(ci, 0x20, 0x80, 0x80)); /* Reset CAM state machine */
++
++		CHK_ERROR(write_regm(ci, 0x03, 0x02, 02));  /* Enable IREQA Interrupt */
++		CHK_ERROR(write_reg(ci, 0x01, 0x04));  /* Enable CD Interrupt */
++		CHK_ERROR(write_reg(ci, 0x00, 0x31));  /* Enable TS1,Hot Swap,Slot A */
++		CHK_ERROR(write_regm(ci, 0x09, 0x08, 0x08));  /* Put TS in bypass */
++		ci->cammode = -1;
++#ifdef BUFFER_MODE
++		cam_mode(ci, 0);
++#endif
++	} while (0);
++	mutex_unlock(&ci->lock);
++
++	return 0;
++}
++
++
++static int read_attribute_mem(struct dvb_ca_en50221 *ca,
++			      int slot, int address)
++{
++	struct cxd *ci = ca->data;
++	u8 val;
++	mutex_lock(&ci->lock);
++	set_mode(ci, 1);
++	read_pccard(ci, address, &val, 1);
++	mutex_unlock(&ci->lock);
++	return val;
++}
++
++
++static int write_attribute_mem(struct dvb_ca_en50221 *ca, int slot,
++			       int address, u8 value)
++{
++	struct cxd *ci = ca->data;
++
++	mutex_lock(&ci->lock);
++	set_mode(ci, 1);
++	write_pccard(ci, address, &value, 1);
++	mutex_unlock(&ci->lock);
++	return 0;
++}
++
++static int read_cam_control(struct dvb_ca_en50221 *ca,
++			    int slot, u8 address)
++{
++	struct cxd *ci = ca->data;
++	u8 val;
++
++	mutex_lock(&ci->lock);
++	set_mode(ci, 0);
++	read_io(ci, address, &val);
++	mutex_unlock(&ci->lock);
++	return val;
++}
++
++static int write_cam_control(struct dvb_ca_en50221 *ca, int slot,
++			     u8 address, u8 value)
++{
++	struct cxd *ci = ca->data;
++
++	mutex_lock(&ci->lock);
++	set_mode(ci, 0);
++	write_io(ci, address, value);
++	mutex_unlock(&ci->lock);
++	return 0;
++}
++
++static int slot_reset(struct dvb_ca_en50221 *ca, int slot)
++{
++	struct cxd *ci = ca->data;
++
++	mutex_lock(&ci->lock);
++	cam_mode(ci, 0);
++	write_reg(ci, 0x00, 0x21);
++	write_reg(ci, 0x06, 0x1F);
++	write_reg(ci, 0x00, 0x31);
++	write_regm(ci, 0x20, 0x80, 0x80);
++	write_reg(ci, 0x03, 0x02);
++	ci->ready = 0;
++	ci->mode = -1;
++	{
++		int i;
++		for (i = 0; i < 100; i++) {
++			msleep(10);
++			if (ci->ready)
++				break;
++		}
++	}
++	mutex_unlock(&ci->lock);
++	/* msleep(500); */
++	return 0;
++}
++
++static int slot_shutdown(struct dvb_ca_en50221 *ca, int slot)
++{
++	struct cxd *ci = ca->data;
++
++	printk(KERN_INFO "slot_shutdown\n");
++	mutex_lock(&ci->lock);
++	/* write_regm(ci, 0x09, 0x08, 0x08); */
++	write_regm(ci, 0x20, 0x80, 0x80);
++	write_regm(ci, 0x06, 0x07, 0x07);
++	ci->mode = -1;
++	mutex_unlock(&ci->lock);
++	return 0; /* shutdown(ci); */
++}
++
++static int slot_ts_enable(struct dvb_ca_en50221 *ca, int slot)
++{
++	struct cxd *ci = ca->data;
++
++	mutex_lock(&ci->lock);
++	write_regm(ci, 0x09, 0x00, 0x08);
++	set_mode(ci, 0);
++#ifdef BUFFER_MODE
++	cam_mode(ci, 1);
++#endif
++	mutex_unlock(&ci->lock);
++	return 0;
++}
++
++
++static int campoll(struct cxd *ci)
++{
++	u8 istat;
++
++	read_reg(ci, 0x04, &istat);
++	if (!istat)
++		return 0;
++	write_reg(ci, 0x05, istat);
++
++	if (istat&0x40) {
++		ci->dr = 1;
++		printk(KERN_INFO "DR\n");
++	}
++	if (istat&0x20)
++		printk(KERN_INFO "WC\n");
++
++	if (istat&2) {
++		u8 slotstat;
++
++		read_reg(ci, 0x01, &slotstat);
++		if (!(2&slotstat)) {
++			if (!ci->slot_stat) {
++				ci->slot_stat |= DVB_CA_EN50221_POLL_CAM_PRESENT;
++				write_regm(ci, 0x03, 0x08, 0x08);
++			}
++
++		} else {
++			if (ci->slot_stat) {
++				ci->slot_stat = 0;
++				write_regm(ci, 0x03, 0x00, 0x08);
++				printk(KERN_INFO "NO CAM\n");
++				ci->ready = 0;
++			}
++		}
++		if (istat&8 && ci->slot_stat == DVB_CA_EN50221_POLL_CAM_PRESENT) {
++			ci->ready = 1;
++			ci->slot_stat |= DVB_CA_EN50221_POLL_CAM_READY;
++			printk(KERN_INFO "READY\n");
++		}
++	}
++	return 0;
++}
++
++
++static int poll_slot_status(struct dvb_ca_en50221 *ca, int slot, int open)
++{
++	struct cxd *ci = ca->data;
++	u8 slotstat;
++
++	mutex_lock(&ci->lock);
++	campoll(ci);
++	read_reg(ci, 0x01, &slotstat);
++	mutex_unlock(&ci->lock);
++
++	return ci->slot_stat;
++}
++
++#ifdef BUFFER_MODE
++static int read_data(struct dvb_ca_en50221 *ca, int slot, u8 *ebuf, int ecount)
++{
++	struct cxd *ci = ca->data;
++	u8 msb, lsb;
++	u16 len;
++
++	mutex_lock(&ci->lock);
++	campoll(ci);
++	mutex_unlock(&ci->lock);
++
++	printk(KERN_INFO "read_data\n");
++	if (!ci->dr)
++		return 0;
++
++	mutex_lock(&ci->lock);
++	read_reg(ci, 0x0f, &msb);
++	read_reg(ci, 0x10, &lsb);
++	len = (msb<<8)|lsb;
++	read_block(ci, 0x12, ebuf, len);
++	ci->dr = 0;
++	mutex_unlock(&ci->lock);
++
++	return len;
++}
++
++static int write_data(struct dvb_ca_en50221 *ca, int slot, u8 *ebuf, int ecount)
++{
++	struct cxd *ci = ca->data;
++
++	mutex_lock(&ci->lock);
++	printk(KERN_INFO "write_data %d\n", ecount);
++	write_reg(ci, 0x0d, ecount>>8);
++	write_reg(ci, 0x0e, ecount&0xff);
++	write_block(ci, 0x11, ebuf, ecount);
++	mutex_unlock(&ci->lock);
++	return ecount;
++}
++#endif
++
++static struct dvb_ca_en50221 en_templ = {
++	.read_attribute_mem  = read_attribute_mem,
++	.write_attribute_mem = write_attribute_mem,
++	.read_cam_control    = read_cam_control,
++	.write_cam_control   = write_cam_control,
++	.slot_reset          = slot_reset,
++	.slot_shutdown       = slot_shutdown,
++	.slot_ts_enable      = slot_ts_enable,
++	.poll_slot_status    = poll_slot_status,
++#ifdef BUFFER_MODE
++	.read_data           = read_data,
++	.write_data          = write_data,
++#endif
++
++};
++
++struct dvb_ca_en50221 *cxd2099_attach(u8 adr, void *priv,
++				      struct i2c_adapter *i2c)
++{
++	struct cxd *ci = 0;
++	u32 bitrate = 62000000;
++	u8 val;
++
++	if (i2c_read_reg(i2c, adr, 0, &val) < 0) {
++		printk(KERN_ERR "No CXD2099 detected at %02x\n", adr);
++		return 0;
++	}
++
++	ci = kmalloc(sizeof(struct cxd), GFP_KERNEL);
++	if (!ci)
++		return 0;
++	memset(ci, 0, sizeof(*ci));
++
++	mutex_init(&ci->lock);
++	ci->i2c = i2c;
++	ci->adr = adr;
++	ci->lastaddress = 0xff;
++	ci->clk_reg_b = 0x4a;
++	ci->clk_reg_f = 0x1b;
++	ci->bitrate = bitrate;
++
++	memcpy(&ci->en, &en_templ, sizeof(en_templ));
++	ci->en.data = ci;
++	init(ci);
++	printk(KERN_INFO "Attached CXD2099AR at %02x\n", ci->adr);
++	return &ci->en;
++}
++EXPORT_SYMBOL(cxd2099_attach);
++
++MODULE_DESCRIPTION("cxd2099");
++MODULE_AUTHOR("Ralph Metzler <rjkm at metzlerbros.de>");
++MODULE_LICENSE("GPL");
+diff -Naurp linux-2.6.35/drivers/staging/cxd2099/cxd2099.h linux-2.6.35.media/drivers/staging/cxd2099/cxd2099.h
+--- linux-2.6.35/drivers/staging/cxd2099/cxd2099.h	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/staging/cxd2099/cxd2099.h	2011-01-24 22:56:46.295088040 -0500
+@@ -0,0 +1,41 @@
++/*
++ * cxd2099.h: Driver for the CXD2099AR Common Interface Controller
++ *
++ * Copyright (C) 2010 DigitalDevices UG
++ *
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License
++ * version 2 only, as published by the Free Software Foundation.
++ *
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ * GNU General Public License for more details.
++ *
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
++ * 02110-1301, USA
++ * Or, point your browser to http://www.gnu.org/copyleft/gpl.html
++ */
++
++#ifndef _CXD2099_H_
++#define _CXD2099_H_
++
++#include <dvb_ca_en50221.h>
++
++#if defined(CONFIG_DVB_CXD2099) || \
++        (defined(CONFIG_DVB_CXD2099_MODULE) && defined(MODULE))
++struct dvb_ca_en50221 *cxd2099_attach(u8 adr, void *priv, struct i2c_adapter *i2c);
++#else
++static inline struct dvb_ca_en50221 *cxd2099_attach(u8 adr, void *priv, struct i2c_adapter *i2c)
++{
++	printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
++	return NULL;
++}
++#endif
++
++#endif
+diff -Naurp linux-2.6.35/drivers/staging/cxd2099/Kconfig linux-2.6.35.media/drivers/staging/cxd2099/Kconfig
+--- linux-2.6.35/drivers/staging/cxd2099/Kconfig	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/staging/cxd2099/Kconfig	2011-01-24 22:56:46.315088066 -0500
+@@ -0,0 +1,11 @@
++config DVB_CXD2099
++        tristate "CXD2099AR Common Interface driver"
++        depends on DVB_CORE && PCI && I2C && DVB_NGENE
++        ---help---
++          Support for the CI module found on cineS2 DVB-S2, supported by
++	  the Micronas PCIe device driver (ngene).
++
++	  For now, data is passed through '/dev/dvb/adapterX/sec0':
++	    - Encrypted data must be written to 'sec0'.
++	    - Decrypted data can be read from 'sec0'.
++	    - Setup the CAM using device 'ca0'.
+diff -Naurp linux-2.6.35/drivers/staging/cxd2099/Makefile linux-2.6.35.media/drivers/staging/cxd2099/Makefile
+--- linux-2.6.35/drivers/staging/cxd2099/Makefile	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/staging/cxd2099/Makefile	2011-01-24 22:56:46.305088054 -0500
+@@ -0,0 +1,5 @@
++obj-$(CONFIG_DVB_CXD2099) += cxd2099.o
++
++EXTRA_CFLAGS += -Idrivers/media/dvb/dvb-core/
++EXTRA_CFLAGS += -Idrivers/media/dvb/frontends/
++EXTRA_CFLAGS += -Idrivers/media/common/tuners/
+diff -Naurp linux-2.6.35/drivers/staging/go7007/go7007-driver.c linux-2.6.35.media/drivers/staging/go7007/go7007-driver.c
+--- linux-2.6.35/drivers/staging/go7007/go7007-driver.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/staging/go7007/go7007-driver.c	2011-01-24 22:56:45.961087591 -0500
 @@ -194,51 +194,15 @@ int go7007_reset_encoder(struct go7007 *
   * Attempt to instantiate an I2C client by ID, probably loading a module.
   */
@@ -199858,10 +209252,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/go7007/go7007-driver.c
  			/* If this is the start of a new MPEG frame,
  			 * get a new buffer */
  			if ((go->format == GO7007_FORMAT_MPEG1 ||
-Index: linux-2.6.35.x86_64/drivers/staging/go7007/go7007-usb.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/staging/go7007/go7007-usb.c
-+++ linux-2.6.35.x86_64/drivers/staging/go7007/go7007-usb.c
+diff -Naurp linux-2.6.35/drivers/staging/go7007/go7007-usb.c linux-2.6.35.media/drivers/staging/go7007/go7007-usb.c
+--- linux-2.6.35/drivers/staging/go7007/go7007-usb.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/staging/go7007/go7007-usb.c	2011-01-24 22:56:45.798087375 -0500
 @@ -394,7 +394,7 @@ static struct go7007_usb_board board_adl
  		.num_i2c_devs	 = 1,
  		.i2c_devs	 = {
@@ -199871,10 +209264,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/go7007/go7007-usb.c
  				.id	= I2C_DRIVERID_WIS_TW2804,
  				.addr	= 0x00, /* yes, really */
  			},
-Index: linux-2.6.35.x86_64/drivers/staging/go7007/go7007-v4l2.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/staging/go7007/go7007-v4l2.c
-+++ linux-2.6.35.x86_64/drivers/staging/go7007/go7007-v4l2.c
+diff -Naurp linux-2.6.35/drivers/staging/go7007/go7007-v4l2.c linux-2.6.35.media/drivers/staging/go7007/go7007-v4l2.c
+--- linux-2.6.35/drivers/staging/go7007/go7007-v4l2.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/staging/go7007/go7007-v4l2.c	2011-01-24 22:56:45.767087334 -0500
 @@ -252,23 +252,22 @@ static int set_capture_size(struct go700
  		go->modet_map[i] = 0;
  
@@ -199908,10 +209300,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/go7007/go7007-v4l2.c
  	} else {
  		if (width <= sensor_width / 4) {
  			go->encoder_h_halve = 1;
-Index: linux-2.6.35.x86_64/drivers/staging/go7007/Kconfig
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/staging/go7007/Kconfig
-+++ linux-2.6.35.x86_64/drivers/staging/go7007/Kconfig
+diff -Naurp linux-2.6.35/drivers/staging/go7007/Kconfig linux-2.6.35.media/drivers/staging/go7007/Kconfig
+--- linux-2.6.35/drivers/staging/go7007/Kconfig	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/staging/go7007/Kconfig	2011-01-24 22:56:45.920087537 -0500
 @@ -1,9 +1,10 @@
  config VIDEO_GO7007
  	tristate "WIS GO7007 MPEG encoder support"
@@ -199925,10 +209316,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/go7007/Kconfig
  	select VIDEO_TUNER
  	select VIDEO_TVEEPROM
  	select SND_PCM
-Index: linux-2.6.35.x86_64/drivers/staging/go7007/Makefile
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/staging/go7007/Makefile
-+++ linux-2.6.35.x86_64/drivers/staging/go7007/Makefile
+diff -Naurp linux-2.6.35/drivers/staging/go7007/Makefile linux-2.6.35.media/drivers/staging/go7007/Makefile
+--- linux-2.6.35/drivers/staging/go7007/Makefile	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/staging/go7007/Makefile	2011-01-24 22:56:45.777087348 -0500
 @@ -14,10 +14,10 @@ obj-$(CONFIG_VIDEO_GO7007_UDA1342) += wi
  obj-$(CONFIG_VIDEO_GO7007_SONY_TUNER) += wis-sony-tuner.o
  obj-$(CONFIG_VIDEO_GO7007_TW2804) += wis-tw2804.o
@@ -199954,10 +209344,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/go7007/Makefile
 -EXTRA_CFLAGS += -Idrivers/media/dvb/dvb-core
 +ccflags-y += -Idrivers/media/dvb/frontends
 +ccflags-y += -Idrivers/media/dvb/dvb-core
-Index: linux-2.6.35.x86_64/drivers/staging/go7007/s2250-board.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/staging/go7007/s2250-board.c
-+++ linux-2.6.35.x86_64/drivers/staging/go7007/s2250-board.c
+diff -Naurp linux-2.6.35/drivers/staging/go7007/s2250-board.c linux-2.6.35.media/drivers/staging/go7007/s2250-board.c
+--- linux-2.6.35/drivers/staging/go7007/s2250-board.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/staging/go7007/s2250-board.c	2011-01-24 22:56:45.900087511 -0500
 @@ -23,7 +23,6 @@
  #include <linux/slab.h>
  #include <media/v4l2-device.h>
@@ -200022,10 +209411,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/go7007/s2250-board.c
 +
 +module_init(init_s2250);
 +module_exit(exit_s2250);
-Index: linux-2.6.35.x86_64/drivers/staging/go7007/wis-ov7640.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/staging/go7007/wis-ov7640.c
-+++ linux-2.6.35.x86_64/drivers/staging/go7007/wis-ov7640.c
+diff -Naurp linux-2.6.35/drivers/staging/go7007/wis-ov7640.c linux-2.6.35.media/drivers/staging/go7007/wis-ov7640.c
+--- linux-2.6.35/drivers/staging/go7007/wis-ov7640.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/staging/go7007/wis-ov7640.c	2011-01-24 22:56:45.859087457 -0500
 @@ -81,6 +81,7 @@ static const struct i2c_device_id wis_ov
  	{ "wis_ov7640", 0 },
  	{ }
@@ -200034,10 +209422,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/go7007/wis-ov7640.c
  
  static struct i2c_driver wis_ov7640_driver = {
  	.driver = {
-Index: linux-2.6.35.x86_64/drivers/staging/go7007/wis-saa7113.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/staging/go7007/wis-saa7113.c
-+++ linux-2.6.35.x86_64/drivers/staging/go7007/wis-saa7113.c
+diff -Naurp linux-2.6.35/drivers/staging/go7007/wis-saa7113.c linux-2.6.35.media/drivers/staging/go7007/wis-saa7113.c
+--- linux-2.6.35/drivers/staging/go7007/wis-saa7113.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/staging/go7007/wis-saa7113.c	2011-01-24 22:56:45.951087578 -0500
 @@ -308,6 +308,7 @@ static const struct i2c_device_id wis_sa
  	{ "wis_saa7113", 0 },
  	{ }
@@ -200046,10 +209433,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/go7007/wis-saa7113.c
  
  static struct i2c_driver wis_saa7113_driver = {
  	.driver = {
-Index: linux-2.6.35.x86_64/drivers/staging/go7007/wis-saa7115.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/staging/go7007/wis-saa7115.c
-+++ linux-2.6.35.x86_64/drivers/staging/go7007/wis-saa7115.c
+diff -Naurp linux-2.6.35/drivers/staging/go7007/wis-saa7115.c linux-2.6.35.media/drivers/staging/go7007/wis-saa7115.c
+--- linux-2.6.35/drivers/staging/go7007/wis-saa7115.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/staging/go7007/wis-saa7115.c	2011-01-24 22:56:45.889087496 -0500
 @@ -441,6 +441,7 @@ static const struct i2c_device_id wis_sa
  	{ "wis_saa7115", 0 },
  	{ }
@@ -200058,10 +209444,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/go7007/wis-saa7115.c
  
  static struct i2c_driver wis_saa7115_driver = {
  	.driver = {
-Index: linux-2.6.35.x86_64/drivers/staging/go7007/wis-sony-tuner.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/staging/go7007/wis-sony-tuner.c
-+++ linux-2.6.35.x86_64/drivers/staging/go7007/wis-sony-tuner.c
+diff -Naurp linux-2.6.35/drivers/staging/go7007/wis-sony-tuner.c linux-2.6.35.media/drivers/staging/go7007/wis-sony-tuner.c
+--- linux-2.6.35/drivers/staging/go7007/wis-sony-tuner.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/staging/go7007/wis-sony-tuner.c	2011-01-24 22:56:45.879087483 -0500
 @@ -692,6 +692,7 @@ static const struct i2c_device_id wis_so
  	{ "wis_sony_tuner", 0 },
  	{ }
@@ -200070,10 +209455,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/go7007/wis-sony-tuner.c
  
  static struct i2c_driver wis_sony_tuner_driver = {
  	.driver = {
-Index: linux-2.6.35.x86_64/drivers/staging/go7007/wis-tw2804.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/staging/go7007/wis-tw2804.c
-+++ linux-2.6.35.x86_64/drivers/staging/go7007/wis-tw2804.c
+diff -Naurp linux-2.6.35/drivers/staging/go7007/wis-tw2804.c linux-2.6.35.media/drivers/staging/go7007/wis-tw2804.c
+--- linux-2.6.35/drivers/staging/go7007/wis-tw2804.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/staging/go7007/wis-tw2804.c	2011-01-24 22:56:45.849087444 -0500
 @@ -331,6 +331,7 @@ static const struct i2c_device_id wis_tw
  	{ "wis_tw2804", 0 },
  	{ }
@@ -200082,10 +209466,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/go7007/wis-tw2804.c
  
  static struct i2c_driver wis_tw2804_driver = {
  	.driver = {
-Index: linux-2.6.35.x86_64/drivers/staging/go7007/wis-tw9903.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/staging/go7007/wis-tw9903.c
-+++ linux-2.6.35.x86_64/drivers/staging/go7007/wis-tw9903.c
+diff -Naurp linux-2.6.35/drivers/staging/go7007/wis-tw9903.c linux-2.6.35.media/drivers/staging/go7007/wis-tw9903.c
+--- linux-2.6.35/drivers/staging/go7007/wis-tw9903.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/staging/go7007/wis-tw9903.c	2011-01-24 22:56:45.930087552 -0500
 @@ -313,6 +313,7 @@ static const struct i2c_device_id wis_tw
  	{ "wis_tw9903", 0 },
  	{ }
@@ -200094,10 +209477,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/go7007/wis-tw9903.c
  
  static struct i2c_driver wis_tw9903_driver = {
  	.driver = {
-Index: linux-2.6.35.x86_64/drivers/staging/go7007/wis-uda1342.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/staging/go7007/wis-uda1342.c
-+++ linux-2.6.35.x86_64/drivers/staging/go7007/wis-uda1342.c
+diff -Naurp linux-2.6.35/drivers/staging/go7007/wis-uda1342.c linux-2.6.35.media/drivers/staging/go7007/wis-uda1342.c
+--- linux-2.6.35/drivers/staging/go7007/wis-uda1342.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/staging/go7007/wis-uda1342.c	2011-01-24 22:56:45.828087416 -0500
 @@ -86,6 +86,7 @@ static const struct i2c_device_id wis_ud
  	{ "wis_uda1342", 0 },
  	{ }
@@ -200106,10 +209488,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/go7007/wis-uda1342.c
  
  static struct i2c_driver wis_uda1342_driver = {
  	.driver = {
-Index: linux-2.6.35.x86_64/drivers/staging/lirc/Kconfig
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/staging/lirc/Kconfig
+diff -Naurp linux-2.6.35/drivers/staging/lirc/Kconfig linux-2.6.35.media/drivers/staging/lirc/Kconfig
+--- linux-2.6.35/drivers/staging/lirc/Kconfig	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/staging/lirc/Kconfig	2011-01-24 22:56:46.123087809 -0500
 @@ -0,0 +1,90 @@
 +#
 +# LIRC driver(s) configuration
@@ -200201,10 +209582,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/lirc/Kconfig
 +	  Driver for the Zilog/Hauppauge IR Transmitter, found on
 +	  PVR-150/500, HVR-1200/1250/1700/1800, HD-PVR and other cards
 +endif
-Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_bt829.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/staging/lirc/lirc_bt829.c
+diff -Naurp linux-2.6.35/drivers/staging/lirc/lirc_bt829.c linux-2.6.35.media/drivers/staging/lirc/lirc_bt829.c
+--- linux-2.6.35/drivers/staging/lirc/lirc_bt829.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/staging/lirc/lirc_bt829.c	2011-01-24 22:56:46.224087944 -0500
 @@ -0,0 +1,383 @@
 +/*
 + * Remote control driver for the TV-card based on bt829
@@ -200589,10 +209969,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_bt829.c
 +
 +module_param(debug, bool, S_IRUGO | S_IWUSR);
 +MODULE_PARM_DESC(debug, "Debug enabled or not");
-Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_bt829.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/staging/lirc/lirc_bt829.mod.c
+diff -Naurp linux-2.6.35/drivers/staging/lirc/lirc_bt829.mod.c linux-2.6.35.media/drivers/staging/lirc/lirc_bt829.mod.c
+--- linux-2.6.35/drivers/staging/lirc/lirc_bt829.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/staging/lirc/lirc_bt829.mod.c	2011-01-24 22:56:46.174087878 -0500
 @@ -0,0 +1,25 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -200619,10 +209998,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_bt829.mod.c
 +
 +
 +MODULE_INFO(srcversion, "441CD54B0BA8EDEAEACB6B9");
-Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_ene0100.h
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/staging/lirc/lirc_ene0100.h
+diff -Naurp linux-2.6.35/drivers/staging/lirc/lirc_ene0100.h linux-2.6.35.media/drivers/staging/lirc/lirc_ene0100.h
+--- linux-2.6.35/drivers/staging/lirc/lirc_ene0100.h	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/staging/lirc/lirc_ene0100.h	2011-01-24 22:56:46.002087647 -0500
 @@ -0,0 +1,169 @@
 +/*
 + * driver for ENE KB3926 B/C/D CIR (also known as ENE0100)
@@ -200793,10 +210171,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_ene0100.h
 +
 +	struct timeval gap_start;
 +};
-Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_ene0100.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/staging/lirc/lirc_ene0100.mod.c
+diff -Naurp linux-2.6.35/drivers/staging/lirc/lirc_ene0100.mod.c linux-2.6.35.media/drivers/staging/lirc/lirc_ene0100.mod.c
+--- linux-2.6.35/drivers/staging/lirc/lirc_ene0100.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/staging/lirc/lirc_ene0100.mod.c	2011-01-24 22:56:46.012087660 -0500
 @@ -0,0 +1,27 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -200825,10 +210202,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_ene0100.mod.c
 +MODULE_ALIAS("acpi*:ENE0100:*");
 +
 +MODULE_INFO(srcversion, "773275739496172517C0529");
-Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_i2c.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/staging/lirc/lirc_i2c.mod.c
+diff -Naurp linux-2.6.35/drivers/staging/lirc/lirc_i2c.mod.c linux-2.6.35.media/drivers/staging/lirc/lirc_i2c.mod.c
+--- linux-2.6.35/drivers/staging/lirc/lirc_i2c.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/staging/lirc/lirc_i2c.mod.c	2011-01-24 22:56:46.275088013 -0500
 @@ -0,0 +1,25 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -200855,10 +210231,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_i2c.mod.c
 +
 +
 +MODULE_INFO(srcversion, "7CDEB10B8FD2AEDD95B8F8F");
-Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_igorplugusb.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/staging/lirc/lirc_igorplugusb.c
+diff -Naurp linux-2.6.35/drivers/staging/lirc/lirc_igorplugusb.c linux-2.6.35.media/drivers/staging/lirc/lirc_igorplugusb.c
+--- linux-2.6.35/drivers/staging/lirc/lirc_igorplugusb.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/staging/lirc/lirc_igorplugusb.c	2011-01-24 22:56:46.164087863 -0500
 @@ -0,0 +1,577 @@
 +/*
 + * lirc_igorplugusb - USB remote support for LIRC
@@ -201437,10 +210812,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_igorplugusb.c
 +
 +module_param(debug, bool, S_IRUGO | S_IWUSR);
 +MODULE_PARM_DESC(debug, "Debug enabled or not");
-Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_igorplugusb.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/staging/lirc/lirc_igorplugusb.mod.c
+diff -Naurp linux-2.6.35/drivers/staging/lirc/lirc_igorplugusb.mod.c linux-2.6.35.media/drivers/staging/lirc/lirc_igorplugusb.mod.c
+--- linux-2.6.35/drivers/staging/lirc/lirc_igorplugusb.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/staging/lirc/lirc_igorplugusb.mod.c	2011-01-24 22:56:46.204087918 -0500
 @@ -0,0 +1,27 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -201469,10 +210843,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_igorplugusb.mod.c
 +MODULE_ALIAS("usb:v03EBp21FEd*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "CA53B36583ACF039BD10638");
-Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_imon.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/staging/lirc/lirc_imon.c
+diff -Naurp linux-2.6.35/drivers/staging/lirc/lirc_imon.c linux-2.6.35.media/drivers/staging/lirc/lirc_imon.c
+--- linux-2.6.35/drivers/staging/lirc/lirc_imon.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/staging/lirc/lirc_imon.c	2011-01-24 22:56:46.153087850 -0500
 @@ -0,0 +1,1058 @@
 +/*
 + *   lirc_imon.c:  LIRC/VFD/LCD driver for SoundGraph iMON IR/VFD/LCD
@@ -202532,10 +211905,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_imon.c
 +
 +module_init(imon_init);
 +module_exit(imon_exit);
-Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_imon.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/staging/lirc/lirc_imon.mod.c
+diff -Naurp linux-2.6.35/drivers/staging/lirc/lirc_imon.mod.c linux-2.6.35.media/drivers/staging/lirc/lirc_imon.mod.c
+--- linux-2.6.35/drivers/staging/lirc/lirc_imon.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/staging/lirc/lirc_imon.mod.c	2011-01-24 22:56:46.103087781 -0500
 @@ -0,0 +1,29 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -202566,10 +211938,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_imon.mod.c
 +MODULE_ALIAS("usb:v15C2pFFDAd*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "F9518C99BECD10252111691");
-Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_it87.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/staging/lirc/lirc_it87.c
+diff -Naurp linux-2.6.35/drivers/staging/lirc/lirc_it87.c linux-2.6.35.media/drivers/staging/lirc/lirc_it87.c
+--- linux-2.6.35/drivers/staging/lirc/lirc_it87.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/staging/lirc/lirc_it87.c	2011-01-24 22:56:46.184087891 -0500
 @@ -0,0 +1,1027 @@
 +/*
 + * LIRC driver for ITE IT8712/IT8705 CIR port
@@ -203598,10 +212969,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_it87.c
 +MODULE_PARM_DESC(it87_freq,
 +    "Carrier demodulator frequency (kHz), (default: 38)");
 +#endif
-Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_it87.h
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/staging/lirc/lirc_it87.h
+diff -Naurp linux-2.6.35/drivers/staging/lirc/lirc_it87.h linux-2.6.35.media/drivers/staging/lirc/lirc_it87.h
+--- linux-2.6.35/drivers/staging/lirc/lirc_it87.h	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/staging/lirc/lirc_it87.h	2011-01-24 22:56:46.234087958 -0500
 @@ -0,0 +1,116 @@
 +/* lirc_it87.h */
 +/* SECTION: Definitions */
@@ -203719,10 +213089,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_it87.h
 +#define TIME_CONST (IT87_CIR_BAUDRATE_DIVISOR * 8000000ul / 115200ul)
 +
 +/********************************* ITE IT87xx ************************/
-Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_it87.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/staging/lirc/lirc_it87.mod.c
+diff -Naurp linux-2.6.35/drivers/staging/lirc/lirc_it87.mod.c linux-2.6.35.media/drivers/staging/lirc/lirc_it87.mod.c
+--- linux-2.6.35/drivers/staging/lirc/lirc_it87.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/staging/lirc/lirc_it87.mod.c	2011-01-24 22:56:46.063087729 -0500
 @@ -0,0 +1,29 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -203753,15 +213122,14 @@ Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_it87.mod.c
 +MODULE_ALIAS("acpi*:ITE8713:*");
 +
 +MODULE_INFO(srcversion, "413CD32D04C7CA3D5EE424F");
-Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_ite8709.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/staging/lirc/lirc_ite8709.c
+diff -Naurp linux-2.6.35/drivers/staging/lirc/lirc_ite8709.c linux-2.6.35.media/drivers/staging/lirc/lirc_ite8709.c
+--- linux-2.6.35/drivers/staging/lirc/lirc_ite8709.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/staging/lirc/lirc_ite8709.c	2011-01-24 22:56:46.043087702 -0500
 @@ -0,0 +1,542 @@
 +/*
 + * LIRC driver for ITE8709 CIR port
 + *
-+ * Copyright (C) 2008 Grégory Lardière <spmf2004-lirc at yahoo.fr>
++ * Copyright (C) 2008 Grégory Lardière <spmf2004-lirc at yahoo.fr>
 + *
 + * This program is free software; you can redistribute it and/or
 + * modify it under the terms of the GNU General Public License as
@@ -204295,15 +213663,14 @@ Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_ite8709.c
 +module_exit(ite8709_cleanup_module);
 +
 +MODULE_DESCRIPTION("LIRC driver for ITE8709 CIR port");
-+MODULE_AUTHOR("Grégory Lardière");
++MODULE_AUTHOR("Grégory Lardière");
 +MODULE_LICENSE("GPL");
 +
 +module_param(debug, bool, S_IRUGO | S_IWUSR);
 +MODULE_PARM_DESC(debug, "Enable debugging messages");
-Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_ite8709.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/staging/lirc/lirc_ite8709.mod.c
+diff -Naurp linux-2.6.35/drivers/staging/lirc/lirc_ite8709.mod.c linux-2.6.35.media/drivers/staging/lirc/lirc_ite8709.mod.c
+--- linux-2.6.35/drivers/staging/lirc/lirc_ite8709.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/staging/lirc/lirc_ite8709.mod.c	2011-01-24 22:56:46.285088026 -0500
 @@ -0,0 +1,27 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -204332,10 +213699,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_ite8709.mod.c
 +MODULE_ALIAS("acpi*:ITE8709:*");
 +
 +MODULE_INFO(srcversion, "F67092B3BCD43E52A4DB011");
-Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_parallel.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/staging/lirc/lirc_parallel.c
+diff -Naurp linux-2.6.35/drivers/staging/lirc/lirc_parallel.c linux-2.6.35.media/drivers/staging/lirc/lirc_parallel.c
+--- linux-2.6.35/drivers/staging/lirc/lirc_parallel.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/staging/lirc/lirc_parallel.c	2011-01-24 22:56:46.022087673 -0500
 @@ -0,0 +1,690 @@
 +/*
 + * lirc_parallel.c
@@ -205027,10 +214393,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_parallel.c
 +
 +module_param(check_pselecd, bool, S_IRUGO | S_IWUSR);
 +MODULE_PARM_DESC(debug, "Check for printer (default: 0)");
-Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_parallel.h
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/staging/lirc/lirc_parallel.h
+diff -Naurp linux-2.6.35/drivers/staging/lirc/lirc_parallel.h linux-2.6.35.media/drivers/staging/lirc/lirc_parallel.h
+--- linux-2.6.35/drivers/staging/lirc/lirc_parallel.h	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/staging/lirc/lirc_parallel.h	2011-01-24 22:56:46.053087715 -0500
 @@ -0,0 +1,26 @@
 +/* lirc_parallel.h */
 +
@@ -205058,10 +214423,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_parallel.h
 +#define LIRC_PARALLEL_TRANSMITTER_MASK ((1<<LIRC_PARALLEL_MAX_TRANSMITTERS) - 1)
 +
 +#endif
-Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_parallel.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/staging/lirc/lirc_parallel.mod.c
+diff -Naurp linux-2.6.35/drivers/staging/lirc/lirc_parallel.mod.c linux-2.6.35.media/drivers/staging/lirc/lirc_parallel.mod.c
+--- linux-2.6.35/drivers/staging/lirc/lirc_parallel.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/staging/lirc/lirc_parallel.mod.c	2011-01-24 22:56:46.083087755 -0500
 @@ -0,0 +1,25 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -205088,10 +214452,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_parallel.mod.c
 +
 +
 +MODULE_INFO(srcversion, "7A58103F723599AF86DF045");
-Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_sasem.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/staging/lirc/lirc_sasem.c
+diff -Naurp linux-2.6.35/drivers/staging/lirc/lirc_sasem.c linux-2.6.35.media/drivers/staging/lirc/lirc_sasem.c
+--- linux-2.6.35/drivers/staging/lirc/lirc_sasem.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/staging/lirc/lirc_sasem.c	2011-01-24 22:56:46.093087768 -0500
 @@ -0,0 +1,938 @@
 +/*
 + * lirc_sasem.c - USB remote support for LIRC
@@ -206031,10 +215394,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_sasem.c
 +
 +module_init(sasem_init);
 +module_exit(sasem_exit);
-Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_sasem.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/staging/lirc/lirc_sasem.mod.c
+diff -Naurp linux-2.6.35/drivers/staging/lirc/lirc_sasem.mod.c linux-2.6.35.media/drivers/staging/lirc/lirc_sasem.mod.c
+--- linux-2.6.35/drivers/staging/lirc/lirc_sasem.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/staging/lirc/lirc_sasem.mod.c	2011-01-24 22:56:46.214087930 -0500
 @@ -0,0 +1,25 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -206061,10 +215423,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_sasem.mod.c
 +
 +
 +MODULE_INFO(srcversion, "18B69D9EAE410A8C5B4B794");
-Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_serial.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/staging/lirc/lirc_serial.c
+diff -Naurp linux-2.6.35/drivers/staging/lirc/lirc_serial.c linux-2.6.35.media/drivers/staging/lirc/lirc_serial.c
+--- linux-2.6.35/drivers/staging/lirc/lirc_serial.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/staging/lirc/lirc_serial.c	2011-01-24 22:56:46.244087971 -0500
 @@ -0,0 +1,1317 @@
 +/*
 + * lirc_serial.c
@@ -207383,10 +216744,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_serial.c
 +
 +module_param(debug, bool, S_IRUGO | S_IWUSR);
 +MODULE_PARM_DESC(debug, "Enable debugging messages");
-Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_serial.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/staging/lirc/lirc_serial.mod.c
+diff -Naurp linux-2.6.35/drivers/staging/lirc/lirc_serial.mod.c linux-2.6.35.media/drivers/staging/lirc/lirc_serial.mod.c
+--- linux-2.6.35/drivers/staging/lirc/lirc_serial.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/staging/lirc/lirc_serial.mod.c	2011-01-24 22:56:46.113087796 -0500
 @@ -0,0 +1,25 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -207413,10 +216773,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_serial.mod.c
 +
 +
 +MODULE_INFO(srcversion, "CFF55AB090B0920FA8192BF");
-Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_sir.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/staging/lirc/lirc_sir.c
+diff -Naurp linux-2.6.35/drivers/staging/lirc/lirc_sir.c linux-2.6.35.media/drivers/staging/lirc/lirc_sir.c
+--- linux-2.6.35/drivers/staging/lirc/lirc_sir.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/staging/lirc/lirc_sir.c	2011-01-24 22:56:46.073087743 -0500
 @@ -0,0 +1,1286 @@
 +/*
 + * LIRC SIR driver, (C) 2000 Milan Pikula <www at fornax.sk>
@@ -208704,10 +218063,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_sir.c
 +
 +module_param(debug, bool, S_IRUGO | S_IWUSR);
 +MODULE_PARM_DESC(debug, "Enable debugging messages");
-Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_sir.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/staging/lirc/lirc_sir.mod.c
+diff -Naurp linux-2.6.35/drivers/staging/lirc/lirc_sir.mod.c linux-2.6.35.media/drivers/staging/lirc/lirc_sir.mod.c
+--- linux-2.6.35/drivers/staging/lirc/lirc_sir.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/staging/lirc/lirc_sir.mod.c	2011-01-24 22:56:46.143087836 -0500
 @@ -0,0 +1,25 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -208734,10 +218092,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_sir.mod.c
 +
 +
 +MODULE_INFO(srcversion, "01F27D73E709BF2CBE30825");
-Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_streamzap.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/staging/lirc/lirc_streamzap.mod.c
+diff -Naurp linux-2.6.35/drivers/staging/lirc/lirc_streamzap.mod.c linux-2.6.35.media/drivers/staging/lirc/lirc_streamzap.mod.c
+--- linux-2.6.35/drivers/staging/lirc/lirc_streamzap.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/staging/lirc/lirc_streamzap.mod.c	2011-01-24 22:56:46.194087904 -0500
 @@ -0,0 +1,26 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -208765,10 +218122,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_streamzap.mod.c
 +MODULE_ALIAS("usb:v0E9Cp0000d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "DEF34014EFCE94422E5DB3E");
-Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_ttusbir.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/staging/lirc/lirc_ttusbir.c
+diff -Naurp linux-2.6.35/drivers/staging/lirc/lirc_ttusbir.c linux-2.6.35.media/drivers/staging/lirc/lirc_ttusbir.c
+--- linux-2.6.35/drivers/staging/lirc/lirc_ttusbir.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/staging/lirc/lirc_ttusbir.c	2011-01-24 22:56:46.265088001 -0500
 @@ -0,0 +1,396 @@
 +/*
 + * lirc_ttusbir.c
@@ -209166,10 +218522,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_ttusbir.c
 +
 +module_init(ttusbir_init_module);
 +module_exit(ttusbir_exit_module);
-Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_ttusbir.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/staging/lirc/lirc_ttusbir.mod.c
+diff -Naurp linux-2.6.35/drivers/staging/lirc/lirc_ttusbir.mod.c linux-2.6.35.media/drivers/staging/lirc/lirc_ttusbir.mod.c
+--- linux-2.6.35/drivers/staging/lirc/lirc_ttusbir.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/staging/lirc/lirc_ttusbir.mod.c	2011-01-24 22:56:46.254087985 -0500
 @@ -0,0 +1,26 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -209197,10 +218552,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_ttusbir.mod.c
 +MODULE_ALIAS("usb:v0B48p2003d*dc*dsc*dp*ic*isc*ip*");
 +
 +MODULE_INFO(srcversion, "1F85CD81BCFA18744F11A90");
-Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_zilog.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/staging/lirc/lirc_zilog.c
+diff -Naurp linux-2.6.35/drivers/staging/lirc/lirc_zilog.c linux-2.6.35.media/drivers/staging/lirc/lirc_zilog.c
+--- linux-2.6.35/drivers/staging/lirc/lirc_zilog.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/staging/lirc/lirc_zilog.c	2011-01-24 22:57:33.950739659 -0500
 @@ -0,0 +1,1460 @@
 +/*
 + * i2c IR lirc driver for devices with zilog IR processors
@@ -210662,10 +220016,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_zilog.c
 +
 +module_param(tx_only, bool, 0644);
 +MODULE_PARM_DESC(tx_only, "Only handle the IR transmit function");
-Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_zilog.mod.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/staging/lirc/lirc_zilog.mod.c
+diff -Naurp linux-2.6.35/drivers/staging/lirc/lirc_zilog.mod.c linux-2.6.35.media/drivers/staging/lirc/lirc_zilog.mod.c
+--- linux-2.6.35/drivers/staging/lirc/lirc_zilog.mod.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/staging/lirc/lirc_zilog.mod.c	2011-01-24 22:56:46.133087822 -0500
 @@ -0,0 +1,25 @@
 +#include <linux/module.h>
 +#include <linux/vermagic.h>
@@ -210692,10 +220045,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/lirc/lirc_zilog.mod.c
 +
 +
 +MODULE_INFO(srcversion, "6711B9DF3D7536940C61C07");
-Index: linux-2.6.35.x86_64/drivers/staging/lirc/Makefile
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/staging/lirc/Makefile
+diff -Naurp linux-2.6.35/drivers/staging/lirc/Makefile linux-2.6.35.media/drivers/staging/lirc/Makefile
+--- linux-2.6.35/drivers/staging/lirc/Makefile	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/staging/lirc/Makefile	2011-01-24 22:56:45.992087633 -0500
 @@ -0,0 +1,16 @@
 +# Makefile for the lirc drivers.
 +#
@@ -210713,10 +220065,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/lirc/Makefile
 +obj-$(CONFIG_LIRC_SIR)		+= lirc_sir.o
 +obj-$(CONFIG_LIRC_TTUSBIR)	+= lirc_ttusbir.o
 +obj-$(CONFIG_LIRC_ZILOG)	+= lirc_zilog.o
-Index: linux-2.6.35.x86_64/drivers/staging/tm6000/Kconfig
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/staging/tm6000/Kconfig
-+++ linux-2.6.35.x86_64/drivers/staging/tm6000/Kconfig
+diff -Naurp linux-2.6.35/drivers/staging/tm6000/Kconfig linux-2.6.35.media/drivers/staging/tm6000/Kconfig
+--- linux-2.6.35/drivers/staging/tm6000/Kconfig	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/staging/tm6000/Kconfig	2011-01-24 22:56:46.595088442 -0500
 @@ -1,6 +1,6 @@
  config VIDEO_TM6000
  	tristate "TV Master TM5600/6000/6010 driver"
@@ -210736,10 +220087,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/tm6000/Kconfig
  	select DVB_ZL10353
  	---help---
  	  This adds support for DVB cards based on the tm5600/tm6000 chip.
-Index: linux-2.6.35.x86_64/drivers/staging/tm6000/Makefile
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/staging/tm6000/Makefile
-+++ linux-2.6.35.x86_64/drivers/staging/tm6000/Makefile
+diff -Naurp linux-2.6.35/drivers/staging/tm6000/Makefile linux-2.6.35.media/drivers/staging/tm6000/Makefile
+--- linux-2.6.35/drivers/staging/tm6000/Makefile	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/staging/tm6000/Makefile	2011-01-24 22:56:46.563088399 -0500
 @@ -1,17 +1,15 @@
 -tm6000-objs := tm6000-cards.o \
 +tm6000-y := tm6000-cards.o \
@@ -210766,10 +220116,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/tm6000/Makefile
 +ccflags-y += -Idrivers/media/common/tuners
 +ccflags-y += -Idrivers/media/dvb/dvb-core
 +ccflags-y += -Idrivers/media/dvb/frontends
-Index: linux-2.6.35.x86_64/drivers/staging/tm6000/tm6000-alsa.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/staging/tm6000/tm6000-alsa.c
-+++ linux-2.6.35.x86_64/drivers/staging/tm6000/tm6000-alsa.c
+diff -Naurp linux-2.6.35/drivers/staging/tm6000/tm6000-alsa.c linux-2.6.35.media/drivers/staging/tm6000/tm6000-alsa.c
+--- linux-2.6.35/drivers/staging/tm6000/tm6000-alsa.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/staging/tm6000/tm6000-alsa.c	2011-01-24 22:56:46.622088479 -0500
 @@ -16,6 +16,7 @@
  #include <linux/interrupt.h>
  #include <linux/usb.h>
@@ -211283,10 +220632,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/tm6000/tm6000-alsa.c
  };
  
  static int __init tm6000_alsa_register(void)
-Index: linux-2.6.35.x86_64/drivers/staging/tm6000/tm6000-cards.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/staging/tm6000/tm6000-cards.c
-+++ linux-2.6.35.x86_64/drivers/staging/tm6000/tm6000-cards.c
+diff -Naurp linux-2.6.35/drivers/staging/tm6000/tm6000-cards.c linux-2.6.35.media/drivers/staging/tm6000/tm6000-cards.c
+--- linux-2.6.35/drivers/staging/tm6000/tm6000-cards.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/staging/tm6000/tm6000-cards.c	2011-01-24 22:56:46.588088432 -0500
 @@ -1,20 +1,20 @@
  /*
 -   tm6000-cards.c - driver for TM5600/TM6000/TM6010 USB video capture devices
@@ -211573,10 +220921,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/tm6000/tm6000-cards.c
  	kfree(dev);
  }
  
-Index: linux-2.6.35.x86_64/drivers/staging/tm6000/tm6000-core.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/staging/tm6000/tm6000-core.c
-+++ linux-2.6.35.x86_64/drivers/staging/tm6000/tm6000-core.c
+diff -Naurp linux-2.6.35/drivers/staging/tm6000/tm6000-core.c linux-2.6.35.media/drivers/staging/tm6000/tm6000-core.c
+--- linux-2.6.35/drivers/staging/tm6000/tm6000-core.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/staging/tm6000/tm6000-core.c	2011-01-24 22:56:46.602088451 -0500
 @@ -1,23 +1,23 @@
  /*
 -   tm6000-core.c - driver for TM5600/TM6000/TM6010 USB video capture devices
@@ -212173,10 +221520,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/tm6000/tm6000-core.c
 -	mutex_unlock(&tm6000_extension_devlist_lock);
 +	mutex_unlock(&tm6000_devlist_mutex);
  }
-Index: linux-2.6.35.x86_64/drivers/staging/tm6000/tm6000-dvb.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/staging/tm6000/tm6000-dvb.c
-+++ linux-2.6.35.x86_64/drivers/staging/tm6000/tm6000-dvb.c
+diff -Naurp linux-2.6.35/drivers/staging/tm6000/tm6000-dvb.c linux-2.6.35.media/drivers/staging/tm6000/tm6000-dvb.c
+--- linux-2.6.35/drivers/staging/tm6000/tm6000-dvb.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/staging/tm6000/tm6000-dvb.c	2011-01-24 22:56:46.576088418 -0500
 @@ -1,20 +1,20 @@
  /*
 -   tm6000-dvb.c - dvb-t support for TM5600/TM6000/TM6010 USB video capture devices
@@ -212571,10 +221917,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/tm6000/tm6000-dvb.c
 +
 +module_init(tm6000_dvb_register);
 +module_exit(tm6000_dvb_unregister);
-Index: linux-2.6.35.x86_64/drivers/staging/tm6000/tm6000.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/staging/tm6000/tm6000.h
-+++ linux-2.6.35.x86_64/drivers/staging/tm6000/tm6000.h
+diff -Naurp linux-2.6.35/drivers/staging/tm6000/tm6000.h linux-2.6.35.media/drivers/staging/tm6000/tm6000.h
+--- linux-2.6.35/drivers/staging/tm6000/tm6000.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/staging/tm6000/tm6000.h	2011-01-24 22:56:46.653088521 -0500
 @@ -1,27 +1,27 @@
  /*
 -   tm6000.h - driver for TM5600/TM6000/TM6010 USB video capture devices
@@ -212860,10 +222205,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/tm6000/tm6000.h
  		__FUNCTION__ , ##arg); } while (0)
 -
 -
-Index: linux-2.6.35.x86_64/drivers/staging/tm6000/tm6000-i2c.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/staging/tm6000/tm6000-i2c.c
-+++ linux-2.6.35.x86_64/drivers/staging/tm6000/tm6000-i2c.c
+diff -Naurp linux-2.6.35/drivers/staging/tm6000/tm6000-i2c.c linux-2.6.35.media/drivers/staging/tm6000/tm6000-i2c.c
+--- linux-2.6.35/drivers/staging/tm6000/tm6000-i2c.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/staging/tm6000/tm6000-i2c.c	2011-01-24 22:56:46.632088491 -0500
 @@ -1,23 +1,23 @@
  /*
 -   tm6000-i2c.c - driver for TM5600/TM6000/TM6010 USB video capture devices
@@ -213022,10 +222366,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/tm6000/tm6000-i2c.c
  
  	tm6000_i2c_eeprom(dev, eedata, sizeof(eedata));
  
-Index: linux-2.6.35.x86_64/drivers/staging/tm6000/tm6000-input.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/staging/tm6000/tm6000-input.c
+diff -Naurp linux-2.6.35/drivers/staging/tm6000/tm6000-input.c linux-2.6.35.media/drivers/staging/tm6000/tm6000-input.c
+--- linux-2.6.35/drivers/staging/tm6000/tm6000-input.c	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/drivers/staging/tm6000/tm6000-input.c	2011-01-24 22:56:46.612088466 -0500
 @@ -0,0 +1,458 @@
 +/*
 + *  tm6000-input.c - driver for TM5600/TM6000/TM6010 USB video capture devices
@@ -213485,10 +222828,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/tm6000/tm6000-input.c
 +
 +	return 0;
 +}
-Index: linux-2.6.35.x86_64/drivers/staging/tm6000/tm6000-regs.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/staging/tm6000/tm6000-regs.h
-+++ linux-2.6.35.x86_64/drivers/staging/tm6000/tm6000-regs.h
+diff -Naurp linux-2.6.35/drivers/staging/tm6000/tm6000-regs.h linux-2.6.35.media/drivers/staging/tm6000/tm6000-regs.h
+--- linux-2.6.35/drivers/staging/tm6000/tm6000-regs.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/staging/tm6000/tm6000-regs.h	2011-01-24 22:56:46.567088405 -0500
 @@ -1,20 +1,20 @@
  /*
 -   tm6000-regs.h - driver for TM5600/TM6000/TM6010 USB video capture devices
@@ -213526,10 +222868,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/tm6000/tm6000-regs.h
   */
  
  /*
-Index: linux-2.6.35.x86_64/drivers/staging/tm6000/tm6000-stds.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/staging/tm6000/tm6000-stds.c
-+++ linux-2.6.35.x86_64/drivers/staging/tm6000/tm6000-stds.c
+diff -Naurp linux-2.6.35/drivers/staging/tm6000/tm6000-stds.c linux-2.6.35.media/drivers/staging/tm6000/tm6000-stds.c
+--- linux-2.6.35/drivers/staging/tm6000/tm6000-stds.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/staging/tm6000/tm6000-stds.c	2011-01-24 22:56:46.571088410 -0500
 @@ -1,20 +1,20 @@
  /*
 -   tm6000-stds.c - driver for TM5600/TM6000/TM6010 USB video capture devices
@@ -214205,10 +223546,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/tm6000/tm6000-stds.c
  				goto ret;
  			}
  		}
-Index: linux-2.6.35.x86_64/drivers/staging/tm6000/tm6000-usb-isoc.h
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/staging/tm6000/tm6000-usb-isoc.h
-+++ linux-2.6.35.x86_64/drivers/staging/tm6000/tm6000-usb-isoc.h
+diff -Naurp linux-2.6.35/drivers/staging/tm6000/tm6000-usb-isoc.h linux-2.6.35.media/drivers/staging/tm6000/tm6000-usb-isoc.h
+--- linux-2.6.35/drivers/staging/tm6000/tm6000-usb-isoc.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/staging/tm6000/tm6000-usb-isoc.h	2011-01-24 22:56:46.581088423 -0500
 @@ -1,20 +1,20 @@
  /*
 -   tm6000-buf.c - driver for TM5600/TM6000/TM6010 USB video capture devices
@@ -214263,10 +223603,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/tm6000/tm6000-usb-isoc.h
 -		/* Stores the number of received fields */
 -	int				nfields;
  };
-Index: linux-2.6.35.x86_64/drivers/staging/tm6000/tm6000-video.c
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/staging/tm6000/tm6000-video.c
-+++ linux-2.6.35.x86_64/drivers/staging/tm6000/tm6000-video.c
+diff -Naurp linux-2.6.35/drivers/staging/tm6000/tm6000-video.c linux-2.6.35.media/drivers/staging/tm6000/tm6000-video.c
+--- linux-2.6.35/drivers/staging/tm6000/tm6000-video.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/drivers/staging/tm6000/tm6000-video.c	2011-01-24 22:56:46.643088507 -0500
 @@ -1,23 +1,23 @@
  /*
 -   tm6000-video.c - driver for TM5600/TM6000/TM6010 USB video capture devices
@@ -215661,10 +225000,9 @@ Index: linux-2.6.35.x86_64/drivers/staging/tm6000/tm6000-video.c
 +module_param(vid_limit, int, 0644);
 +MODULE_PARM_DESC(vid_limit, "capture memory limit in megabytes");
  
-Index: linux-2.6.35.x86_64/firmware/ihex2fw.c
-===================================================================
---- linux-2.6.35.x86_64.orig/firmware/ihex2fw.c
-+++ linux-2.6.35.x86_64/firmware/ihex2fw.c
+diff -Naurp linux-2.6.35/firmware/ihex2fw.c linux-2.6.35.media/firmware/ihex2fw.c
+--- linux-2.6.35/firmware/ihex2fw.c	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/firmware/ihex2fw.c	2011-01-24 22:56:46.735088630 -0500
 @@ -55,6 +55,7 @@ static int output_records(int outfd);
  
  static int sort_records = 0;
@@ -215725,10 +225063,9 @@ Index: linux-2.6.35.x86_64/firmware/ihex2fw.c
  		goto next_record;
  
  	default:
-Index: linux-2.6.35.x86_64/include/linux/dvb/frontend.h
-===================================================================
---- linux-2.6.35.x86_64.orig/include/linux/dvb/frontend.h
-+++ linux-2.6.35.x86_64/include/linux/dvb/frontend.h
+diff -Naurp linux-2.6.35/include/linux/dvb/frontend.h linux-2.6.35.media/include/linux/dvb/frontend.h
+--- linux-2.6.35/include/linux/dvb/frontend.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/include/linux/dvb/frontend.h	2011-01-24 22:56:47.625089834 -0500
 @@ -62,6 +62,7 @@ typedef enum fe_caps {
  	FE_CAN_8VSB			= 0x200000,
  	FE_CAN_16VSB			= 0x400000,
@@ -215737,10 +225074,9 @@ Index: linux-2.6.35.x86_64/include/linux/dvb/frontend.h
  	FE_CAN_2G_MODULATION		= 0x10000000, /* frontend supports "2nd generation modulation" (DVB-S2) */
  	FE_NEEDS_BENDING		= 0x20000000, /* not supported anymore, don't use (frontend requires frequency bending) */
  	FE_CAN_RECOVER			= 0x40000000, /* frontend can recover from a cable unplug automatically */
-Index: linux-2.6.35.x86_64/include/linux/dvb/version.h
-===================================================================
---- linux-2.6.35.x86_64.orig/include/linux/dvb/version.h
-+++ linux-2.6.35.x86_64/include/linux/dvb/version.h
+diff -Naurp linux-2.6.35/include/linux/dvb/version.h linux-2.6.35.media/include/linux/dvb/version.h
+--- linux-2.6.35/include/linux/dvb/version.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/include/linux/dvb/version.h	2011-01-24 22:56:47.696089929 -0500
 @@ -24,6 +24,6 @@
  #define _DVBVERSION_H_
  
@@ -215749,10 +225085,9 @@ Index: linux-2.6.35.x86_64/include/linux/dvb/version.h
 +#define DVB_API_VERSION_MINOR 2
  
  #endif /*_DVBVERSION_H_*/
-Index: linux-2.6.35.x86_64/include/linux/i2c-id.h
-===================================================================
---- linux-2.6.35.x86_64.orig/include/linux/i2c-id.h
-+++ linux-2.6.35.x86_64/include/linux/i2c-id.h
+diff -Naurp linux-2.6.35/include/linux/i2c-id.h linux-2.6.35.media/include/linux/i2c-id.h
+--- linux-2.6.35/include/linux/i2c-id.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/include/linux/i2c-id.h	2011-01-24 22:56:47.573089763 -0500
 @@ -32,28 +32,6 @@
   */
  
@@ -215782,10 +225117,9 @@ Index: linux-2.6.35.x86_64/include/linux/i2c-id.h
 -#define I2C_HW_SAA7134		0x090000 /* SAA7134 video decoder bus */
  
  #endif /* LINUX_I2C_ID_H */
-Index: linux-2.6.35.x86_64/include/linux/mmc/sdio_ids.h
-===================================================================
---- linux-2.6.35.x86_64.orig/include/linux/mmc/sdio_ids.h
-+++ linux-2.6.35.x86_64/include/linux/mmc/sdio_ids.h
+diff -Naurp linux-2.6.35/include/linux/mmc/sdio_ids.h linux-2.6.35.media/include/linux/mmc/sdio_ids.h
+--- linux-2.6.35/include/linux/mmc/sdio_ids.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/include/linux/mmc/sdio_ids.h	2011-01-24 22:56:47.706089942 -0500
 @@ -18,6 +18,7 @@
  #define SDIO_CLASS_PHS		0x06	/* PHS standard interface */
  #define SDIO_CLASS_WLAN		0x07	/* WLAN interface */
@@ -215794,10 +225128,9 @@ Index: linux-2.6.35.x86_64/include/linux/mmc/sdio_ids.h
  
  /*
   * Vendors and devices.  Sort key: vendor first, device next.
-Index: linux-2.6.35.x86_64/include/linux/usb/video.h
-===================================================================
---- linux-2.6.35.x86_64.orig/include/linux/usb/video.h
-+++ linux-2.6.35.x86_64/include/linux/usb/video.h
+diff -Naurp linux-2.6.35/include/linux/usb/video.h linux-2.6.35.media/include/linux/usb/video.h
+--- linux-2.6.35/include/linux/usb/video.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/include/linux/usb/video.h	2011-01-24 22:56:47.584089777 -0500
 @@ -160,5 +160,409 @@
  #define UVC_STATUS_TYPE_CONTROL				1
  #define UVC_STATUS_TYPE_STREAMING			2
@@ -216208,10 +225541,9 @@ Index: linux-2.6.35.x86_64/include/linux/usb/video.h
 +
  #endif /* __LINUX_USB_VIDEO_H */
  
-Index: linux-2.6.35.x86_64/include/linux/videodev2.h
-===================================================================
---- linux-2.6.35.x86_64.orig/include/linux/videodev2.h
-+++ linux-2.6.35.x86_64/include/linux/videodev2.h
+diff -Naurp linux-2.6.35/include/linux/videodev2.h linux-2.6.35.media/include/linux/videodev2.h
+--- linux-2.6.35/include/linux/videodev2.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/include/linux/videodev2.h	2011-01-24 22:56:47.594089792 -0500
 @@ -70,6 +70,7 @@
   * Moved from videodev.h
   */
@@ -216456,10 +225788,9 @@ Index: linux-2.6.35.x86_64/include/linux/videodev2.h
  /*	Stream type-dependent parameters
   */
  struct v4l2_streamparm {
-Index: linux-2.6.35.x86_64/include/media/bt819.h
-===================================================================
---- linux-2.6.35.x86_64.orig/include/media/bt819.h
-+++ linux-2.6.35.x86_64/include/media/bt819.h
+diff -Naurp linux-2.6.35/include/media/bt819.h linux-2.6.35.media/include/media/bt819.h
+--- linux-2.6.35/include/media/bt819.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/include/media/bt819.h	2011-01-24 22:56:47.100089121 -0500
 @@ -26,7 +26,10 @@
  /* v4l2_device notifications. */
  
@@ -216472,10 +225803,9 @@ Index: linux-2.6.35.x86_64/include/media/bt819.h
  #define BT819_FIFO_RESET_LOW 	_IO('b', 0)
  #define BT819_FIFO_RESET_HIGH 	_IO('b', 1)
  
-Index: linux-2.6.35.x86_64/include/media/cx2341x.h
-===================================================================
---- linux-2.6.35.x86_64.orig/include/media/cx2341x.h
-+++ linux-2.6.35.x86_64/include/media/cx2341x.h
+diff -Naurp linux-2.6.35/include/media/cx2341x.h linux-2.6.35.media/include/media/cx2341x.h
+--- linux-2.6.35/include/media/cx2341x.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/include/media/cx2341x.h	2011-01-24 22:56:47.170089216 -0500
 @@ -19,6 +19,8 @@
  #ifndef CX2341X_H
  #define CX2341X_H
@@ -216594,10 +225924,9 @@ Index: linux-2.6.35.x86_64/include/media/cx2341x.h
  /* Firmware names */
  #define CX2341X_FIRM_ENC_FILENAME "v4l-cx2341x-enc.fw"
  /* Decoder firmware for the cx23415 only */
-Index: linux-2.6.35.x86_64/include/media/cx25840.h
-===================================================================
---- linux-2.6.35.x86_64.orig/include/media/cx25840.h
-+++ linux-2.6.35.x86_64/include/media/cx25840.h
+diff -Naurp linux-2.6.35/include/media/cx25840.h linux-2.6.35.media/include/media/cx25840.h
+--- linux-2.6.35/include/media/cx25840.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/include/media/cx25840.h	2011-01-24 22:56:47.391089517 -0500
 @@ -97,4 +97,91 @@ enum cx25840_audio_input {
  	CX25840_AUDIO8,
  };
@@ -216690,10 +226019,9 @@ Index: linux-2.6.35.x86_64/include/media/cx25840.h
 +};
 +
  #endif
-Index: linux-2.6.35.x86_64/include/media/ir-kbd-i2c.h
-===================================================================
---- linux-2.6.35.x86_64.orig/include/media/ir-kbd-i2c.h
-+++ linux-2.6.35.x86_64/include/media/ir-kbd-i2c.h
+diff -Naurp linux-2.6.35/include/media/ir-kbd-i2c.h linux-2.6.35.media/include/media/ir-kbd-i2c.h
+--- linux-2.6.35/include/media/ir-kbd-i2c.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/include/media/ir-kbd-i2c.h	2011-01-24 22:56:46.776088686 -0500
 @@ -1,20 +1,22 @@
  #ifndef _IR_I2C
  #define _IR_I2C
@@ -216749,10 +226077,9 @@ Index: linux-2.6.35.x86_64/include/media/ir-kbd-i2c.h
 +	struct rc_dev		*rc_dev;
  };
  #endif
-Index: linux-2.6.35.x86_64/include/media/lirc_dev.h
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/include/media/lirc_dev.h
+diff -Naurp linux-2.6.35/include/media/lirc_dev.h linux-2.6.35.media/include/media/lirc_dev.h
+--- linux-2.6.35/include/media/lirc_dev.h	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/include/media/lirc_dev.h	2011-01-24 22:56:47.241089313 -0500
 @@ -0,0 +1,225 @@
 +/*
 + * LIRC base driver
@@ -216979,10 +226306,9 @@ Index: linux-2.6.35.x86_64/include/media/lirc_dev.h
 +			   size_t length, loff_t *ppos);
 +
 +#endif
-Index: linux-2.6.35.x86_64/include/media/lirc.h
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/include/media/lirc.h
+diff -Naurp linux-2.6.35/include/media/lirc.h linux-2.6.35.media/include/media/lirc.h
+--- linux-2.6.35/include/media/lirc.h	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/include/media/lirc.h	2011-01-24 22:56:47.361089476 -0500
 @@ -0,0 +1,168 @@
 +/*
 + * lirc.h - linux infrared remote control header file
@@ -217152,10 +226478,9 @@ Index: linux-2.6.35.x86_64/include/media/lirc.h
 +#define LIRC_SET_WIDEBAND_RECEIVER     _IOW('i', 0x00000023, __u32)
 +
 +#endif
-Index: linux-2.6.35.x86_64/include/media/mt9v011.h
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/include/media/mt9v011.h
+diff -Naurp linux-2.6.35/include/media/mt9v011.h linux-2.6.35.media/include/media/mt9v011.h
+--- linux-2.6.35/include/media/mt9v011.h	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/include/media/mt9v011.h	2011-01-24 22:56:46.796088713 -0500
 @@ -0,0 +1,17 @@
 +/* mt9v011 sensor
 + *
@@ -217174,10 +226499,9 @@ Index: linux-2.6.35.x86_64/include/media/mt9v011.h
 +};
 +
 +#endif
-Index: linux-2.6.35.x86_64/include/media/noon010pc30.h
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/include/media/noon010pc30.h
+diff -Naurp linux-2.6.35/include/media/noon010pc30.h linux-2.6.35.media/include/media/noon010pc30.h
+--- linux-2.6.35/include/media/noon010pc30.h	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/include/media/noon010pc30.h	2011-01-24 22:56:47.201089258 -0500
 @@ -0,0 +1,28 @@
 +/*
 + * Driver header for NOON010PC30L camera sensor chip.
@@ -217207,10 +226531,9 @@ Index: linux-2.6.35.x86_64/include/media/noon010pc30.h
 +};
 +
 +#endif /* NOON010PC30_H */
-Index: linux-2.6.35.x86_64/include/media/omap1_camera.h
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/include/media/omap1_camera.h
+diff -Naurp linux-2.6.35/include/media/omap1_camera.h linux-2.6.35.media/include/media/omap1_camera.h
+--- linux-2.6.35/include/media/omap1_camera.h	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/include/media/omap1_camera.h	2011-01-24 22:56:47.120089149 -0500
 @@ -0,0 +1,35 @@
 +/*
 + * Header for V4L2 SoC Camera driver for OMAP1 Camera Interface
@@ -217247,10 +226570,9 @@ Index: linux-2.6.35.x86_64/include/media/omap1_camera.h
 +#define OMAP1_CAMERA_RST_HIGH		BIT(2)
 +
 +#endif /* __MEDIA_OMAP1_CAMERA_H_ */
-Index: linux-2.6.35.x86_64/include/media/rc-core.h
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/include/media/rc-core.h
+diff -Naurp linux-2.6.35/include/media/rc-core.h linux-2.6.35.media/include/media/rc-core.h
+--- linux-2.6.35/include/media/rc-core.h	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/include/media/rc-core.h	2011-01-24 22:56:47.472089626 -0500
 @@ -0,0 +1,223 @@
 +/*
 + * Remote Controller core header
@@ -217475,10 +226797,9 @@ Index: linux-2.6.35.x86_64/include/media/rc-core.h
 +}
 +
 +#endif /* _RC_CORE */
-Index: linux-2.6.35.x86_64/include/media/rc-map.h
-===================================================================
---- linux-2.6.35.x86_64.orig/include/media/rc-map.h
-+++ linux-2.6.35.x86_64/include/media/rc-map.h
+diff -Naurp linux-2.6.35/include/media/rc-map.h linux-2.6.35.media/include/media/rc-map.h
+--- linux-2.6.35/include/media/rc-map.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/include/media/rc-map.h	2011-01-24 22:56:47.251089327 -0500
 @@ -11,44 +11,52 @@
  
  #include <linux/input.h>
@@ -217615,10 +226936,9 @@ Index: linux-2.6.35.x86_64/include/media/rc-map.h
  /*
   * Please, do not just append newer Remote Controller names at the end.
   * The names should be ordered in alphabetical order
-Index: linux-2.6.35.x86_64/include/media/s5p_fimc.h
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/include/media/s5p_fimc.h
+diff -Naurp linux-2.6.35/include/media/s5p_fimc.h linux-2.6.35.media/include/media/s5p_fimc.h
+--- linux-2.6.35/include/media/s5p_fimc.h	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/include/media/s5p_fimc.h	2011-01-24 22:56:47.381089501 -0500
 @@ -0,0 +1,60 @@
 +/*
 + * Samsung S5P SoC camera interface driver header
@@ -217680,10 +227000,9 @@ Index: linux-2.6.35.x86_64/include/media/s5p_fimc.h
 +	struct s5p_fimc_isp_info *isp_info[FIMC_MAX_CAMIF_CLIENTS];
 +};
 +#endif /* S5P_FIMC_H_ */
-Index: linux-2.6.35.x86_64/include/media/saa6588.h
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/include/media/saa6588.h
+diff -Naurp linux-2.6.35/include/media/saa6588.h linux-2.6.35.media/include/media/saa6588.h
+--- linux-2.6.35/include/media/saa6588.h	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/include/media/saa6588.h	2011-01-24 22:56:47.140089176 -0500
 @@ -0,0 +1,42 @@
 +/*
 +
@@ -217727,10 +227046,9 @@ Index: linux-2.6.35.x86_64/include/media/saa6588.h
 +#define SAA6588_CMD_POLL	_IOR('R', 4, int)
 +
 +#endif
-Index: linux-2.6.35.x86_64/include/media/saa7146.h
-===================================================================
---- linux-2.6.35.x86_64.orig/include/media/saa7146.h
-+++ linux-2.6.35.x86_64/include/media/saa7146.h
+diff -Naurp linux-2.6.35/include/media/saa7146.h linux-2.6.35.media/include/media/saa7146.h
+--- linux-2.6.35/include/media/saa7146.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/include/media/saa7146.h	2011-01-24 22:56:46.968088943 -0500
 @@ -115,7 +115,7 @@ struct saa7146_dev
  
  	/* different device locks */
@@ -217749,10 +227067,9 @@ Index: linux-2.6.35.x86_64/include/media/saa7146.h
  int saa7146_pgtable_alloc(struct pci_dev *pci, struct saa7146_pgtable *pt);
  void saa7146_pgtable_free(struct pci_dev *pci, struct saa7146_pgtable *pt);
  int saa7146_pgtable_build_single(struct pci_dev *pci, struct saa7146_pgtable *pt, struct scatterlist *list, int length );
-Index: linux-2.6.35.x86_64/include/media/sh_mobile_ceu.h
-===================================================================
---- linux-2.6.35.x86_64.orig/include/media/sh_mobile_ceu.h
-+++ linux-2.6.35.x86_64/include/media/sh_mobile_ceu.h
+diff -Naurp linux-2.6.35/include/media/sh_mobile_ceu.h linux-2.6.35.media/include/media/sh_mobile_ceu.h
+--- linux-2.6.35/include/media/sh_mobile_ceu.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/include/media/sh_mobile_ceu.h	2011-01-24 22:56:47.513089681 -0500
 @@ -6,8 +6,11 @@
  #define SH_CEU_FLAG_HSYNC_LOW		(1 << 2) /* default High if possible */
  #define SH_CEU_FLAG_VSYNC_LOW		(1 << 3) /* default High if possible */
@@ -217765,10 +227082,9 @@ Index: linux-2.6.35.x86_64/include/media/sh_mobile_ceu.h
  };
  
  #endif /* __ASM_SH_MOBILE_CEU_H__ */
-Index: linux-2.6.35.x86_64/include/media/sh_mobile_csi2.h
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/include/media/sh_mobile_csi2.h
+diff -Naurp linux-2.6.35/include/media/sh_mobile_csi2.h linux-2.6.35.media/include/media/sh_mobile_csi2.h
+--- linux-2.6.35/include/media/sh_mobile_csi2.h	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/include/media/sh_mobile_csi2.h	2011-01-24 22:56:47.211089273 -0500
 @@ -0,0 +1,46 @@
 +/*
 + * Driver header for the SH-Mobile MIPI CSI-2 unit
@@ -217816,10 +227132,9 @@ Index: linux-2.6.35.x86_64/include/media/sh_mobile_csi2.h
 +struct v4l2_device;
 +
 +#endif
-Index: linux-2.6.35.x86_64/include/media/sh_vou.h
-===================================================================
---- linux-2.6.35.x86_64.orig/include/media/sh_vou.h
-+++ linux-2.6.35.x86_64/include/media/sh_vou.h
+diff -Naurp linux-2.6.35/include/media/sh_vou.h linux-2.6.35.media/include/media/sh_vou.h
+--- linux-2.6.35/include/media/sh_vou.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/include/media/sh_vou.h	2011-01-24 22:56:47.181089232 -0500
 @@ -28,7 +28,6 @@ struct sh_vou_pdata {
  	int i2c_adap;
  	struct i2c_board_info *board_info;
@@ -217828,10 +227143,9 @@ Index: linux-2.6.35.x86_64/include/media/sh_vou.h
  };
  
  #endif
-Index: linux-2.6.35.x86_64/include/media/si4713.h
-===================================================================
---- linux-2.6.35.x86_64.orig/include/media/si4713.h
-+++ linux-2.6.35.x86_64/include/media/si4713.h
+diff -Naurp linux-2.6.35/include/media/si4713.h linux-2.6.35.media/include/media/si4713.h
+--- linux-2.6.35/include/media/si4713.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/include/media/si4713.h	2011-01-24 22:56:47.110089135 -0500
 @@ -23,8 +23,7 @@
   * Platform dependent definition
   */
@@ -217842,10 +227156,9 @@ Index: linux-2.6.35.x86_64/include/media/si4713.h
  };
  
  /*
-Index: linux-2.6.35.x86_64/include/media/soc_camera.h
-===================================================================
---- linux-2.6.35.x86_64.orig/include/media/soc_camera.h
-+++ linux-2.6.35.x86_64/include/media/soc_camera.h
+diff -Naurp linux-2.6.35/include/media/soc_camera.h linux-2.6.35.media/include/media/soc_camera.h
+--- linux-2.6.35/include/media/soc_camera.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/include/media/soc_camera.h	2011-01-24 22:56:47.029089025 -0500
 @@ -12,12 +12,17 @@
  #ifndef SOC_CAMERA_H
  #define SOC_CAMERA_H
@@ -217904,10 +227217,9 @@ Index: linux-2.6.35.x86_64/include/media/soc_camera.h
  	/*
  	 * For non-I2C devices platform platform has to provide methods to
  	 * add a device to the system and to remove
-Index: linux-2.6.35.x86_64/include/media/sr030pc30.h
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/include/media/sr030pc30.h
+diff -Naurp linux-2.6.35/include/media/sr030pc30.h linux-2.6.35.media/include/media/sr030pc30.h
+--- linux-2.6.35/include/media/sr030pc30.h	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/include/media/sr030pc30.h	2011-01-24 22:56:47.261089340 -0500
 @@ -0,0 +1,21 @@
 +/*
 + * Driver header for SR030PC30 camera sensor
@@ -217930,10 +227242,9 @@ Index: linux-2.6.35.x86_64/include/media/sr030pc30.h
 +};
 +
 +#endif /* SR030PC30_H */
-Index: linux-2.6.35.x86_64/include/media/timb_radio.h
-===================================================================
---- linux-2.6.35.x86_64.orig/include/media/timb_radio.h
-+++ linux-2.6.35.x86_64/include/media/timb_radio.h
+diff -Naurp linux-2.6.35/include/media/timb_radio.h linux-2.6.35.media/include/media/timb_radio.h
+--- linux-2.6.35/include/media/timb_radio.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/include/media/timb_radio.h	2011-01-24 22:56:47.060089068 -0500
 @@ -24,7 +24,6 @@
  struct timb_radio_platform_data {
  	int i2c_adapter; /* I2C adapter where the tuner and dsp are attached */
@@ -217942,10 +227253,9 @@ Index: linux-2.6.35.x86_64/include/media/timb_radio.h
  		struct i2c_board_info *info;
  	} tuner;
  	struct {
-Index: linux-2.6.35.x86_64/include/media/timb_video.h
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/include/media/timb_video.h
+diff -Naurp linux-2.6.35/include/media/timb_video.h linux-2.6.35.media/include/media/timb_video.h
+--- linux-2.6.35/include/media/timb_video.h	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/include/media/timb_video.h	2011-01-24 22:56:47.341089448 -0500
 @@ -0,0 +1,33 @@
 +/*
 + * timb_video.h Platform struct for the Timberdale video driver
@@ -217980,10 +227290,20 @@ Index: linux-2.6.35.x86_64/include/media/timb_video.h
 +};
 +
 +#endif
-Index: linux-2.6.35.x86_64/include/media/v4l2-chip-ident.h
-===================================================================
---- linux-2.6.35.x86_64.orig/include/media/v4l2-chip-ident.h
-+++ linux-2.6.35.x86_64/include/media/v4l2-chip-ident.h
+diff -Naurp linux-2.6.35/include/media/tuner.h linux-2.6.35.media/include/media/tuner.h
+--- linux-2.6.35/include/media/tuner.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/include/media/tuner.h	2011-01-24 22:56:46.826088753 -0500
+@@ -131,6 +131,7 @@
+ #define TUNER_NXP_TDA18271		83
+ #define TUNER_SONY_BTF_PXN01Z		84
+ #define TUNER_PHILIPS_FQ1236_MK5	85	/* NTSC, TDA9885, no FM radio */
++#define TUNER_TENA_TNF_5337		86
+ 
+ /* tv card specific */
+ #define TDA9887_PRESENT 		(1<<0)
+diff -Naurp linux-2.6.35/include/media/v4l2-chip-ident.h linux-2.6.35.media/include/media/v4l2-chip-ident.h
+--- linux-2.6.35/include/media/v4l2-chip-ident.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/include/media/v4l2-chip-ident.h	2011-01-24 22:56:47.039089038 -0500
 @@ -38,6 +38,9 @@ enum {
  	/* module tvaudio: reserved range 50-99 */
  	V4L2_IDENT_TVAUDIO = 50,	/* A tvaudio chip, unknown which it is exactly */
@@ -218024,10 +227344,9 @@ Index: linux-2.6.35.x86_64/include/media/v4l2-chip-ident.h
  	/* module cx231xx and cx25840 */
  	V4L2_IDENT_CX2310X_AV = 23099, /* Integrated A/V decoder; not in '100 */
  	V4L2_IDENT_CX23100    = 23100,
-Index: linux-2.6.35.x86_64/include/media/v4l2-common.h
-===================================================================
---- linux-2.6.35.x86_64.orig/include/media/v4l2-common.h
-+++ linux-2.6.35.x86_64/include/media/v4l2-common.h
+diff -Naurp linux-2.6.35/include/media/v4l2-common.h linux-2.6.35.media/include/media/v4l2-common.h
+--- linux-2.6.35/include/media/v4l2-common.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/include/media/v4l2-common.h	2011-01-24 22:56:46.856088793 -0500
 @@ -98,12 +98,12 @@ int v4l2_prio_check(struct v4l2_prio_sta
  /* Control helper functions */
  
@@ -218095,10 +227414,9 @@ Index: linux-2.6.35.x86_64/include/media/v4l2-common.h
 +		s32 width, s32 height);
 +
  #endif /* V4L2_COMMON_H_ */
-Index: linux-2.6.35.x86_64/include/media/v4l2-ctrls.h
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/include/media/v4l2-ctrls.h
+diff -Naurp linux-2.6.35/include/media/v4l2-ctrls.h linux-2.6.35.media/include/media/v4l2-ctrls.h
+--- linux-2.6.35/include/media/v4l2-ctrls.h	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/include/media/v4l2-ctrls.h	2011-01-24 22:56:47.271089353 -0500
 @@ -0,0 +1,463 @@
 +/*
 +    V4L2 controls support header.
@@ -218563,10 +227881,9 @@ Index: linux-2.6.35.x86_64/include/media/v4l2-ctrls.h
 +int v4l2_subdev_s_ctrl(struct v4l2_subdev *sd, struct v4l2_control *ctrl);
 +
 +#endif
-Index: linux-2.6.35.x86_64/include/media/v4l2-dev.h
-===================================================================
---- linux-2.6.35.x86_64.orig/include/media/v4l2-dev.h
-+++ linux-2.6.35.x86_64/include/media/v4l2-dev.h
+diff -Naurp linux-2.6.35/include/media/v4l2-dev.h linux-2.6.35.media/include/media/v4l2-dev.h
+--- linux-2.6.35/include/media/v4l2-dev.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/include/media/v4l2-dev.h	2011-01-24 22:56:47.321089421 -0500
 @@ -21,12 +21,12 @@
  #define VFL_TYPE_GRABBER	0
  #define VFL_TYPE_VBI		1
@@ -218611,10 +227928,9 @@ Index: linux-2.6.35.x86_64/include/media/v4l2-dev.h
  };
  
  /* dev to video-device */
-Index: linux-2.6.35.x86_64/include/media/v4l2-device.h
-===================================================================
---- linux-2.6.35.x86_64.orig/include/media/v4l2-device.h
-+++ linux-2.6.35.x86_64/include/media/v4l2-device.h
+diff -Naurp linux-2.6.35/include/media/v4l2-device.h linux-2.6.35.media/include/media/v4l2-device.h
+--- linux-2.6.35/include/media/v4l2-device.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/include/media/v4l2-device.h	2011-01-24 22:56:46.958088930 -0500
 @@ -32,6 +32,8 @@
  
  #define V4L2_DEVICE_NAME_SIZE (20 + 16)
@@ -218721,10 +228037,9 @@ Index: linux-2.6.35.x86_64/include/media/v4l2-device.h
 +})
  
  #endif
-Index: linux-2.6.35.x86_64/include/media/v4l2-ioctl.h
-===================================================================
---- linux-2.6.35.x86_64.orig/include/media/v4l2-ioctl.h
-+++ linux-2.6.35.x86_64/include/media/v4l2-ioctl.h
+diff -Naurp linux-2.6.35/include/media/v4l2-ioctl.h linux-2.6.35.media/include/media/v4l2-ioctl.h
+--- linux-2.6.35/include/media/v4l2-ioctl.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/include/media/v4l2-ioctl.h	2011-01-24 22:56:46.947088915 -0500
 @@ -14,12 +14,7 @@
  #include <linux/device.h>
  #include <linux/mutex.h>
@@ -218819,10 +228134,9 @@ Index: linux-2.6.35.x86_64/include/media/v4l2-ioctl.h
  /* Include support for obsoleted stuff */
  extern long video_usercopy(struct file *file, unsigned int cmd,
  				unsigned long arg, v4l2_kioctl func);
-Index: linux-2.6.35.x86_64/include/media/v4l2-mediabus.h
-===================================================================
---- linux-2.6.35.x86_64.orig/include/media/v4l2-mediabus.h
-+++ linux-2.6.35.x86_64/include/media/v4l2-mediabus.h
+diff -Naurp linux-2.6.35/include/media/v4l2-mediabus.h linux-2.6.35.media/include/media/v4l2-mediabus.h
+--- linux-2.6.35/include/media/v4l2-mediabus.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/include/media/v4l2-mediabus.h	2011-01-24 22:56:47.050089054 -0500
 @@ -24,14 +24,22 @@
   */
  enum v4l2_mbus_pixelcode {
@@ -218862,10 +228176,9 @@ Index: linux-2.6.35.x86_64/include/media/v4l2-mediabus.h
  };
  
  /**
-Index: linux-2.6.35.x86_64/include/media/v4l2-mem2mem.h
-===================================================================
---- linux-2.6.35.x86_64.orig/include/media/v4l2-mem2mem.h
-+++ linux-2.6.35.x86_64/include/media/v4l2-mem2mem.h
+diff -Naurp linux-2.6.35/include/media/v4l2-mem2mem.h linux-2.6.35.media/include/media/v4l2-mem2mem.h
+--- linux-2.6.35/include/media/v4l2-mem2mem.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/include/media/v4l2-mem2mem.h	2011-01-24 22:56:46.988088970 -0500
 @@ -17,7 +17,7 @@
  #ifndef _MEDIA_V4L2_MEM2MEM_H
  #define _MEDIA_V4L2_MEM2MEM_H
@@ -219023,10 +228336,9 @@ Index: linux-2.6.35.x86_64/include/media/v4l2-mem2mem.h
  }
  
  #endif /* _MEDIA_V4L2_MEM2MEM_H */
-Index: linux-2.6.35.x86_64/include/media/v4l2-subdev.h
-===================================================================
---- linux-2.6.35.x86_64.orig/include/media/v4l2-subdev.h
-+++ linux-2.6.35.x86_64/include/media/v4l2-subdev.h
+diff -Naurp linux-2.6.35/include/media/v4l2-subdev.h linux-2.6.35.media/include/media/v4l2-subdev.h
+--- linux-2.6.35/include/media/v4l2-subdev.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/include/media/v4l2-subdev.h	2011-01-24 22:56:47.442089585 -0500
 @@ -35,6 +35,7 @@
  #define V4L2_SUBDEV_IR_TX_FIFO_SERVICE_REQ	0x00000001
  
@@ -219229,10 +228541,9 @@ Index: linux-2.6.35.x86_64/include/media/v4l2-subdev.h
  }
  
  /* Call an ops of a v4l2_subdev, doing the right checks against
-Index: linux-2.6.35.x86_64/include/media/videobuf2-core.h
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/include/media/videobuf2-core.h
+diff -Naurp linux-2.6.35/include/media/videobuf2-core.h linux-2.6.35.media/include/media/videobuf2-core.h
+--- linux-2.6.35/include/media/videobuf2-core.h	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/include/media/videobuf2-core.h	2011-01-24 22:56:47.080089095 -0500
 @@ -0,0 +1,380 @@
 +/*
 + * videobuf2-core.h - V4L2 driver helper framework
@@ -219614,10 +228925,9 @@ Index: linux-2.6.35.x86_64/include/media/videobuf2-core.h
 +}
 +
 +#endif /* _MEDIA_VIDEOBUF2_CORE_H */
-Index: linux-2.6.35.x86_64/include/media/videobuf2-dma-contig.h
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/include/media/videobuf2-dma-contig.h
+diff -Naurp linux-2.6.35/include/media/videobuf2-dma-contig.h linux-2.6.35.media/include/media/videobuf2-dma-contig.h
+--- linux-2.6.35/include/media/videobuf2-dma-contig.h	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/include/media/videobuf2-dma-contig.h	2011-01-24 22:56:46.816088738 -0500
 @@ -0,0 +1,29 @@
 +/*
 + * videobuf2-dma-coherent.h - DMA coherent memory allocator for videobuf2
@@ -219648,10 +228958,9 @@ Index: linux-2.6.35.x86_64/include/media/videobuf2-dma-contig.h
 +extern const struct vb2_mem_ops vb2_dma_contig_memops;
 +
 +#endif
-Index: linux-2.6.35.x86_64/include/media/videobuf2-dma-sg.h
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/include/media/videobuf2-dma-sg.h
+diff -Naurp linux-2.6.35/include/media/videobuf2-dma-sg.h linux-2.6.35.media/include/media/videobuf2-dma-sg.h
+--- linux-2.6.35/include/media/videobuf2-dma-sg.h	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/include/media/videobuf2-dma-sg.h	2011-01-24 22:56:46.745088644 -0500
 @@ -0,0 +1,32 @@
 +/*
 + * videobuf2-dma-sg.h - DMA scatter/gather memory allocator for videobuf2
@@ -219685,10 +228994,9 @@ Index: linux-2.6.35.x86_64/include/media/videobuf2-dma-sg.h
 +extern const struct vb2_mem_ops vb2_dma_sg_memops;
 +
 +#endif
-Index: linux-2.6.35.x86_64/include/media/videobuf2-memops.h
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/include/media/videobuf2-memops.h
+diff -Naurp linux-2.6.35/include/media/videobuf2-memops.h linux-2.6.35.media/include/media/videobuf2-memops.h
+--- linux-2.6.35/include/media/videobuf2-memops.h	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/include/media/videobuf2-memops.h	2011-01-24 22:56:46.846088779 -0500
 @@ -0,0 +1,45 @@
 +/*
 + * videobuf2-memops.h - generic memory handling routines for videobuf2
@@ -219735,10 +229043,9 @@ Index: linux-2.6.35.x86_64/include/media/videobuf2-memops.h
 +
 +
 +#endif
-Index: linux-2.6.35.x86_64/include/media/videobuf2-vmalloc.h
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/include/media/videobuf2-vmalloc.h
+diff -Naurp linux-2.6.35/include/media/videobuf2-vmalloc.h linux-2.6.35.media/include/media/videobuf2-vmalloc.h
+--- linux-2.6.35/include/media/videobuf2-vmalloc.h	1969-12-31 19:00:00.000000000 -0500
++++ linux-2.6.35.media/include/media/videobuf2-vmalloc.h	2011-01-24 22:56:47.231089299 -0500
 @@ -0,0 +1,20 @@
 +/*
 + * videobuf2-vmalloc.h - vmalloc memory allocator for videobuf2
@@ -219760,10 +229067,9 @@ Index: linux-2.6.35.x86_64/include/media/videobuf2-vmalloc.h
 +extern const struct vb2_mem_ops vb2_vmalloc_memops;
 +
 +#endif
-Index: linux-2.6.35.x86_64/include/media/videobuf-core.h
-===================================================================
---- linux-2.6.35.x86_64.orig/include/media/videobuf-core.h
-+++ linux-2.6.35.x86_64/include/media/videobuf-core.h
+diff -Naurp linux-2.6.35/include/media/videobuf-core.h linux-2.6.35.media/include/media/videobuf-core.h
+--- linux-2.6.35/include/media/videobuf-core.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/include/media/videobuf-core.h	2011-01-24 22:56:47.422089558 -0500
 @@ -17,10 +17,6 @@
  #define _VIDEOBUF_CORE_H
  
@@ -219849,10 +229155,9 @@ Index: linux-2.6.35.x86_64/include/media/videobuf-core.h
  int videobuf_streamon(struct videobuf_queue *q);
  int videobuf_streamoff(struct videobuf_queue *q);
  
-Index: linux-2.6.35.x86_64/include/media/videobuf-dma-contig.h
-===================================================================
---- linux-2.6.35.x86_64.orig/include/media/videobuf-dma-contig.h
-+++ linux-2.6.35.x86_64/include/media/videobuf-dma-contig.h
+diff -Naurp linux-2.6.35/include/media/videobuf-dma-contig.h linux-2.6.35.media/include/media/videobuf-dma-contig.h
+--- linux-2.6.35/include/media/videobuf-dma-contig.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/include/media/videobuf-dma-contig.h	2011-01-24 22:56:47.351089461 -0500
 @@ -23,7 +23,8 @@ void videobuf_queue_dma_contig_init(stru
  				    enum v4l2_buf_type type,
  				    enum v4l2_field field,
@@ -219863,10 +229168,9 @@ Index: linux-2.6.35.x86_64/include/media/videobuf-dma-contig.h
  
  dma_addr_t videobuf_to_dma_contig(struct videobuf_buffer *buf);
  void videobuf_dma_contig_free(struct videobuf_queue *q,
-Index: linux-2.6.35.x86_64/include/media/videobuf-dma-sg.h
-===================================================================
---- linux-2.6.35.x86_64.orig/include/media/videobuf-dma-sg.h
-+++ linux-2.6.35.x86_64/include/media/videobuf-dma-sg.h
+diff -Naurp linux-2.6.35/include/media/videobuf-dma-sg.h linux-2.6.35.media/include/media/videobuf-dma-sg.h
+--- linux-2.6.35/include/media/videobuf-dma-sg.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/include/media/videobuf-dma-sg.h	2011-01-24 22:56:46.978088956 -0500
 @@ -25,23 +25,6 @@
  /* --------------------------------------------------------------------- */
  
@@ -219948,10 +229252,9 @@ Index: linux-2.6.35.x86_64/include/media/videobuf-dma-sg.h
  
  #endif /* _VIDEOBUF_DMA_SG_H */
  
-Index: linux-2.6.35.x86_64/include/media/videobuf-vmalloc.h
-===================================================================
---- linux-2.6.35.x86_64.orig/include/media/videobuf-vmalloc.h
-+++ linux-2.6.35.x86_64/include/media/videobuf-vmalloc.h
+diff -Naurp linux-2.6.35/include/media/videobuf-vmalloc.h linux-2.6.35.media/include/media/videobuf-vmalloc.h
+--- linux-2.6.35/include/media/videobuf-vmalloc.h	2010-08-01 18:11:14.000000000 -0400
++++ linux-2.6.35.media/include/media/videobuf-vmalloc.h	2011-01-24 22:56:46.786088698 -0500
 @@ -22,7 +22,7 @@
  struct videobuf_vmalloc_memory {
  	u32                 magic;
@@ -219971,696 +229274,3 @@ Index: linux-2.6.35.x86_64/include/media/videobuf-vmalloc.h
  
  void *videobuf_to_vmalloc(struct videobuf_buffer *buf);
  
-Index: linux-2.6.35.x86_64/drivers/staging/cxd2099/cxd2099.h
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/staging/cxd2099/cxd2099.h
-@@ -0,0 +1,41 @@
-+/*
-+ * cxd2099.h: Driver for the CXD2099AR Common Interface Controller
-+ *
-+ * Copyright (C) 2010 DigitalDevices UG
-+ *
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License
-+ * version 2 only, as published by the Free Software Foundation.
-+ *
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+ * GNU General Public License for more details.
-+ *
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-+ * 02110-1301, USA
-+ * Or, point your browser to http://www.gnu.org/copyleft/gpl.html
-+ */
-+
-+#ifndef _CXD2099_H_
-+#define _CXD2099_H_
-+
-+#include <dvb_ca_en50221.h>
-+
-+#if defined(CONFIG_DVB_CXD2099) || \
-+        (defined(CONFIG_DVB_CXD2099_MODULE) && defined(MODULE))
-+struct dvb_ca_en50221 *cxd2099_attach(u8 adr, void *priv, struct i2c_adapter *i2c);
-+#else
-+static inline struct dvb_ca_en50221 *cxd2099_attach(u8 adr, void *priv, struct i2c_adapter *i2c)
-+{
-+	printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
-+	return NULL;
-+}
-+#endif
-+
-+#endif
-Index: linux-2.6.35.x86_64/drivers/staging/Kconfig
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/staging/Kconfig
-+++ linux-2.6.35.x86_64/drivers/staging/Kconfig
-@@ -51,6 +51,8 @@ source "drivers/staging/cx25821/Kconfig"
- 
- source "drivers/staging/tm6000/Kconfig"
- 
-+source "drivers/staging/cxd2099/Kconfig"
-+
- source "drivers/staging/usbip/Kconfig"
- 
- source "drivers/staging/winbond/Kconfig"
-Index: linux-2.6.35.x86_64/drivers/staging/Makefile
-===================================================================
---- linux-2.6.35.x86_64.orig/drivers/staging/Makefile
-+++ linux-2.6.35.x86_64/drivers/staging/Makefile
-@@ -8,6 +8,7 @@ obj-$(CONFIG_SLICOSS)		+= slicoss/
- obj-$(CONFIG_VIDEO_GO7007)	+= go7007/
- obj-$(CONFIG_VIDEO_CX25821)	+= cx25821/
- obj-$(CONFIG_VIDEO_TM6000)	+= tm6000/
-+obj-$(CONFIG_VIDEO_CXD2099)	+= cxd2099/
- obj-$(CONFIG_USB_IP_COMMON)	+= usbip/
- obj-$(CONFIG_W35UND)		+= winbond/
- obj-$(CONFIG_PRISM2_USB)	+= wlan-ng/
-Index: linux-2.6.35.x86_64/drivers/staging/cxd2099/Kconfig
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/staging/cxd2099/Kconfig
-@@ -0,0 +1,11 @@
-+config DVB_CXD2099
-+        tristate "CXD2099AR Common Interface driver"
-+        depends on DVB_CORE && PCI && I2C && DVB_NGENE
-+        ---help---
-+          Support for the CI module found on cineS2 DVB-S2, supported by
-+	  the Micronas PCIe device driver (ngene).
-+
-+	  For now, data is passed through '/dev/dvb/adapterX/sec0':
-+	    - Encrypted data must be written to 'sec0'.
-+	    - Decrypted data can be read from 'sec0'.
-+	    - Setup the CAM using device 'ca0'.
-Index: linux-2.6.35.x86_64/drivers/staging/cxd2099/Makefile
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/staging/cxd2099/Makefile
-@@ -0,0 +1,5 @@
-+obj-$(CONFIG_DVB_CXD2099) += cxd2099.o
-+
-+EXTRA_CFLAGS += -Idrivers/media/dvb/dvb-core/
-+EXTRA_CFLAGS += -Idrivers/media/dvb/frontends/
-+EXTRA_CFLAGS += -Idrivers/media/common/tuners/
-Index: linux-2.6.35.x86_64/drivers/staging/cxd2099/TODO
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/staging/cxd2099/TODO
-@@ -0,0 +1,12 @@
-+For now, data is passed through '/dev/dvb/adapterX/sec0':
-+ - Encrypted data must be written to 'sec0'.
-+ - Decrypted data can be read from 'sec0'.
-+ - Setup the CAM using device 'ca0'.
-+
-+But this is wrong. There are some discussions about the proper way for
-+doing it, as seen at:
-+	http://www.mail-archive.com/linux-media@vger.kernel.org/msg22196.html
-+
-+While there's no proper fix for it, the driver should be kept in staging.
-+
-+Patches should be submitted to: linux-media at vger.kernel.org.
-Index: linux-2.6.35.x86_64/drivers/staging/cxd2099/cxd2099.c
-===================================================================
---- /dev/null
-+++ linux-2.6.35.x86_64/drivers/staging/cxd2099/cxd2099.c
-@@ -0,0 +1,574 @@
-+/*
-+ * cxd2099.c: Driver for the CXD2099AR Common Interface Controller
-+ *
-+ * Copyright (C) 2010 DigitalDevices UG
-+ *
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License
-+ * version 2 only, as published by the Free Software Foundation.
-+ *
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+ * GNU General Public License for more details.
-+ *
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-+ * 02110-1301, USA
-+ * Or, point your browser to http://www.gnu.org/copyleft/gpl.html
-+ */
-+
-+#include <linux/version.h>
-+#include <linux/slab.h>
-+#include <linux/kernel.h>
-+#include <linux/module.h>
-+#include <linux/moduleparam.h>
-+#include <linux/init.h>
-+#include <linux/i2c.h>
-+#include <linux/wait.h>
-+#include <linux/delay.h>
-+#include <linux/mutex.h>
-+#include <linux/io.h>
-+
-+#include "cxd2099.h"
-+
-+#define MAX_BUFFER_SIZE 248
-+
-+struct cxd {
-+	struct dvb_ca_en50221 en;
-+
-+	struct i2c_adapter *i2c;
-+	u8     adr;
-+	u8     regs[0x23];
-+	u8     lastaddress;
-+	u8     clk_reg_f;
-+	u8     clk_reg_b;
-+	int    mode;
-+	u32    bitrate;
-+	int    ready;
-+	int    dr;
-+	int    slot_stat;
-+
-+	u8     amem[1024];
-+	int    amem_read;
-+
-+	int    cammode;
-+	struct mutex lock;
-+};
-+
-+static int i2c_write_reg(struct i2c_adapter *adapter, u8 adr,
-+			 u8 reg, u8 data)
-+{
-+	u8 m[2] = {reg, data};
-+	struct i2c_msg msg = {.addr = adr, .flags = 0, .buf = m, .len = 2};
-+
-+	if (i2c_transfer(adapter, &msg, 1) != 1) {
-+		printk(KERN_ERR "Failed to write to I2C register %02x@%02x!\n",
-+		       reg, adr);
-+		return -1;
-+	}
-+	return 0;
-+}
-+
-+static int i2c_write(struct i2c_adapter *adapter, u8 adr,
-+		     u8 *data, u8 len)
-+{
-+	struct i2c_msg msg = {.addr = adr, .flags = 0, .buf = data, .len = len};
-+
-+	if (i2c_transfer(adapter, &msg, 1) != 1) {
-+		printk(KERN_ERR "Failed to write to I2C!\n");
-+		return -1;
-+	}
-+	return 0;
-+}
-+
-+static int i2c_read_reg(struct i2c_adapter *adapter, u8 adr,
-+			u8 reg, u8 *val)
-+{
-+	struct i2c_msg msgs[2] = {{.addr = adr, .flags = 0,
-+				   .buf = &reg, .len = 1 },
-+				  {.addr = adr, .flags = I2C_M_RD,
-+				   .buf = val, .len = 1 } };
-+
-+	if (i2c_transfer(adapter, msgs, 2) != 2) {
-+		printk(KERN_ERR "error in i2c_read_reg\n");
-+		return -1;
-+	}
-+	return 0;
-+}
-+
-+static int i2c_read(struct i2c_adapter *adapter, u8 adr,
-+		    u8 reg, u8 *data, u8 n)
-+{
-+	struct i2c_msg msgs[2] = {{.addr = adr, .flags = 0,
-+				   .buf = &reg, .len = 1 },
-+				  {.addr = adr, .flags = I2C_M_RD,
-+				   .buf = data, .len = n } };
-+
-+	if (i2c_transfer(adapter, msgs, 2) != 2) {
-+		printk(KERN_ERR "error in i2c_read\n");
-+		return -1;
-+	}
-+	return 0;
-+}
-+
-+static int read_block(struct cxd *ci, u8 adr, u8 *data, u8 n)
-+{
-+	int status;
-+
-+	status = i2c_write_reg(ci->i2c, ci->adr, 0, adr);
-+	if (!status) {
-+		ci->lastaddress = adr;
-+		status = i2c_read(ci->i2c, ci->adr, 1, data, n);
-+	}
-+	return status;
-+}
-+
-+static int read_reg(struct cxd *ci, u8 reg, u8 *val)
-+{
-+	return read_block(ci, reg, val, 1);
-+}
-+
-+
-+static int read_pccard(struct cxd *ci, u16 address, u8 *data, u8 n)
-+{
-+	int status;
-+	u8 addr[3] = { 2, address&0xff, address>>8 };
-+
-+	status = i2c_write(ci->i2c, ci->adr, addr, 3);
-+	if (!status)
-+		status = i2c_read(ci->i2c, ci->adr, 3, data, n);
-+	return status;
-+}
-+
-+static int write_pccard(struct cxd *ci, u16 address, u8 *data, u8 n)
-+{
-+	int status;
-+	u8 addr[3] = { 2, address&0xff, address>>8 };
-+
-+	status = i2c_write(ci->i2c, ci->adr, addr, 3);
-+	if (!status) {
-+		u8 buf[256] = {3};
-+		memcpy(buf+1, data, n);
-+		status = i2c_write(ci->i2c, ci->adr, buf, n+1);
-+	}
-+	return status;
-+}
-+
-+static int read_io(struct cxd *ci, u16 address, u8 *val)
-+{
-+	int status;
-+	u8 addr[3] = { 2, address&0xff, address>>8 };
-+
-+	status = i2c_write(ci->i2c, ci->adr, addr, 3);
-+	if (!status)
-+		status = i2c_read(ci->i2c, ci->adr, 3, val, 1);
-+	return status;
-+}
-+
-+static int write_io(struct cxd *ci, u16 address, u8 val)
-+{
-+	int status;
-+	u8 addr[3] = { 2, address&0xff, address>>8 };
-+	u8 buf[2] = { 3, val };
-+
-+	status = i2c_write(ci->i2c, ci->adr, addr, 3);
-+	if (!status)
-+		status = i2c_write(ci->i2c, ci->adr, buf, 2);
-+
-+	return status;
-+}
-+
-+
-+static int write_regm(struct cxd *ci, u8 reg, u8 val, u8 mask)
-+{
-+	int status;
-+
-+	status = i2c_write_reg(ci->i2c, ci->adr, 0, reg);
-+	if (!status && reg >= 6 && reg <= 8 && mask != 0xff)
-+		status = i2c_read_reg(ci->i2c, ci->adr, 1, &ci->regs[reg]);
-+	ci->regs[reg] = (ci->regs[reg]&(~mask))|val;
-+	if (!status) {
-+		ci->lastaddress = reg;
-+		status = i2c_write_reg(ci->i2c, ci->adr, 1, ci->regs[reg]);
-+	}
-+	if (reg == 0x20)
-+		ci->regs[reg] &= 0x7f;
-+	return status;
-+}
-+
-+static int write_reg(struct cxd *ci, u8 reg, u8 val)
-+{
-+	return write_regm(ci, reg, val, 0xff);
-+}
-+
-+#ifdef BUFFER_MODE
-+static int write_block(struct cxd *ci, u8 adr, u8 *data, int n)
-+{
-+	int status;
-+	u8 buf[256] = {1};
-+
-+	status = i2c_write_reg(ci->i2c, ci->adr, 0, adr);
-+	if (!status) {
-+		ci->lastaddress = adr;
-+		memcpy(buf+1, data, n);
-+		status = i2c_write(ci->i2c, ci->adr, buf, n+1);
-+	}
-+	return status;
-+}
-+#endif
-+
-+static void set_mode(struct cxd *ci, int mode)
-+{
-+	if (mode == ci->mode)
-+		return;
-+
-+	switch (mode) {
-+	case 0x00: /* IO mem */
-+		write_regm(ci, 0x06, 0x00, 0x07);
-+		break;
-+	case 0x01: /* ATT mem */
-+		write_regm(ci, 0x06, 0x02, 0x07);
-+		break;
-+	default:
-+		break;
-+	}
-+	ci->mode = mode;
-+}
-+
-+static void cam_mode(struct cxd *ci, int mode)
-+{
-+	if (mode == ci->cammode)
-+		return;
-+
-+	switch (mode) {
-+	case 0x00:
-+		write_regm(ci, 0x20, 0x80, 0x80);
-+		break;
-+	case 0x01:
-+		printk(KERN_INFO "enable cam buffer mode\n");
-+		/* write_reg(ci, 0x0d, 0x00); */
-+		/* write_reg(ci, 0x0e, 0x01); */
-+		write_regm(ci, 0x08, 0x40, 0x40);
-+		/* read_reg(ci, 0x12, &dummy); */
-+		write_regm(ci, 0x08, 0x80, 0x80);
-+		break;
-+	default:
-+		break;
-+	}
-+	ci->cammode = mode;
-+}
-+
-+
-+
-+#define CHK_ERROR(s) if ((status = s)) break
-+
-+static int init(struct cxd *ci)
-+{
-+	int status;
-+
-+	mutex_lock(&ci->lock);
-+	ci->mode = -1;
-+	do {
-+		CHK_ERROR(write_reg(ci, 0x00, 0x00));
-+		CHK_ERROR(write_reg(ci, 0x01, 0x00));
-+		CHK_ERROR(write_reg(ci, 0x02, 0x10));
-+		CHK_ERROR(write_reg(ci, 0x03, 0x00));
-+		CHK_ERROR(write_reg(ci, 0x05, 0xFF));
-+		CHK_ERROR(write_reg(ci, 0x06, 0x1F));
-+		CHK_ERROR(write_reg(ci, 0x07, 0x1F));
-+		CHK_ERROR(write_reg(ci, 0x08, 0x28));
-+		CHK_ERROR(write_reg(ci, 0x14, 0x20));
-+
-+		CHK_ERROR(write_reg(ci, 0x09, 0x4D)); /* Input Mode C, BYPass Serial, TIVAL = low, MSB */
-+		CHK_ERROR(write_reg(ci, 0x0A, 0xA7)); /* TOSTRT = 8, Mode B (gated clock), falling Edge, Serial, POL=HIGH, MSB */
-+
-+		/* Sync detector */
-+		CHK_ERROR(write_reg(ci, 0x0B, 0x33));
-+		CHK_ERROR(write_reg(ci, 0x0C, 0x33));
-+
-+		CHK_ERROR(write_regm(ci, 0x14, 0x00, 0x0F));
-+		CHK_ERROR(write_reg(ci, 0x15, ci->clk_reg_b));
-+		CHK_ERROR(write_regm(ci, 0x16, 0x00, 0x0F));
-+		CHK_ERROR(write_reg(ci, 0x17, ci->clk_reg_f));
-+
-+		CHK_ERROR(write_reg(ci, 0x20, 0x28)); /* Integer Divider, Falling Edge, Internal Sync, */
-+		CHK_ERROR(write_reg(ci, 0x21, 0x00)); /* MCLKI = TICLK/8 */
-+		CHK_ERROR(write_reg(ci, 0x22, 0x07)); /* MCLKI = TICLK/8 */
-+
-+
-+		CHK_ERROR(write_regm(ci, 0x20, 0x80, 0x80)); /* Reset CAM state machine */
-+
-+		CHK_ERROR(write_regm(ci, 0x03, 0x02, 02));  /* Enable IREQA Interrupt */
-+		CHK_ERROR(write_reg(ci, 0x01, 0x04));  /* Enable CD Interrupt */
-+		CHK_ERROR(write_reg(ci, 0x00, 0x31));  /* Enable TS1,Hot Swap,Slot A */
-+		CHK_ERROR(write_regm(ci, 0x09, 0x08, 0x08));  /* Put TS in bypass */
-+		ci->cammode = -1;
-+#ifdef BUFFER_MODE
-+		cam_mode(ci, 0);
-+#endif
-+	} while (0);
-+	mutex_unlock(&ci->lock);
-+
-+	return 0;
-+}
-+
-+
-+static int read_attribute_mem(struct dvb_ca_en50221 *ca,
-+			      int slot, int address)
-+{
-+	struct cxd *ci = ca->data;
-+	u8 val;
-+	mutex_lock(&ci->lock);
-+	set_mode(ci, 1);
-+	read_pccard(ci, address, &val, 1);
-+	mutex_unlock(&ci->lock);
-+	return val;
-+}
-+
-+
-+static int write_attribute_mem(struct dvb_ca_en50221 *ca, int slot,
-+			       int address, u8 value)
-+{
-+	struct cxd *ci = ca->data;
-+
-+	mutex_lock(&ci->lock);
-+	set_mode(ci, 1);
-+	write_pccard(ci, address, &value, 1);
-+	mutex_unlock(&ci->lock);
-+	return 0;
-+}
-+
-+static int read_cam_control(struct dvb_ca_en50221 *ca,
-+			    int slot, u8 address)
-+{
-+	struct cxd *ci = ca->data;
-+	u8 val;
-+
-+	mutex_lock(&ci->lock);
-+	set_mode(ci, 0);
-+	read_io(ci, address, &val);
-+	mutex_unlock(&ci->lock);
-+	return val;
-+}
-+
-+static int write_cam_control(struct dvb_ca_en50221 *ca, int slot,
-+			     u8 address, u8 value)
-+{
-+	struct cxd *ci = ca->data;
-+
-+	mutex_lock(&ci->lock);
-+	set_mode(ci, 0);
-+	write_io(ci, address, value);
-+	mutex_unlock(&ci->lock);
-+	return 0;
-+}
-+
-+static int slot_reset(struct dvb_ca_en50221 *ca, int slot)
-+{
-+	struct cxd *ci = ca->data;
-+
-+	mutex_lock(&ci->lock);
-+	cam_mode(ci, 0);
-+	write_reg(ci, 0x00, 0x21);
-+	write_reg(ci, 0x06, 0x1F);
-+	write_reg(ci, 0x00, 0x31);
-+	write_regm(ci, 0x20, 0x80, 0x80);
-+	write_reg(ci, 0x03, 0x02);
-+	ci->ready = 0;
-+	ci->mode = -1;
-+	{
-+		int i;
-+		for (i = 0; i < 100; i++) {
-+			msleep(10);
-+			if (ci->ready)
-+				break;
-+		}
-+	}
-+	mutex_unlock(&ci->lock);
-+	/* msleep(500); */
-+	return 0;
-+}
-+
-+static int slot_shutdown(struct dvb_ca_en50221 *ca, int slot)
-+{
-+	struct cxd *ci = ca->data;
-+
-+	printk(KERN_INFO "slot_shutdown\n");
-+	mutex_lock(&ci->lock);
-+	/* write_regm(ci, 0x09, 0x08, 0x08); */
-+	write_regm(ci, 0x20, 0x80, 0x80);
-+	write_regm(ci, 0x06, 0x07, 0x07);
-+	ci->mode = -1;
-+	mutex_unlock(&ci->lock);
-+	return 0; /* shutdown(ci); */
-+}
-+
-+static int slot_ts_enable(struct dvb_ca_en50221 *ca, int slot)
-+{
-+	struct cxd *ci = ca->data;
-+
-+	mutex_lock(&ci->lock);
-+	write_regm(ci, 0x09, 0x00, 0x08);
-+	set_mode(ci, 0);
-+#ifdef BUFFER_MODE
-+	cam_mode(ci, 1);
-+#endif
-+	mutex_unlock(&ci->lock);
-+	return 0;
-+}
-+
-+
-+static int campoll(struct cxd *ci)
-+{
-+	u8 istat;
-+
-+	read_reg(ci, 0x04, &istat);
-+	if (!istat)
-+		return 0;
-+	write_reg(ci, 0x05, istat);
-+
-+	if (istat&0x40) {
-+		ci->dr = 1;
-+		printk(KERN_INFO "DR\n");
-+	}
-+	if (istat&0x20)
-+		printk(KERN_INFO "WC\n");
-+
-+	if (istat&2) {
-+		u8 slotstat;
-+
-+		read_reg(ci, 0x01, &slotstat);
-+		if (!(2&slotstat)) {
-+			if (!ci->slot_stat) {
-+				ci->slot_stat |= DVB_CA_EN50221_POLL_CAM_PRESENT;
-+				write_regm(ci, 0x03, 0x08, 0x08);
-+			}
-+
-+		} else {
-+			if (ci->slot_stat) {
-+				ci->slot_stat = 0;
-+				write_regm(ci, 0x03, 0x00, 0x08);
-+				printk(KERN_INFO "NO CAM\n");
-+				ci->ready = 0;
-+			}
-+		}
-+		if (istat&8 && ci->slot_stat == DVB_CA_EN50221_POLL_CAM_PRESENT) {
-+			ci->ready = 1;
-+			ci->slot_stat |= DVB_CA_EN50221_POLL_CAM_READY;
-+			printk(KERN_INFO "READY\n");
-+		}
-+	}
-+	return 0;
-+}
-+
-+
-+static int poll_slot_status(struct dvb_ca_en50221 *ca, int slot, int open)
-+{
-+	struct cxd *ci = ca->data;
-+	u8 slotstat;
-+
-+	mutex_lock(&ci->lock);
-+	campoll(ci);
-+	read_reg(ci, 0x01, &slotstat);
-+	mutex_unlock(&ci->lock);
-+
-+	return ci->slot_stat;
-+}
-+
-+#ifdef BUFFER_MODE
-+static int read_data(struct dvb_ca_en50221 *ca, int slot, u8 *ebuf, int ecount)
-+{
-+	struct cxd *ci = ca->data;
-+	u8 msb, lsb;
-+	u16 len;
-+
-+	mutex_lock(&ci->lock);
-+	campoll(ci);
-+	mutex_unlock(&ci->lock);
-+
-+	printk(KERN_INFO "read_data\n");
-+	if (!ci->dr)
-+		return 0;
-+
-+	mutex_lock(&ci->lock);
-+	read_reg(ci, 0x0f, &msb);
-+	read_reg(ci, 0x10, &lsb);
-+	len = (msb<<8)|lsb;
-+	read_block(ci, 0x12, ebuf, len);
-+	ci->dr = 0;
-+	mutex_unlock(&ci->lock);
-+
-+	return len;
-+}
-+
-+static int write_data(struct dvb_ca_en50221 *ca, int slot, u8 *ebuf, int ecount)
-+{
-+	struct cxd *ci = ca->data;
-+
-+	mutex_lock(&ci->lock);
-+	printk(KERN_INFO "write_data %d\n", ecount);
-+	write_reg(ci, 0x0d, ecount>>8);
-+	write_reg(ci, 0x0e, ecount&0xff);
-+	write_block(ci, 0x11, ebuf, ecount);
-+	mutex_unlock(&ci->lock);
-+	return ecount;
-+}
-+#endif
-+
-+static struct dvb_ca_en50221 en_templ = {
-+	.read_attribute_mem  = read_attribute_mem,
-+	.write_attribute_mem = write_attribute_mem,
-+	.read_cam_control    = read_cam_control,
-+	.write_cam_control   = write_cam_control,
-+	.slot_reset          = slot_reset,
-+	.slot_shutdown       = slot_shutdown,
-+	.slot_ts_enable      = slot_ts_enable,
-+	.poll_slot_status    = poll_slot_status,
-+#ifdef BUFFER_MODE
-+	.read_data           = read_data,
-+	.write_data          = write_data,
-+#endif
-+
-+};
-+
-+struct dvb_ca_en50221 *cxd2099_attach(u8 adr, void *priv,
-+				      struct i2c_adapter *i2c)
-+{
-+	struct cxd *ci = 0;
-+	u32 bitrate = 62000000;
-+	u8 val;
-+
-+	if (i2c_read_reg(i2c, adr, 0, &val) < 0) {
-+		printk(KERN_ERR "No CXD2099 detected at %02x\n", adr);
-+		return 0;
-+	}
-+
-+	ci = kmalloc(sizeof(struct cxd), GFP_KERNEL);
-+	if (!ci)
-+		return 0;
-+	memset(ci, 0, sizeof(*ci));
-+
-+	mutex_init(&ci->lock);
-+	ci->i2c = i2c;
-+	ci->adr = adr;
-+	ci->lastaddress = 0xff;
-+	ci->clk_reg_b = 0x4a;
-+	ci->clk_reg_f = 0x1b;
-+	ci->bitrate = bitrate;
-+
-+	memcpy(&ci->en, &en_templ, sizeof(en_templ));
-+	ci->en.data = ci;
-+	init(ci);
-+	printk(KERN_INFO "Attached CXD2099AR at %02x\n", ci->adr);
-+	return &ci->en;
-+}
-+EXPORT_SYMBOL(cxd2099_attach);
-+
-+MODULE_DESCRIPTION("cxd2099");
-+MODULE_AUTHOR("Ralph Metzler <rjkm at metzlerbros.de>");
-+MODULE_LICENSE("GPL");


More information about the scm-commits mailing list