Linux Audio

Check our new training course

Loading...
v3.5.6
 
 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
 9struct 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
20struct 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 */
v5.14.15
 1/* SPDX-License-Identifier: GPL-2.0 */
 2#ifndef __ASM_SH_PUSH_SWITCH_H
 3#define __ASM_SH_PUSH_SWITCH_H
 4
 5#include <linux/timer.h>
 6#include <linux/interrupt.h>
 7#include <linux/workqueue.h>
 8#include <linux/platform_device.h>
 9
10struct push_switch {
11	/* switch state */
12	unsigned int		state:1;
13	/* debounce timer */
14	struct timer_list	debounce;
15	/* workqueue */
16	struct work_struct	work;
17	/* platform device, for workqueue handler */
18	struct platform_device	*pdev;
19};
20
21struct push_switch_platform_info {
22	/* IRQ handler */
23	irqreturn_t		(*irq_handler)(int irq, void *data);
24	/* Special IRQ flags */
25	unsigned int		irq_flags;
26	/* Bit location of switch */
27	unsigned int		bit;
28	/* Symbolic switch name */
29	const char		*name;
30};
31
32#endif /* __ASM_SH_PUSH_SWITCH_H */