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