diff options
Diffstat (limited to 'drivers/input/touchscreen')
| -rw-r--r-- | drivers/input/touchscreen/ads7846.c | 2 | ||||
| -rw-r--r-- | drivers/input/touchscreen/corgi_ts.c | 13 | ||||
| -rw-r--r-- | drivers/input/touchscreen/elo.c | 17 | ||||
| -rw-r--r-- | drivers/input/touchscreen/gunze.c | 7 | ||||
| -rw-r--r-- | drivers/input/touchscreen/h3600_ts_input.c | 14 | ||||
| -rw-r--r-- | drivers/input/touchscreen/hp680_ts_input.c | 2 | ||||
| -rw-r--r-- | drivers/input/touchscreen/mk712.c | 3 | ||||
| -rw-r--r-- | drivers/input/touchscreen/mtouch.c | 11 | ||||
| -rw-r--r-- | drivers/input/touchscreen/penmount.c | 3 | ||||
| -rw-r--r-- | drivers/input/touchscreen/touchright.c | 3 | ||||
| -rw-r--r-- | drivers/input/touchscreen/touchwin.c | 3 |
11 files changed, 32 insertions, 46 deletions
diff --git a/drivers/input/touchscreen/ads7846.c b/drivers/input/touchscreen/ads7846.c index 66e411badf..f56d6a0f06 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 9b66271d3b..ca79b22461 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 ab565335ee..913e1b73bb 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 b769b21973..817c219893 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 e2b9100187..d9e61ee05e 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 ee6c2f40cd..e31c6c55b2 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 3226830eea..4cbcaa6a71 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 8647a905df..3b4c61664b 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 f7370109d4..6c7d0c2c76 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 1c89fa5386..c74f74e57a 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 a7b4c75595..9911820fa2 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); |
