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 | } |
