diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-05 19:32:01 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-05 19:32:01 -0400 |
commit | 44aefd2706bb6f5b65ba2c38cd89e7609e2b43d3 (patch) | |
tree | 93824f573767da634fbc82c388b6d33cc454212b /drivers/input/touchscreen/elo.c | |
parent | c1a26e7d40fb814716950122353a1a556844286b (diff) | |
parent | 7d12e780e003f93433d49ce78cfedf4b4c52adc5 (diff) |
Merge git://git.infradead.org/~dhowells/irq-2.6
* git://git.infradead.org/~dhowells/irq-2.6:
IRQ: Maintain regs pointer globally rather than passing to IRQ handlers
IRQ: Typedef the IRQ handler function type
IRQ: Typedef the IRQ flow handler function type
Diffstat (limited to 'drivers/input/touchscreen/elo.c')
-rw-r--r-- | drivers/input/touchscreen/elo.c | 17 |
1 files changed, 7 insertions, 10 deletions
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 | ||