]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - drivers/media/IR/ir-raw-event.c
V4L/DVB: ir-core: improve keyup/keydown logic
[net-next-2.6.git] / drivers / media / IR / ir-raw-event.c
index 371d88e5a586dbcb02f182c02cf6fb43d761387c..59f20541b03edc69150fe56ab5e7816666266945 100644 (file)
@@ -53,13 +53,6 @@ static spinlock_t ir_raw_handler_lock;
 /* Used to load the decoders */
 static struct work_struct wq_load;
 
-static void ir_keyup_timer(unsigned long data)
-{
-       struct input_dev *input_dev = (struct input_dev *)data;
-
-       ir_keyup(input_dev);
-}
-
 int ir_raw_event_register(struct input_dev *input_dev)
 {
        struct ir_input_dev *ir = input_get_drvdata(input_dev);
@@ -72,11 +65,6 @@ int ir_raw_event_register(struct input_dev *input_dev)
        size = sizeof(struct ir_raw_event) * MAX_IR_EVENT_SIZE * 2;
        size = roundup_pow_of_two(size);
 
-       init_timer(&ir->raw->timer_keyup);
-       ir->raw->timer_keyup.function = ir_keyup_timer;
-       ir->raw->timer_keyup.data = (unsigned long)input_dev;
-       set_bit(EV_REP, input_dev->evbit);
-
        rc = kfifo_alloc(&ir->raw->kfifo, size, GFP_KERNEL);
        if (rc < 0) {
                kfree(ir->raw);
@@ -103,8 +91,6 @@ void ir_raw_event_unregister(struct input_dev *input_dev)
        if (!ir->raw)
                return;
 
-       del_timer_sync(&ir->raw->timer_keyup);
-
        RUN_DECODER(raw_unregister, input_dev);
 
        kfifo_free(&ir->raw->kfifo);