IRQ: Maintain regs pointer globally rather than passing to IRQ handlers
[firefly-linux-kernel-4.4.55.git] / drivers / input / joystick / spaceball.c
index 7a19ee052972ab4c50bd5b4a0c106c25d8f4a6cd..2a9808cf826f146182e8e4e9bc33e9883c08610e 100644 (file)
@@ -82,7 +82,7 @@ struct spaceball {
  * SpaceBall.
  */
 
-static void spaceball_process_packet(struct spaceball* spaceball, struct pt_regs *regs)
+static void spaceball_process_packet(struct spaceball* spaceball)
 {
        struct input_dev *dev = spaceball->dev;
        unsigned char *data = spaceball->data;
@@ -90,8 +90,6 @@ static void spaceball_process_packet(struct spaceball* spaceball, struct pt_regs
 
        if (spaceball->idx < 2) return;
 
-       input_regs(dev, regs);
-
        switch (spaceball->data[0]) {
 
                case 'D':                                       /* Ball data */
@@ -151,13 +149,13 @@ static void spaceball_process_packet(struct spaceball* spaceball, struct pt_regs
  */
 
 static irqreturn_t spaceball_interrupt(struct serio *serio,
-               unsigned char data, unsigned int flags, struct pt_regs *regs)
+               unsigned char data, unsigned int flags)
 {
        struct spaceball *spaceball = serio_get_drvdata(serio);
 
        switch (data) {
                case 0xd:
-                       spaceball_process_packet(spaceball, regs);
+                       spaceball_process_packet(spaceball);
                        spaceball->idx = 0;
                        spaceball->escape = 0;
                        break;