diff options
| author | Geert Uytterhoeven <geert@linux-m68k.org> | 2003-05-24 20:57:08 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@home.transmeta.com> | 2003-05-24 20:57:08 -0700 |
| commit | 0b0c67c71fcab5ac4022c1ca73153bbe5c433991 (patch) | |
| tree | 76be24ff69b05aabd161d505cef39a9e157c479b /drivers | |
| parent | dbac8f1a1c1aaf7a9067925f2dab7c1607217b18 (diff) | |
[PATCH] M68k IRQ API updates [15/20]
M68k input drivers: Update to the new irq API (from Roman Zippel and me) [15/20]
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/input/joystick/amijoy.c | 3 | ||||
| -rw-r--r-- | drivers/input/keyboard/amikbd.c | 16 | ||||
| -rw-r--r-- | drivers/input/mouse/amimouse.c | 4 |
3 files changed, 12 insertions, 11 deletions
diff --git a/drivers/input/joystick/amijoy.c b/drivers/input/joystick/amijoy.c index 7dd5ce20f4ce..c84662f60ba1 100644 --- a/drivers/input/joystick/amijoy.c +++ b/drivers/input/joystick/amijoy.c @@ -52,7 +52,7 @@ static char *amijoy_phys[2] = { "amijoy/input0", "amijoy/input1" }; static char *amijoy_name = "Amiga joystick"; -static void amijoy_interrupt(int irq, void *dummy, struct pt_regs *fp) +static irqreturn_t amijoy_interrupt(int irq, void *dummy, struct pt_regs *fp) { int i, data = 0, button = 0; @@ -74,6 +74,7 @@ static void amijoy_interrupt(int irq, void *dummy, struct pt_regs *fp) input_sync(amijoy_dev + i); } + return IRQ_HANDLED; } static int amijoy_open(struct input_dev *dev) diff --git a/drivers/input/keyboard/amikbd.c b/drivers/input/keyboard/amikbd.c index e1832cc082e8..4357ca9393d2 100644 --- a/drivers/input/keyboard/amikbd.c +++ b/drivers/input/keyboard/amikbd.c @@ -71,7 +71,7 @@ static struct input_dev amikbd_dev; static char *amikbd_name = "Amiga keyboard"; static char *amikbd_phys = "amikbd/input0"; -static void amikbd_interrupt(int irq, void *dummy, struct pt_regs *fp) +static irqreturn_t amikbd_interrupt(int irq, void *dummy, struct pt_regs *fp) { unsigned char scancode, down; @@ -93,16 +93,14 @@ static void amikbd_interrupt(int irq, void *dummy, struct pt_regs *fp) input_report_key(&amikbd_dev, scancode, 1); input_report_key(&amikbd_dev, scancode, 0); input_sync(&amikbd_dev); - return; + } else { + input_report_key(&amikbd_dev, scancode, down); + input_sync(&amikbd_dev); } + } else /* scancodes >= 0x78 are error codes */ + printk(amikbd_messages[scancode - 0x78]); - input_report_key(&amikbd_dev, scancode, down); - input_sync(&amikbd_dev); - - return; - } - - printk(amikbd_messages[scancode - 0x78]); /* scancodes >= 0x78 are error codes */ + return IRQ_HANDLED; } static int __init amikbd_init(void) diff --git a/drivers/input/mouse/amimouse.c b/drivers/input/mouse/amimouse.c index 05bf73dbf86d..7baa09cca7c5 100644 --- a/drivers/input/mouse/amimouse.c +++ b/drivers/input/mouse/amimouse.c @@ -40,7 +40,7 @@ static struct input_dev amimouse_dev; static char *amimouse_name = "Amiga mouse"; static char *amimouse_phys = "amimouse/input0"; -static void amimouse_interrupt(int irq, void *dummy, struct pt_regs *fp) +static irqreturn_t amimouse_interrupt(int irq, void *dummy, struct pt_regs *fp) { unsigned short joy0dat, potgor; int nx, ny, dx, dy; @@ -73,6 +73,8 @@ static void amimouse_interrupt(int irq, void *dummy, struct pt_regs *fp) input_report_key(&amimouse_dev, BTN_RIGHT, potgor & 0x0400); input_sync(&amimouse_dev); + + return IRQ_HANDLED; } static int amimouse_open(struct input_dev *dev) |
