diff options
author | David Härdeman <david@hardeman.nu> | 2013-03-06 14:52:05 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2013-03-23 10:25:54 -0400 |
commit | 9719afae5e589b409e137c36f89073d134f0de33 (patch) | |
tree | 62d24aef194d46c95e607828902cd1c13bd2c0c8 /drivers/media/i2c/ir-kbd-i2c.c | |
parent | efa914d7d05e69013054710e6aacaf225b8fc2a2 (diff) |
[media] rc-core: don't treat dev->rc_map.rc_type as a bitmap
store_protocols() treats dev->rc_map.rc_type as a bitmap which is wrong for
two reasons. First of all, it is pretty bogus to change the protocol type of
the keymap just because the hardware has been asked to decode a different
protocol.
Second, dev->rc_map.rc_type is an enum (i.e. a single protocol) as pointed
out by James Hogan <james.hogan@imgtec.com>.
Fix both issues by introducing a separate enabled_protocols member to
struct rc_dev.
Signed-off-by: David Härdeman <david@hardeman.nu>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/i2c/ir-kbd-i2c.c')
-rw-r--r-- | drivers/media/i2c/ir-kbd-i2c.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/media/i2c/ir-kbd-i2c.c b/drivers/media/i2c/ir-kbd-i2c.c index 08ae067b2b6f..2586e46f14b5 100644 --- a/drivers/media/i2c/ir-kbd-i2c.c +++ b/drivers/media/i2c/ir-kbd-i2c.c | |||
@@ -423,6 +423,7 @@ static int ir_probe(struct i2c_client *client, const struct i2c_device_id *id) | |||
423 | */ | 423 | */ |
424 | rc->map_name = ir->ir_codes; | 424 | rc->map_name = ir->ir_codes; |
425 | rc->allowed_protos = rc_type; | 425 | rc->allowed_protos = rc_type; |
426 | rc->enabled_protocols = rc_type; | ||
426 | if (!rc->driver_name) | 427 | if (!rc->driver_name) |
427 | rc->driver_name = MODULE_NAME; | 428 | rc->driver_name = MODULE_NAME; |
428 | 429 | ||