cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

push-switch.h (755B)


      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 */