diff options
author | Jean Delvare <khali@linux-fr.org> | 2009-10-02 09:27:42 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-12-05 15:41:03 -0500 |
commit | 7ef68e60d9435eb604a346babccb48000b94bc76 (patch) | |
tree | 0e7f189c329b249a8b10e87d673896f3465d6e71 /drivers/media/video/ir-kbd-i2c.c | |
parent | 30093e8bf90217deef07299bae45d95ddc5fdb8a (diff) |
V4L/DVB (13236): ir-kbd-i2c: Don't reject unknown I2C addresses
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 <khali@linux-fr.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/ir-kbd-i2c.c')
-rw-r--r-- | drivers/media/video/ir-kbd-i2c.c | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/drivers/media/video/ir-kbd-i2c.c b/drivers/media/video/ir-kbd-i2c.c index 247d3115a9b7..aec36660987d 100644 --- a/drivers/media/video/ir-kbd-i2c.c +++ b/drivers/media/video/ir-kbd-i2c.c | |||
@@ -299,7 +299,7 @@ static int ir_probe(struct i2c_client *client, const struct i2c_device_id *id) | |||
299 | { | 299 | { |
300 | struct ir_scancode_table *ir_codes = NULL; | 300 | struct ir_scancode_table *ir_codes = NULL; |
301 | const char *name = NULL; | 301 | const char *name = NULL; |
302 | int ir_type; | 302 | int ir_type = 0; |
303 | struct IR_i2c *ir; | 303 | struct IR_i2c *ir; |
304 | struct input_dev *input_dev; | 304 | struct input_dev *input_dev; |
305 | struct i2c_adapter *adap = client->adapter; | 305 | struct i2c_adapter *adap = client->adapter; |
@@ -353,10 +353,8 @@ static int ir_probe(struct i2c_client *client, const struct i2c_device_id *id) | |||
353 | ir_type = IR_TYPE_RC5; | 353 | ir_type = IR_TYPE_RC5; |
354 | ir_codes = &ir_codes_fusionhdtv_mce_table; | 354 | ir_codes = &ir_codes_fusionhdtv_mce_table; |
355 | break; | 355 | break; |
356 | case 0x7a: | ||
357 | case 0x47: | 356 | case 0x47: |
358 | case 0x71: | 357 | case 0x71: |
359 | case 0x2d: | ||
360 | if (adap->id == I2C_HW_B_CX2388x || | 358 | if (adap->id == I2C_HW_B_CX2388x || |
361 | adap->id == I2C_HW_B_CX2341X) { | 359 | adap->id == I2C_HW_B_CX2341X) { |
362 | /* Handled by cx88-input */ | 360 | /* Handled by cx88-input */ |
@@ -381,10 +379,6 @@ static int ir_probe(struct i2c_client *client, const struct i2c_device_id *id) | |||
381 | ir_type = IR_TYPE_OTHER; | 379 | ir_type = IR_TYPE_OTHER; |
382 | ir_codes = &ir_codes_avermedia_cardbus_table; | 380 | ir_codes = &ir_codes_avermedia_cardbus_table; |
383 | break; | 381 | break; |
384 | default: | ||
385 | dprintk(1, DEVNAME ": Unsupported i2c address 0x%02x\n", addr); | ||
386 | err = -ENODEV; | ||
387 | goto err_out_free; | ||
388 | } | 382 | } |
389 | 383 | ||
390 | /* Let the caller override settings */ | 384 | /* Let the caller override settings */ |
@@ -427,7 +421,7 @@ static int ir_probe(struct i2c_client *client, const struct i2c_device_id *id) | |||
427 | } | 421 | } |
428 | 422 | ||
429 | /* Make sure we are all setup before going on */ | 423 | /* Make sure we are all setup before going on */ |
430 | if (!name || !ir->get_key || !ir_codes) { | 424 | if (!name || !ir->get_key || !ir_type || !ir_codes) { |
431 | dprintk(1, DEVNAME ": Unsupported device at address 0x%02x\n", | 425 | dprintk(1, DEVNAME ": Unsupported device at address 0x%02x\n", |
432 | addr); | 426 | addr); |
433 | err = -ENODEV; | 427 | err = -ENODEV; |