Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
push-switch.h
Go to the documentation of this file.
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>
8 
9 struct push_switch {
10  /* switch state */
11  unsigned int state:1;
12  /* debounce timer */
14  /* workqueue */
15  struct work_struct work;
16  /* platform device, for workqueue handler */
18 };
19 
21  /* IRQ handler */
22  irqreturn_t (*irq_handler)(int irq, void *data);
23  /* Special IRQ flags */
24  unsigned int irq_flags;
25  /* Bit location of switch */
26  unsigned int bit;
27  /* Symbolic switch name */
28  const char *name;
29 };
30 
31 #endif /* __ASM_SH_PUSH_SWITCH_H */