Merge branch 'intx' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/misc-2.6
[linux-2.6] / include / asm-sh / push-switch.h
1 #ifndef __ASM_SH_PUSH_SWITCH_H
2 #define __ASM_SH_PUSH_SWITCH_H
3
4 #include <linux/timer.h>
5 #include <linux/interrupt.h>
6 #include <linux/workqueue.h>
7
8 struct push_switch {
9         /* switch state */
10         unsigned int            state:1;
11         /* debounce timer */
12         struct timer_list       debounce;
13         /* workqueue */
14         struct work_struct      work;
15 };
16
17 struct push_switch_platform_info {
18         /* IRQ handler */
19         irqreturn_t             (*irq_handler)(int irq, void *data);
20         /* Special IRQ flags */
21         unsigned int            irq_flags;
22         /* Bit location of switch */
23         unsigned int            bit;
24         /* Symbolic switch name */
25         const char              *name;
26 };
27
28 #endif /* __ASM_SH_PUSH_SWITCH_H */