I do not think it makes sense any longer for ir-kbd-i2c to reject
devices at unknown I2C addresses. The caller can provide all the
details about how the device should be handled. Having to add new
addresses to ir-kbd-i2c so that they aren't rejected is a pain we
don't need. Unsupported devices will be spotted a few lines later
anyway.

This already lets us unlist 2 addresses (0x7a and 0x2d) for which
handling details are always provided by the caller (saa7134-input).
Hopefully we can remove more in the future.

Signed-off-by: Jean Delvare <[email protected]>
---
 linux/drivers/media/video/ir-kbd-i2c.c |   10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

--- v4l-dvb.orig/linux/drivers/media/video/ir-kbd-i2c.c 2009-10-02 
14:52:33.000000000 +0200
+++ v4l-dvb/linux/drivers/media/video/ir-kbd-i2c.c      2009-10-02 
14:58:33.000000000 +0200
@@ -373,7 +373,7 @@ static int ir_probe(struct i2c_client *c
 {
        struct ir_scancode_table *ir_codes = NULL;
        const char *name = NULL;
-       int ir_type;
+       int ir_type = 0;
        struct IR_i2c *ir;
        struct input_dev *input_dev;
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 30)
@@ -438,10 +438,8 @@ static int ir_probe(struct i2c_client *c
                ir_type     = IR_TYPE_RC5;
                ir_codes    = &ir_codes_fusionhdtv_mce_table;
                break;
-       case 0x7a:
        case 0x47:
        case 0x71:
-       case 0x2d:
                if (adap->id == I2C_HW_B_CX2388x ||
                    adap->id == I2C_HW_B_CX2341X) {
                        /* Handled by cx88-input */
@@ -466,10 +464,6 @@ static int ir_probe(struct i2c_client *c
                ir_type     = IR_TYPE_OTHER;
                ir_codes    = &ir_codes_avermedia_cardbus_table;
                break;
-       default:
-               dprintk(1, DEVNAME ": Unsupported i2c address 0x%02x\n", addr);
-               err = -ENODEV;
-               goto err_out_free;
        }
 
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 30)
@@ -513,7 +507,7 @@ static int ir_probe(struct i2c_client *c
        }
 
        /* Make sure we are all setup before going on */
-       if (!name || !ir->get_key || !ir_codes) {
+       if (!name || !ir->get_key || !ir_type || !ir_codes) {
                dprintk(1, DEVNAME ": Unsupported device at address 0x%02x\n",
                        addr);
                err = -ENODEV;

-- 
Jean Delvare
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to