diff options
| author | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-11-29 06:19:59 -0500 |
|---|---|---|
| committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-12-05 15:42:21 -0500 |
| commit | 055cd55601f948675006ca90362fc2bfaae90a86 (patch) | |
| tree | a878c55c30b0ae30334f3523d8dd67940d32a7f3 /drivers/media/common/ir-functions.c | |
| parent | 0278155c84af42d78785731263b69fb49f945ea7 (diff) | |
V4L/DVB (13537): ir: Prepare the code for dynamic keycode table allocation
Currently, the IR table is initialized by calling ir_input_init(). However,
this function doesn't return any error code, nor has a function to be called
when de-initializing the IR's.
Change the return argment to integer and make sure that each driver will
handle the error code. Also adds a function to free any resources that may
be allocating there: ir_input_free().
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/common/ir-functions.c')
| -rw-r--r-- | drivers/media/common/ir-functions.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/media/common/ir-functions.c b/drivers/media/common/ir-functions.c index 29885c2893d2..b31bd27da374 100644 --- a/drivers/media/common/ir-functions.c +++ b/drivers/media/common/ir-functions.c | |||
| @@ -54,11 +54,13 @@ static void ir_input_key_event(struct input_dev *dev, struct ir_input_state *ir) | |||
| 54 | 54 | ||
| 55 | /* -------------------------------------------------------------------------- */ | 55 | /* -------------------------------------------------------------------------- */ |
| 56 | 56 | ||
| 57 | void ir_input_init(struct input_dev *dev, struct ir_input_state *ir, | 57 | int ir_input_init(struct input_dev *dev, struct ir_input_state *ir, |
| 58 | int ir_type, struct ir_scancode_table *ir_codes) | 58 | int ir_type, struct ir_scancode_table *ir_codes) |
| 59 | { | 59 | { |
| 60 | ir->ir_type = ir_type; | 60 | ir->ir_type = ir_type; |
| 61 | 61 | ||
| 62 | /* FIXME: Add the proper code to dynamically allocate IR table */ | ||
| 63 | |||
| 62 | ir_set_keycode_table(dev, ir_codes); | 64 | ir_set_keycode_table(dev, ir_codes); |
| 63 | 65 | ||
| 64 | clear_bit(0, dev->keybit); | 66 | clear_bit(0, dev->keybit); |
| @@ -66,9 +68,17 @@ void ir_input_init(struct input_dev *dev, struct ir_input_state *ir, | |||
| 66 | set_bit(EV_KEY, dev->evbit); | 68 | set_bit(EV_KEY, dev->evbit); |
| 67 | if (repeat) | 69 | if (repeat) |
| 68 | set_bit(EV_REP, dev->evbit); | 70 | set_bit(EV_REP, dev->evbit); |
| 71 | |||
| 72 | return 0; | ||
| 69 | } | 73 | } |
| 70 | EXPORT_SYMBOL_GPL(ir_input_init); | 74 | EXPORT_SYMBOL_GPL(ir_input_init); |
| 71 | 75 | ||
| 76 | void ir_input_free(struct input_dev *input_dev) | ||
| 77 | { | ||
| 78 | /* FIXME: Add the proper code to free allocated resources */ | ||
| 79 | } | ||
| 80 | EXPORT_SYMBOL_GPL(ir_input_free); | ||
| 81 | |||
| 72 | void ir_input_nokey(struct input_dev *dev, struct ir_input_state *ir) | 82 | void ir_input_nokey(struct input_dev *dev, struct ir_input_state *ir) |
| 73 | { | 83 | { |
| 74 | if (ir->keypressed) { | 84 | if (ir->keypressed) { |
