aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/ir-kbd-gpio.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/video/ir-kbd-gpio.c')
-rw-r--r--drivers/media/video/ir-kbd-gpio.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/drivers/media/video/ir-kbd-gpio.c b/drivers/media/video/ir-kbd-gpio.c
index 5abfc0fbf6de..de1385e5d05e 100644
--- a/drivers/media/video/ir-kbd-gpio.c
+++ b/drivers/media/video/ir-kbd-gpio.c
@@ -291,13 +291,12 @@ struct IR {
u32 mask_keycode;
u32 mask_keydown;
u32 mask_keyup;
- u32 polling;
+ u32 polling;
u32 last_gpio;
struct work_struct work;
struct timer_list timer;
/* RC5 gpio */
-
u32 rc5_gpio;
struct timer_list timer_end; /* timer_end for code completion */
struct timer_list timer_keyup; /* timer_end for key release */
@@ -647,7 +646,7 @@ static int ir_probe(struct device *dev)
driver.any_irq = ir_rc5_irq;
driver.gpio_irq = NULL;
ir->rc5_gpio = 1;
- break;
+ break;
}
if (NULL == ir_codes) {
kfree(ir);
@@ -657,7 +656,7 @@ static int ir_probe(struct device *dev)
if (ir->rc5_gpio) {
u32 gpio;
- /* enable remote irq */
+ /* enable remote irq */
bttv_gpio_inout(sub->core, (1 << 4), 1 << 4);
gpio = bttv_gpio_read(sub->core);
bttv_gpio_write(sub->core, gpio & ~(1 << 4));
@@ -673,7 +672,6 @@ static int ir_probe(struct device *dev)
snprintf(ir->phys, sizeof(ir->phys), "pci-%s/ir0",
pci_name(sub->core->pci));
- ir->sub = sub;
ir_input_init(input_dev, &ir->ir, ir_type, ir_codes);
input_dev->name = ir->name;
input_dev->phys = ir->phys;
@@ -688,6 +686,9 @@ static int ir_probe(struct device *dev)
}
input_dev->cdev.dev = &sub->core->pci->dev;
+ ir->input = input_dev;
+ ir->sub = sub;
+
if (ir->polling) {
INIT_WORK(&ir->work, ir_work, ir);
init_timer(&ir->timer);
@@ -708,7 +709,6 @@ static int ir_probe(struct device *dev)
/* all done */
dev_set_drvdata(dev, ir);
input_register_device(ir->input);
- printk(DEVNAME ": %s detected at %s\n",ir->name,ir->phys);
/* the remote isn't as bouncy as a keyboard */
ir->input->rep[REP_DELAY] = repeat_delay;
@@ -725,6 +725,7 @@ static int ir_remove(struct device *dev)
del_timer(&ir->timer);
flush_scheduled_work();
}
+
if (ir->rc5_gpio) {
u32 gpio;