diff options
Diffstat (limited to 'drivers/sn/ioc3.c')
-rw-r--r-- | drivers/sn/ioc3.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/drivers/sn/ioc3.c b/drivers/sn/ioc3.c index 6c7e0352d561..3d91b6b9287d 100644 --- a/drivers/sn/ioc3.c +++ b/drivers/sn/ioc3.c | |||
@@ -398,7 +398,7 @@ static inline uint32_t get_pending_intrs(struct ioc3_driver_data *idd) | |||
398 | return intrs; | 398 | return intrs; |
399 | } | 399 | } |
400 | 400 | ||
401 | static irqreturn_t ioc3_intr_io(int irq, void *arg, struct pt_regs *regs) | 401 | static irqreturn_t ioc3_intr_io(int irq, void *arg) |
402 | { | 402 | { |
403 | unsigned long flags; | 403 | unsigned long flags; |
404 | struct ioc3_driver_data *idd = (struct ioc3_driver_data *)arg; | 404 | struct ioc3_driver_data *idd = (struct ioc3_driver_data *)arg; |
@@ -412,7 +412,7 @@ static irqreturn_t ioc3_intr_io(int irq, void *arg, struct pt_regs *regs) | |||
412 | if(ioc3_ethernet && idd->active[ioc3_ethernet->id] && | 412 | if(ioc3_ethernet && idd->active[ioc3_ethernet->id] && |
413 | ioc3_ethernet->intr) { | 413 | ioc3_ethernet->intr) { |
414 | handled = handled && !ioc3_ethernet->intr(ioc3_ethernet, | 414 | handled = handled && !ioc3_ethernet->intr(ioc3_ethernet, |
415 | idd, 0, regs); | 415 | idd, 0); |
416 | } | 416 | } |
417 | } | 417 | } |
418 | pending = get_pending_intrs(idd); /* look at the IO IRQs */ | 418 | pending = get_pending_intrs(idd); /* look at the IO IRQs */ |
@@ -424,8 +424,7 @@ static irqreturn_t ioc3_intr_io(int irq, void *arg, struct pt_regs *regs) | |||
424 | write_ireg(idd, ioc3_submodules[id]->irq_mask, | 424 | write_ireg(idd, ioc3_submodules[id]->irq_mask, |
425 | IOC3_W_IEC); | 425 | IOC3_W_IEC); |
426 | if(!ioc3_submodules[id]->intr(ioc3_submodules[id], | 426 | if(!ioc3_submodules[id]->intr(ioc3_submodules[id], |
427 | idd, pending & ioc3_submodules[id]->irq_mask, | 427 | idd, pending & ioc3_submodules[id]->irq_mask)) |
428 | regs)) | ||
429 | pending &= ~ioc3_submodules[id]->irq_mask; | 428 | pending &= ~ioc3_submodules[id]->irq_mask; |
430 | if (ioc3_submodules[id]->reset_mask) | 429 | if (ioc3_submodules[id]->reset_mask) |
431 | write_ireg(idd, ioc3_submodules[id]->irq_mask, | 430 | write_ireg(idd, ioc3_submodules[id]->irq_mask, |
@@ -442,7 +441,7 @@ static irqreturn_t ioc3_intr_io(int irq, void *arg, struct pt_regs *regs) | |||
442 | return handled?IRQ_HANDLED:IRQ_NONE; | 441 | return handled?IRQ_HANDLED:IRQ_NONE; |
443 | } | 442 | } |
444 | 443 | ||
445 | static irqreturn_t ioc3_intr_eth(int irq, void *arg, struct pt_regs *regs) | 444 | static irqreturn_t ioc3_intr_eth(int irq, void *arg) |
446 | { | 445 | { |
447 | unsigned long flags; | 446 | unsigned long flags; |
448 | struct ioc3_driver_data *idd = (struct ioc3_driver_data *)arg; | 447 | struct ioc3_driver_data *idd = (struct ioc3_driver_data *)arg; |
@@ -453,8 +452,7 @@ static irqreturn_t ioc3_intr_eth(int irq, void *arg, struct pt_regs *regs) | |||
453 | read_lock_irqsave(&ioc3_submodules_lock, flags); | 452 | read_lock_irqsave(&ioc3_submodules_lock, flags); |
454 | if(ioc3_ethernet && idd->active[ioc3_ethernet->id] | 453 | if(ioc3_ethernet && idd->active[ioc3_ethernet->id] |
455 | && ioc3_ethernet->intr) | 454 | && ioc3_ethernet->intr) |
456 | handled = handled && !ioc3_ethernet->intr(ioc3_ethernet, idd, 0, | 455 | handled = handled && !ioc3_ethernet->intr(ioc3_ethernet, idd, 0); |
457 | regs); | ||
458 | read_unlock_irqrestore(&ioc3_submodules_lock, flags); | 456 | read_unlock_irqrestore(&ioc3_submodules_lock, flags); |
459 | return handled?IRQ_HANDLED:IRQ_NONE; | 457 | return handled?IRQ_HANDLED:IRQ_NONE; |
460 | } | 458 | } |