diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/asm-sparc/system.h | 2 | ||||
| -rw-r--r-- | include/asm-sparc64/system.h | 2 | ||||
| -rw-r--r-- | include/linux/hiddev.h | 4 | ||||
| -rw-r--r-- | include/linux/input.h | 5 | ||||
| -rw-r--r-- | include/linux/serio.h | 11 |
5 files changed, 14 insertions, 10 deletions
diff --git a/include/asm-sparc/system.h b/include/asm-sparc/system.h index 244647dc22c4..31fcc6d48eb2 100644 --- a/include/asm-sparc/system.h +++ b/include/asm-sparc/system.h @@ -62,8 +62,6 @@ static __inline__ int con_is_present(void) return serial_console ? 0 : 1; } -extern struct pt_regs *kbd_pt_regs; - /* When a context switch happens we must flush all user windows so that * the windows of the current process are flushed onto its stack. This * way the windows are all clean for the next process and the stack diff --git a/include/asm-sparc64/system.h b/include/asm-sparc64/system.h index a4e088fec38a..c41ddfc89a2b 100644 --- a/include/asm-sparc64/system.h +++ b/include/asm-sparc64/system.h @@ -131,8 +131,6 @@ static __inline__ int con_is_present(void) return serial_console ? 0 : 1; } -extern struct pt_regs *kbd_pt_regs; - extern void synchronize_user_stack(void); extern void __flushw_user(void); diff --git a/include/linux/hiddev.h b/include/linux/hiddev.h index a2e1c8e09020..dc6d8dd843b5 100644 --- a/include/linux/hiddev.h +++ b/include/linux/hiddev.h @@ -204,7 +204,7 @@ struct hiddev_usage_ref { int hiddev_connect(struct hid_device *); void hiddev_disconnect(struct hid_device *); void hiddev_hid_event(struct hid_device *hid, struct hid_field *field, - struct hid_usage *usage, __s32 value); + struct hid_usage *usage, __s32 value, struct pt_regs *regs); void hiddev_report_event(struct hid_device *hid, struct hid_report *report); int __init hiddev_init(void); void __exit hiddev_exit(void); @@ -212,7 +212,7 @@ void __exit hiddev_exit(void); static inline int hiddev_connect(struct hid_device *hid) { return -1; } static inline void hiddev_disconnect(struct hid_device *hid) { } static inline void hiddev_hid_event(struct hid_device *hid, struct hid_field *field, - struct hid_usage *usage, __s32 value) { } + struct hid_usage *usage, __s32 value, struct pt_regs *regs) { } static inline void hiddev_report_event(struct hid_device *hid, struct hid_report *report) { } static inline int hiddev_init(void) { return 0; } static inline void hiddev_exit(void) { } diff --git a/include/linux/input.h b/include/linux/input.h index d3425c78d822..5991c97b45cc 100644 --- a/include/linux/input.h +++ b/include/linux/input.h @@ -774,6 +774,7 @@ struct input_dev { struct timer_list timer; struct pm_dev *pm_dev; + struct pt_regs *regs; int state; int sync; @@ -899,13 +900,15 @@ void input_unregister_minor(devfs_handle_t handle); void input_event(struct input_dev *dev, unsigned int type, unsigned int code, int value); -#define input_sync(a) input_event(a, EV_SYN, SYN_REPORT, 0) #define input_report_key(a,b,c) input_event(a, EV_KEY, b, !!(c)) #define input_report_rel(a,b,c) input_event(a, EV_REL, b, c) #define input_report_abs(a,b,c) input_event(a, EV_ABS, b, c) #define input_report_ff(a,b,c) input_event(a, EV_FF, b, c) #define input_report_ff_status(a,b,c) input_event(a, EV_FF_STATUS, b, c) +#define input_regs(a,b) do { (a)->regs = (b); } while (0) +#define input_sync(a) do { input_event(a, EV_SYN, SYN_REPORT, 0); (a)->regs = NULL; } while (0) + extern struct device_class input_devclass; #endif diff --git a/include/linux/serio.h b/include/linux/serio.h index 2e45f82a554d..751b0690668d 100644 --- a/include/linux/serio.h +++ b/include/linux/serio.h @@ -10,10 +10,13 @@ */ #include <linux/ioctl.h> -#include <linux/list.h> #define SPIOCSTYPE _IOW('q', 0x01, unsigned long) +#ifdef __KERNEL__ + +#include <linux/list.h> + struct serio; struct serio { @@ -47,7 +50,7 @@ struct serio_dev { char *name; void (*write_wakeup)(struct serio *); - void (*interrupt)(struct serio *, unsigned char, unsigned int); + void (*interrupt)(struct serio *, unsigned char, unsigned int, struct pt_regs *); void (*connect)(struct serio *, struct serio_dev *dev); void (*disconnect)(struct serio *); void (*cleanup)(struct serio *); @@ -58,7 +61,7 @@ struct serio_dev { int serio_open(struct serio *serio, struct serio_dev *dev); void serio_close(struct serio *serio); void serio_rescan(struct serio *serio); -void serio_interrupt(struct serio *serio, unsigned char data, unsigned int flags); +void serio_interrupt(struct serio *serio, unsigned char data, unsigned int flags, struct pt_regs *regs); void serio_register_port(struct serio *serio); void serio_unregister_port(struct serio *serio); @@ -85,6 +88,8 @@ static __inline__ void serio_cleanup(struct serio *serio) serio->dev->cleanup(serio); } +#endif + /* * bit masks for use in "interrupt" flags (3rd argument) */ |
