Commit fdab239f authored by Geert Uytterhoeven's avatar Geert Uytterhoeven Committed by Linus Torvalds

[PATCH] M68k IRQ API updates [16/20]

M68k mac drivers: Update to the new irq API (from Roman Zippel and me) [16/20]
parent 0b0c67c7
...@@ -77,7 +77,7 @@ static volatile unsigned char *via; ...@@ -77,7 +77,7 @@ static volatile unsigned char *via;
static int macii_init_via(void); static int macii_init_via(void);
static void macii_start(void); static void macii_start(void);
static void macii_interrupt(int irq, void *arg, struct pt_regs *regs); static irqreturn_t macii_interrupt(int irq, void *arg, struct pt_regs *regs);
static void macii_retransmit(int); static void macii_retransmit(int);
static void macii_queue_poll(void); static void macii_queue_poll(void);
...@@ -151,7 +151,7 @@ int macii_init(void) ...@@ -151,7 +151,7 @@ int macii_init(void)
if (err) return err; if (err) return err;
err = request_irq(IRQ_MAC_ADB, macii_interrupt, IRQ_FLG_LOCK, "ADB", err = request_irq(IRQ_MAC_ADB, macii_interrupt, IRQ_FLG_LOCK, "ADB",
macii_interrupt); macii_interrupt);
if (err) return err; if (err) return err;
macii_state = idle; macii_state = idle;
...@@ -410,7 +410,7 @@ static void macii_start(void) ...@@ -410,7 +410,7 @@ static void macii_start(void)
* Note: As of 21/10/97, the MacII ADB part works including timeout detection * Note: As of 21/10/97, the MacII ADB part works including timeout detection
* and retransmit (Talk to the last active device). * and retransmit (Talk to the last active device).
*/ */
void macii_interrupt(int irq, void *arg, struct pt_regs *regs) static irqreturn_t macii_interrupt(int irq, void *arg, struct pt_regs *regs)
{ {
int x, adbdir; int x, adbdir;
unsigned long flags; unsigned long flags;
...@@ -423,7 +423,7 @@ void macii_interrupt(int irq, void *arg, struct pt_regs *regs) ...@@ -423,7 +423,7 @@ void macii_interrupt(int irq, void *arg, struct pt_regs *regs)
if (driver_running) { if (driver_running) {
local_irq_restore(flags); local_irq_restore(flags);
return; return IRQ_NONE;
} }
driver_running = 1; driver_running = 1;
...@@ -649,4 +649,5 @@ void macii_interrupt(int irq, void *arg, struct pt_regs *regs) ...@@ -649,4 +649,5 @@ void macii_interrupt(int irq, void *arg, struct pt_regs *regs)
/* reset mutex and interrupts */ /* reset mutex and interrupts */
driver_running = 0; driver_running = 0;
local_irq_restore(flags); local_irq_restore(flags);
return IRQ_HANDLED;
} }
...@@ -84,7 +84,7 @@ static int maciisi_init(void); ...@@ -84,7 +84,7 @@ static int maciisi_init(void);
static int maciisi_send_request(struct adb_request* req, int sync); static int maciisi_send_request(struct adb_request* req, int sync);
static void maciisi_sync(struct adb_request *req); static void maciisi_sync(struct adb_request *req);
static int maciisi_write(struct adb_request* req); static int maciisi_write(struct adb_request* req);
static void maciisi_interrupt(int irq, void* arg, struct pt_regs* regs); static irqreturn_t maciisi_interrupt(int irq, void* arg, struct pt_regs* regs);
static void maciisi_input(unsigned char *buf, int nb, struct pt_regs *regs); static void maciisi_input(unsigned char *buf, int nb, struct pt_regs *regs);
static int maciisi_init_via(void); static int maciisi_init_via(void);
static void maciisi_poll(void); static void maciisi_poll(void);
...@@ -414,7 +414,7 @@ maciisi_poll(void) ...@@ -414,7 +414,7 @@ maciisi_poll(void)
/* Shift register interrupt - this is *supposed* to mean that the /* Shift register interrupt - this is *supposed* to mean that the
register is either full or empty. In practice, I have no idea what register is either full or empty. In practice, I have no idea what
it means :( */ it means :( */
static void static irqreturn_t
maciisi_interrupt(int irq, void* arg, struct pt_regs* regs) maciisi_interrupt(int irq, void* arg, struct pt_regs* regs)
{ {
int status; int status;
...@@ -436,7 +436,7 @@ maciisi_interrupt(int irq, void* arg, struct pt_regs* regs) ...@@ -436,7 +436,7 @@ maciisi_interrupt(int irq, void* arg, struct pt_regs* regs)
/* Shouldn't happen, we hope */ /* Shouldn't happen, we hope */
printk(KERN_ERR "maciisi_interrupt: called without interrupt flag set\n"); printk(KERN_ERR "maciisi_interrupt: called without interrupt flag set\n");
local_irq_restore(flags); local_irq_restore(flags);
return; return IRQ_NONE;
} }
/* Clear the interrupt */ /* Clear the interrupt */
...@@ -635,6 +635,7 @@ maciisi_interrupt(int irq, void* arg, struct pt_regs* regs) ...@@ -635,6 +635,7 @@ maciisi_interrupt(int irq, void* arg, struct pt_regs* regs)
printk("maciisi_interrupt: unknown maciisi_state %d?\n", maciisi_state); printk("maciisi_interrupt: unknown maciisi_state %d?\n", maciisi_state);
} }
local_irq_restore(flags); local_irq_restore(flags);
return IRQ_HANDLED;
} }
static void static void
......
...@@ -107,7 +107,7 @@ struct notifier_block *sleep_notifier_list; ...@@ -107,7 +107,7 @@ struct notifier_block *sleep_notifier_list;
static int pmu_probe(void); static int pmu_probe(void);
static int pmu_init(void); static int pmu_init(void);
static void pmu_start(void); static void pmu_start(void);
static void pmu_interrupt(int irq, void *arg, struct pt_regs *regs); static irqreturn_t pmu_interrupt(int irq, void *arg, struct pt_regs *regs);
static int pmu_send_request(struct adb_request *req, int sync); static int pmu_send_request(struct adb_request *req, int sync);
static int pmu_autopoll(int devs); static int pmu_autopoll(int devs);
void pmu_poll(void); void pmu_poll(void);
...@@ -572,7 +572,7 @@ pmu_poll() ...@@ -572,7 +572,7 @@ pmu_poll()
local_irq_restore(flags); local_irq_restore(flags);
} }
static void static irqreturn_t
pmu_interrupt(int irq, void *dev_id, struct pt_regs *regs) pmu_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{ {
struct adb_request *req; struct adb_request *req;
...@@ -688,6 +688,7 @@ pmu_interrupt(int irq, void *dev_id, struct pt_regs *regs) ...@@ -688,6 +688,7 @@ pmu_interrupt(int irq, void *dev_id, struct pt_regs *regs)
printk("pmu_interrupt: exit state %d acr %02X, b %02X data_index %d/%d adb_int_pending %d\n", printk("pmu_interrupt: exit state %d acr %02X, b %02X data_index %d/%d adb_int_pending %d\n",
pmu_state, (uint) via1[ACR], (uint) via2[B], data_index, data_len, adb_int_pending); pmu_state, (uint) via1[ACR], (uint) via2[B], data_index, data_len, adb_int_pending);
#endif #endif
return IRQ_HANDLED;
} }
static void static void
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment