home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / sh / include / asm / push-switch.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  716 b   |  32 lines

  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. #include <linux/platform_device.h>
  8.  
  9. struct push_switch {
  10.     /* switch state */
  11.     unsigned int        state:1;
  12.     /* debounce timer */
  13.     struct timer_list    debounce;
  14.     /* workqueue */
  15.     struct work_struct    work;
  16.     /* platform device, for workqueue handler */
  17.     struct platform_device    *pdev;
  18. };
  19.  
  20. struct push_switch_platform_info {
  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 */
  32.