17 #include <linux/kernel.h>
18 #include <linux/module.h>
20 #include <linux/device.h>
22 #include <linux/input.h>
23 #include <linux/slab.h>
27 #define PCF50633_OOCSTAT_ONKEY 0x01
28 #define PCF50633_REG_OOCSTAT 0x12
29 #define PCF50633_REG_OOCMODE 0x10
37 pcf50633_input_irq(
int irq,
void *
data)
59 struct input_dev *input_dev;
67 input_dev = input_allocate_device();
73 platform_set_drvdata(pdev, input);
74 input->
pcf = dev_to_pcf50633(pdev->
dev.parent);
77 input_dev->name =
"PCF50633 PMU events";
78 input_dev->id.bustype =
BUS_I2C;
82 ret = input_register_device(input_dev);
84 input_free_device(input_dev);
89 pcf50633_input_irq, input);
91 pcf50633_input_irq, input);
103 input_unregister_device(input->
input_dev);
111 .name =
"pcf50633-input",
113 .probe = pcf50633_input_probe,