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);
ir_unregister_class(dev);
kfree(ir_dev);
- input_unregister_device(dev);
}
EXPORT_SYMBOL_GPL(ir_input_unregister);