diff options
Diffstat (limited to 'drivers/input')
64 files changed, 157 insertions, 239 deletions
diff --git a/drivers/input/joystick/amijoy.c b/drivers/input/joystick/amijoy.c index 7249d32429..650acf3a30 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 8632d47a7f..808f05932a 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 64a78c5154..ca08f45c20 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 fe79d15845..105112fb7b 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 947df27398..ffaeaefa1a 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 168b1061a0..e3d19444ba 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 7a19ee0529..2a9808cf82 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 3e2782e798..c4db0247c5 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 011ec4858e..1ffb032233 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 076f237d96..49085df2d6 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 f9c1a03214..35edea1ab9 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/amikbd.c b/drivers/input/keyboard/amikbd.c index f1f9db9d28..8abdbd0ee8 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 40244d4ce0..b6ef9eaad1 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 1e03153b9b..cb70970625 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 2e4abdc263..c9b0b8978c 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; |
diff --git a/drivers/input/keyboard/hilkbd.c b/drivers/input/keyboard/hilkbd.c index d22c7c6242..54bc569db4 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 5174224cad..708d5a1bc3 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 83906f80ba..fd33c9cc32 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 40a3f55124..9282e4e082 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 d436287d1d..5680a6d95b 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 e385710233..8b18c009e3 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 04c54c57f2..e60937d17b 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 9dbd7b8568..cac4781103 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 0821d53cf0..8c11dc9354 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/ixp4xx-beeper.c b/drivers/input/misc/ixp4xx-beeper.c index 805b636e73..105c6fc278 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/alps.c b/drivers/input/mouse/alps.c index 450b68a619..4e71a66fc7 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 c8b2cc9f18..599a7b2dc5 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 69f02178c5..402b057e98 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; |
diff --git a/drivers/input/mouse/inport.c b/drivers/input/mouse/inport.c index 50f1fed10b..e1252fa9a1 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 5e9d250675..c57e8853b9 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 9c7ce38806..8e9c2f3d69 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 7972eecbcf..8a4f862709 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 d284ea7121..8c075aa722 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 9fb7eb6b0f..6f9b2c7cc9 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 4d9107fba6..1b74cae8a5 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 872b30bf7a..ea04685696 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 680b323538..2a272c5daf 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 392108c436..49ac696d6c 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 47edcfd022..ffdb50eee9 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/ambakmi.c b/drivers/input/serio/ambakmi.c index 3df5eedf8f..5a7b49c355 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 bc6e87add0..0d35018c23 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 cde036a921..081fdc3c77 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 | ||
| @@ -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 | ||
diff --git a/drivers/input/serio/hp_sdc.c b/drivers/input/serio/hp_sdc.c index a10348bb25..ba7b920347 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 1bb0c76a92..09b06e605b 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 f08a5d0cd5..558200e96d 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 a5c1fb3a4a..688610e86a 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 fb727c6652..ea5e3c6ddb 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 d3827c5fe1..cb89aff2e1 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 513d37fc1a..49f84315cb 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 ebd9976fc8..559508795a 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 3e76ad71c9..960fae3c3c 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 71a8eea816..ba2a2035d6 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 54a680cc70..e1a3a79ab3 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 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); |
