diff options
Diffstat (limited to 'arch/powerpc/sysdev/cpm2_pic.c')
| -rw-r--r-- | arch/powerpc/sysdev/cpm2_pic.c | 10 | 
1 files changed, 6 insertions, 4 deletions
diff --git a/arch/powerpc/sysdev/cpm2_pic.c b/arch/powerpc/sysdev/cpm2_pic.c index 78f1f7cca0a..722cf72e190 100644 --- a/arch/powerpc/sysdev/cpm2_pic.c +++ b/arch/powerpc/sysdev/cpm2_pic.c @@ -115,11 +115,13 @@ static void cpm2_ack(unsigned int virq)  static void cpm2_end_irq(unsigned int virq)  { +	struct irq_desc *desc;  	int	bit, word;  	unsigned int irq_nr = virq_to_hw(virq); -	if (!(irq_desc[irq_nr].status & (IRQ_DISABLED|IRQ_INPROGRESS)) -			&& irq_desc[irq_nr].action) { +	desc = irq_to_desc(irq_nr); +	if (!(desc->status & (IRQ_DISABLED|IRQ_INPROGRESS)) +			&& desc->action) {  		bit = irq_to_siubit[irq_nr];  		word = irq_to_siureg[irq_nr]; @@ -138,7 +140,7 @@ static void cpm2_end_irq(unsigned int virq)  static int cpm2_set_irq_type(unsigned int virq, unsigned int flow_type)  {  	unsigned int src = virq_to_hw(virq); -	struct irq_desc *desc = get_irq_desc(virq); +	struct irq_desc *desc = irq_to_desc(virq);  	unsigned int vold, vnew, edibit;  	if (flow_type == IRQ_TYPE_NONE) @@ -210,7 +212,7 @@ static int cpm2_pic_host_map(struct irq_host *h, unsigned int virq,  {  	pr_debug("cpm2_pic_host_map(%d, 0x%lx)\n", virq, hw); -	get_irq_desc(virq)->status |= IRQ_LEVEL; +	irq_to_desc(virq)->status |= IRQ_LEVEL;  	set_irq_chip_and_handler(virq, &cpm2_pic, handle_level_irq);  	return 0;  }  |