diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-09-15 12:22:18 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-09-15 12:22:18 -0400 |
commit | 043fe50f8085c12651c96f04576eae4d8a22f3d8 (patch) | |
tree | 214b4f985ce7d3b1a4961620e2c2f4f5f06e1c35 /drivers/media/common/ir-functions.c | |
parent | 227423904c709a8e60245c97081bbeb4fb500655 (diff) | |
parent | ea47689e74a1637fac4f5fc44890f3662c976849 (diff) |
Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6
* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (213 commits)
V4L/DVB (12720): em28xx-cards: Add vendor/product id for Kworld DVD Maker 2
V4L/DVB (12713): em28xx: Cleanups at ir_i2c handler
V4L/DVB (12712): em28xx: properly load ir-kbd-i2c when needed
V4L/DVB (12701): saa7134: ir-kbd-i2c init data needs a persistent object
V4L/DVB (12699): cx18: ir-kbd-i2c initialization data should point to a persistent object
V4L/DVB (12698): em28xx: ir-kbd-i2c init data needs a persistent object
V4L/DVB (12707): gspca - sn9c20x: Add SXGA support to MT9M111
V4L/DVB (12706): gspca - sn9c20x: disable exposure/gain controls for MT9M111 sensors.
V4L/DVB (12705): gspca - sn9c20x: Add SXGA support to SOI968
V4L/DVB (12703): gspca - sn9c20x: Reduces size of object
V4L/DVB (12704): gspca - sn9c20x: Fix exposure on SOI968 sensors
V4L/DVB (12696): gspca - sonixj / sn9c102: Two drivers for 0c45:60fc and 0c45:613e.
V4L/DVB (12695): gspca - vc032x: Do the LED work with the sensor hv7131r.
V4L/DVB (12694): gspca - vc032x: Change the start exchanges of the sensor hv7131r.
V4L/DVB (12693): gspca - sunplus: The brightness is signed.
V4L/DVB (12692): gspca - sunplus: Optimize code.
V4L/DVB (12691): gspca - sonixj: Don't use mdelay().
V4L/DVB (12690): gspca - pac7311: Webcam 06f8:3009 added.
V4L/DVB (12686): dvb-core: check supported QAM modulations
V4L/DVB (12685): dvb-core: check fe->ops.set_frontend return value
...
Diffstat (limited to 'drivers/media/common/ir-functions.c')
-rw-r--r-- | drivers/media/common/ir-functions.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/drivers/media/common/ir-functions.c b/drivers/media/common/ir-functions.c index 16792a68a449..655474b29e21 100644 --- a/drivers/media/common/ir-functions.c +++ b/drivers/media/common/ir-functions.c | |||
@@ -58,13 +58,24 @@ static void ir_input_key_event(struct input_dev *dev, struct ir_input_state *ir) | |||
58 | /* -------------------------------------------------------------------------- */ | 58 | /* -------------------------------------------------------------------------- */ |
59 | 59 | ||
60 | void ir_input_init(struct input_dev *dev, struct ir_input_state *ir, | 60 | void ir_input_init(struct input_dev *dev, struct ir_input_state *ir, |
61 | int ir_type, IR_KEYTAB_TYPE *ir_codes) | 61 | int ir_type, struct ir_scancode_table *ir_codes) |
62 | { | 62 | { |
63 | int i; | 63 | int i; |
64 | 64 | ||
65 | ir->ir_type = ir_type; | 65 | ir->ir_type = ir_type; |
66 | |||
67 | memset(ir->ir_codes, sizeof(ir->ir_codes), 0); | ||
68 | |||
69 | /* | ||
70 | * FIXME: This is a temporary workaround to use the new IR tables | ||
71 | * with the old approach. Later patches will replace this to a | ||
72 | * proper method | ||
73 | */ | ||
74 | |||
66 | if (ir_codes) | 75 | if (ir_codes) |
67 | memcpy(ir->ir_codes, ir_codes, sizeof(ir->ir_codes)); | 76 | for (i = 0; i < ir_codes->size; i++) |
77 | if (ir_codes->scan[i].scancode < IR_KEYTAB_SIZE) | ||
78 | ir->ir_codes[ir_codes->scan[i].scancode] = ir_codes->scan[i].keycode; | ||
68 | 79 | ||
69 | dev->keycode = ir->ir_codes; | 80 | dev->keycode = ir->ir_codes; |
70 | dev->keycodesize = sizeof(IR_KEYTAB_TYPE); | 81 | dev->keycodesize = sizeof(IR_KEYTAB_TYPE); |