Patchwork UBUNTU: [Upstream] lirc - Fix Hauppauge TV Card is detected as Leadtek IR

login
register
mail settings
Submitter Benjamin Drung
Date Aug. 16, 2010, 2:31 a.m.
Message ID <1281925862-6034-1-git-send-email-bdrung@ubuntu.com>
Download mbox | patch
Permalink /patch/61803/
State Rejected
Headers show

Comments

Benjamin Drung - Aug. 16, 2010, 2:31 a.m.
From: Benjamin Drung <bdrung@ubuntu.com>

OriginalLocation: http://lirc.cvs.sourceforge.net/viewvc/lirc/lirc/drivers/lirc_i2c/lirc_i2c.c?r1=1.71&r2=1.72
BugLink: http://bugs.launchpad.net/bugs/550369

Signed-off-by: Benjamin Drung <bdrung@ubuntu.com>
---
 ubuntu/lirc/lirc_i2c/lirc_i2c.c |   32 +++++++++++++++++---------------
 1 files changed, 17 insertions(+), 15 deletions(-)

Patch

diff --git a/ubuntu/lirc/lirc_i2c/lirc_i2c.c b/ubuntu/lirc/lirc_i2c/lirc_i2c.c
index dca6b51..2db5a64 100644
--- a/ubuntu/lirc/lirc_i2c/lirc_i2c.c
+++ b/ubuntu/lirc/lirc_i2c/lirc_i2c.c
@@ -491,20 +491,23 @@  static int ir_probe(struct i2c_client *client, const struct i2c_device_id *id)
 		ir->l.add_to_buf = add_to_buf_pv951;
 		break;
 	case 0x71:
-#ifdef I2C_HW_B_CX2341X
-		if (adap->id == (I2C_ALGO_BIT | I2C_HW_B_BT848) ||
-		    adap->id == (I2C_ALGO_BIT | I2C_HW_B_CX2341X)) {
-#else
-		if (adap->id == (I2C_ALGO_BIT | I2C_HW_B_BT848)) {
+
+
+
+#ifdef I2C_HW_B_CX2388x
+		/* Leadtek Winfast PVR2000 or Hauppauge HVR-1300 */
+		if (adap->id == (I2C_ALGO_BIT | I2C_HW_B_CX2388x))
+			strlcpy(ir->c.name, "Hauppauge HVR1300", I2C_NAME_SIZE);
+		else
 #endif
+		{
 			/*
 			 * The PVR150 IR receiver uses the same protocol as
 			 * other Hauppauge cards, but the data flow is
 			 * different, so we need to deal with it by its own.
 			 */
 			strlcpy(ir->c.name, "Hauppauge PVR150", I2C_NAME_SIZE);
-		} else /* I2C_HW_B_CX2388x */
-			strlcpy(ir->c.name, "Hauppauge HVR1300", I2C_NAME_SIZE);
+		}
 		ir->l.code_length = 13;
 		ir->l.add_to_buf = add_to_buf_haup_pvr150;
 		break;
@@ -515,19 +518,18 @@  static int ir_probe(struct i2c_client *client, const struct i2c_device_id *id)
 		break;
 	case 0x18:
 	case 0x1a:
-#ifdef I2C_HW_B_CX2341X
-		if (adap->id == (I2C_ALGO_BIT | I2C_HW_B_BT848) ||
-		    adap->id == (I2C_ALGO_BIT | I2C_HW_B_CX2341X)) {
+#ifdef I2C_HW_B_CX2388x
+		if (adap->id == (I2C_ALGO_BIT | I2C_HW_B_CX2388x)) {
+			strlcpy(ir->c.name, "Leadtek IR", I2C_NAME_SIZE);
+			ir->l.code_length = 8;
+			ir->l.add_to_buf = add_to_buf_pvr2000;
+		} else {
 #else
-		if (adap->id == (I2C_ALGO_BIT | I2C_HW_B_BT848)) {
+		{
 #endif
 			strlcpy(ir->c.name, "Hauppauge IR", I2C_NAME_SIZE);
 			ir->l.code_length = 13;
 			ir->l.add_to_buf = add_to_buf_haup;
-		} else { /* I2C_HW_B_CX2388x */
-			strlcpy(ir->c.name, "Leadtek IR", I2C_NAME_SIZE);
-			ir->l.code_length = 8;
-			ir->l.add_to_buf = add_to_buf_pvr2000;
 		}
 		break;
 	case 0x30: