Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 243339
b: refs/heads/master
c: ecf4b19
h: refs/heads/master
i:
  243337: 135ebd7
  243335: e99f283
v: v3
  • Loading branch information
Thomas Gleixner committed Mar 29, 2011
1 parent 887d0b9 commit f8ecebd
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 10 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 7bf811a8744d1eacff556bb7decc9c606b1537c2
refs/heads/master: ecf4b1961583e2a56fc935061f56f782173d0749
16 changes: 7 additions & 9 deletions trunk/arch/powerpc/sysdev/ipic.c
Original file line number Diff line number Diff line change
Expand Up @@ -605,7 +605,6 @@ static int ipic_set_irq_type(struct irq_data *d, unsigned int flow_type)
{
struct ipic *ipic = ipic_from_irq(d->irq);
unsigned int src = ipic_irq_to_hw(d->irq);
struct irq_desc *desc = irq_to_desc(d->irq);
unsigned int vold, vnew, edibit;

if (flow_type == IRQ_TYPE_NONE)
Expand All @@ -623,17 +622,16 @@ static int ipic_set_irq_type(struct irq_data *d, unsigned int flow_type)
printk(KERN_ERR "ipic: edge sense not supported on internal "
"interrupts\n");
return -EINVAL;

}

desc->status &= ~(IRQ_TYPE_SENSE_MASK | IRQ_LEVEL);
desc->status |= flow_type & IRQ_TYPE_SENSE_MASK;
irqd_set_trigger_type(d, flow_type);
if (flow_type & IRQ_TYPE_LEVEL_LOW) {
desc->status |= IRQ_LEVEL;
desc->handle_irq = handle_level_irq;
desc->irq_data.chip = &ipic_level_irq_chip;
__irq_set_handler_locked(d->irq, handle_level_irq);
d->chip = &ipic_level_irq_chip;
} else {
desc->handle_irq = handle_edge_irq;
desc->irq_data.chip = &ipic_edge_irq_chip;
__irq_set_handler_locked(d->irq, handle_edge_irq);
d->chip = &ipic_edge_irq_chip;
}

/* only EXT IRQ senses are programmable on ipic
Expand All @@ -655,7 +653,7 @@ static int ipic_set_irq_type(struct irq_data *d, unsigned int flow_type)
}
if (vold != vnew)
ipic_write(ipic->regs, IPIC_SECNR, vnew);
return 0;
return IRQ_SET_MASK_OK_NOCOPY;
}

/* level interrupts and edge interrupts have different ack operations */
Expand Down

0 comments on commit f8ecebd

Please sign in to comment.