1 /**************************************************************************** 2 **************************************************************************** 3 *** 4 *** This header was automatically generated from a Linux kernel header 5 *** of the same name, to make information necessary for userspace to 6 *** call into the kernel available to libc. It contains only constants, 7 *** structures, and macros generated from the original header, and thus, 8 *** contains no copyrightable information. 9 *** 10 **************************************************************************** 11 ****************************************************************************/ 12 #ifndef __ASM_SH_PUSH_SWITCH_H 13 #define __ASM_SH_PUSH_SWITCH_H 14 15 #include <linux/timer.h> 16 #include <linux/interrupt.h> 17 #include <linux/workqueue.h> 18 #include <linux/platform_device.h> 19 20 struct push_switch { 21 22 unsigned int state:1; 23 24 struct timer_list debounce; 25 26 struct work_struct work; 27 28 struct platform_device *pdev; 29 }; 30 31 struct push_switch_platform_info { 32 33 irqreturn_t (*irq_handler)(int irq, void *data); 34 35 unsigned int irq_flags; 36 37 unsigned int bit; 38 39 const char *name; 40 }; 41 42 #endif 43