| 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
|