diff options
Diffstat (limited to 'drivers/input')
69 files changed, 182 insertions, 264 deletions
diff --git a/drivers/input/joystick/amijoy.c b/drivers/input/joystick/amijoy.c index 7249d324297b..650acf3a30b7 100644 --- a/drivers/input/joystick/amijoy.c +++ b/drivers/input/joystick/amijoy.c | |||
@@ -57,7 +57,7 @@ static DEFINE_MUTEX(amijoy_mutex); | |||
57 | static struct input_dev *amijoy_dev[2]; | 57 | static struct input_dev *amijoy_dev[2]; |
58 | static char *amijoy_phys[2] = { "amijoy/input0", "amijoy/input1" }; | 58 | static char *amijoy_phys[2] = { "amijoy/input0", "amijoy/input1" }; |
59 | 59 | ||
60 | static irqreturn_t amijoy_interrupt(int irq, void *dummy, struct pt_regs *fp) | 60 | static irqreturn_t amijoy_interrupt(int irq, void *dummy) |
61 | { | 61 | { |
62 | int i, data = 0, button = 0; | 62 | int i, data = 0, button = 0; |
63 | 63 | ||
@@ -69,8 +69,6 @@ static irqreturn_t amijoy_interrupt(int irq, void *dummy, struct pt_regs *fp) | |||
69 | case 1: data = ~amiga_custom.joy1dat; button = (~ciaa.pra >> 7) & 1; break; | 69 | case 1: data = ~amiga_custom.joy1dat; button = (~ciaa.pra >> 7) & 1; break; |
70 | } | 70 | } |
71 | 71 | ||
72 | input_regs(amijoy_dev[i], fp); | ||
73 | |||
74 | input_report_key(amijoy_dev[i], BTN_TRIGGER, button); | 72 | input_report_key(amijoy_dev[i], BTN_TRIGGER, button); |
75 | 73 | ||
76 | input_report_abs(amijoy_dev[i], ABS_X, ((data >> 1) & 1) - ((data >> 9) & 1)); | 74 | input_report_abs(amijoy_dev[i], ABS_X, ((data >> 1) & 1) - ((data >> 9) & 1)); |
diff --git a/drivers/input/joystick/iforce/iforce-packets.c b/drivers/input/joystick/iforce/iforce-packets.c index 8632d47a7fbe..808f05932a6f 100644 --- a/drivers/input/joystick/iforce/iforce-packets.c +++ b/drivers/input/joystick/iforce/iforce-packets.c | |||
@@ -155,7 +155,7 @@ static int mark_core_as_ready(struct iforce *iforce, unsigned short addr) | |||
155 | return -1; | 155 | return -1; |
156 | } | 156 | } |
157 | 157 | ||
158 | void iforce_process_packet(struct iforce *iforce, u16 cmd, unsigned char *data, struct pt_regs *regs) | 158 | void iforce_process_packet(struct iforce *iforce, u16 cmd, unsigned char *data) |
159 | { | 159 | { |
160 | struct input_dev *dev = iforce->dev; | 160 | struct input_dev *dev = iforce->dev; |
161 | int i; | 161 | int i; |
@@ -183,9 +183,6 @@ void iforce_process_packet(struct iforce *iforce, u16 cmd, unsigned char *data, | |||
183 | 183 | ||
184 | case 0x01: /* joystick position data */ | 184 | case 0x01: /* joystick position data */ |
185 | case 0x03: /* wheel position data */ | 185 | case 0x03: /* wheel position data */ |
186 | |||
187 | input_regs(dev, regs); | ||
188 | |||
189 | if (HI(cmd) == 1) { | 186 | if (HI(cmd) == 1) { |
190 | input_report_abs(dev, ABS_X, (__s16) (((__s16)data[1] << 8) | data[0])); | 187 | input_report_abs(dev, ABS_X, (__s16) (((__s16)data[1] << 8) | data[0])); |
191 | input_report_abs(dev, ABS_Y, (__s16) (((__s16)data[3] << 8) | data[2])); | 188 | input_report_abs(dev, ABS_Y, (__s16) (((__s16)data[3] << 8) | data[2])); |
@@ -224,7 +221,6 @@ void iforce_process_packet(struct iforce *iforce, u16 cmd, unsigned char *data, | |||
224 | break; | 221 | break; |
225 | 222 | ||
226 | case 0x02: /* status report */ | 223 | case 0x02: /* status report */ |
227 | input_regs(dev, regs); | ||
228 | input_report_key(dev, BTN_DEAD, data[0] & 0x02); | 224 | input_report_key(dev, BTN_DEAD, data[0] & 0x02); |
229 | input_sync(dev); | 225 | input_sync(dev); |
230 | 226 | ||
diff --git a/drivers/input/joystick/iforce/iforce-serio.c b/drivers/input/joystick/iforce/iforce-serio.c index 64a78c515484..ca08f45c2040 100644 --- a/drivers/input/joystick/iforce/iforce-serio.c +++ b/drivers/input/joystick/iforce/iforce-serio.c | |||
@@ -81,7 +81,7 @@ static void iforce_serio_write_wakeup(struct serio *serio) | |||
81 | } | 81 | } |
82 | 82 | ||
83 | static irqreturn_t iforce_serio_irq(struct serio *serio, | 83 | static irqreturn_t iforce_serio_irq(struct serio *serio, |
84 | unsigned char data, unsigned int flags, struct pt_regs *regs) | 84 | unsigned char data, unsigned int flags) |
85 | { | 85 | { |
86 | struct iforce *iforce = serio_get_drvdata(serio); | 86 | struct iforce *iforce = serio_get_drvdata(serio); |
87 | 87 | ||
@@ -115,7 +115,7 @@ static irqreturn_t iforce_serio_irq(struct serio *serio, | |||
115 | } | 115 | } |
116 | 116 | ||
117 | if (iforce->idx == iforce->len) { | 117 | if (iforce->idx == iforce->len) { |
118 | iforce_process_packet(iforce, (iforce->id << 8) | iforce->idx, iforce->data, regs); | 118 | iforce_process_packet(iforce, (iforce->id << 8) | iforce->idx, iforce->data); |
119 | iforce->pkt = 0; | 119 | iforce->pkt = 0; |
120 | iforce->id = 0; | 120 | iforce->id = 0; |
121 | iforce->len = 0; | 121 | iforce->len = 0; |
diff --git a/drivers/input/joystick/iforce/iforce-usb.c b/drivers/input/joystick/iforce/iforce-usb.c index fe79d158456d..105112fb7b57 100644 --- a/drivers/input/joystick/iforce/iforce-usb.c +++ b/drivers/input/joystick/iforce/iforce-usb.c | |||
@@ -74,7 +74,7 @@ void iforce_usb_xmit(struct iforce *iforce) | |||
74 | spin_unlock_irqrestore(&iforce->xmit_lock, flags); | 74 | spin_unlock_irqrestore(&iforce->xmit_lock, flags); |
75 | } | 75 | } |
76 | 76 | ||
77 | static void iforce_usb_irq(struct urb *urb, struct pt_regs *regs) | 77 | static void iforce_usb_irq(struct urb *urb) |
78 | { | 78 | { |
79 | struct iforce *iforce = urb->context; | 79 | struct iforce *iforce = urb->context; |
80 | int status; | 80 | int status; |
@@ -96,7 +96,7 @@ static void iforce_usb_irq(struct urb *urb, struct pt_regs *regs) | |||
96 | } | 96 | } |
97 | 97 | ||
98 | iforce_process_packet(iforce, | 98 | iforce_process_packet(iforce, |
99 | (iforce->data[0] << 8) | (urb->actual_length - 1), iforce->data + 1, regs); | 99 | (iforce->data[0] << 8) | (urb->actual_length - 1), iforce->data + 1); |
100 | 100 | ||
101 | exit: | 101 | exit: |
102 | status = usb_submit_urb (urb, GFP_ATOMIC); | 102 | status = usb_submit_urb (urb, GFP_ATOMIC); |
@@ -105,7 +105,7 @@ exit: | |||
105 | __FUNCTION__, status); | 105 | __FUNCTION__, status); |
106 | } | 106 | } |
107 | 107 | ||
108 | static void iforce_usb_out(struct urb *urb, struct pt_regs *regs) | 108 | static void iforce_usb_out(struct urb *urb) |
109 | { | 109 | { |
110 | struct iforce *iforce = urb->context; | 110 | struct iforce *iforce = urb->context; |
111 | 111 | ||
@@ -119,7 +119,7 @@ static void iforce_usb_out(struct urb *urb, struct pt_regs *regs) | |||
119 | wake_up(&iforce->wait); | 119 | wake_up(&iforce->wait); |
120 | } | 120 | } |
121 | 121 | ||
122 | static void iforce_usb_ctrl(struct urb *urb, struct pt_regs *regs) | 122 | static void iforce_usb_ctrl(struct urb *urb) |
123 | { | 123 | { |
124 | struct iforce *iforce = urb->context; | 124 | struct iforce *iforce = urb->context; |
125 | if (urb->status) return; | 125 | if (urb->status) return; |
diff --git a/drivers/input/joystick/iforce/iforce.h b/drivers/input/joystick/iforce/iforce.h index 947df2739843..ffaeaefa1a42 100644 --- a/drivers/input/joystick/iforce/iforce.h +++ b/drivers/input/joystick/iforce/iforce.h | |||
@@ -160,7 +160,7 @@ void iforce_delete_device(struct iforce *iforce); | |||
160 | 160 | ||
161 | /* iforce-packets.c */ | 161 | /* iforce-packets.c */ |
162 | int iforce_control_playback(struct iforce*, u16 id, unsigned int); | 162 | int iforce_control_playback(struct iforce*, u16 id, unsigned int); |
163 | void iforce_process_packet(struct iforce *iforce, u16 cmd, unsigned char *data, struct pt_regs *regs); | 163 | void iforce_process_packet(struct iforce *iforce, u16 cmd, unsigned char *data); |
164 | int iforce_send_packet(struct iforce *iforce, u16 cmd, unsigned char* data); | 164 | int iforce_send_packet(struct iforce *iforce, u16 cmd, unsigned char* data); |
165 | void iforce_dump_packet(char *msg, u16 cmd, unsigned char *data) ; | 165 | void iforce_dump_packet(char *msg, u16 cmd, unsigned char *data) ; |
166 | int iforce_get_id_packet(struct iforce *iforce, char *packet); | 166 | int iforce_get_id_packet(struct iforce *iforce, char *packet); |
diff --git a/drivers/input/joystick/magellan.c b/drivers/input/joystick/magellan.c index 168b1061a03b..e3d19444ba2e 100644 --- a/drivers/input/joystick/magellan.c +++ b/drivers/input/joystick/magellan.c | |||
@@ -82,7 +82,7 @@ static int magellan_crunch_nibbles(unsigned char *data, int count) | |||
82 | return 0; | 82 | return 0; |
83 | } | 83 | } |
84 | 84 | ||
85 | static void magellan_process_packet(struct magellan* magellan, struct pt_regs *regs) | 85 | static void magellan_process_packet(struct magellan* magellan) |
86 | { | 86 | { |
87 | struct input_dev *dev = magellan->dev; | 87 | struct input_dev *dev = magellan->dev; |
88 | unsigned char *data = magellan->data; | 88 | unsigned char *data = magellan->data; |
@@ -90,8 +90,6 @@ static void magellan_process_packet(struct magellan* magellan, struct pt_regs *r | |||
90 | 90 | ||
91 | if (!magellan->idx) return; | 91 | if (!magellan->idx) return; |
92 | 92 | ||
93 | input_regs(dev, regs); | ||
94 | |||
95 | switch (magellan->data[0]) { | 93 | switch (magellan->data[0]) { |
96 | 94 | ||
97 | case 'd': /* Axis data */ | 95 | case 'd': /* Axis data */ |
@@ -115,12 +113,12 @@ static void magellan_process_packet(struct magellan* magellan, struct pt_regs *r | |||
115 | } | 113 | } |
116 | 114 | ||
117 | static irqreturn_t magellan_interrupt(struct serio *serio, | 115 | static irqreturn_t magellan_interrupt(struct serio *serio, |
118 | unsigned char data, unsigned int flags, struct pt_regs *regs) | 116 | unsigned char data, unsigned int flags) |
119 | { | 117 | { |
120 | struct magellan* magellan = serio_get_drvdata(serio); | 118 | struct magellan* magellan = serio_get_drvdata(serio); |
121 | 119 | ||
122 | if (data == '\r') { | 120 | if (data == '\r') { |
123 | magellan_process_packet(magellan, regs); | 121 | magellan_process_packet(magellan); |
124 | magellan->idx = 0; | 122 | magellan->idx = 0; |
125 | } else { | 123 | } else { |
126 | if (magellan->idx < MAGELLAN_MAX_LENGTH) | 124 | if (magellan->idx < MAGELLAN_MAX_LENGTH) |
diff --git a/drivers/input/joystick/spaceball.c b/drivers/input/joystick/spaceball.c index 7a19ee052972..2a9808cf826f 100644 --- a/drivers/input/joystick/spaceball.c +++ b/drivers/input/joystick/spaceball.c | |||
@@ -82,7 +82,7 @@ struct spaceball { | |||
82 | * SpaceBall. | 82 | * SpaceBall. |
83 | */ | 83 | */ |
84 | 84 | ||
85 | static void spaceball_process_packet(struct spaceball* spaceball, struct pt_regs *regs) | 85 | static void spaceball_process_packet(struct spaceball* spaceball) |
86 | { | 86 | { |
87 | struct input_dev *dev = spaceball->dev; | 87 | struct input_dev *dev = spaceball->dev; |
88 | unsigned char *data = spaceball->data; | 88 | unsigned char *data = spaceball->data; |
@@ -90,8 +90,6 @@ static void spaceball_process_packet(struct spaceball* spaceball, struct pt_regs | |||
90 | 90 | ||
91 | if (spaceball->idx < 2) return; | 91 | if (spaceball->idx < 2) return; |
92 | 92 | ||
93 | input_regs(dev, regs); | ||
94 | |||
95 | switch (spaceball->data[0]) { | 93 | switch (spaceball->data[0]) { |
96 | 94 | ||
97 | case 'D': /* Ball data */ | 95 | case 'D': /* Ball data */ |
@@ -151,13 +149,13 @@ static void spaceball_process_packet(struct spaceball* spaceball, struct pt_regs | |||
151 | */ | 149 | */ |
152 | 150 | ||
153 | static irqreturn_t spaceball_interrupt(struct serio *serio, | 151 | static irqreturn_t spaceball_interrupt(struct serio *serio, |
154 | unsigned char data, unsigned int flags, struct pt_regs *regs) | 152 | unsigned char data, unsigned int flags) |
155 | { | 153 | { |
156 | struct spaceball *spaceball = serio_get_drvdata(serio); | 154 | struct spaceball *spaceball = serio_get_drvdata(serio); |
157 | 155 | ||
158 | switch (data) { | 156 | switch (data) { |
159 | case 0xd: | 157 | case 0xd: |
160 | spaceball_process_packet(spaceball, regs); | 158 | spaceball_process_packet(spaceball); |
161 | spaceball->idx = 0; | 159 | spaceball->idx = 0; |
162 | spaceball->escape = 0; | 160 | spaceball->escape = 0; |
163 | break; | 161 | break; |
diff --git a/drivers/input/joystick/spaceorb.c b/drivers/input/joystick/spaceorb.c index 3e2782e79834..c4db0247c5fb 100644 --- a/drivers/input/joystick/spaceorb.c +++ b/drivers/input/joystick/spaceorb.c | |||
@@ -74,7 +74,7 @@ static unsigned char *spaceorb_errors[] = { "EEPROM storing 0 failed", "Receive | |||
74 | * SpaceOrb. | 74 | * SpaceOrb. |
75 | */ | 75 | */ |
76 | 76 | ||
77 | static void spaceorb_process_packet(struct spaceorb *spaceorb, struct pt_regs *regs) | 77 | static void spaceorb_process_packet(struct spaceorb *spaceorb) |
78 | { | 78 | { |
79 | struct input_dev *dev = spaceorb->dev; | 79 | struct input_dev *dev = spaceorb->dev; |
80 | unsigned char *data = spaceorb->data; | 80 | unsigned char *data = spaceorb->data; |
@@ -86,8 +86,6 @@ static void spaceorb_process_packet(struct spaceorb *spaceorb, struct pt_regs *r | |||
86 | for (i = 0; i < spaceorb->idx; i++) c ^= data[i]; | 86 | for (i = 0; i < spaceorb->idx; i++) c ^= data[i]; |
87 | if (c) return; | 87 | if (c) return; |
88 | 88 | ||
89 | input_regs(dev, regs); | ||
90 | |||
91 | switch (data[0]) { | 89 | switch (data[0]) { |
92 | 90 | ||
93 | case 'R': /* Reset packet */ | 91 | case 'R': /* Reset packet */ |
@@ -131,12 +129,12 @@ static void spaceorb_process_packet(struct spaceorb *spaceorb, struct pt_regs *r | |||
131 | } | 129 | } |
132 | 130 | ||
133 | static irqreturn_t spaceorb_interrupt(struct serio *serio, | 131 | static irqreturn_t spaceorb_interrupt(struct serio *serio, |
134 | unsigned char data, unsigned int flags, struct pt_regs *regs) | 132 | unsigned char data, unsigned int flags) |
135 | { | 133 | { |
136 | struct spaceorb* spaceorb = serio_get_drvdata(serio); | 134 | struct spaceorb* spaceorb = serio_get_drvdata(serio); |
137 | 135 | ||
138 | if (~data & 0x80) { | 136 | if (~data & 0x80) { |
139 | if (spaceorb->idx) spaceorb_process_packet(spaceorb, regs); | 137 | if (spaceorb->idx) spaceorb_process_packet(spaceorb); |
140 | spaceorb->idx = 0; | 138 | spaceorb->idx = 0; |
141 | } | 139 | } |
142 | if (spaceorb->idx < SPACEORB_MAX_LENGTH) | 140 | if (spaceorb->idx < SPACEORB_MAX_LENGTH) |
diff --git a/drivers/input/joystick/stinger.c b/drivers/input/joystick/stinger.c index 011ec4858e15..1ffb03223311 100644 --- a/drivers/input/joystick/stinger.c +++ b/drivers/input/joystick/stinger.c | |||
@@ -64,15 +64,13 @@ struct stinger { | |||
64 | * Stinger. It updates the data accordingly. | 64 | * Stinger. It updates the data accordingly. |
65 | */ | 65 | */ |
66 | 66 | ||
67 | static void stinger_process_packet(struct stinger *stinger, struct pt_regs *regs) | 67 | static void stinger_process_packet(struct stinger *stinger) |
68 | { | 68 | { |
69 | struct input_dev *dev = stinger->dev; | 69 | struct input_dev *dev = stinger->dev; |
70 | unsigned char *data = stinger->data; | 70 | unsigned char *data = stinger->data; |
71 | 71 | ||
72 | if (!stinger->idx) return; | 72 | if (!stinger->idx) return; |
73 | 73 | ||
74 | input_regs(dev, regs); | ||
75 | |||
76 | input_report_key(dev, BTN_A, ((data[0] & 0x20) >> 5)); | 74 | input_report_key(dev, BTN_A, ((data[0] & 0x20) >> 5)); |
77 | input_report_key(dev, BTN_B, ((data[0] & 0x10) >> 4)); | 75 | input_report_key(dev, BTN_B, ((data[0] & 0x10) >> 4)); |
78 | input_report_key(dev, BTN_C, ((data[0] & 0x08) >> 3)); | 76 | input_report_key(dev, BTN_C, ((data[0] & 0x08) >> 3)); |
@@ -99,7 +97,7 @@ static void stinger_process_packet(struct stinger *stinger, struct pt_regs *regs | |||
99 | */ | 97 | */ |
100 | 98 | ||
101 | static irqreturn_t stinger_interrupt(struct serio *serio, | 99 | static irqreturn_t stinger_interrupt(struct serio *serio, |
102 | unsigned char data, unsigned int flags, struct pt_regs *regs) | 100 | unsigned char data, unsigned int flags) |
103 | { | 101 | { |
104 | struct stinger *stinger = serio_get_drvdata(serio); | 102 | struct stinger *stinger = serio_get_drvdata(serio); |
105 | 103 | ||
@@ -109,7 +107,7 @@ static irqreturn_t stinger_interrupt(struct serio *serio, | |||
109 | stinger->data[stinger->idx++] = data; | 107 | stinger->data[stinger->idx++] = data; |
110 | 108 | ||
111 | if (stinger->idx == 4) { | 109 | if (stinger->idx == 4) { |
112 | stinger_process_packet(stinger, regs); | 110 | stinger_process_packet(stinger); |
113 | stinger->idx = 0; | 111 | stinger->idx = 0; |
114 | } | 112 | } |
115 | 113 | ||
diff --git a/drivers/input/joystick/twidjoy.c b/drivers/input/joystick/twidjoy.c index 076f237d9654..49085df2d631 100644 --- a/drivers/input/joystick/twidjoy.c +++ b/drivers/input/joystick/twidjoy.c | |||
@@ -104,7 +104,7 @@ struct twidjoy { | |||
104 | * Twiddler. It updates the data accordingly. | 104 | * Twiddler. It updates the data accordingly. |
105 | */ | 105 | */ |
106 | 106 | ||
107 | static void twidjoy_process_packet(struct twidjoy *twidjoy, struct pt_regs *regs) | 107 | static void twidjoy_process_packet(struct twidjoy *twidjoy) |
108 | { | 108 | { |
109 | struct input_dev *dev = twidjoy->dev; | 109 | struct input_dev *dev = twidjoy->dev; |
110 | unsigned char *data = twidjoy->data; | 110 | unsigned char *data = twidjoy->data; |
@@ -113,8 +113,6 @@ static void twidjoy_process_packet(struct twidjoy *twidjoy, struct pt_regs *regs | |||
113 | 113 | ||
114 | button_bits = ((data[1] & 0x7f) << 7) | (data[0] & 0x7f); | 114 | button_bits = ((data[1] & 0x7f) << 7) | (data[0] & 0x7f); |
115 | 115 | ||
116 | input_regs(dev, regs); | ||
117 | |||
118 | for (bp = twidjoy_buttons; bp->bitmask; bp++) { | 116 | for (bp = twidjoy_buttons; bp->bitmask; bp++) { |
119 | int value = (button_bits & (bp->bitmask << bp->bitshift)) >> bp->bitshift; | 117 | int value = (button_bits & (bp->bitmask << bp->bitshift)) >> bp->bitshift; |
120 | int i; | 118 | int i; |
@@ -141,7 +139,7 @@ static void twidjoy_process_packet(struct twidjoy *twidjoy, struct pt_regs *regs | |||
141 | * packet processing routine. | 139 | * packet processing routine. |
142 | */ | 140 | */ |
143 | 141 | ||
144 | static irqreturn_t twidjoy_interrupt(struct serio *serio, unsigned char data, unsigned int flags, struct pt_regs *regs) | 142 | static irqreturn_t twidjoy_interrupt(struct serio *serio, unsigned char data, unsigned int flags) |
145 | { | 143 | { |
146 | struct twidjoy *twidjoy = serio_get_drvdata(serio); | 144 | struct twidjoy *twidjoy = serio_get_drvdata(serio); |
147 | 145 | ||
@@ -158,7 +156,7 @@ static irqreturn_t twidjoy_interrupt(struct serio *serio, unsigned char data, un | |||
158 | twidjoy->data[twidjoy->idx++] = data; | 156 | twidjoy->data[twidjoy->idx++] = data; |
159 | 157 | ||
160 | if (twidjoy->idx == TWIDJOY_MAX_LENGTH) { | 158 | if (twidjoy->idx == TWIDJOY_MAX_LENGTH) { |
161 | twidjoy_process_packet(twidjoy, regs); | 159 | twidjoy_process_packet(twidjoy); |
162 | twidjoy->idx = 0; | 160 | twidjoy->idx = 0; |
163 | } | 161 | } |
164 | 162 | ||
diff --git a/drivers/input/joystick/warrior.c b/drivers/input/joystick/warrior.c index f9c1a03214eb..35edea1ab955 100644 --- a/drivers/input/joystick/warrior.c +++ b/drivers/input/joystick/warrior.c | |||
@@ -64,15 +64,13 @@ struct warrior { | |||
64 | * Warrior. It updates the data accordingly. | 64 | * Warrior. It updates the data accordingly. |
65 | */ | 65 | */ |
66 | 66 | ||
67 | static void warrior_process_packet(struct warrior *warrior, struct pt_regs *regs) | 67 | static void warrior_process_packet(struct warrior *warrior) |
68 | { | 68 | { |
69 | struct input_dev *dev = warrior->dev; | 69 | struct input_dev *dev = warrior->dev; |
70 | unsigned char *data = warrior->data; | 70 | unsigned char *data = warrior->data; |
71 | 71 | ||
72 | if (!warrior->idx) return; | 72 | if (!warrior->idx) return; |
73 | 73 | ||
74 | input_regs(dev, regs); | ||
75 | |||
76 | switch ((data[0] >> 4) & 7) { | 74 | switch ((data[0] >> 4) & 7) { |
77 | case 1: /* Button data */ | 75 | case 1: /* Button data */ |
78 | input_report_key(dev, BTN_TRIGGER, data[3] & 1); | 76 | input_report_key(dev, BTN_TRIGGER, data[3] & 1); |
@@ -101,12 +99,12 @@ static void warrior_process_packet(struct warrior *warrior, struct pt_regs *regs | |||
101 | */ | 99 | */ |
102 | 100 | ||
103 | static irqreturn_t warrior_interrupt(struct serio *serio, | 101 | static irqreturn_t warrior_interrupt(struct serio *serio, |
104 | unsigned char data, unsigned int flags, struct pt_regs *regs) | 102 | unsigned char data, unsigned int flags) |
105 | { | 103 | { |
106 | struct warrior *warrior = serio_get_drvdata(serio); | 104 | struct warrior *warrior = serio_get_drvdata(serio); |
107 | 105 | ||
108 | if (data & 0x80) { | 106 | if (data & 0x80) { |
109 | if (warrior->idx) warrior_process_packet(warrior, regs); | 107 | if (warrior->idx) warrior_process_packet(warrior); |
110 | warrior->idx = 0; | 108 | warrior->idx = 0; |
111 | warrior->len = warrior_lengths[(data >> 4) & 7]; | 109 | warrior->len = warrior_lengths[(data >> 4) & 7]; |
112 | } | 110 | } |
@@ -115,7 +113,7 @@ static irqreturn_t warrior_interrupt(struct serio *serio, | |||
115 | warrior->data[warrior->idx++] = data; | 113 | warrior->data[warrior->idx++] = data; |
116 | 114 | ||
117 | if (warrior->idx == warrior->len) { | 115 | if (warrior->idx == warrior->len) { |
118 | if (warrior->idx) warrior_process_packet(warrior, regs); | 116 | if (warrior->idx) warrior_process_packet(warrior); |
119 | warrior->idx = 0; | 117 | warrior->idx = 0; |
120 | warrior->len = 0; | 118 | warrior->len = 0; |
121 | } | 119 | } |
diff --git a/drivers/input/keyboard/Kconfig b/drivers/input/keyboard/Kconfig index 679bde34d247..81a333f73010 100644 --- a/drivers/input/keyboard/Kconfig +++ b/drivers/input/keyboard/Kconfig | |||
@@ -166,7 +166,7 @@ config KEYBOARD_AMIGA | |||
166 | 166 | ||
167 | config KEYBOARD_HIL_OLD | 167 | config KEYBOARD_HIL_OLD |
168 | tristate "HP HIL keyboard support (simple driver)" | 168 | tristate "HP HIL keyboard support (simple driver)" |
169 | depends on GSC | 169 | depends on GSC || HP300 |
170 | default y | 170 | default y |
171 | help | 171 | help |
172 | The "Human Interface Loop" is a older, 8-channel USB-like | 172 | The "Human Interface Loop" is a older, 8-channel USB-like |
@@ -183,7 +183,7 @@ config KEYBOARD_HIL_OLD | |||
183 | 183 | ||
184 | config KEYBOARD_HIL | 184 | config KEYBOARD_HIL |
185 | tristate "HP HIL keyboard support" | 185 | tristate "HP HIL keyboard support" |
186 | depends on GSC | 186 | depends on GSC || HP300 |
187 | default y | 187 | default y |
188 | select HP_SDC | 188 | select HP_SDC |
189 | select HIL_MLC | 189 | select HIL_MLC |
diff --git a/drivers/input/keyboard/amikbd.c b/drivers/input/keyboard/amikbd.c index f1f9db9d282c..8abdbd0ee8f9 100644 --- a/drivers/input/keyboard/amikbd.c +++ b/drivers/input/keyboard/amikbd.c | |||
@@ -158,7 +158,7 @@ static const char *amikbd_messages[8] = { | |||
158 | 158 | ||
159 | static struct input_dev *amikbd_dev; | 159 | static struct input_dev *amikbd_dev; |
160 | 160 | ||
161 | static irqreturn_t amikbd_interrupt(int irq, void *dummy, struct pt_regs *fp) | 161 | static irqreturn_t amikbd_interrupt(int irq, void *dummy) |
162 | { | 162 | { |
163 | unsigned char scancode, down; | 163 | unsigned char scancode, down; |
164 | 164 | ||
@@ -171,8 +171,6 @@ static irqreturn_t amikbd_interrupt(int irq, void *dummy, struct pt_regs *fp) | |||
171 | scancode >>= 1; | 171 | scancode >>= 1; |
172 | 172 | ||
173 | if (scancode < 0x78) { /* scancodes < 0x78 are keys */ | 173 | if (scancode < 0x78) { /* scancodes < 0x78 are keys */ |
174 | input_regs(amikbd_dev, fp); | ||
175 | |||
176 | if (scancode == 98) { /* CapsLock is a toggle switch key on Amiga */ | 174 | if (scancode == 98) { /* CapsLock is a toggle switch key on Amiga */ |
177 | input_report_key(amikbd_dev, scancode, 1); | 175 | input_report_key(amikbd_dev, scancode, 1); |
178 | input_report_key(amikbd_dev, scancode, 0); | 176 | input_report_key(amikbd_dev, scancode, 0); |
diff --git a/drivers/input/keyboard/atkbd.c b/drivers/input/keyboard/atkbd.c index 40244d4ce0f1..b6ef9eaad1dc 100644 --- a/drivers/input/keyboard/atkbd.c +++ b/drivers/input/keyboard/atkbd.c | |||
@@ -318,7 +318,7 @@ static unsigned int atkbd_compat_scancode(struct atkbd *atkbd, unsigned int code | |||
318 | */ | 318 | */ |
319 | 319 | ||
320 | static irqreturn_t atkbd_interrupt(struct serio *serio, unsigned char data, | 320 | static irqreturn_t atkbd_interrupt(struct serio *serio, unsigned char data, |
321 | unsigned int flags, struct pt_regs *regs) | 321 | unsigned int flags) |
322 | { | 322 | { |
323 | struct atkbd *atkbd = serio_get_drvdata(serio); | 323 | struct atkbd *atkbd = serio_get_drvdata(serio); |
324 | struct input_dev *dev = atkbd->dev; | 324 | struct input_dev *dev = atkbd->dev; |
@@ -458,7 +458,6 @@ static irqreturn_t atkbd_interrupt(struct serio *serio, unsigned char data, | |||
458 | atkbd->time = jiffies + msecs_to_jiffies(dev->rep[REP_DELAY]) / 2; | 458 | atkbd->time = jiffies + msecs_to_jiffies(dev->rep[REP_DELAY]) / 2; |
459 | } | 459 | } |
460 | 460 | ||
461 | input_regs(dev, regs); | ||
462 | input_event(dev, EV_KEY, keycode, value); | 461 | input_event(dev, EV_KEY, keycode, value); |
463 | input_sync(dev); | 462 | input_sync(dev); |
464 | 463 | ||
@@ -469,7 +468,6 @@ static irqreturn_t atkbd_interrupt(struct serio *serio, unsigned char data, | |||
469 | } | 468 | } |
470 | 469 | ||
471 | if (atkbd->scroll) { | 470 | if (atkbd->scroll) { |
472 | input_regs(dev, regs); | ||
473 | if (click != -1) | 471 | if (click != -1) |
474 | input_report_key(dev, BTN_MIDDLE, click); | 472 | input_report_key(dev, BTN_MIDDLE, click); |
475 | input_report_rel(dev, REL_WHEEL, scroll); | 473 | input_report_rel(dev, REL_WHEEL, scroll); |
diff --git a/drivers/input/keyboard/corgikbd.c b/drivers/input/keyboard/corgikbd.c index 1e03153b9bca..cb70970625b5 100644 --- a/drivers/input/keyboard/corgikbd.c +++ b/drivers/input/keyboard/corgikbd.c | |||
@@ -129,7 +129,7 @@ static inline void corgikbd_reset_col(int col) | |||
129 | */ | 129 | */ |
130 | 130 | ||
131 | /* Scan the hardware keyboard and push any changes up through the input layer */ | 131 | /* Scan the hardware keyboard and push any changes up through the input layer */ |
132 | static void corgikbd_scankeyboard(struct corgikbd *corgikbd_data, struct pt_regs *regs) | 132 | static void corgikbd_scankeyboard(struct corgikbd *corgikbd_data) |
133 | { | 133 | { |
134 | unsigned int row, col, rowd; | 134 | unsigned int row, col, rowd; |
135 | unsigned long flags; | 135 | unsigned long flags; |
@@ -140,9 +140,6 @@ static void corgikbd_scankeyboard(struct corgikbd *corgikbd_data, struct pt_regs | |||
140 | 140 | ||
141 | spin_lock_irqsave(&corgikbd_data->lock, flags); | 141 | spin_lock_irqsave(&corgikbd_data->lock, flags); |
142 | 142 | ||
143 | if (regs) | ||
144 | input_regs(corgikbd_data->input, regs); | ||
145 | |||
146 | num_pressed = 0; | 143 | num_pressed = 0; |
147 | for (col = 0; col < KB_COLS; col++) { | 144 | for (col = 0; col < KB_COLS; col++) { |
148 | /* | 145 | /* |
@@ -191,14 +188,14 @@ static void corgikbd_scankeyboard(struct corgikbd *corgikbd_data, struct pt_regs | |||
191 | /* | 188 | /* |
192 | * corgi keyboard interrupt handler. | 189 | * corgi keyboard interrupt handler. |
193 | */ | 190 | */ |
194 | static irqreturn_t corgikbd_interrupt(int irq, void *dev_id, struct pt_regs *regs) | 191 | static irqreturn_t corgikbd_interrupt(int irq, void *dev_id) |
195 | { | 192 | { |
196 | struct corgikbd *corgikbd_data = dev_id; | 193 | struct corgikbd *corgikbd_data = dev_id; |
197 | 194 | ||
198 | if (!timer_pending(&corgikbd_data->timer)) { | 195 | if (!timer_pending(&corgikbd_data->timer)) { |
199 | /** wait chattering delay **/ | 196 | /** wait chattering delay **/ |
200 | udelay(20); | 197 | udelay(20); |
201 | corgikbd_scankeyboard(corgikbd_data, regs); | 198 | corgikbd_scankeyboard(corgikbd_data); |
202 | } | 199 | } |
203 | 200 | ||
204 | return IRQ_HANDLED; | 201 | return IRQ_HANDLED; |
diff --git a/drivers/input/keyboard/hil_kbd.c b/drivers/input/keyboard/hil_kbd.c index 2e4abdc26367..e774dd31e99b 100644 --- a/drivers/input/keyboard/hil_kbd.c +++ b/drivers/input/keyboard/hil_kbd.c | |||
@@ -198,7 +198,7 @@ static void hil_kbd_process_err(struct hil_kbd *kbd) { | |||
198 | } | 198 | } |
199 | 199 | ||
200 | static irqreturn_t hil_kbd_interrupt(struct serio *serio, | 200 | static irqreturn_t hil_kbd_interrupt(struct serio *serio, |
201 | unsigned char data, unsigned int flags, struct pt_regs *regs) | 201 | unsigned char data, unsigned int flags) |
202 | { | 202 | { |
203 | struct hil_kbd *kbd; | 203 | struct hil_kbd *kbd; |
204 | hil_packet packet; | 204 | hil_packet packet; |
@@ -328,7 +328,7 @@ static int hil_kbd_connect(struct serio *serio, struct serio_driver *drv) | |||
328 | kbd->dev->id.vendor = PCI_VENDOR_ID_HP; | 328 | kbd->dev->id.vendor = PCI_VENDOR_ID_HP; |
329 | kbd->dev->id.product = 0x0001; /* TODO: get from kbd->rsc */ | 329 | kbd->dev->id.product = 0x0001; /* TODO: get from kbd->rsc */ |
330 | kbd->dev->id.version = 0x0100; /* TODO: get from kbd->rsc */ | 330 | kbd->dev->id.version = 0x0100; /* TODO: get from kbd->rsc */ |
331 | kbd->dev->dev = &serio->dev; | 331 | kbd->dev->cdev.dev = &serio->dev; |
332 | 332 | ||
333 | for (i = 0; i < 128; i++) { | 333 | for (i = 0; i < 128; i++) { |
334 | set_bit(hil_kbd_set1[i], kbd->dev->keybit); | 334 | set_bit(hil_kbd_set1[i], kbd->dev->keybit); |
diff --git a/drivers/input/keyboard/hilkbd.c b/drivers/input/keyboard/hilkbd.c index d22c7c624296..54bc569db4b0 100644 --- a/drivers/input/keyboard/hilkbd.c +++ b/drivers/input/keyboard/hilkbd.c | |||
@@ -150,7 +150,7 @@ static inline void handle_data(unsigned char s, unsigned char c) | |||
150 | /* | 150 | /* |
151 | * Handle HIL interrupts. | 151 | * Handle HIL interrupts. |
152 | */ | 152 | */ |
153 | static irqreturn_t hil_interrupt(int irq, void *handle, struct pt_regs *regs) | 153 | static irqreturn_t hil_interrupt(int irq, void *handle) |
154 | { | 154 | { |
155 | unsigned char s, c; | 155 | unsigned char s, c; |
156 | 156 | ||
diff --git a/drivers/input/keyboard/lkkbd.c b/drivers/input/keyboard/lkkbd.c index 5174224cadb4..708d5a1bc3d2 100644 --- a/drivers/input/keyboard/lkkbd.c +++ b/drivers/input/keyboard/lkkbd.c | |||
@@ -453,8 +453,7 @@ lkkbd_detection_done (struct lkkbd *lk) | |||
453 | * is received. | 453 | * is received. |
454 | */ | 454 | */ |
455 | static irqreturn_t | 455 | static irqreturn_t |
456 | lkkbd_interrupt (struct serio *serio, unsigned char data, unsigned int flags, | 456 | lkkbd_interrupt (struct serio *serio, unsigned char data, unsigned int flags) |
457 | struct pt_regs *regs) | ||
458 | { | 457 | { |
459 | struct lkkbd *lk = serio_get_drvdata (serio); | 458 | struct lkkbd *lk = serio_get_drvdata (serio); |
460 | int i; | 459 | int i; |
@@ -473,7 +472,6 @@ lkkbd_interrupt (struct serio *serio, unsigned char data, unsigned int flags, | |||
473 | 472 | ||
474 | switch (data) { | 473 | switch (data) { |
475 | case LK_ALL_KEYS_UP: | 474 | case LK_ALL_KEYS_UP: |
476 | input_regs (lk->dev, regs); | ||
477 | for (i = 0; i < ARRAY_SIZE (lkkbd_keycode); i++) | 475 | for (i = 0; i < ARRAY_SIZE (lkkbd_keycode); i++) |
478 | if (lk->keycode[i] != KEY_RESERVED) | 476 | if (lk->keycode[i] != KEY_RESERVED) |
479 | input_report_key (lk->dev, lk->keycode[i], 0); | 477 | input_report_key (lk->dev, lk->keycode[i], 0); |
@@ -501,7 +499,6 @@ lkkbd_interrupt (struct serio *serio, unsigned char data, unsigned int flags, | |||
501 | 499 | ||
502 | default: | 500 | default: |
503 | if (lk->keycode[data] != KEY_RESERVED) { | 501 | if (lk->keycode[data] != KEY_RESERVED) { |
504 | input_regs (lk->dev, regs); | ||
505 | if (!test_bit (lk->keycode[data], lk->dev->key)) | 502 | if (!test_bit (lk->keycode[data], lk->dev->key)) |
506 | input_report_key (lk->dev, lk->keycode[data], 1); | 503 | input_report_key (lk->dev, lk->keycode[data], 1); |
507 | else | 504 | else |
diff --git a/drivers/input/keyboard/locomokbd.c b/drivers/input/keyboard/locomokbd.c index 83906f80ba21..fd33c9cc3272 100644 --- a/drivers/input/keyboard/locomokbd.c +++ b/drivers/input/keyboard/locomokbd.c | |||
@@ -126,7 +126,7 @@ static inline void locomokbd_reset_col(unsigned long membase, int col) | |||
126 | */ | 126 | */ |
127 | 127 | ||
128 | /* Scan the hardware keyboard and push any changes up through the input layer */ | 128 | /* Scan the hardware keyboard and push any changes up through the input layer */ |
129 | static void locomokbd_scankeyboard(struct locomokbd *locomokbd, struct pt_regs *regs) | 129 | static void locomokbd_scankeyboard(struct locomokbd *locomokbd) |
130 | { | 130 | { |
131 | unsigned int row, col, rowd, scancode; | 131 | unsigned int row, col, rowd, scancode; |
132 | unsigned long flags; | 132 | unsigned long flags; |
@@ -135,8 +135,6 @@ static void locomokbd_scankeyboard(struct locomokbd *locomokbd, struct pt_regs * | |||
135 | 135 | ||
136 | spin_lock_irqsave(&locomokbd->lock, flags); | 136 | spin_lock_irqsave(&locomokbd->lock, flags); |
137 | 137 | ||
138 | input_regs(locomokbd->input, regs); | ||
139 | |||
140 | locomokbd_charge_all(membase); | 138 | locomokbd_charge_all(membase); |
141 | 139 | ||
142 | num_pressed = 0; | 140 | num_pressed = 0; |
@@ -171,13 +169,13 @@ static void locomokbd_scankeyboard(struct locomokbd *locomokbd, struct pt_regs * | |||
171 | /* | 169 | /* |
172 | * LoCoMo keyboard interrupt handler. | 170 | * LoCoMo keyboard interrupt handler. |
173 | */ | 171 | */ |
174 | static irqreturn_t locomokbd_interrupt(int irq, void *dev_id, struct pt_regs *regs) | 172 | static irqreturn_t locomokbd_interrupt(int irq, void *dev_id) |
175 | { | 173 | { |
176 | struct locomokbd *locomokbd = dev_id; | 174 | struct locomokbd *locomokbd = dev_id; |
177 | /** wait chattering delay **/ | 175 | /** wait chattering delay **/ |
178 | udelay(100); | 176 | udelay(100); |
179 | 177 | ||
180 | locomokbd_scankeyboard(locomokbd, regs); | 178 | locomokbd_scankeyboard(locomokbd); |
181 | 179 | ||
182 | return IRQ_HANDLED; | 180 | return IRQ_HANDLED; |
183 | } | 181 | } |
diff --git a/drivers/input/keyboard/newtonkbd.c b/drivers/input/keyboard/newtonkbd.c index 40a3f551247e..9282e4e082bd 100644 --- a/drivers/input/keyboard/newtonkbd.c +++ b/drivers/input/keyboard/newtonkbd.c | |||
@@ -65,13 +65,12 @@ struct nkbd { | |||
65 | }; | 65 | }; |
66 | 66 | ||
67 | static irqreturn_t nkbd_interrupt(struct serio *serio, | 67 | static irqreturn_t nkbd_interrupt(struct serio *serio, |
68 | unsigned char data, unsigned int flags, struct pt_regs *regs) | 68 | unsigned char data, unsigned int flags) |
69 | { | 69 | { |
70 | struct nkbd *nkbd = serio_get_drvdata(serio); | 70 | struct nkbd *nkbd = serio_get_drvdata(serio); |
71 | 71 | ||
72 | /* invalid scan codes are probably the init sequence, so we ignore them */ | 72 | /* invalid scan codes are probably the init sequence, so we ignore them */ |
73 | if (nkbd->keycode[data & NKBD_KEY]) { | 73 | if (nkbd->keycode[data & NKBD_KEY]) { |
74 | input_regs(nkbd->dev, regs); | ||
75 | input_report_key(nkbd->dev, nkbd->keycode[data & NKBD_KEY], data & NKBD_PRESS); | 74 | input_report_key(nkbd->dev, nkbd->keycode[data & NKBD_KEY], data & NKBD_PRESS); |
76 | input_sync(nkbd->dev); | 75 | input_sync(nkbd->dev); |
77 | } | 76 | } |
diff --git a/drivers/input/keyboard/omap-keypad.c b/drivers/input/keyboard/omap-keypad.c index d436287d1d2e..5680a6d95b2b 100644 --- a/drivers/input/keyboard/omap-keypad.c +++ b/drivers/input/keyboard/omap-keypad.c | |||
@@ -97,8 +97,7 @@ static u8 get_row_gpio_val(struct omap_kp *omap_kp) | |||
97 | #define get_row_gpio_val(x) 0 | 97 | #define get_row_gpio_val(x) 0 |
98 | #endif | 98 | #endif |
99 | 99 | ||
100 | static irqreturn_t omap_kp_interrupt(int irq, void *dev_id, | 100 | static irqreturn_t omap_kp_interrupt(int irq, void *dev_id) |
101 | struct pt_regs *regs) | ||
102 | { | 101 | { |
103 | struct omap_kp *omap_kp = dev_id; | 102 | struct omap_kp *omap_kp = dev_id; |
104 | 103 | ||
diff --git a/drivers/input/keyboard/spitzkbd.c b/drivers/input/keyboard/spitzkbd.c index e385710233f4..8b18c009e3e0 100644 --- a/drivers/input/keyboard/spitzkbd.c +++ b/drivers/input/keyboard/spitzkbd.c | |||
@@ -176,7 +176,7 @@ static inline int spitzkbd_get_row_status(int col) | |||
176 | */ | 176 | */ |
177 | 177 | ||
178 | /* Scan the hardware keyboard and push any changes up through the input layer */ | 178 | /* Scan the hardware keyboard and push any changes up through the input layer */ |
179 | static void spitzkbd_scankeyboard(struct spitzkbd *spitzkbd_data, struct pt_regs *regs) | 179 | static void spitzkbd_scankeyboard(struct spitzkbd *spitzkbd_data) |
180 | { | 180 | { |
181 | unsigned int row, col, rowd; | 181 | unsigned int row, col, rowd; |
182 | unsigned long flags; | 182 | unsigned long flags; |
@@ -187,8 +187,6 @@ static void spitzkbd_scankeyboard(struct spitzkbd *spitzkbd_data, struct pt_regs | |||
187 | 187 | ||
188 | spin_lock_irqsave(&spitzkbd_data->lock, flags); | 188 | spin_lock_irqsave(&spitzkbd_data->lock, flags); |
189 | 189 | ||
190 | input_regs(spitzkbd_data->input, regs); | ||
191 | |||
192 | num_pressed = 0; | 190 | num_pressed = 0; |
193 | for (col = 0; col < KB_COLS; col++) { | 191 | for (col = 0; col < KB_COLS; col++) { |
194 | /* | 192 | /* |
@@ -239,14 +237,14 @@ static void spitzkbd_scankeyboard(struct spitzkbd *spitzkbd_data, struct pt_regs | |||
239 | /* | 237 | /* |
240 | * spitz keyboard interrupt handler. | 238 | * spitz keyboard interrupt handler. |
241 | */ | 239 | */ |
242 | static irqreturn_t spitzkbd_interrupt(int irq, void *dev_id, struct pt_regs *regs) | 240 | static irqreturn_t spitzkbd_interrupt(int irq, void *dev_id) |
243 | { | 241 | { |
244 | struct spitzkbd *spitzkbd_data = dev_id; | 242 | struct spitzkbd *spitzkbd_data = dev_id; |
245 | 243 | ||
246 | if (!timer_pending(&spitzkbd_data->timer)) { | 244 | if (!timer_pending(&spitzkbd_data->timer)) { |
247 | /** wait chattering delay **/ | 245 | /** wait chattering delay **/ |
248 | udelay(20); | 246 | udelay(20); |
249 | spitzkbd_scankeyboard(spitzkbd_data, regs); | 247 | spitzkbd_scankeyboard(spitzkbd_data); |
250 | } | 248 | } |
251 | 249 | ||
252 | return IRQ_HANDLED; | 250 | return IRQ_HANDLED; |
@@ -267,7 +265,7 @@ static void spitzkbd_timer_callback(unsigned long data) | |||
267 | * We debounce the switches and pass them to the input system. | 265 | * We debounce the switches and pass them to the input system. |
268 | */ | 266 | */ |
269 | 267 | ||
270 | static irqreturn_t spitzkbd_hinge_isr(int irq, void *dev_id, struct pt_regs *regs) | 268 | static irqreturn_t spitzkbd_hinge_isr(int irq, void *dev_id) |
271 | { | 269 | { |
272 | struct spitzkbd *spitzkbd_data = dev_id; | 270 | struct spitzkbd *spitzkbd_data = dev_id; |
273 | 271 | ||
diff --git a/drivers/input/keyboard/stowaway.c b/drivers/input/keyboard/stowaway.c index 04c54c57f25c..e60937d17b1c 100644 --- a/drivers/input/keyboard/stowaway.c +++ b/drivers/input/keyboard/stowaway.c | |||
@@ -71,13 +71,12 @@ struct skbd { | |||
71 | }; | 71 | }; |
72 | 72 | ||
73 | static irqreturn_t skbd_interrupt(struct serio *serio, unsigned char data, | 73 | static irqreturn_t skbd_interrupt(struct serio *serio, unsigned char data, |
74 | unsigned int flags, struct pt_regs *regs) | 74 | unsigned int flags) |
75 | { | 75 | { |
76 | struct skbd *skbd = serio_get_drvdata(serio); | 76 | struct skbd *skbd = serio_get_drvdata(serio); |
77 | struct input_dev *dev = skbd->dev; | 77 | struct input_dev *dev = skbd->dev; |
78 | 78 | ||
79 | if (skbd->keycode[data & SKBD_KEY_MASK]) { | 79 | if (skbd->keycode[data & SKBD_KEY_MASK]) { |
80 | input_regs(dev, regs); | ||
81 | input_report_key(dev, skbd->keycode[data & SKBD_KEY_MASK], | 80 | input_report_key(dev, skbd->keycode[data & SKBD_KEY_MASK], |
82 | !(data & SKBD_RELEASE)); | 81 | !(data & SKBD_RELEASE)); |
83 | input_sync(dev); | 82 | input_sync(dev); |
diff --git a/drivers/input/keyboard/sunkbd.c b/drivers/input/keyboard/sunkbd.c index 9dbd7b85686d..cac4781103c3 100644 --- a/drivers/input/keyboard/sunkbd.c +++ b/drivers/input/keyboard/sunkbd.c | |||
@@ -94,7 +94,7 @@ struct sunkbd { | |||
94 | */ | 94 | */ |
95 | 95 | ||
96 | static irqreturn_t sunkbd_interrupt(struct serio *serio, | 96 | static irqreturn_t sunkbd_interrupt(struct serio *serio, |
97 | unsigned char data, unsigned int flags, struct pt_regs *regs) | 97 | unsigned char data, unsigned int flags) |
98 | { | 98 | { |
99 | struct sunkbd* sunkbd = serio_get_drvdata(serio); | 99 | struct sunkbd* sunkbd = serio_get_drvdata(serio); |
100 | 100 | ||
@@ -129,7 +129,6 @@ static irqreturn_t sunkbd_interrupt(struct serio *serio, | |||
129 | break; | 129 | break; |
130 | 130 | ||
131 | if (sunkbd->keycode[data & SUNKBD_KEY]) { | 131 | if (sunkbd->keycode[data & SUNKBD_KEY]) { |
132 | input_regs(sunkbd->dev, regs); | ||
133 | input_report_key(sunkbd->dev, sunkbd->keycode[data & SUNKBD_KEY], !(data & SUNKBD_RELEASE)); | 132 | input_report_key(sunkbd->dev, sunkbd->keycode[data & SUNKBD_KEY], !(data & SUNKBD_RELEASE)); |
134 | input_sync(sunkbd->dev); | 133 | input_sync(sunkbd->dev); |
135 | } else { | 134 | } else { |
diff --git a/drivers/input/keyboard/xtkbd.c b/drivers/input/keyboard/xtkbd.c index 0821d53cf0c1..8c11dc935454 100644 --- a/drivers/input/keyboard/xtkbd.c +++ b/drivers/input/keyboard/xtkbd.c | |||
@@ -64,7 +64,7 @@ struct xtkbd { | |||
64 | }; | 64 | }; |
65 | 65 | ||
66 | static irqreturn_t xtkbd_interrupt(struct serio *serio, | 66 | static irqreturn_t xtkbd_interrupt(struct serio *serio, |
67 | unsigned char data, unsigned int flags, struct pt_regs *regs) | 67 | unsigned char data, unsigned int flags) |
68 | { | 68 | { |
69 | struct xtkbd *xtkbd = serio_get_drvdata(serio); | 69 | struct xtkbd *xtkbd = serio_get_drvdata(serio); |
70 | 70 | ||
@@ -75,7 +75,6 @@ static irqreturn_t xtkbd_interrupt(struct serio *serio, | |||
75 | default: | 75 | default: |
76 | 76 | ||
77 | if (xtkbd->keycode[data & XTKBD_KEY]) { | 77 | if (xtkbd->keycode[data & XTKBD_KEY]) { |
78 | input_regs(xtkbd->dev, regs); | ||
79 | input_report_key(xtkbd->dev, xtkbd->keycode[data & XTKBD_KEY], !(data & XTKBD_RELEASE)); | 78 | input_report_key(xtkbd->dev, xtkbd->keycode[data & XTKBD_KEY], !(data & XTKBD_RELEASE)); |
80 | input_sync(xtkbd->dev); | 79 | input_sync(xtkbd->dev); |
81 | } else { | 80 | } else { |
diff --git a/drivers/input/misc/Kconfig b/drivers/input/misc/Kconfig index a6dfc7455733..ba0e88c64e1e 100644 --- a/drivers/input/misc/Kconfig +++ b/drivers/input/misc/Kconfig | |||
@@ -73,7 +73,7 @@ config INPUT_UINPUT | |||
73 | 73 | ||
74 | config HP_SDC_RTC | 74 | config HP_SDC_RTC |
75 | tristate "HP SDC Real Time Clock" | 75 | tristate "HP SDC Real Time Clock" |
76 | depends on GSC | 76 | depends on GSC || HP300 |
77 | select HP_SDC | 77 | select HP_SDC |
78 | help | 78 | help |
79 | Say Y here if you want to support the built-in real time clock | 79 | Say Y here if you want to support the built-in real time clock |
diff --git a/drivers/input/misc/ixp4xx-beeper.c b/drivers/input/misc/ixp4xx-beeper.c index 805b636e73d9..105c6fc27823 100644 --- a/drivers/input/misc/ixp4xx-beeper.c +++ b/drivers/input/misc/ixp4xx-beeper.c | |||
@@ -79,7 +79,7 @@ static int ixp4xx_spkr_event(struct input_dev *dev, unsigned int type, unsigned | |||
79 | return 0; | 79 | return 0; |
80 | } | 80 | } |
81 | 81 | ||
82 | static irqreturn_t ixp4xx_spkr_interrupt(int irq, void *dev_id, struct pt_regs *regs) | 82 | static irqreturn_t ixp4xx_spkr_interrupt(int irq, void *dev_id) |
83 | { | 83 | { |
84 | /* clear interrupt */ | 84 | /* clear interrupt */ |
85 | *IXP4XX_OSST = IXP4XX_OSST_TIMER_2_PEND; | 85 | *IXP4XX_OSST = IXP4XX_OSST_TIMER_2_PEND; |
diff --git a/drivers/input/mouse/Kconfig b/drivers/input/mouse/Kconfig index f15ccf781688..35d998c3e578 100644 --- a/drivers/input/mouse/Kconfig +++ b/drivers/input/mouse/Kconfig | |||
@@ -119,7 +119,7 @@ config MOUSE_VSXXXAA | |||
119 | 119 | ||
120 | config MOUSE_HIL | 120 | config MOUSE_HIL |
121 | tristate "HIL pointers (mice etc)." | 121 | tristate "HIL pointers (mice etc)." |
122 | depends on GSC | 122 | depends on GSC || HP300 |
123 | select HP_SDC | 123 | select HP_SDC |
124 | select HIL_MLC | 124 | select HIL_MLC |
125 | help | 125 | help |
diff --git a/drivers/input/mouse/alps.c b/drivers/input/mouse/alps.c index 450b68a619fd..4e71a66fc7fc 100644 --- a/drivers/input/mouse/alps.c +++ b/drivers/input/mouse/alps.c | |||
@@ -76,7 +76,7 @@ static const struct alps_model_info alps_model_data[] = { | |||
76 | * on a dualpoint, etc. | 76 | * on a dualpoint, etc. |
77 | */ | 77 | */ |
78 | 78 | ||
79 | static void alps_process_packet(struct psmouse *psmouse, struct pt_regs *regs) | 79 | static void alps_process_packet(struct psmouse *psmouse) |
80 | { | 80 | { |
81 | struct alps_data *priv = psmouse->private; | 81 | struct alps_data *priv = psmouse->private; |
82 | unsigned char *packet = psmouse->packet; | 82 | unsigned char *packet = psmouse->packet; |
@@ -85,8 +85,6 @@ static void alps_process_packet(struct psmouse *psmouse, struct pt_regs *regs) | |||
85 | int x, y, z, ges, fin, left, right, middle; | 85 | int x, y, z, ges, fin, left, right, middle; |
86 | int back = 0, forward = 0; | 86 | int back = 0, forward = 0; |
87 | 87 | ||
88 | input_regs(dev, regs); | ||
89 | |||
90 | if ((packet[0] & 0xc8) == 0x08) { /* 3-byte PS/2 packet */ | 88 | if ((packet[0] & 0xc8) == 0x08) { /* 3-byte PS/2 packet */ |
91 | input_report_key(dev2, BTN_LEFT, packet[0] & 1); | 89 | input_report_key(dev2, BTN_LEFT, packet[0] & 1); |
92 | input_report_key(dev2, BTN_RIGHT, packet[0] & 2); | 90 | input_report_key(dev2, BTN_RIGHT, packet[0] & 2); |
@@ -181,13 +179,13 @@ static void alps_process_packet(struct psmouse *psmouse, struct pt_regs *regs) | |||
181 | input_sync(dev); | 179 | input_sync(dev); |
182 | } | 180 | } |
183 | 181 | ||
184 | static psmouse_ret_t alps_process_byte(struct psmouse *psmouse, struct pt_regs *regs) | 182 | static psmouse_ret_t alps_process_byte(struct psmouse *psmouse) |
185 | { | 183 | { |
186 | struct alps_data *priv = psmouse->private; | 184 | struct alps_data *priv = psmouse->private; |
187 | 185 | ||
188 | if ((psmouse->packet[0] & 0xc8) == 0x08) { /* PS/2 packet */ | 186 | if ((psmouse->packet[0] & 0xc8) == 0x08) { /* PS/2 packet */ |
189 | if (psmouse->pktcnt == 3) { | 187 | if (psmouse->pktcnt == 3) { |
190 | alps_process_packet(psmouse, regs); | 188 | alps_process_packet(psmouse); |
191 | return PSMOUSE_FULL_PACKET; | 189 | return PSMOUSE_FULL_PACKET; |
192 | } | 190 | } |
193 | return PSMOUSE_GOOD_DATA; | 191 | return PSMOUSE_GOOD_DATA; |
@@ -202,7 +200,7 @@ static psmouse_ret_t alps_process_byte(struct psmouse *psmouse, struct pt_regs * | |||
202 | return PSMOUSE_BAD_DATA; | 200 | return PSMOUSE_BAD_DATA; |
203 | 201 | ||
204 | if (psmouse->pktcnt == 6) { | 202 | if (psmouse->pktcnt == 6) { |
205 | alps_process_packet(psmouse, regs); | 203 | alps_process_packet(psmouse); |
206 | return PSMOUSE_FULL_PACKET; | 204 | return PSMOUSE_FULL_PACKET; |
207 | } | 205 | } |
208 | 206 | ||
diff --git a/drivers/input/mouse/amimouse.c b/drivers/input/mouse/amimouse.c index c8b2cc9f184c..599a7b2dc519 100644 --- a/drivers/input/mouse/amimouse.c +++ b/drivers/input/mouse/amimouse.c | |||
@@ -36,7 +36,7 @@ MODULE_LICENSE("GPL"); | |||
36 | static int amimouse_lastx, amimouse_lasty; | 36 | static int amimouse_lastx, amimouse_lasty; |
37 | static struct input_dev *amimouse_dev; | 37 | static struct input_dev *amimouse_dev; |
38 | 38 | ||
39 | static irqreturn_t amimouse_interrupt(int irq, void *dummy, struct pt_regs *fp) | 39 | static irqreturn_t amimouse_interrupt(int irq, void *dummy) |
40 | { | 40 | { |
41 | unsigned short joy0dat, potgor; | 41 | unsigned short joy0dat, potgor; |
42 | int nx, ny, dx, dy; | 42 | int nx, ny, dx, dy; |
@@ -59,8 +59,6 @@ static irqreturn_t amimouse_interrupt(int irq, void *dummy, struct pt_regs *fp) | |||
59 | 59 | ||
60 | potgor = amiga_custom.potgor; | 60 | potgor = amiga_custom.potgor; |
61 | 61 | ||
62 | input_regs(amimouse_dev, fp); | ||
63 | |||
64 | input_report_rel(amimouse_dev, REL_X, dx); | 62 | input_report_rel(amimouse_dev, REL_X, dx); |
65 | input_report_rel(amimouse_dev, REL_Y, dy); | 63 | input_report_rel(amimouse_dev, REL_Y, dy); |
66 | 64 | ||
diff --git a/drivers/input/mouse/hil_ptr.c b/drivers/input/mouse/hil_ptr.c index 69f02178c528..4f2b503c1ac7 100644 --- a/drivers/input/mouse/hil_ptr.c +++ b/drivers/input/mouse/hil_ptr.c | |||
@@ -190,7 +190,7 @@ static void hil_ptr_process_err(struct hil_ptr *ptr) { | |||
190 | } | 190 | } |
191 | 191 | ||
192 | static irqreturn_t hil_ptr_interrupt(struct serio *serio, | 192 | static irqreturn_t hil_ptr_interrupt(struct serio *serio, |
193 | unsigned char data, unsigned int flags, struct pt_regs *regs) | 193 | unsigned char data, unsigned int flags) |
194 | { | 194 | { |
195 | struct hil_ptr *ptr; | 195 | struct hil_ptr *ptr; |
196 | hil_packet packet; | 196 | hil_packet packet; |
@@ -375,7 +375,7 @@ static int hil_ptr_connect(struct serio *serio, struct serio_driver *driver) | |||
375 | ptr->dev->id.vendor = PCI_VENDOR_ID_HP; | 375 | ptr->dev->id.vendor = PCI_VENDOR_ID_HP; |
376 | ptr->dev->id.product = 0x0001; /* TODO: get from ptr->rsc */ | 376 | ptr->dev->id.product = 0x0001; /* TODO: get from ptr->rsc */ |
377 | ptr->dev->id.version = 0x0100; /* TODO: get from ptr->rsc */ | 377 | ptr->dev->id.version = 0x0100; /* TODO: get from ptr->rsc */ |
378 | ptr->dev->dev = &serio->dev; | 378 | ptr->dev->cdev.dev = &serio->dev; |
379 | 379 | ||
380 | input_register_device(ptr->dev); | 380 | input_register_device(ptr->dev); |
381 | printk(KERN_INFO "input: %s (%s), ID: %d\n", | 381 | printk(KERN_INFO "input: %s (%s), ID: %d\n", |
diff --git a/drivers/input/mouse/inport.c b/drivers/input/mouse/inport.c index 50f1fed10be4..e1252fa9a107 100644 --- a/drivers/input/mouse/inport.c +++ b/drivers/input/mouse/inport.c | |||
@@ -88,15 +88,13 @@ __obsolete_setup("inport_irq="); | |||
88 | 88 | ||
89 | static struct input_dev *inport_dev; | 89 | static struct input_dev *inport_dev; |
90 | 90 | ||
91 | static irqreturn_t inport_interrupt(int irq, void *dev_id, struct pt_regs *regs) | 91 | static irqreturn_t inport_interrupt(int irq, void *dev_id) |
92 | { | 92 | { |
93 | unsigned char buttons; | 93 | unsigned char buttons; |
94 | 94 | ||
95 | outb(INPORT_REG_MODE, INPORT_CONTROL_PORT); | 95 | outb(INPORT_REG_MODE, INPORT_CONTROL_PORT); |
96 | outb(INPORT_MODE_HOLD | INPORT_MODE_IRQ | INPORT_MODE_BASE, INPORT_DATA_PORT); | 96 | outb(INPORT_MODE_HOLD | INPORT_MODE_IRQ | INPORT_MODE_BASE, INPORT_DATA_PORT); |
97 | 97 | ||
98 | input_regs(inport_dev, regs); | ||
99 | |||
100 | outb(INPORT_REG_X, INPORT_CONTROL_PORT); | 98 | outb(INPORT_REG_X, INPORT_CONTROL_PORT); |
101 | input_report_rel(inport_dev, REL_X, inb(INPORT_DATA_PORT)); | 99 | input_report_rel(inport_dev, REL_X, inb(INPORT_DATA_PORT)); |
102 | 100 | ||
diff --git a/drivers/input/mouse/lifebook.c b/drivers/input/mouse/lifebook.c index 5e9d25067513..c57e8853b949 100644 --- a/drivers/input/mouse/lifebook.c +++ b/drivers/input/mouse/lifebook.c | |||
@@ -62,7 +62,7 @@ static struct dmi_system_id lifebook_dmi_table[] = { | |||
62 | }; | 62 | }; |
63 | 63 | ||
64 | 64 | ||
65 | static psmouse_ret_t lifebook_process_byte(struct psmouse *psmouse, struct pt_regs *regs) | 65 | static psmouse_ret_t lifebook_process_byte(struct psmouse *psmouse) |
66 | { | 66 | { |
67 | unsigned char *packet = psmouse->packet; | 67 | unsigned char *packet = psmouse->packet; |
68 | struct input_dev *dev = psmouse->dev; | 68 | struct input_dev *dev = psmouse->dev; |
@@ -70,8 +70,6 @@ static psmouse_ret_t lifebook_process_byte(struct psmouse *psmouse, struct pt_re | |||
70 | if (psmouse->pktcnt != 3) | 70 | if (psmouse->pktcnt != 3) |
71 | return PSMOUSE_GOOD_DATA; | 71 | return PSMOUSE_GOOD_DATA; |
72 | 72 | ||
73 | input_regs(dev, regs); | ||
74 | |||
75 | /* calculate X and Y */ | 73 | /* calculate X and Y */ |
76 | if ((packet[0] & 0x08) == 0x00) { | 74 | if ((packet[0] & 0x08) == 0x00) { |
77 | input_report_abs(dev, ABS_X, | 75 | input_report_abs(dev, ABS_X, |
diff --git a/drivers/input/mouse/logibm.c b/drivers/input/mouse/logibm.c index 9c7ce38806d7..8e9c2f3d69a8 100644 --- a/drivers/input/mouse/logibm.c +++ b/drivers/input/mouse/logibm.c | |||
@@ -79,7 +79,7 @@ __obsolete_setup("logibm_irq="); | |||
79 | 79 | ||
80 | static struct input_dev *logibm_dev; | 80 | static struct input_dev *logibm_dev; |
81 | 81 | ||
82 | static irqreturn_t logibm_interrupt(int irq, void *dev_id, struct pt_regs *regs) | 82 | static irqreturn_t logibm_interrupt(int irq, void *dev_id) |
83 | { | 83 | { |
84 | char dx, dy; | 84 | char dx, dy; |
85 | unsigned char buttons; | 85 | unsigned char buttons; |
@@ -95,7 +95,6 @@ static irqreturn_t logibm_interrupt(int irq, void *dev_id, struct pt_regs *regs) | |||
95 | dy |= (buttons & 0xf) << 4; | 95 | dy |= (buttons & 0xf) << 4; |
96 | buttons = ~buttons >> 5; | 96 | buttons = ~buttons >> 5; |
97 | 97 | ||
98 | input_regs(logibm_dev, regs); | ||
99 | input_report_rel(logibm_dev, REL_X, dx); | 98 | input_report_rel(logibm_dev, REL_X, dx); |
100 | input_report_rel(logibm_dev, REL_Y, dy); | 99 | input_report_rel(logibm_dev, REL_Y, dy); |
101 | input_report_key(logibm_dev, BTN_RIGHT, buttons & 1); | 100 | input_report_key(logibm_dev, BTN_RIGHT, buttons & 1); |
diff --git a/drivers/input/mouse/logips2pp.c b/drivers/input/mouse/logips2pp.c index 7972eecbcfe4..8a4f862709e7 100644 --- a/drivers/input/mouse/logips2pp.c +++ b/drivers/input/mouse/logips2pp.c | |||
@@ -39,7 +39,7 @@ struct ps2pp_info { | |||
39 | * Process a PS2++ or PS2T++ packet. | 39 | * Process a PS2++ or PS2T++ packet. |
40 | */ | 40 | */ |
41 | 41 | ||
42 | static psmouse_ret_t ps2pp_process_byte(struct psmouse *psmouse, struct pt_regs *regs) | 42 | static psmouse_ret_t ps2pp_process_byte(struct psmouse *psmouse) |
43 | { | 43 | { |
44 | struct input_dev *dev = psmouse->dev; | 44 | struct input_dev *dev = psmouse->dev; |
45 | unsigned char *packet = psmouse->packet; | 45 | unsigned char *packet = psmouse->packet; |
@@ -51,8 +51,6 @@ static psmouse_ret_t ps2pp_process_byte(struct psmouse *psmouse, struct pt_regs | |||
51 | * Full packet accumulated, process it | 51 | * Full packet accumulated, process it |
52 | */ | 52 | */ |
53 | 53 | ||
54 | input_regs(dev, regs); | ||
55 | |||
56 | if ((packet[0] & 0x48) == 0x48 && (packet[1] & 0x02) == 0x02) { | 54 | if ((packet[0] & 0x48) == 0x48 && (packet[1] & 0x02) == 0x02) { |
57 | 55 | ||
58 | /* Logitech extended packet */ | 56 | /* Logitech extended packet */ |
diff --git a/drivers/input/mouse/pc110pad.c b/drivers/input/mouse/pc110pad.c index d284ea712151..8c075aa7223b 100644 --- a/drivers/input/mouse/pc110pad.c +++ b/drivers/input/mouse/pc110pad.c | |||
@@ -57,7 +57,7 @@ static struct input_dev *pc110pad_dev; | |||
57 | static int pc110pad_data[3]; | 57 | static int pc110pad_data[3]; |
58 | static int pc110pad_count; | 58 | static int pc110pad_count; |
59 | 59 | ||
60 | static irqreturn_t pc110pad_interrupt(int irq, void *ptr, struct pt_regs *regs) | 60 | static irqreturn_t pc110pad_interrupt(int irq, void *ptr) |
61 | { | 61 | { |
62 | int value = inb_p(pc110pad_io); | 62 | int value = inb_p(pc110pad_io); |
63 | int handshake = inb_p(pc110pad_io + 2); | 63 | int handshake = inb_p(pc110pad_io + 2); |
@@ -71,7 +71,6 @@ static irqreturn_t pc110pad_interrupt(int irq, void *ptr, struct pt_regs *regs) | |||
71 | if (pc110pad_count < 3) | 71 | if (pc110pad_count < 3) |
72 | return IRQ_HANDLED; | 72 | return IRQ_HANDLED; |
73 | 73 | ||
74 | input_regs(pc110pad_dev, regs); | ||
75 | input_report_key(pc110pad_dev, BTN_TOUCH, | 74 | input_report_key(pc110pad_dev, BTN_TOUCH, |
76 | pc110pad_data[0] & 0x01); | 75 | pc110pad_data[0] & 0x01); |
77 | input_report_abs(pc110pad_dev, ABS_X, | 76 | input_report_abs(pc110pad_dev, ABS_X, |
@@ -91,9 +90,9 @@ static void pc110pad_close(struct input_dev *dev) | |||
91 | 90 | ||
92 | static int pc110pad_open(struct input_dev *dev) | 91 | static int pc110pad_open(struct input_dev *dev) |
93 | { | 92 | { |
94 | pc110pad_interrupt(0, NULL, NULL); | 93 | pc110pad_interrupt(0, NULL); |
95 | pc110pad_interrupt(0, NULL, NULL); | 94 | pc110pad_interrupt(0, NULL); |
96 | pc110pad_interrupt(0, NULL, NULL); | 95 | pc110pad_interrupt(0, NULL); |
97 | outb(PC110PAD_ON, pc110pad_io + 2); | 96 | outb(PC110PAD_ON, pc110pad_io + 2); |
98 | pc110pad_count = 0; | 97 | pc110pad_count = 0; |
99 | 98 | ||
diff --git a/drivers/input/mouse/psmouse-base.c b/drivers/input/mouse/psmouse-base.c index 9fb7eb6b0f71..6f9b2c7cc9c2 100644 --- a/drivers/input/mouse/psmouse-base.c +++ b/drivers/input/mouse/psmouse-base.c | |||
@@ -124,7 +124,7 @@ struct psmouse_protocol { | |||
124 | * relevant events to the input module once full packet has arrived. | 124 | * relevant events to the input module once full packet has arrived. |
125 | */ | 125 | */ |
126 | 126 | ||
127 | static psmouse_ret_t psmouse_process_byte(struct psmouse *psmouse, struct pt_regs *regs) | 127 | static psmouse_ret_t psmouse_process_byte(struct psmouse *psmouse) |
128 | { | 128 | { |
129 | struct input_dev *dev = psmouse->dev; | 129 | struct input_dev *dev = psmouse->dev; |
130 | unsigned char *packet = psmouse->packet; | 130 | unsigned char *packet = psmouse->packet; |
@@ -136,8 +136,6 @@ static psmouse_ret_t psmouse_process_byte(struct psmouse *psmouse, struct pt_reg | |||
136 | * Full packet accumulated, process it | 136 | * Full packet accumulated, process it |
137 | */ | 137 | */ |
138 | 138 | ||
139 | input_regs(dev, regs); | ||
140 | |||
141 | /* | 139 | /* |
142 | * Scroll wheel on IntelliMice, scroll buttons on NetMice | 140 | * Scroll wheel on IntelliMice, scroll buttons on NetMice |
143 | */ | 141 | */ |
@@ -231,9 +229,9 @@ static void psmouse_set_state(struct psmouse *psmouse, enum psmouse_state new_st | |||
231 | * by calling corresponding protocol handler. | 229 | * by calling corresponding protocol handler. |
232 | */ | 230 | */ |
233 | 231 | ||
234 | static int psmouse_handle_byte(struct psmouse *psmouse, struct pt_regs *regs) | 232 | static int psmouse_handle_byte(struct psmouse *psmouse) |
235 | { | 233 | { |
236 | psmouse_ret_t rc = psmouse->protocol_handler(psmouse, regs); | 234 | psmouse_ret_t rc = psmouse->protocol_handler(psmouse); |
237 | 235 | ||
238 | switch (rc) { | 236 | switch (rc) { |
239 | case PSMOUSE_BAD_DATA: | 237 | case PSMOUSE_BAD_DATA: |
@@ -271,7 +269,7 @@ static int psmouse_handle_byte(struct psmouse *psmouse, struct pt_regs *regs) | |||
271 | */ | 269 | */ |
272 | 270 | ||
273 | static irqreturn_t psmouse_interrupt(struct serio *serio, | 271 | static irqreturn_t psmouse_interrupt(struct serio *serio, |
274 | unsigned char data, unsigned int flags, struct pt_regs *regs) | 272 | unsigned char data, unsigned int flags) |
275 | { | 273 | { |
276 | struct psmouse *psmouse = serio_get_drvdata(serio); | 274 | struct psmouse *psmouse = serio_get_drvdata(serio); |
277 | 275 | ||
@@ -327,7 +325,7 @@ static irqreturn_t psmouse_interrupt(struct serio *serio, | |||
327 | * Not a new device, try processing first byte normally | 325 | * Not a new device, try processing first byte normally |
328 | */ | 326 | */ |
329 | psmouse->pktcnt = 1; | 327 | psmouse->pktcnt = 1; |
330 | if (psmouse_handle_byte(psmouse, regs)) | 328 | if (psmouse_handle_byte(psmouse)) |
331 | goto out; | 329 | goto out; |
332 | 330 | ||
333 | psmouse->packet[psmouse->pktcnt++] = data; | 331 | psmouse->packet[psmouse->pktcnt++] = data; |
@@ -346,7 +344,7 @@ static irqreturn_t psmouse_interrupt(struct serio *serio, | |||
346 | } | 344 | } |
347 | 345 | ||
348 | psmouse->last = jiffies; | 346 | psmouse->last = jiffies; |
349 | psmouse_handle_byte(psmouse, regs); | 347 | psmouse_handle_byte(psmouse); |
350 | 348 | ||
351 | out: | 349 | out: |
352 | return IRQ_HANDLED; | 350 | return IRQ_HANDLED; |
@@ -940,7 +938,7 @@ static void psmouse_resync(void *p) | |||
940 | psmouse_set_state(psmouse, PSMOUSE_CMD_MODE); | 938 | psmouse_set_state(psmouse, PSMOUSE_CMD_MODE); |
941 | for (i = 0; i < psmouse->pktsize; i++) { | 939 | for (i = 0; i < psmouse->pktsize; i++) { |
942 | psmouse->pktcnt++; | 940 | psmouse->pktcnt++; |
943 | rc = psmouse->protocol_handler(psmouse, NULL); | 941 | rc = psmouse->protocol_handler(psmouse); |
944 | if (rc != PSMOUSE_GOOD_DATA) | 942 | if (rc != PSMOUSE_GOOD_DATA) |
945 | break; | 943 | break; |
946 | } | 944 | } |
diff --git a/drivers/input/mouse/psmouse.h b/drivers/input/mouse/psmouse.h index 4d9107fba6a1..1b74cae8a556 100644 --- a/drivers/input/mouse/psmouse.h +++ b/drivers/input/mouse/psmouse.h | |||
@@ -62,7 +62,7 @@ struct psmouse { | |||
62 | unsigned int resync_time; | 62 | unsigned int resync_time; |
63 | unsigned int smartscroll; /* Logitech only */ | 63 | unsigned int smartscroll; /* Logitech only */ |
64 | 64 | ||
65 | psmouse_ret_t (*protocol_handler)(struct psmouse *psmouse, struct pt_regs *regs); | 65 | psmouse_ret_t (*protocol_handler)(struct psmouse *psmouse); |
66 | void (*set_rate)(struct psmouse *psmouse, unsigned int rate); | 66 | void (*set_rate)(struct psmouse *psmouse, unsigned int rate); |
67 | void (*set_resolution)(struct psmouse *psmouse, unsigned int resolution); | 67 | void (*set_resolution)(struct psmouse *psmouse, unsigned int resolution); |
68 | 68 | ||
diff --git a/drivers/input/mouse/rpcmouse.c b/drivers/input/mouse/rpcmouse.c index 872b30bf7aad..ea0468569610 100644 --- a/drivers/input/mouse/rpcmouse.c +++ b/drivers/input/mouse/rpcmouse.c | |||
@@ -36,7 +36,7 @@ MODULE_LICENSE("GPL"); | |||
36 | static short rpcmouse_lastx, rpcmouse_lasty; | 36 | static short rpcmouse_lastx, rpcmouse_lasty; |
37 | static struct input_dev *rpcmouse_dev; | 37 | static struct input_dev *rpcmouse_dev; |
38 | 38 | ||
39 | static irqreturn_t rpcmouse_irq(int irq, void *dev_id, struct pt_regs *regs) | 39 | static irqreturn_t rpcmouse_irq(int irq, void *dev_id) |
40 | { | 40 | { |
41 | struct input_dev *dev = dev_id; | 41 | struct input_dev *dev = dev_id; |
42 | short x, y, dx, dy, b; | 42 | short x, y, dx, dy, b; |
@@ -51,8 +51,6 @@ static irqreturn_t rpcmouse_irq(int irq, void *dev_id, struct pt_regs *regs) | |||
51 | rpcmouse_lastx = x; | 51 | rpcmouse_lastx = x; |
52 | rpcmouse_lasty = y; | 52 | rpcmouse_lasty = y; |
53 | 53 | ||
54 | input_regs(dev, regs); | ||
55 | |||
56 | input_report_rel(dev, REL_X, dx); | 54 | input_report_rel(dev, REL_X, dx); |
57 | input_report_rel(dev, REL_Y, -dy); | 55 | input_report_rel(dev, REL_Y, -dy); |
58 | 56 | ||
diff --git a/drivers/input/mouse/sermouse.c b/drivers/input/mouse/sermouse.c index 680b32353884..2a272c5daf08 100644 --- a/drivers/input/mouse/sermouse.c +++ b/drivers/input/mouse/sermouse.c | |||
@@ -61,13 +61,11 @@ struct sermouse { | |||
61 | * second, which is as good as a PS/2 or USB mouse. | 61 | * second, which is as good as a PS/2 or USB mouse. |
62 | */ | 62 | */ |
63 | 63 | ||
64 | static void sermouse_process_msc(struct sermouse *sermouse, signed char data, struct pt_regs *regs) | 64 | static void sermouse_process_msc(struct sermouse *sermouse, signed char data) |
65 | { | 65 | { |
66 | struct input_dev *dev = sermouse->dev; | 66 | struct input_dev *dev = sermouse->dev; |
67 | signed char *buf = sermouse->buf; | 67 | signed char *buf = sermouse->buf; |
68 | 68 | ||
69 | input_regs(dev, regs); | ||
70 | |||
71 | switch (sermouse->count) { | 69 | switch (sermouse->count) { |
72 | 70 | ||
73 | case 0: | 71 | case 0: |
@@ -104,15 +102,13 @@ static void sermouse_process_msc(struct sermouse *sermouse, signed char data, st | |||
104 | * standard 3-byte packets and 1200 bps. | 102 | * standard 3-byte packets and 1200 bps. |
105 | */ | 103 | */ |
106 | 104 | ||
107 | static void sermouse_process_ms(struct sermouse *sermouse, signed char data, struct pt_regs *regs) | 105 | static void sermouse_process_ms(struct sermouse *sermouse, signed char data) |
108 | { | 106 | { |
109 | struct input_dev *dev = sermouse->dev; | 107 | struct input_dev *dev = sermouse->dev; |
110 | signed char *buf = sermouse->buf; | 108 | signed char *buf = sermouse->buf; |
111 | 109 | ||
112 | if (data & 0x40) sermouse->count = 0; | 110 | if (data & 0x40) sermouse->count = 0; |
113 | 111 | ||
114 | input_regs(dev, regs); | ||
115 | |||
116 | switch (sermouse->count) { | 112 | switch (sermouse->count) { |
117 | 113 | ||
118 | case 0: | 114 | case 0: |
@@ -206,7 +202,7 @@ static void sermouse_process_ms(struct sermouse *sermouse, signed char data, str | |||
206 | */ | 202 | */ |
207 | 203 | ||
208 | static irqreturn_t sermouse_interrupt(struct serio *serio, | 204 | static irqreturn_t sermouse_interrupt(struct serio *serio, |
209 | unsigned char data, unsigned int flags, struct pt_regs *regs) | 205 | unsigned char data, unsigned int flags) |
210 | { | 206 | { |
211 | struct sermouse *sermouse = serio_get_drvdata(serio); | 207 | struct sermouse *sermouse = serio_get_drvdata(serio); |
212 | 208 | ||
@@ -214,9 +210,9 @@ static irqreturn_t sermouse_interrupt(struct serio *serio, | |||
214 | sermouse->last = jiffies; | 210 | sermouse->last = jiffies; |
215 | 211 | ||
216 | if (sermouse->type > SERIO_SUN) | 212 | if (sermouse->type > SERIO_SUN) |
217 | sermouse_process_ms(sermouse, data, regs); | 213 | sermouse_process_ms(sermouse, data); |
218 | else | 214 | else |
219 | sermouse_process_msc(sermouse, data, regs); | 215 | sermouse_process_msc(sermouse, data); |
220 | return IRQ_HANDLED; | 216 | return IRQ_HANDLED; |
221 | } | 217 | } |
222 | 218 | ||
diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c index 392108c436ba..49ac696d6cff 100644 --- a/drivers/input/mouse/synaptics.c +++ b/drivers/input/mouse/synaptics.c | |||
@@ -216,13 +216,13 @@ static void synaptics_pass_pt_packet(struct serio *ptport, unsigned char *packet | |||
216 | struct psmouse *child = serio_get_drvdata(ptport); | 216 | struct psmouse *child = serio_get_drvdata(ptport); |
217 | 217 | ||
218 | if (child && child->state == PSMOUSE_ACTIVATED) { | 218 | if (child && child->state == PSMOUSE_ACTIVATED) { |
219 | serio_interrupt(ptport, packet[1], 0, NULL); | 219 | serio_interrupt(ptport, packet[1], 0); |
220 | serio_interrupt(ptport, packet[4], 0, NULL); | 220 | serio_interrupt(ptport, packet[4], 0); |
221 | serio_interrupt(ptport, packet[5], 0, NULL); | 221 | serio_interrupt(ptport, packet[5], 0); |
222 | if (child->pktsize == 4) | 222 | if (child->pktsize == 4) |
223 | serio_interrupt(ptport, packet[2], 0, NULL); | 223 | serio_interrupt(ptport, packet[2], 0); |
224 | } else | 224 | } else |
225 | serio_interrupt(ptport, packet[1], 0, NULL); | 225 | serio_interrupt(ptport, packet[1], 0); |
226 | } | 226 | } |
227 | 227 | ||
228 | static void synaptics_pt_activate(struct psmouse *psmouse) | 228 | static void synaptics_pt_activate(struct psmouse *psmouse) |
@@ -469,13 +469,10 @@ static unsigned char synaptics_detect_pkt_type(struct psmouse *psmouse) | |||
469 | return SYN_NEWABS_STRICT; | 469 | return SYN_NEWABS_STRICT; |
470 | } | 470 | } |
471 | 471 | ||
472 | static psmouse_ret_t synaptics_process_byte(struct psmouse *psmouse, struct pt_regs *regs) | 472 | static psmouse_ret_t synaptics_process_byte(struct psmouse *psmouse) |
473 | { | 473 | { |
474 | struct input_dev *dev = psmouse->dev; | ||
475 | struct synaptics_data *priv = psmouse->private; | 474 | struct synaptics_data *priv = psmouse->private; |
476 | 475 | ||
477 | input_regs(dev, regs); | ||
478 | |||
479 | if (psmouse->pktcnt >= 6) { /* Full packet received */ | 476 | if (psmouse->pktcnt >= 6) { /* Full packet received */ |
480 | if (unlikely(priv->pkt_type == SYN_NEWABS)) | 477 | if (unlikely(priv->pkt_type == SYN_NEWABS)) |
481 | priv->pkt_type = synaptics_detect_pkt_type(psmouse); | 478 | priv->pkt_type = synaptics_detect_pkt_type(psmouse); |
diff --git a/drivers/input/mouse/vsxxxaa.c b/drivers/input/mouse/vsxxxaa.c index 47edcfd022ba..ffdb50eee93d 100644 --- a/drivers/input/mouse/vsxxxaa.c +++ b/drivers/input/mouse/vsxxxaa.c | |||
@@ -211,7 +211,7 @@ vsxxxaa_smells_like_packet (struct vsxxxaa *mouse, unsigned char type, size_t le | |||
211 | } | 211 | } |
212 | 212 | ||
213 | static void | 213 | static void |
214 | vsxxxaa_handle_REL_packet (struct vsxxxaa *mouse, struct pt_regs *regs) | 214 | vsxxxaa_handle_REL_packet (struct vsxxxaa *mouse) |
215 | { | 215 | { |
216 | struct input_dev *dev = mouse->dev; | 216 | struct input_dev *dev = mouse->dev; |
217 | unsigned char *buf = mouse->buf; | 217 | unsigned char *buf = mouse->buf; |
@@ -258,7 +258,6 @@ vsxxxaa_handle_REL_packet (struct vsxxxaa *mouse, struct pt_regs *regs) | |||
258 | /* | 258 | /* |
259 | * Report what we've found so far... | 259 | * Report what we've found so far... |
260 | */ | 260 | */ |
261 | input_regs (dev, regs); | ||
262 | input_report_key (dev, BTN_LEFT, left); | 261 | input_report_key (dev, BTN_LEFT, left); |
263 | input_report_key (dev, BTN_MIDDLE, middle); | 262 | input_report_key (dev, BTN_MIDDLE, middle); |
264 | input_report_key (dev, BTN_RIGHT, right); | 263 | input_report_key (dev, BTN_RIGHT, right); |
@@ -269,7 +268,7 @@ vsxxxaa_handle_REL_packet (struct vsxxxaa *mouse, struct pt_regs *regs) | |||
269 | } | 268 | } |
270 | 269 | ||
271 | static void | 270 | static void |
272 | vsxxxaa_handle_ABS_packet (struct vsxxxaa *mouse, struct pt_regs *regs) | 271 | vsxxxaa_handle_ABS_packet (struct vsxxxaa *mouse) |
273 | { | 272 | { |
274 | struct input_dev *dev = mouse->dev; | 273 | struct input_dev *dev = mouse->dev; |
275 | unsigned char *buf = mouse->buf; | 274 | unsigned char *buf = mouse->buf; |
@@ -312,7 +311,6 @@ vsxxxaa_handle_ABS_packet (struct vsxxxaa *mouse, struct pt_regs *regs) | |||
312 | /* | 311 | /* |
313 | * Report what we've found so far... | 312 | * Report what we've found so far... |
314 | */ | 313 | */ |
315 | input_regs (dev, regs); | ||
316 | input_report_key (dev, BTN_LEFT, left); | 314 | input_report_key (dev, BTN_LEFT, left); |
317 | input_report_key (dev, BTN_MIDDLE, middle); | 315 | input_report_key (dev, BTN_MIDDLE, middle); |
318 | input_report_key (dev, BTN_RIGHT, right); | 316 | input_report_key (dev, BTN_RIGHT, right); |
@@ -323,7 +321,7 @@ vsxxxaa_handle_ABS_packet (struct vsxxxaa *mouse, struct pt_regs *regs) | |||
323 | } | 321 | } |
324 | 322 | ||
325 | static void | 323 | static void |
326 | vsxxxaa_handle_POR_packet (struct vsxxxaa *mouse, struct pt_regs *regs) | 324 | vsxxxaa_handle_POR_packet (struct vsxxxaa *mouse) |
327 | { | 325 | { |
328 | struct input_dev *dev = mouse->dev; | 326 | struct input_dev *dev = mouse->dev; |
329 | unsigned char *buf = mouse->buf; | 327 | unsigned char *buf = mouse->buf; |
@@ -367,7 +365,6 @@ vsxxxaa_handle_POR_packet (struct vsxxxaa *mouse, struct pt_regs *regs) | |||
367 | 365 | ||
368 | if (error <= 0x1f) { | 366 | if (error <= 0x1f) { |
369 | /* No (serious) error. Report buttons */ | 367 | /* No (serious) error. Report buttons */ |
370 | input_regs (dev, regs); | ||
371 | input_report_key (dev, BTN_LEFT, left); | 368 | input_report_key (dev, BTN_LEFT, left); |
372 | input_report_key (dev, BTN_MIDDLE, middle); | 369 | input_report_key (dev, BTN_MIDDLE, middle); |
373 | input_report_key (dev, BTN_RIGHT, right); | 370 | input_report_key (dev, BTN_RIGHT, right); |
@@ -395,7 +392,7 @@ vsxxxaa_handle_POR_packet (struct vsxxxaa *mouse, struct pt_regs *regs) | |||
395 | } | 392 | } |
396 | 393 | ||
397 | static void | 394 | static void |
398 | vsxxxaa_parse_buffer (struct vsxxxaa *mouse, struct pt_regs *regs) | 395 | vsxxxaa_parse_buffer (struct vsxxxaa *mouse) |
399 | { | 396 | { |
400 | unsigned char *buf = mouse->buf; | 397 | unsigned char *buf = mouse->buf; |
401 | int stray_bytes; | 398 | int stray_bytes; |
@@ -432,7 +429,7 @@ vsxxxaa_parse_buffer (struct vsxxxaa *mouse, struct pt_regs *regs) | |||
432 | continue; | 429 | continue; |
433 | } | 430 | } |
434 | 431 | ||
435 | vsxxxaa_handle_REL_packet (mouse, regs); | 432 | vsxxxaa_handle_REL_packet (mouse); |
436 | continue; /* More to parse? */ | 433 | continue; /* More to parse? */ |
437 | } | 434 | } |
438 | 435 | ||
@@ -446,7 +443,7 @@ vsxxxaa_parse_buffer (struct vsxxxaa *mouse, struct pt_regs *regs) | |||
446 | continue; | 443 | continue; |
447 | } | 444 | } |
448 | 445 | ||
449 | vsxxxaa_handle_ABS_packet (mouse, regs); | 446 | vsxxxaa_handle_ABS_packet (mouse); |
450 | continue; /* More to parse? */ | 447 | continue; /* More to parse? */ |
451 | } | 448 | } |
452 | 449 | ||
@@ -460,7 +457,7 @@ vsxxxaa_parse_buffer (struct vsxxxaa *mouse, struct pt_regs *regs) | |||
460 | continue; | 457 | continue; |
461 | } | 458 | } |
462 | 459 | ||
463 | vsxxxaa_handle_POR_packet (mouse, regs); | 460 | vsxxxaa_handle_POR_packet (mouse); |
464 | continue; /* More to parse? */ | 461 | continue; /* More to parse? */ |
465 | } | 462 | } |
466 | 463 | ||
@@ -469,13 +466,12 @@ vsxxxaa_parse_buffer (struct vsxxxaa *mouse, struct pt_regs *regs) | |||
469 | } | 466 | } |
470 | 467 | ||
471 | static irqreturn_t | 468 | static irqreturn_t |
472 | vsxxxaa_interrupt (struct serio *serio, unsigned char data, unsigned int flags, | 469 | vsxxxaa_interrupt (struct serio *serio, unsigned char data, unsigned int flags) |
473 | struct pt_regs *regs) | ||
474 | { | 470 | { |
475 | struct vsxxxaa *mouse = serio_get_drvdata (serio); | 471 | struct vsxxxaa *mouse = serio_get_drvdata (serio); |
476 | 472 | ||
477 | vsxxxaa_queue_byte (mouse, data); | 473 | vsxxxaa_queue_byte (mouse, data); |
478 | vsxxxaa_parse_buffer (mouse, regs); | 474 | vsxxxaa_parse_buffer (mouse); |
479 | 475 | ||
480 | return IRQ_HANDLED; | 476 | return IRQ_HANDLED; |
481 | } | 477 | } |
diff --git a/drivers/input/serio/Kconfig b/drivers/input/serio/Kconfig index 8cdbfeca5903..adef447f23ea 100644 --- a/drivers/input/serio/Kconfig +++ b/drivers/input/serio/Kconfig | |||
@@ -112,7 +112,7 @@ config SERIO_GSCPS2 | |||
112 | 112 | ||
113 | config HP_SDC | 113 | config HP_SDC |
114 | tristate "HP System Device Controller i8042 Support" | 114 | tristate "HP System Device Controller i8042 Support" |
115 | depends on GSC && SERIO | 115 | depends on (GSC || HP300) && SERIO |
116 | default y | 116 | default y |
117 | ---help--- | 117 | ---help--- |
118 | This option enables support for the "System Device | 118 | This option enables support for the "System Device |
diff --git a/drivers/input/serio/ambakmi.c b/drivers/input/serio/ambakmi.c index 3df5eedf8f31..5a7b49c35539 100644 --- a/drivers/input/serio/ambakmi.c +++ b/drivers/input/serio/ambakmi.c | |||
@@ -37,14 +37,14 @@ struct amba_kmi_port { | |||
37 | unsigned int open; | 37 | unsigned int open; |
38 | }; | 38 | }; |
39 | 39 | ||
40 | static irqreturn_t amba_kmi_int(int irq, void *dev_id, struct pt_regs *regs) | 40 | static irqreturn_t amba_kmi_int(int irq, void *dev_id) |
41 | { | 41 | { |
42 | struct amba_kmi_port *kmi = dev_id; | 42 | struct amba_kmi_port *kmi = dev_id; |
43 | unsigned int status = readb(KMIIR); | 43 | unsigned int status = readb(KMIIR); |
44 | int handled = IRQ_NONE; | 44 | int handled = IRQ_NONE; |
45 | 45 | ||
46 | while (status & KMIIR_RXINTR) { | 46 | while (status & KMIIR_RXINTR) { |
47 | serio_interrupt(kmi->io, readb(KMIDATA), 0, regs); | 47 | serio_interrupt(kmi->io, readb(KMIDATA), 0); |
48 | status = readb(KMIIR); | 48 | status = readb(KMIIR); |
49 | handled = IRQ_HANDLED; | 49 | handled = IRQ_HANDLED; |
50 | } | 50 | } |
diff --git a/drivers/input/serio/ct82c710.c b/drivers/input/serio/ct82c710.c index bc6e87add093..0d35018c23a9 100644 --- a/drivers/input/serio/ct82c710.c +++ b/drivers/input/serio/ct82c710.c | |||
@@ -71,9 +71,9 @@ static struct resource ct82c710_iores; | |||
71 | * is waiting in the 82C710. | 71 | * is waiting in the 82C710. |
72 | */ | 72 | */ |
73 | 73 | ||
74 | static irqreturn_t ct82c710_interrupt(int cpl, void *dev_id, struct pt_regs * regs) | 74 | static irqreturn_t ct82c710_interrupt(int cpl, void *dev_id) |
75 | { | 75 | { |
76 | return serio_interrupt(ct82c710_port, inb(CT82C710_DATA), 0, regs); | 76 | return serio_interrupt(ct82c710_port, inb(CT82C710_DATA), 0); |
77 | } | 77 | } |
78 | 78 | ||
79 | /* | 79 | /* |
diff --git a/drivers/input/serio/gscps2.c b/drivers/input/serio/gscps2.c index cde036a92168..74f14e097789 100644 --- a/drivers/input/serio/gscps2.c +++ b/drivers/input/serio/gscps2.c | |||
@@ -82,7 +82,7 @@ MODULE_DEVICE_TABLE(parisc, gscps2_device_tbl); | |||
82 | #define GSC_ID_MOUSE 1 | 82 | #define GSC_ID_MOUSE 1 |
83 | 83 | ||
84 | 84 | ||
85 | static irqreturn_t gscps2_interrupt(int irq, void *dev, struct pt_regs *regs); | 85 | static irqreturn_t gscps2_interrupt(int irq, void *dev); |
86 | 86 | ||
87 | #define BUFFER_SIZE 0x0f | 87 | #define BUFFER_SIZE 0x0f |
88 | 88 | ||
@@ -166,7 +166,7 @@ static inline int gscps2_writeb_output(struct gscps2port *ps2port, u8 data) | |||
166 | 166 | ||
167 | /* make sure any received data is returned as fast as possible */ | 167 | /* make sure any received data is returned as fast as possible */ |
168 | /* this is important e.g. when we set the LEDs on the keyboard */ | 168 | /* this is important e.g. when we set the LEDs on the keyboard */ |
169 | gscps2_interrupt(0, NULL, NULL); | 169 | gscps2_interrupt(0, NULL); |
170 | 170 | ||
171 | return 1; | 171 | return 1; |
172 | } | 172 | } |
@@ -226,7 +226,7 @@ static LIST_HEAD(ps2port_list); | |||
226 | * later. | 226 | * later. |
227 | */ | 227 | */ |
228 | 228 | ||
229 | static irqreturn_t gscps2_interrupt(int irq, void *dev, struct pt_regs *regs) | 229 | static irqreturn_t gscps2_interrupt(int irq, void *dev) |
230 | { | 230 | { |
231 | struct gscps2port *ps2port; | 231 | struct gscps2port *ps2port; |
232 | 232 | ||
@@ -267,7 +267,7 @@ static irqreturn_t gscps2_interrupt(int irq, void *dev, struct pt_regs *regs) | |||
267 | rxflags = ((status & GSC_STAT_TERR) ? SERIO_TIMEOUT : 0 ) | | 267 | rxflags = ((status & GSC_STAT_TERR) ? SERIO_TIMEOUT : 0 ) | |
268 | ((status & GSC_STAT_PERR) ? SERIO_PARITY : 0 ); | 268 | ((status & GSC_STAT_PERR) ? SERIO_PARITY : 0 ); |
269 | 269 | ||
270 | serio_interrupt(ps2port->port, data, rxflags, regs); | 270 | serio_interrupt(ps2port->port, data, rxflags); |
271 | 271 | ||
272 | } /* while() */ | 272 | } /* while() */ |
273 | 273 | ||
@@ -306,7 +306,7 @@ static int gscps2_open(struct serio *port) | |||
306 | /* enable it */ | 306 | /* enable it */ |
307 | gscps2_enable(ps2port, ENABLE); | 307 | gscps2_enable(ps2port, ENABLE); |
308 | 308 | ||
309 | gscps2_interrupt(0, NULL, NULL); | 309 | gscps2_interrupt(0, NULL); |
310 | 310 | ||
311 | return 0; | 311 | return 0; |
312 | } | 312 | } |
diff --git a/drivers/input/serio/hil_mlc.c b/drivers/input/serio/hil_mlc.c index bbbe15e21904..bdfde046b741 100644 --- a/drivers/input/serio/hil_mlc.c +++ b/drivers/input/serio/hil_mlc.c | |||
@@ -162,10 +162,10 @@ static void hil_mlc_send_polls(hil_mlc *mlc) { | |||
162 | if (did != (p & HIL_PKT_ADDR_MASK) >> 8) { | 162 | if (did != (p & HIL_PKT_ADDR_MASK) >> 8) { |
163 | if (drv == NULL || drv->interrupt == NULL) goto skip; | 163 | if (drv == NULL || drv->interrupt == NULL) goto skip; |
164 | 164 | ||
165 | drv->interrupt(serio, 0, 0, NULL); | 165 | drv->interrupt(serio, 0, 0); |
166 | drv->interrupt(serio, HIL_ERR_INT >> 16, 0, NULL); | 166 | drv->interrupt(serio, HIL_ERR_INT >> 16, 0); |
167 | drv->interrupt(serio, HIL_PKT_CMD >> 8, 0, NULL); | 167 | drv->interrupt(serio, HIL_PKT_CMD >> 8, 0); |
168 | drv->interrupt(serio, HIL_CMD_POL + cnt, 0, NULL); | 168 | drv->interrupt(serio, HIL_CMD_POL + cnt, 0); |
169 | skip: | 169 | skip: |
170 | did = (p & HIL_PKT_ADDR_MASK) >> 8; | 170 | did = (p & HIL_PKT_ADDR_MASK) >> 8; |
171 | serio = did ? mlc->serio[mlc->di_map[did-1]] : NULL; | 171 | serio = did ? mlc->serio[mlc->di_map[did-1]] : NULL; |
@@ -174,10 +174,10 @@ static void hil_mlc_send_polls(hil_mlc *mlc) { | |||
174 | } | 174 | } |
175 | cnt++; i++; | 175 | cnt++; i++; |
176 | if (drv == NULL || drv->interrupt == NULL) continue; | 176 | if (drv == NULL || drv->interrupt == NULL) continue; |
177 | drv->interrupt(serio, (p >> 24), 0, NULL); | 177 | drv->interrupt(serio, (p >> 24), 0); |
178 | drv->interrupt(serio, (p >> 16) & 0xff, 0, NULL); | 178 | drv->interrupt(serio, (p >> 16) & 0xff, 0); |
179 | drv->interrupt(serio, (p >> 8) & ~HIL_PKT_ADDR_MASK, 0, NULL); | 179 | drv->interrupt(serio, (p >> 8) & ~HIL_PKT_ADDR_MASK, 0); |
180 | drv->interrupt(serio, p & 0xff, 0, NULL); | 180 | drv->interrupt(serio, p & 0xff, 0); |
181 | } | 181 | } |
182 | } | 182 | } |
183 | 183 | ||
@@ -780,16 +780,16 @@ static int hil_mlc_serio_write(struct serio *serio, unsigned char c) { | |||
780 | while ((last != idx) && (*last == 0)) last--; | 780 | while ((last != idx) && (*last == 0)) last--; |
781 | 781 | ||
782 | while (idx != last) { | 782 | while (idx != last) { |
783 | drv->interrupt(serio, 0, 0, NULL); | 783 | drv->interrupt(serio, 0, 0); |
784 | drv->interrupt(serio, HIL_ERR_INT >> 16, 0, NULL); | 784 | drv->interrupt(serio, HIL_ERR_INT >> 16, 0); |
785 | drv->interrupt(serio, 0, 0, NULL); | 785 | drv->interrupt(serio, 0, 0); |
786 | drv->interrupt(serio, *idx, 0, NULL); | 786 | drv->interrupt(serio, *idx, 0); |
787 | idx++; | 787 | idx++; |
788 | } | 788 | } |
789 | drv->interrupt(serio, 0, 0, NULL); | 789 | drv->interrupt(serio, 0, 0); |
790 | drv->interrupt(serio, HIL_ERR_INT >> 16, 0, NULL); | 790 | drv->interrupt(serio, HIL_ERR_INT >> 16, 0); |
791 | drv->interrupt(serio, HIL_PKT_CMD >> 8, 0, NULL); | 791 | drv->interrupt(serio, HIL_PKT_CMD >> 8, 0); |
792 | drv->interrupt(serio, *idx, 0, NULL); | 792 | drv->interrupt(serio, *idx, 0); |
793 | 793 | ||
794 | mlc->serio_oidx[map->didx] = 0; | 794 | mlc->serio_oidx[map->didx] = 0; |
795 | mlc->serio_opacket[map->didx] = 0; | 795 | mlc->serio_opacket[map->didx] = 0; |
diff --git a/drivers/input/serio/hp_sdc.c b/drivers/input/serio/hp_sdc.c index a10348bb25e9..ba7b920347e3 100644 --- a/drivers/input/serio/hp_sdc.c +++ b/drivers/input/serio/hp_sdc.c | |||
@@ -202,7 +202,7 @@ static void hp_sdc_take (int irq, void *dev_id, uint8_t status, uint8_t data) { | |||
202 | } | 202 | } |
203 | } | 203 | } |
204 | 204 | ||
205 | static irqreturn_t hp_sdc_isr(int irq, void *dev_id, struct pt_regs * regs) { | 205 | static irqreturn_t hp_sdc_isr(int irq, void *dev_id) { |
206 | uint8_t status, data; | 206 | uint8_t status, data; |
207 | 207 | ||
208 | status = hp_sdc_status_in8(); | 208 | status = hp_sdc_status_in8(); |
@@ -253,7 +253,7 @@ static irqreturn_t hp_sdc_isr(int irq, void *dev_id, struct pt_regs * regs) { | |||
253 | } | 253 | } |
254 | 254 | ||
255 | 255 | ||
256 | static irqreturn_t hp_sdc_nmisr(int irq, void *dev_id, struct pt_regs * regs) { | 256 | static irqreturn_t hp_sdc_nmisr(int irq, void *dev_id) { |
257 | int status; | 257 | int status; |
258 | 258 | ||
259 | status = hp_sdc_status_in8(); | 259 | status = hp_sdc_status_in8(); |
diff --git a/drivers/input/serio/i8042.c b/drivers/input/serio/i8042.c index 1bb0c76a9259..09b06e605b50 100644 --- a/drivers/input/serio/i8042.c +++ b/drivers/input/serio/i8042.c | |||
@@ -108,7 +108,7 @@ static unsigned char i8042_kbd_irq_registered; | |||
108 | static unsigned char i8042_aux_irq_registered; | 108 | static unsigned char i8042_aux_irq_registered; |
109 | static struct platform_device *i8042_platform_device; | 109 | static struct platform_device *i8042_platform_device; |
110 | 110 | ||
111 | static irqreturn_t i8042_interrupt(int irq, void *dev_id, struct pt_regs *regs); | 111 | static irqreturn_t i8042_interrupt(int irq, void *dev_id); |
112 | 112 | ||
113 | /* | 113 | /* |
114 | * The i8042_wait_read() and i8042_wait_write functions wait for the i8042 to | 114 | * The i8042_wait_read() and i8042_wait_write functions wait for the i8042 to |
@@ -271,7 +271,7 @@ static int i8042_aux_write(struct serio *serio, unsigned char c) | |||
271 | * characters later. | 271 | * characters later. |
272 | */ | 272 | */ |
273 | 273 | ||
274 | i8042_interrupt(0, NULL, NULL); | 274 | i8042_interrupt(0, NULL); |
275 | return retval; | 275 | return retval; |
276 | } | 276 | } |
277 | 277 | ||
@@ -309,7 +309,7 @@ static void i8042_stop(struct serio *serio) | |||
309 | * to the upper layers. | 309 | * to the upper layers. |
310 | */ | 310 | */ |
311 | 311 | ||
312 | static irqreturn_t i8042_interrupt(int irq, void *dev_id, struct pt_regs *regs) | 312 | static irqreturn_t i8042_interrupt(int irq, void *dev_id) |
313 | { | 313 | { |
314 | struct i8042_port *port; | 314 | struct i8042_port *port; |
315 | unsigned long flags; | 315 | unsigned long flags; |
@@ -379,7 +379,7 @@ static irqreturn_t i8042_interrupt(int irq, void *dev_id, struct pt_regs *regs) | |||
379 | dfl & SERIO_TIMEOUT ? ", timeout" : ""); | 379 | dfl & SERIO_TIMEOUT ? ", timeout" : ""); |
380 | 380 | ||
381 | if (likely(port->exists)) | 381 | if (likely(port->exists)) |
382 | serio_interrupt(port->serio, data, dfl, regs); | 382 | serio_interrupt(port->serio, data, dfl); |
383 | 383 | ||
384 | ret = 1; | 384 | ret = 1; |
385 | out: | 385 | out: |
@@ -519,7 +519,7 @@ static int __devinit i8042_check_mux(void) | |||
519 | static struct completion i8042_aux_irq_delivered __devinitdata; | 519 | static struct completion i8042_aux_irq_delivered __devinitdata; |
520 | static int i8042_irq_being_tested __devinitdata; | 520 | static int i8042_irq_being_tested __devinitdata; |
521 | 521 | ||
522 | static irqreturn_t __devinit i8042_aux_test_irq(int irq, void *dev_id, struct pt_regs *regs) | 522 | static irqreturn_t __devinit i8042_aux_test_irq(int irq, void *dev_id) |
523 | { | 523 | { |
524 | unsigned long flags; | 524 | unsigned long flags; |
525 | unsigned char str, data; | 525 | unsigned char str, data; |
@@ -905,7 +905,7 @@ static int i8042_resume(struct platform_device *dev) | |||
905 | if (i8042_ports[I8042_KBD_PORT_NO].serio) | 905 | if (i8042_ports[I8042_KBD_PORT_NO].serio) |
906 | i8042_enable_kbd_port(); | 906 | i8042_enable_kbd_port(); |
907 | 907 | ||
908 | i8042_interrupt(0, NULL, NULL); | 908 | i8042_interrupt(0, NULL); |
909 | 909 | ||
910 | return 0; | 910 | return 0; |
911 | } | 911 | } |
diff --git a/drivers/input/serio/maceps2.c b/drivers/input/serio/maceps2.c index f08a5d0cd5fa..558200e96d0f 100644 --- a/drivers/input/serio/maceps2.c +++ b/drivers/input/serio/maceps2.c | |||
@@ -72,8 +72,7 @@ static int maceps2_write(struct serio *dev, unsigned char val) | |||
72 | return -1; | 72 | return -1; |
73 | } | 73 | } |
74 | 74 | ||
75 | static irqreturn_t maceps2_interrupt(int irq, void *dev_id, | 75 | static irqreturn_t maceps2_interrupt(int irq, void *dev_id) |
76 | struct pt_regs *regs) | ||
77 | { | 76 | { |
78 | struct serio *dev = dev_id; | 77 | struct serio *dev = dev_id; |
79 | struct mace_ps2port *port = ((struct maceps2_data *)dev->port_data)->port; | 78 | struct mace_ps2port *port = ((struct maceps2_data *)dev->port_data)->port; |
@@ -81,7 +80,7 @@ static irqreturn_t maceps2_interrupt(int irq, void *dev_id, | |||
81 | 80 | ||
82 | if (port->status & PS2_STATUS_RX_FULL) { | 81 | if (port->status & PS2_STATUS_RX_FULL) { |
83 | byte = port->rx; | 82 | byte = port->rx; |
84 | serio_interrupt(dev, byte & 0xff, 0, regs); | 83 | serio_interrupt(dev, byte & 0xff, 0); |
85 | } | 84 | } |
86 | 85 | ||
87 | return IRQ_HANDLED; | 86 | return IRQ_HANDLED; |
diff --git a/drivers/input/serio/parkbd.c b/drivers/input/serio/parkbd.c index a5c1fb3a4a51..688610e86a3e 100644 --- a/drivers/input/serio/parkbd.c +++ b/drivers/input/serio/parkbd.c | |||
@@ -102,7 +102,7 @@ static int parkbd_write(struct serio *port, unsigned char c) | |||
102 | return 0; | 102 | return 0; |
103 | } | 103 | } |
104 | 104 | ||
105 | static void parkbd_interrupt(int irq, void *dev_id, struct pt_regs *regs) | 105 | static void parkbd_interrupt(int irq, void *dev_id) |
106 | { | 106 | { |
107 | 107 | ||
108 | if (parkbd_writing) { | 108 | if (parkbd_writing) { |
@@ -134,7 +134,7 @@ static void parkbd_interrupt(int irq, void *dev_id, struct pt_regs *regs) | |||
134 | parkbd_buffer |= (parkbd_readlines() >> 1) << parkbd_counter++; | 134 | parkbd_buffer |= (parkbd_readlines() >> 1) << parkbd_counter++; |
135 | 135 | ||
136 | if (parkbd_counter == parkbd_mode + 10) | 136 | if (parkbd_counter == parkbd_mode + 10) |
137 | serio_interrupt(parkbd_port, (parkbd_buffer >> (2 - parkbd_mode)) & 0xff, 0, regs); | 137 | serio_interrupt(parkbd_port, (parkbd_buffer >> (2 - parkbd_mode)) & 0xff, 0); |
138 | } | 138 | } |
139 | 139 | ||
140 | parkbd_last = jiffies; | 140 | parkbd_last = jiffies; |
diff --git a/drivers/input/serio/pcips2.c b/drivers/input/serio/pcips2.c index fb727c665253..ea5e3c6ddb62 100644 --- a/drivers/input/serio/pcips2.c +++ b/drivers/input/serio/pcips2.c | |||
@@ -58,7 +58,7 @@ static int pcips2_write(struct serio *io, unsigned char val) | |||
58 | return 0; | 58 | return 0; |
59 | } | 59 | } |
60 | 60 | ||
61 | static irqreturn_t pcips2_interrupt(int irq, void *devid, struct pt_regs *regs) | 61 | static irqreturn_t pcips2_interrupt(int irq, void *devid) |
62 | { | 62 | { |
63 | struct pcips2_data *ps2if = devid; | 63 | struct pcips2_data *ps2if = devid; |
64 | unsigned char status, scancode; | 64 | unsigned char status, scancode; |
@@ -80,7 +80,7 @@ static irqreturn_t pcips2_interrupt(int irq, void *devid, struct pt_regs *regs) | |||
80 | if (hweight8(scancode) & 1) | 80 | if (hweight8(scancode) & 1) |
81 | flag ^= SERIO_PARITY; | 81 | flag ^= SERIO_PARITY; |
82 | 82 | ||
83 | serio_interrupt(ps2if->io, scancode, flag, regs); | 83 | serio_interrupt(ps2if->io, scancode, flag); |
84 | } while (1); | 84 | } while (1); |
85 | return IRQ_RETVAL(handled); | 85 | return IRQ_RETVAL(handled); |
86 | } | 86 | } |
diff --git a/drivers/input/serio/q40kbd.c b/drivers/input/serio/q40kbd.c index d3827c5fe119..cb89aff2e160 100644 --- a/drivers/input/serio/q40kbd.c +++ b/drivers/input/serio/q40kbd.c | |||
@@ -53,14 +53,14 @@ DEFINE_SPINLOCK(q40kbd_lock); | |||
53 | static struct serio *q40kbd_port; | 53 | static struct serio *q40kbd_port; |
54 | static struct platform_device *q40kbd_device; | 54 | static struct platform_device *q40kbd_device; |
55 | 55 | ||
56 | static irqreturn_t q40kbd_interrupt(int irq, void *dev_id, struct pt_regs *regs) | 56 | static irqreturn_t q40kbd_interrupt(int irq, void *dev_id) |
57 | { | 57 | { |
58 | unsigned long flags; | 58 | unsigned long flags; |
59 | 59 | ||
60 | spin_lock_irqsave(&q40kbd_lock, flags); | 60 | spin_lock_irqsave(&q40kbd_lock, flags); |
61 | 61 | ||
62 | if (Q40_IRQ_KEYB_MASK & master_inb(INTERRUPT_REG)) | 62 | if (Q40_IRQ_KEYB_MASK & master_inb(INTERRUPT_REG)) |
63 | serio_interrupt(q40kbd_port, master_inb(KEYCODE_REG), 0, regs); | 63 | serio_interrupt(q40kbd_port, master_inb(KEYCODE_REG), 0); |
64 | 64 | ||
65 | master_outb(-1, KEYBOARD_UNLOCK_REG); | 65 | master_outb(-1, KEYBOARD_UNLOCK_REG); |
66 | 66 | ||
diff --git a/drivers/input/serio/rpckbd.c b/drivers/input/serio/rpckbd.c index 513d37fc1acf..49f84315cb32 100644 --- a/drivers/input/serio/rpckbd.c +++ b/drivers/input/serio/rpckbd.c | |||
@@ -56,7 +56,7 @@ static int rpckbd_write(struct serio *port, unsigned char val) | |||
56 | return 0; | 56 | return 0; |
57 | } | 57 | } |
58 | 58 | ||
59 | static irqreturn_t rpckbd_rx(int irq, void *dev_id, struct pt_regs *regs) | 59 | static irqreturn_t rpckbd_rx(int irq, void *dev_id) |
60 | { | 60 | { |
61 | struct serio *port = dev_id; | 61 | struct serio *port = dev_id; |
62 | unsigned int byte; | 62 | unsigned int byte; |
@@ -65,13 +65,13 @@ static irqreturn_t rpckbd_rx(int irq, void *dev_id, struct pt_regs *regs) | |||
65 | while (iomd_readb(IOMD_KCTRL) & (1 << 5)) { | 65 | while (iomd_readb(IOMD_KCTRL) & (1 << 5)) { |
66 | byte = iomd_readb(IOMD_KARTRX); | 66 | byte = iomd_readb(IOMD_KARTRX); |
67 | 67 | ||
68 | serio_interrupt(port, byte, 0, regs); | 68 | serio_interrupt(port, byte, 0); |
69 | handled = IRQ_HANDLED; | 69 | handled = IRQ_HANDLED; |
70 | } | 70 | } |
71 | return handled; | 71 | return handled; |
72 | } | 72 | } |
73 | 73 | ||
74 | static irqreturn_t rpckbd_tx(int irq, void *dev_id, struct pt_regs *regs) | 74 | static irqreturn_t rpckbd_tx(int irq, void *dev_id) |
75 | { | 75 | { |
76 | return IRQ_HANDLED; | 76 | return IRQ_HANDLED; |
77 | } | 77 | } |
diff --git a/drivers/input/serio/sa1111ps2.c b/drivers/input/serio/sa1111ps2.c index ebd9976fc811..559508795af1 100644 --- a/drivers/input/serio/sa1111ps2.c +++ b/drivers/input/serio/sa1111ps2.c | |||
@@ -40,7 +40,7 @@ struct ps2if { | |||
40 | * at the most one, but we loop for safety. If there was a | 40 | * at the most one, but we loop for safety. If there was a |
41 | * framing error, we have to manually clear the status. | 41 | * framing error, we have to manually clear the status. |
42 | */ | 42 | */ |
43 | static irqreturn_t ps2_rxint(int irq, void *dev_id, struct pt_regs *regs) | 43 | static irqreturn_t ps2_rxint(int irq, void *dev_id) |
44 | { | 44 | { |
45 | struct ps2if *ps2if = dev_id; | 45 | struct ps2if *ps2if = dev_id; |
46 | unsigned int scancode, flag, status; | 46 | unsigned int scancode, flag, status; |
@@ -58,7 +58,7 @@ static irqreturn_t ps2_rxint(int irq, void *dev_id, struct pt_regs *regs) | |||
58 | if (hweight8(scancode) & 1) | 58 | if (hweight8(scancode) & 1) |
59 | flag ^= SERIO_PARITY; | 59 | flag ^= SERIO_PARITY; |
60 | 60 | ||
61 | serio_interrupt(ps2if->io, scancode, flag, regs); | 61 | serio_interrupt(ps2if->io, scancode, flag); |
62 | 62 | ||
63 | status = sa1111_readl(ps2if->base + SA1111_PS2STAT); | 63 | status = sa1111_readl(ps2if->base + SA1111_PS2STAT); |
64 | } | 64 | } |
@@ -69,7 +69,7 @@ static irqreturn_t ps2_rxint(int irq, void *dev_id, struct pt_regs *regs) | |||
69 | /* | 69 | /* |
70 | * Completion of ps2 write | 70 | * Completion of ps2 write |
71 | */ | 71 | */ |
72 | static irqreturn_t ps2_txint(int irq, void *dev_id, struct pt_regs *regs) | 72 | static irqreturn_t ps2_txint(int irq, void *dev_id) |
73 | { | 73 | { |
74 | struct ps2if *ps2if = dev_id; | 74 | struct ps2if *ps2if = dev_id; |
75 | unsigned int status; | 75 | unsigned int status; |
diff --git a/drivers/input/serio/serio.c b/drivers/input/serio/serio.c index 3e76ad71c9a0..960fae3c3cea 100644 --- a/drivers/input/serio/serio.c +++ b/drivers/input/serio/serio.c | |||
@@ -911,7 +911,7 @@ void serio_close(struct serio *serio) | |||
911 | } | 911 | } |
912 | 912 | ||
913 | irqreturn_t serio_interrupt(struct serio *serio, | 913 | irqreturn_t serio_interrupt(struct serio *serio, |
914 | unsigned char data, unsigned int dfl, struct pt_regs *regs) | 914 | unsigned char data, unsigned int dfl) |
915 | { | 915 | { |
916 | unsigned long flags; | 916 | unsigned long flags; |
917 | irqreturn_t ret = IRQ_NONE; | 917 | irqreturn_t ret = IRQ_NONE; |
@@ -919,7 +919,7 @@ irqreturn_t serio_interrupt(struct serio *serio, | |||
919 | spin_lock_irqsave(&serio->lock, flags); | 919 | spin_lock_irqsave(&serio->lock, flags); |
920 | 920 | ||
921 | if (likely(serio->drv)) { | 921 | if (likely(serio->drv)) { |
922 | ret = serio->drv->interrupt(serio, data, dfl, regs); | 922 | ret = serio->drv->interrupt(serio, data, dfl); |
923 | } else if (!dfl && serio->registered) { | 923 | } else if (!dfl && serio->registered) { |
924 | serio_rescan(serio); | 924 | serio_rescan(serio); |
925 | ret = IRQ_HANDLED; | 925 | ret = IRQ_HANDLED; |
diff --git a/drivers/input/serio/serio_raw.c b/drivers/input/serio/serio_raw.c index 71a8eea816cb..ba2a2035d648 100644 --- a/drivers/input/serio/serio_raw.c +++ b/drivers/input/serio/serio_raw.c | |||
@@ -250,7 +250,7 @@ static struct file_operations serio_raw_fops = { | |||
250 | *********************************************************************/ | 250 | *********************************************************************/ |
251 | 251 | ||
252 | static irqreturn_t serio_raw_interrupt(struct serio *serio, unsigned char data, | 252 | static irqreturn_t serio_raw_interrupt(struct serio *serio, unsigned char data, |
253 | unsigned int dfl, struct pt_regs *regs) | 253 | unsigned int dfl) |
254 | { | 254 | { |
255 | struct serio_raw *serio_raw = serio_get_drvdata(serio); | 255 | struct serio_raw *serio_raw = serio_get_drvdata(serio); |
256 | struct serio_raw_list *list; | 256 | struct serio_raw_list *list; |
diff --git a/drivers/input/serio/serport.c b/drivers/input/serio/serport.c index 54a680cc704d..e1a3a79ab3f9 100644 --- a/drivers/input/serio/serport.c +++ b/drivers/input/serio/serport.c | |||
@@ -117,9 +117,6 @@ static void serport_ldisc_close(struct tty_struct *tty) | |||
117 | * serport_ldisc_receive() is called by the low level tty driver when characters | 117 | * serport_ldisc_receive() is called by the low level tty driver when characters |
118 | * are ready for us. We forward the characters, one by one to the 'interrupt' | 118 | * are ready for us. We forward the characters, one by one to the 'interrupt' |
119 | * routine. | 119 | * routine. |
120 | * | ||
121 | * FIXME: We should get pt_regs from the tty layer and forward them to | ||
122 | * serio_interrupt here. | ||
123 | */ | 120 | */ |
124 | 121 | ||
125 | static void serport_ldisc_receive(struct tty_struct *tty, const unsigned char *cp, char *fp, int count) | 122 | static void serport_ldisc_receive(struct tty_struct *tty, const unsigned char *cp, char *fp, int count) |
@@ -134,7 +131,7 @@ static void serport_ldisc_receive(struct tty_struct *tty, const unsigned char *c | |||
134 | goto out; | 131 | goto out; |
135 | 132 | ||
136 | for (i = 0; i < count; i++) | 133 | for (i = 0; i < count; i++) |
137 | serio_interrupt(serport->serio, cp[i], 0, NULL); | 134 | serio_interrupt(serport->serio, cp[i], 0); |
138 | 135 | ||
139 | out: | 136 | out: |
140 | spin_unlock_irqrestore(&serport->lock, flags); | 137 | spin_unlock_irqrestore(&serport->lock, flags); |
diff --git a/drivers/input/touchscreen/ads7846.c b/drivers/input/touchscreen/ads7846.c index 66e411badf70..f56d6a0f0624 100644 --- a/drivers/input/touchscreen/ads7846.c +++ b/drivers/input/touchscreen/ads7846.c | |||
@@ -487,7 +487,7 @@ static void ads7846_timer(unsigned long handle) | |||
487 | spin_unlock_irq(&ts->lock); | 487 | spin_unlock_irq(&ts->lock); |
488 | } | 488 | } |
489 | 489 | ||
490 | static irqreturn_t ads7846_irq(int irq, void *handle, struct pt_regs *regs) | 490 | static irqreturn_t ads7846_irq(int irq, void *handle) |
491 | { | 491 | { |
492 | struct ads7846 *ts = handle; | 492 | struct ads7846 *ts = handle; |
493 | unsigned long flags; | 493 | unsigned long flags; |
diff --git a/drivers/input/touchscreen/corgi_ts.c b/drivers/input/touchscreen/corgi_ts.c index 9b66271d3ba8..ca79b2246195 100644 --- a/drivers/input/touchscreen/corgi_ts.c +++ b/drivers/input/touchscreen/corgi_ts.c | |||
@@ -173,7 +173,7 @@ static int read_xydata(struct corgi_ts *corgi_ts) | |||
173 | return 1; | 173 | return 1; |
174 | } | 174 | } |
175 | 175 | ||
176 | static void new_data(struct corgi_ts *corgi_ts, struct pt_regs *regs) | 176 | static void new_data(struct corgi_ts *corgi_ts) |
177 | { | 177 | { |
178 | if (corgi_ts->power_mode != PWR_MODE_ACTIVE) | 178 | if (corgi_ts->power_mode != PWR_MODE_ACTIVE) |
179 | return; | 179 | return; |
@@ -181,7 +181,6 @@ static void new_data(struct corgi_ts *corgi_ts, struct pt_regs *regs) | |||
181 | if (!corgi_ts->tc.pressure && corgi_ts->pendown == 0) | 181 | if (!corgi_ts->tc.pressure && corgi_ts->pendown == 0) |
182 | return; | 182 | return; |
183 | 183 | ||
184 | input_regs(corgi_ts->input, regs); | ||
185 | input_report_abs(corgi_ts->input, ABS_X, corgi_ts->tc.x); | 184 | input_report_abs(corgi_ts->input, ABS_X, corgi_ts->tc.x); |
186 | input_report_abs(corgi_ts->input, ABS_Y, corgi_ts->tc.y); | 185 | input_report_abs(corgi_ts->input, ABS_Y, corgi_ts->tc.y); |
187 | input_report_abs(corgi_ts->input, ABS_PRESSURE, corgi_ts->tc.pressure); | 186 | input_report_abs(corgi_ts->input, ABS_PRESSURE, corgi_ts->tc.pressure); |
@@ -189,14 +188,14 @@ static void new_data(struct corgi_ts *corgi_ts, struct pt_regs *regs) | |||
189 | input_sync(corgi_ts->input); | 188 | input_sync(corgi_ts->input); |
190 | } | 189 | } |
191 | 190 | ||
192 | static void ts_interrupt_main(struct corgi_ts *corgi_ts, int isTimer, struct pt_regs *regs) | 191 | static void ts_interrupt_main(struct corgi_ts *corgi_ts, int isTimer) |
193 | { | 192 | { |
194 | if ((GPLR(IRQ_TO_GPIO(corgi_ts->irq_gpio)) & GPIO_bit(IRQ_TO_GPIO(corgi_ts->irq_gpio))) == 0) { | 193 | if ((GPLR(IRQ_TO_GPIO(corgi_ts->irq_gpio)) & GPIO_bit(IRQ_TO_GPIO(corgi_ts->irq_gpio))) == 0) { |
195 | /* Disable Interrupt */ | 194 | /* Disable Interrupt */ |
196 | set_irq_type(corgi_ts->irq_gpio, IRQT_NOEDGE); | 195 | set_irq_type(corgi_ts->irq_gpio, IRQT_NOEDGE); |
197 | if (read_xydata(corgi_ts)) { | 196 | if (read_xydata(corgi_ts)) { |
198 | corgi_ts->pendown = 1; | 197 | corgi_ts->pendown = 1; |
199 | new_data(corgi_ts, regs); | 198 | new_data(corgi_ts); |
200 | } | 199 | } |
201 | mod_timer(&corgi_ts->timer, jiffies + HZ / 100); | 200 | mod_timer(&corgi_ts->timer, jiffies + HZ / 100); |
202 | } else { | 201 | } else { |
@@ -208,7 +207,7 @@ static void ts_interrupt_main(struct corgi_ts *corgi_ts, int isTimer, struct pt_ | |||
208 | 207 | ||
209 | if (corgi_ts->pendown) { | 208 | if (corgi_ts->pendown) { |
210 | corgi_ts->tc.pressure = 0; | 209 | corgi_ts->tc.pressure = 0; |
211 | new_data(corgi_ts, regs); | 210 | new_data(corgi_ts); |
212 | } | 211 | } |
213 | 212 | ||
214 | /* Enable Falling Edge */ | 213 | /* Enable Falling Edge */ |
@@ -223,10 +222,10 @@ static void corgi_ts_timer(unsigned long data) | |||
223 | ts_interrupt_main(corgits_data, 1, NULL); | 222 | ts_interrupt_main(corgits_data, 1, NULL); |
224 | } | 223 | } |
225 | 224 | ||
226 | static irqreturn_t ts_interrupt(int irq, void *dev_id, struct pt_regs *regs) | 225 | static irqreturn_t ts_interrupt(int irq, void *dev_id) |
227 | { | 226 | { |
228 | struct corgi_ts *corgits_data = dev_id; | 227 | struct corgi_ts *corgits_data = dev_id; |
229 | ts_interrupt_main(corgits_data, 0, regs); | 228 | ts_interrupt_main(corgits_data, 0); |
230 | return IRQ_HANDLED; | 229 | return IRQ_HANDLED; |
231 | } | 230 | } |
232 | 231 | ||
diff --git a/drivers/input/touchscreen/elo.c b/drivers/input/touchscreen/elo.c index ab565335ee44..913e1b73bb0e 100644 --- a/drivers/input/touchscreen/elo.c +++ b/drivers/input/touchscreen/elo.c | |||
@@ -67,7 +67,7 @@ struct elo { | |||
67 | char phys[32]; | 67 | char phys[32]; |
68 | }; | 68 | }; |
69 | 69 | ||
70 | static void elo_process_data_10(struct elo *elo, unsigned char data, struct pt_regs *regs) | 70 | static void elo_process_data_10(struct elo *elo, unsigned char data) |
71 | { | 71 | { |
72 | struct input_dev *dev = elo->dev; | 72 | struct input_dev *dev = elo->dev; |
73 | 73 | ||
@@ -95,7 +95,6 @@ static void elo_process_data_10(struct elo *elo, unsigned char data, struct pt_r | |||
95 | break; | 95 | break; |
96 | } | 96 | } |
97 | if (likely(elo->data[1] == ELO10_TOUCH_PACKET)) { | 97 | if (likely(elo->data[1] == ELO10_TOUCH_PACKET)) { |
98 | input_regs(dev, regs); | ||
99 | input_report_abs(dev, ABS_X, (elo->data[4] << 8) | elo->data[3]); | 98 | input_report_abs(dev, ABS_X, (elo->data[4] << 8) | elo->data[3]); |
100 | input_report_abs(dev, ABS_Y, (elo->data[6] << 8) | elo->data[5]); | 99 | input_report_abs(dev, ABS_Y, (elo->data[6] << 8) | elo->data[5]); |
101 | if (elo->data[2] & ELO10_PRESSURE) | 100 | if (elo->data[2] & ELO10_PRESSURE) |
@@ -116,7 +115,7 @@ static void elo_process_data_10(struct elo *elo, unsigned char data, struct pt_r | |||
116 | elo->csum += data; | 115 | elo->csum += data; |
117 | } | 116 | } |
118 | 117 | ||
119 | static void elo_process_data_6(struct elo *elo, unsigned char data, struct pt_regs *regs) | 118 | static void elo_process_data_6(struct elo *elo, unsigned char data) |
120 | { | 119 | { |
121 | struct input_dev *dev = elo->dev; | 120 | struct input_dev *dev = elo->dev; |
122 | 121 | ||
@@ -134,7 +133,6 @@ static void elo_process_data_6(struct elo *elo, unsigned char data, struct pt_re | |||
134 | break; | 133 | break; |
135 | } | 134 | } |
136 | 135 | ||
137 | input_regs(dev, regs); | ||
138 | input_report_abs(dev, ABS_X, ((elo->data[0] & 0x3f) << 6) | (elo->data[1] & 0x3f)); | 136 | input_report_abs(dev, ABS_X, ((elo->data[0] & 0x3f) << 6) | (elo->data[1] & 0x3f)); |
139 | input_report_abs(dev, ABS_Y, ((elo->data[2] & 0x3f) << 6) | (elo->data[3] & 0x3f)); | 137 | input_report_abs(dev, ABS_Y, ((elo->data[2] & 0x3f) << 6) | (elo->data[3] & 0x3f)); |
140 | 138 | ||
@@ -164,7 +162,7 @@ static void elo_process_data_6(struct elo *elo, unsigned char data, struct pt_re | |||
164 | } | 162 | } |
165 | } | 163 | } |
166 | 164 | ||
167 | static void elo_process_data_3(struct elo *elo, unsigned char data, struct pt_regs *regs) | 165 | static void elo_process_data_3(struct elo *elo, unsigned char data) |
168 | { | 166 | { |
169 | struct input_dev *dev = elo->dev; | 167 | struct input_dev *dev = elo->dev; |
170 | 168 | ||
@@ -177,7 +175,6 @@ static void elo_process_data_3(struct elo *elo, unsigned char data, struct pt_re | |||
177 | elo->idx = 0; | 175 | elo->idx = 0; |
178 | break; | 176 | break; |
179 | case 2: | 177 | case 2: |
180 | input_regs(dev, regs); | ||
181 | input_report_key(dev, BTN_TOUCH, !(elo->data[1] & 0x80)); | 178 | input_report_key(dev, BTN_TOUCH, !(elo->data[1] & 0x80)); |
182 | input_report_abs(dev, ABS_X, elo->data[1]); | 179 | input_report_abs(dev, ABS_X, elo->data[1]); |
183 | input_report_abs(dev, ABS_Y, elo->data[2]); | 180 | input_report_abs(dev, ABS_Y, elo->data[2]); |
@@ -188,22 +185,22 @@ static void elo_process_data_3(struct elo *elo, unsigned char data, struct pt_re | |||
188 | } | 185 | } |
189 | 186 | ||
190 | static irqreturn_t elo_interrupt(struct serio *serio, | 187 | static irqreturn_t elo_interrupt(struct serio *serio, |
191 | unsigned char data, unsigned int flags, struct pt_regs *regs) | 188 | unsigned char data, unsigned int flags) |
192 | { | 189 | { |
193 | struct elo *elo = serio_get_drvdata(serio); | 190 | struct elo *elo = serio_get_drvdata(serio); |
194 | 191 | ||
195 | switch(elo->id) { | 192 | switch(elo->id) { |
196 | case 0: | 193 | case 0: |
197 | elo_process_data_10(elo, data, regs); | 194 | elo_process_data_10(elo, data); |
198 | break; | 195 | break; |
199 | 196 | ||
200 | case 1: | 197 | case 1: |
201 | case 2: | 198 | case 2: |
202 | elo_process_data_6(elo, data, regs); | 199 | elo_process_data_6(elo, data); |
203 | break; | 200 | break; |
204 | 201 | ||
205 | case 3: | 202 | case 3: |
206 | elo_process_data_3(elo, data, regs); | 203 | elo_process_data_3(elo, data); |
207 | break; | 204 | break; |
208 | } | 205 | } |
209 | 206 | ||
diff --git a/drivers/input/touchscreen/gunze.c b/drivers/input/touchscreen/gunze.c index b769b21973b7..817c2198933d 100644 --- a/drivers/input/touchscreen/gunze.c +++ b/drivers/input/touchscreen/gunze.c | |||
@@ -60,7 +60,7 @@ struct gunze { | |||
60 | char phys[32]; | 60 | char phys[32]; |
61 | }; | 61 | }; |
62 | 62 | ||
63 | static void gunze_process_packet(struct gunze* gunze, struct pt_regs *regs) | 63 | static void gunze_process_packet(struct gunze* gunze) |
64 | { | 64 | { |
65 | struct input_dev *dev = gunze->dev; | 65 | struct input_dev *dev = gunze->dev; |
66 | 66 | ||
@@ -70,7 +70,6 @@ static void gunze_process_packet(struct gunze* gunze, struct pt_regs *regs) | |||
70 | return; | 70 | return; |
71 | } | 71 | } |
72 | 72 | ||
73 | input_regs(dev, regs); | ||
74 | input_report_abs(dev, ABS_X, simple_strtoul(gunze->data + 1, NULL, 10)); | 73 | input_report_abs(dev, ABS_X, simple_strtoul(gunze->data + 1, NULL, 10)); |
75 | input_report_abs(dev, ABS_Y, 1024 - simple_strtoul(gunze->data + 6, NULL, 10)); | 74 | input_report_abs(dev, ABS_Y, 1024 - simple_strtoul(gunze->data + 6, NULL, 10)); |
76 | input_report_key(dev, BTN_TOUCH, gunze->data[0] == 'T'); | 75 | input_report_key(dev, BTN_TOUCH, gunze->data[0] == 'T'); |
@@ -78,12 +77,12 @@ static void gunze_process_packet(struct gunze* gunze, struct pt_regs *regs) | |||
78 | } | 77 | } |
79 | 78 | ||
80 | static irqreturn_t gunze_interrupt(struct serio *serio, | 79 | static irqreturn_t gunze_interrupt(struct serio *serio, |
81 | unsigned char data, unsigned int flags, struct pt_regs *regs) | 80 | unsigned char data, unsigned int flags) |
82 | { | 81 | { |
83 | struct gunze* gunze = serio_get_drvdata(serio); | 82 | struct gunze* gunze = serio_get_drvdata(serio); |
84 | 83 | ||
85 | if (data == '\r') { | 84 | if (data == '\r') { |
86 | gunze_process_packet(gunze, regs); | 85 | gunze_process_packet(gunze); |
87 | gunze->idx = 0; | 86 | gunze->idx = 0; |
88 | } else { | 87 | } else { |
89 | if (gunze->idx < GUNZE_MAX_LENGTH) | 88 | if (gunze->idx < GUNZE_MAX_LENGTH) |
diff --git a/drivers/input/touchscreen/h3600_ts_input.c b/drivers/input/touchscreen/h3600_ts_input.c index e2b910018773..d9e61ee05ea9 100644 --- a/drivers/input/touchscreen/h3600_ts_input.c +++ b/drivers/input/touchscreen/h3600_ts_input.c | |||
@@ -106,19 +106,18 @@ struct h3600_dev { | |||
106 | char phys[32]; | 106 | char phys[32]; |
107 | }; | 107 | }; |
108 | 108 | ||
109 | static irqreturn_t action_button_handler(int irq, void *dev_id, struct pt_regs *regs) | 109 | static irqreturn_t action_button_handler(int irq, void *dev_id) |
110 | { | 110 | { |
111 | int down = (GPLR & GPIO_BITSY_ACTION_BUTTON) ? 0 : 1; | 111 | int down = (GPLR & GPIO_BITSY_ACTION_BUTTON) ? 0 : 1; |
112 | struct input_dev *dev = (struct input_dev *) dev_id; | 112 | struct input_dev *dev = (struct input_dev *) dev_id; |
113 | 113 | ||
114 | input_regs(dev, regs); | ||
115 | input_report_key(dev, KEY_ENTER, down); | 114 | input_report_key(dev, KEY_ENTER, down); |
116 | input_sync(dev); | 115 | input_sync(dev); |
117 | 116 | ||
118 | return IRQ_HANDLED; | 117 | return IRQ_HANDLED; |
119 | } | 118 | } |
120 | 119 | ||
121 | static irqreturn_t npower_button_handler(int irq, void *dev_id, struct pt_regs *regs) | 120 | static irqreturn_t npower_button_handler(int irq, void *dev_id) |
122 | { | 121 | { |
123 | int down = (GPLR & GPIO_BITSY_NPOWER_BUTTON) ? 0 : 1; | 122 | int down = (GPLR & GPIO_BITSY_NPOWER_BUTTON) ? 0 : 1; |
124 | struct input_dev *dev = (struct input_dev *) dev_id; | 123 | struct input_dev *dev = (struct input_dev *) dev_id; |
@@ -127,7 +126,6 @@ static irqreturn_t npower_button_handler(int irq, void *dev_id, struct pt_regs * | |||
127 | * This interrupt is only called when we release the key. So we have | 126 | * This interrupt is only called when we release the key. So we have |
128 | * to fake a key press. | 127 | * to fake a key press. |
129 | */ | 128 | */ |
130 | input_regs(dev, regs); | ||
131 | input_report_key(dev, KEY_SUSPEND, 1); | 129 | input_report_key(dev, KEY_SUSPEND, 1); |
132 | input_report_key(dev, KEY_SUSPEND, down); | 130 | input_report_key(dev, KEY_SUSPEND, down); |
133 | input_sync(dev); | 131 | input_sync(dev); |
@@ -165,14 +163,12 @@ unsigned int h3600_flite_power(struct input_dev *dev, enum flite_pwr pwr) | |||
165 | * packets. Some packets coming from serial are not touchscreen related. In | 163 | * packets. Some packets coming from serial are not touchscreen related. In |
166 | * this case we send them off to be processed elsewhere. | 164 | * this case we send them off to be processed elsewhere. |
167 | */ | 165 | */ |
168 | static void h3600ts_process_packet(struct h3600_dev *ts, struct pt_regs *regs) | 166 | static void h3600ts_process_packet(struct h3600_dev *ts) |
169 | { | 167 | { |
170 | struct input_dev *dev = ts->dev; | 168 | struct input_dev *dev = ts->dev; |
171 | static int touched = 0; | 169 | static int touched = 0; |
172 | int key, down = 0; | 170 | int key, down = 0; |
173 | 171 | ||
174 | input_regs(dev, regs); | ||
175 | |||
176 | switch (ts->event) { | 172 | switch (ts->event) { |
177 | /* | 173 | /* |
178 | Buttons - returned as a single byte | 174 | Buttons - returned as a single byte |
@@ -301,7 +297,7 @@ static int state; | |||
301 | #define STATE_EOF 3 /* state where we decode checksum or EOF */ | 297 | #define STATE_EOF 3 /* state where we decode checksum or EOF */ |
302 | 298 | ||
303 | static irqreturn_t h3600ts_interrupt(struct serio *serio, unsigned char data, | 299 | static irqreturn_t h3600ts_interrupt(struct serio *serio, unsigned char data, |
304 | unsigned int flags, struct pt_regs *regs) | 300 | unsigned int flags) |
305 | { | 301 | { |
306 | struct h3600_dev *ts = serio_get_drvdata(serio); | 302 | struct h3600_dev *ts = serio_get_drvdata(serio); |
307 | 303 | ||
@@ -333,7 +329,7 @@ static irqreturn_t h3600ts_interrupt(struct serio *serio, unsigned char data, | |||
333 | case STATE_EOF: | 329 | case STATE_EOF: |
334 | state = STATE_SOF; | 330 | state = STATE_SOF; |
335 | if (data == CHAR_EOF || data == ts->chksum) | 331 | if (data == CHAR_EOF || data == ts->chksum) |
336 | h3600ts_process_packet(ts, regs); | 332 | h3600ts_process_packet(ts); |
337 | break; | 333 | break; |
338 | default: | 334 | default: |
339 | printk("Error3\n"); | 335 | printk("Error3\n"); |
diff --git a/drivers/input/touchscreen/hp680_ts_input.c b/drivers/input/touchscreen/hp680_ts_input.c index ee6c2f40cdf6..e31c6c55b2e2 100644 --- a/drivers/input/touchscreen/hp680_ts_input.c +++ b/drivers/input/touchscreen/hp680_ts_input.c | |||
@@ -66,7 +66,7 @@ static void do_softint(void *data) | |||
66 | enable_irq(HP680_TS_IRQ); | 66 | enable_irq(HP680_TS_IRQ); |
67 | } | 67 | } |
68 | 68 | ||
69 | static irqreturn_t hp680_ts_interrupt(int irq, void *dev, struct pt_regs *regs) | 69 | static irqreturn_t hp680_ts_interrupt(int irq, void *dev) |
70 | { | 70 | { |
71 | disable_irq_nosync(irq); | 71 | disable_irq_nosync(irq); |
72 | schedule_delayed_work(&work, HZ / 20); | 72 | schedule_delayed_work(&work, HZ / 20); |
diff --git a/drivers/input/touchscreen/mk712.c b/drivers/input/touchscreen/mk712.c index 3226830eea08..4cbcaa6a71e5 100644 --- a/drivers/input/touchscreen/mk712.c +++ b/drivers/input/touchscreen/mk712.c | |||
@@ -80,7 +80,7 @@ MODULE_PARM_DESC(irq, "IRQ of MK712 touchscreen controller"); | |||
80 | static struct input_dev *mk712_dev; | 80 | static struct input_dev *mk712_dev; |
81 | static DEFINE_SPINLOCK(mk712_lock); | 81 | static DEFINE_SPINLOCK(mk712_lock); |
82 | 82 | ||
83 | static irqreturn_t mk712_interrupt(int irq, void *dev_id, struct pt_regs *regs) | 83 | static irqreturn_t mk712_interrupt(int irq, void *dev_id) |
84 | { | 84 | { |
85 | unsigned char status; | 85 | unsigned char status; |
86 | static int debounce = 1; | 86 | static int debounce = 1; |
@@ -88,7 +88,6 @@ static irqreturn_t mk712_interrupt(int irq, void *dev_id, struct pt_regs *regs) | |||
88 | static unsigned short last_y; | 88 | static unsigned short last_y; |
89 | 89 | ||
90 | spin_lock(&mk712_lock); | 90 | spin_lock(&mk712_lock); |
91 | input_regs(mk712_dev, regs); | ||
92 | 91 | ||
93 | status = inb(mk712_io + MK712_STATUS); | 92 | status = inb(mk712_io + MK712_STATUS); |
94 | 93 | ||
diff --git a/drivers/input/touchscreen/mtouch.c b/drivers/input/touchscreen/mtouch.c index 8647a905df80..3b4c61664b63 100644 --- a/drivers/input/touchscreen/mtouch.c +++ b/drivers/input/touchscreen/mtouch.c | |||
@@ -63,12 +63,11 @@ struct mtouch { | |||
63 | char phys[32]; | 63 | char phys[32]; |
64 | }; | 64 | }; |
65 | 65 | ||
66 | static void mtouch_process_format_tablet(struct mtouch *mtouch, struct pt_regs *regs) | 66 | static void mtouch_process_format_tablet(struct mtouch *mtouch) |
67 | { | 67 | { |
68 | struct input_dev *dev = mtouch->dev; | 68 | struct input_dev *dev = mtouch->dev; |
69 | 69 | ||
70 | if (MTOUCH_FORMAT_TABLET_LENGTH == ++mtouch->idx) { | 70 | if (MTOUCH_FORMAT_TABLET_LENGTH == ++mtouch->idx) { |
71 | input_regs(dev, regs); | ||
72 | input_report_abs(dev, ABS_X, MTOUCH_GET_XC(mtouch->data)); | 71 | input_report_abs(dev, ABS_X, MTOUCH_GET_XC(mtouch->data)); |
73 | input_report_abs(dev, ABS_Y, MTOUCH_MAX_YC - MTOUCH_GET_YC(mtouch->data)); | 72 | input_report_abs(dev, ABS_Y, MTOUCH_MAX_YC - MTOUCH_GET_YC(mtouch->data)); |
74 | input_report_key(dev, BTN_TOUCH, MTOUCH_GET_TOUCHED(mtouch->data)); | 73 | input_report_key(dev, BTN_TOUCH, MTOUCH_GET_TOUCHED(mtouch->data)); |
@@ -78,7 +77,7 @@ static void mtouch_process_format_tablet(struct mtouch *mtouch, struct pt_regs * | |||
78 | } | 77 | } |
79 | } | 78 | } |
80 | 79 | ||
81 | static void mtouch_process_response(struct mtouch *mtouch, struct pt_regs *regs) | 80 | static void mtouch_process_response(struct mtouch *mtouch) |
82 | { | 81 | { |
83 | if (MTOUCH_RESPONSE_END_BYTE == mtouch->data[mtouch->idx++]) { | 82 | if (MTOUCH_RESPONSE_END_BYTE == mtouch->data[mtouch->idx++]) { |
84 | /* FIXME - process response */ | 83 | /* FIXME - process response */ |
@@ -90,16 +89,16 @@ static void mtouch_process_response(struct mtouch *mtouch, struct pt_regs *regs) | |||
90 | } | 89 | } |
91 | 90 | ||
92 | static irqreturn_t mtouch_interrupt(struct serio *serio, | 91 | static irqreturn_t mtouch_interrupt(struct serio *serio, |
93 | unsigned char data, unsigned int flags, struct pt_regs *regs) | 92 | unsigned char data, unsigned int flags) |
94 | { | 93 | { |
95 | struct mtouch* mtouch = serio_get_drvdata(serio); | 94 | struct mtouch* mtouch = serio_get_drvdata(serio); |
96 | 95 | ||
97 | mtouch->data[mtouch->idx] = data; | 96 | mtouch->data[mtouch->idx] = data; |
98 | 97 | ||
99 | if (MTOUCH_FORMAT_TABLET_STATUS_BIT & mtouch->data[0]) | 98 | if (MTOUCH_FORMAT_TABLET_STATUS_BIT & mtouch->data[0]) |
100 | mtouch_process_format_tablet(mtouch, regs); | 99 | mtouch_process_format_tablet(mtouch); |
101 | else if (MTOUCH_RESPONSE_BEGIN_BYTE == mtouch->data[0]) | 100 | else if (MTOUCH_RESPONSE_BEGIN_BYTE == mtouch->data[0]) |
102 | mtouch_process_response(mtouch, regs); | 101 | mtouch_process_response(mtouch); |
103 | else | 102 | else |
104 | printk(KERN_DEBUG "mtouch.c: unknown/unsynchronized data from device, byte %x\n",mtouch->data[0]); | 103 | printk(KERN_DEBUG "mtouch.c: unknown/unsynchronized data from device, byte %x\n",mtouch->data[0]); |
105 | 104 | ||
diff --git a/drivers/input/touchscreen/penmount.c b/drivers/input/touchscreen/penmount.c index f7370109d43e..6c7d0c2c76cc 100644 --- a/drivers/input/touchscreen/penmount.c +++ b/drivers/input/touchscreen/penmount.c | |||
@@ -46,7 +46,7 @@ struct pm { | |||
46 | }; | 46 | }; |
47 | 47 | ||
48 | static irqreturn_t pm_interrupt(struct serio *serio, | 48 | static irqreturn_t pm_interrupt(struct serio *serio, |
49 | unsigned char data, unsigned int flags, struct pt_regs *regs) | 49 | unsigned char data, unsigned int flags) |
50 | { | 50 | { |
51 | struct pm *pm = serio_get_drvdata(serio); | 51 | struct pm *pm = serio_get_drvdata(serio); |
52 | struct input_dev *dev = pm->dev; | 52 | struct input_dev *dev = pm->dev; |
@@ -55,7 +55,6 @@ static irqreturn_t pm_interrupt(struct serio *serio, | |||
55 | 55 | ||
56 | if (pm->data[0] & 0x80) { | 56 | if (pm->data[0] & 0x80) { |
57 | if (PM_MAX_LENGTH == ++pm->idx) { | 57 | if (PM_MAX_LENGTH == ++pm->idx) { |
58 | input_regs(dev, regs); | ||
59 | input_report_abs(dev, ABS_X, pm->data[2] * 128 + pm->data[1]); | 58 | input_report_abs(dev, ABS_X, pm->data[2] * 128 + pm->data[1]); |
60 | input_report_abs(dev, ABS_Y, pm->data[4] * 128 + pm->data[3]); | 59 | input_report_abs(dev, ABS_Y, pm->data[4] * 128 + pm->data[3]); |
61 | input_report_key(dev, BTN_TOUCH, !!(pm->data[0] & 0x40)); | 60 | input_report_key(dev, BTN_TOUCH, !!(pm->data[0] & 0x40)); |
diff --git a/drivers/input/touchscreen/touchright.c b/drivers/input/touchscreen/touchright.c index 1c89fa538651..c74f74e57af0 100644 --- a/drivers/input/touchscreen/touchright.c +++ b/drivers/input/touchscreen/touchright.c | |||
@@ -56,7 +56,7 @@ struct tr { | |||
56 | }; | 56 | }; |
57 | 57 | ||
58 | static irqreturn_t tr_interrupt(struct serio *serio, | 58 | static irqreturn_t tr_interrupt(struct serio *serio, |
59 | unsigned char data, unsigned int flags, struct pt_regs *regs) | 59 | unsigned char data, unsigned int flags) |
60 | { | 60 | { |
61 | struct tr *tr = serio_get_drvdata(serio); | 61 | struct tr *tr = serio_get_drvdata(serio); |
62 | struct input_dev *dev = tr->dev; | 62 | struct input_dev *dev = tr->dev; |
@@ -65,7 +65,6 @@ static irqreturn_t tr_interrupt(struct serio *serio, | |||
65 | 65 | ||
66 | if ((tr->data[0] & TR_FORMAT_STATUS_MASK) == TR_FORMAT_STATUS_BYTE) { | 66 | if ((tr->data[0] & TR_FORMAT_STATUS_MASK) == TR_FORMAT_STATUS_BYTE) { |
67 | if (++tr->idx == TR_LENGTH) { | 67 | if (++tr->idx == TR_LENGTH) { |
68 | input_regs(dev, regs); | ||
69 | input_report_abs(dev, ABS_X, | 68 | input_report_abs(dev, ABS_X, |
70 | (tr->data[1] << 5) | (tr->data[2] >> 1)); | 69 | (tr->data[1] << 5) | (tr->data[2] >> 1)); |
71 | input_report_abs(dev, ABS_Y, | 70 | input_report_abs(dev, ABS_Y, |
diff --git a/drivers/input/touchscreen/touchwin.c b/drivers/input/touchscreen/touchwin.c index a7b4c755958e..9911820fa2fe 100644 --- a/drivers/input/touchscreen/touchwin.c +++ b/drivers/input/touchscreen/touchwin.c | |||
@@ -60,7 +60,7 @@ struct tw { | |||
60 | }; | 60 | }; |
61 | 61 | ||
62 | static irqreturn_t tw_interrupt(struct serio *serio, | 62 | static irqreturn_t tw_interrupt(struct serio *serio, |
63 | unsigned char data, unsigned int flags, struct pt_regs *regs) | 63 | unsigned char data, unsigned int flags) |
64 | { | 64 | { |
65 | struct tw *tw = serio_get_drvdata(serio); | 65 | struct tw *tw = serio_get_drvdata(serio); |
66 | struct input_dev *dev = tw->dev; | 66 | struct input_dev *dev = tw->dev; |
@@ -70,7 +70,6 @@ static irqreturn_t tw_interrupt(struct serio *serio, | |||
70 | tw->data[tw->idx++] = data; | 70 | tw->data[tw->idx++] = data; |
71 | /* verify length and that the two Y's are the same */ | 71 | /* verify length and that the two Y's are the same */ |
72 | if (tw->idx == TW_LENGTH && tw->data[1] == tw->data[2]) { | 72 | if (tw->idx == TW_LENGTH && tw->data[1] == tw->data[2]) { |
73 | input_regs(dev, regs); | ||
74 | input_report_abs(dev, ABS_X, tw->data[0]); | 73 | input_report_abs(dev, ABS_X, tw->data[0]); |
75 | input_report_abs(dev, ABS_Y, tw->data[1]); | 74 | input_report_abs(dev, ABS_Y, tw->data[1]); |
76 | input_report_key(dev, BTN_TOUCH, 1); | 75 | input_report_key(dev, BTN_TOUCH, 1); |