diff options
Diffstat (limited to 'arch/powerpc/sysdev/xilinx_intc.c')
| -rw-r--r-- | arch/powerpc/sysdev/xilinx_intc.c | 28 | 
1 files changed, 11 insertions, 17 deletions
diff --git a/arch/powerpc/sysdev/xilinx_intc.c b/arch/powerpc/sysdev/xilinx_intc.c index 7436f3ed4df6..6183799754af 100644 --- a/arch/powerpc/sysdev/xilinx_intc.c +++ b/arch/powerpc/sysdev/xilinx_intc.c @@ -71,7 +71,7 @@ static unsigned char xilinx_intc_map_senses[] = {   */  static void xilinx_intc_mask(struct irq_data *d)  { -	int irq = virq_to_hw(d->irq); +	int irq = irqd_to_hwirq(d);  	void * regs = irq_data_get_irq_chip_data(d);  	pr_debug("mask: %d\n", irq);  	out_be32(regs + XINTC_CIE, 1 << irq); @@ -79,12 +79,6 @@ static void xilinx_intc_mask(struct irq_data *d)  static int xilinx_intc_set_type(struct irq_data *d, unsigned int flow_type)  { -	struct irq_desc *desc = irq_to_desc(d->irq); - -	desc->status &= ~(IRQ_TYPE_SENSE_MASK | IRQ_LEVEL); -	desc->status |= flow_type & IRQ_TYPE_SENSE_MASK; -	if (flow_type & (IRQ_TYPE_LEVEL_HIGH | IRQ_TYPE_LEVEL_LOW)) -		desc->status |= IRQ_LEVEL;  	return 0;  } @@ -93,7 +87,7 @@ static int xilinx_intc_set_type(struct irq_data *d, unsigned int flow_type)   */  static void xilinx_intc_level_unmask(struct irq_data *d)  { -	int irq = virq_to_hw(d->irq); +	int irq = irqd_to_hwirq(d);  	void * regs = irq_data_get_irq_chip_data(d);  	pr_debug("unmask: %d\n", irq);  	out_be32(regs + XINTC_SIE, 1 << irq); @@ -118,7 +112,7 @@ static struct irq_chip xilinx_intc_level_irqchip = {   */  static void xilinx_intc_edge_unmask(struct irq_data *d)  { -	int irq = virq_to_hw(d->irq); +	int irq = irqd_to_hwirq(d);  	void *regs = irq_data_get_irq_chip_data(d);  	pr_debug("unmask: %d\n", irq);  	out_be32(regs + XINTC_SIE, 1 << irq); @@ -126,7 +120,7 @@ static void xilinx_intc_edge_unmask(struct irq_data *d)  static void xilinx_intc_edge_ack(struct irq_data *d)  { -	int irq = virq_to_hw(d->irq); +	int irq = irqd_to_hwirq(d);  	void * regs = irq_data_get_irq_chip_data(d);  	pr_debug("ack: %d\n", irq);  	out_be32(regs + XINTC_IAR, 1 << irq); @@ -170,15 +164,15 @@ static int xilinx_intc_xlate(struct irq_host *h, struct device_node *ct,  static int xilinx_intc_map(struct irq_host *h, unsigned int virq,  				  irq_hw_number_t irq)  { -	set_irq_chip_data(virq, h->host_data); +	irq_set_chip_data(virq, h->host_data);  	if (xilinx_intc_typetable[irq] == IRQ_TYPE_LEVEL_HIGH ||  	    xilinx_intc_typetable[irq] == IRQ_TYPE_LEVEL_LOW) { -		set_irq_chip_and_handler(virq, &xilinx_intc_level_irqchip, -			handle_level_irq); +		irq_set_chip_and_handler(virq, &xilinx_intc_level_irqchip, +					 handle_level_irq);  	} else { -		set_irq_chip_and_handler(virq, &xilinx_intc_edge_irqchip, -			handle_edge_irq); +		irq_set_chip_and_handler(virq, &xilinx_intc_edge_irqchip, +					 handle_edge_irq);  	}  	return 0;  } @@ -229,7 +223,7 @@ int xilinx_intc_get_irq(void)   */  static void xilinx_i8259_cascade(unsigned int irq, struct irq_desc *desc)  { -	struct irq_chip *chip = get_irq_desc_chip(desc); +	struct irq_chip *chip = irq_desc_get_chip(desc);  	unsigned int cascade_irq = i8259_irq();  	if (cascade_irq) @@ -256,7 +250,7 @@ static void __init xilinx_i8259_setup_cascade(void)  	}  	i8259_init(cascade_node, 0); -	set_irq_chained_handler(cascade_irq, xilinx_i8259_cascade); +	irq_set_chained_handler(cascade_irq, xilinx_i8259_cascade);  	/* Program irq 7 (usb/audio), 14/15 (ide) to level sensitive */  	/* This looks like a dirty hack to me --gcl */  |