31 lines · 716 B · C
RawDownload
#ifndef __ASM_SH_PUSH_SWITCH_H#define __ASM_SH_PUSH_SWITCH_H #include <linux/timer.h>#include <linux/interrupt.h>#include <linux/workqueue.h>#include <linux/platform_device.h> struct push_switch {	/* switch state */	unsigned int		state:1;	/* debounce timer */	struct timer_list	debounce;	/* workqueue */	struct work_struct	work;	/* platform device, for workqueue handler */	struct platform_device	*pdev;}; struct push_switch_platform_info {	/* IRQ handler */	irqreturn_t		(*irq_handler)(int irq, void *data);	/* Special IRQ flags */	unsigned int		irq_flags;	/* Bit location of switch */	unsigned int		bit;	/* Symbolic switch name */	const char		*name;}; #endif /* __ASM_SH_PUSH_SWITCH_H */