/* SPDX-License-Identifier: GPL-2.0 */ #ifndef __NWBUTTON_H #define __NWBUTTON_H /* * NetWinder Button Driver- * Copyright (C) Alex Holden <alex@linuxhacker.org> 1998, 1999. */ #ifdef __NWBUTTON_C /* Actually compiling the driver itself */ /* Various defines: */ #define NUM_PRESSES_REBOOT 2 /* How many presses to activate shutdown */ #define BUTTON_DELAY 30 /* How many jiffies for sequence to end */ #define VERSION "0.3" /* Driver version number */ #define BUTTON_MINOR 158 /* Major 10, Minor 158, /dev/nwbutton */ /* Structure definitions: */ struct button_callback { void (*callback) (void); int count; }; /* Function prototypes: */ static void button_sequence_finished(struct timer_list *unused); static irqreturn_t button_handler (int irq, void *dev_id); int button_init (void); int button_add_callback (void (*callback) (void), int count); int button_del_callback (void (*callback) (void)); static void button_consume_callbacks (int bpcount); #else /* Not compiling the driver itself */ extern int button_add_callback (void (*callback) (void), int count); extern int button_del_callback (void (*callback) (void)); #endif /* __NWBUTTON_C */ #endif /* __NWBUTTON_H */ |