1
2 #ifndef __ASM_SH_PUSH_SWITCH_H
3 #define __ASM_SH_PUSH_SWITCH_H
4
5 #include <linux/timer.h>
6 #include <linux/interrupt.h>
7 #include <linux/workqueue.h>
8 #include <linux/platform_device.h>
9
10 struct push_switch {
11
12 unsigned int state:1;
13
14 struct timer_list debounce;
15
16 struct work_struct work;
17
18 struct platform_device *pdev;
19 };
20
21 struct push_switch_platform_info {
22
23 irqreturn_t (*irq_handler)(int irq, void *data);
24
25 unsigned int irq_flags;
26
27 unsigned int bit;
28
29 const char *name;
30 };
31
32 #endif