V4L/DVB: ir: use a real device instead of a virtual class
[pandora-kernel.git] / drivers / media / IR / ir-keytable.c
index 0a3b4ed..af1f4d7 100644 (file)
@@ -14,6 +14,7 @@
 
 
 #include <linux/input.h>
+#include <linux/slab.h>
 #include <media/ir-common.h>
 
 #define IR_TAB_MIN_SIZE        32
@@ -448,22 +449,15 @@ int ir_input_register(struct input_dev *input_dev,
        input_dev->setkeycode = ir_setkeycode;
        input_set_drvdata(input_dev, ir_dev);
 
-       rc = input_register_device(input_dev);
-       if (rc < 0)
-               goto err;
-
        rc = ir_register_class(input_dev);
-       if (rc < 0) {
-               input_unregister_device(input_dev);
+       if (rc < 0)
                goto err;
-       }
 
        return 0;
 
 err:
        kfree(rc_tab->scan);
        kfree(ir_dev);
-       input_set_drvdata(input_dev, NULL);
        return rc;
 }
 EXPORT_SYMBOL_GPL(ir_input_register);
@@ -492,7 +486,6 @@ void ir_input_unregister(struct input_dev *dev)
        ir_unregister_class(dev);
 
        kfree(ir_dev);
-       input_unregister_device(dev);
 }
 EXPORT_SYMBOL_GPL(ir_input_unregister);