diff options
Diffstat (limited to 'arch/alpha/kernel/sys_takara.c')
| -rw-r--r-- | arch/alpha/kernel/sys_takara.c | 14 | 
1 files changed, 8 insertions, 6 deletions
diff --git a/arch/alpha/kernel/sys_takara.c b/arch/alpha/kernel/sys_takara.c index f8a1e8a862f..42a5331f13c 100644 --- a/arch/alpha/kernel/sys_takara.c +++ b/arch/alpha/kernel/sys_takara.c @@ -45,16 +45,18 @@ takara_update_irq_hw(unsigned long irq, unsigned long mask)  }  static inline void -takara_enable_irq(unsigned int irq) +takara_enable_irq(struct irq_data *d)  { +	unsigned int irq = d->irq;  	unsigned long mask;  	mask = (cached_irq_mask[irq >= 64] &= ~(1UL << (irq & 63)));  	takara_update_irq_hw(irq, mask);  }  static void -takara_disable_irq(unsigned int irq) +takara_disable_irq(struct irq_data *d)  { +	unsigned int irq = d->irq;  	unsigned long mask;  	mask = (cached_irq_mask[irq >= 64] |= 1UL << (irq & 63));  	takara_update_irq_hw(irq, mask); @@ -62,9 +64,9 @@ takara_disable_irq(unsigned int irq)  static struct irq_chip takara_irq_type = {  	.name		= "TAKARA", -	.unmask		= takara_enable_irq, -	.mask		= takara_disable_irq, -	.mask_ack	= takara_disable_irq, +	.irq_unmask	= takara_enable_irq, +	.irq_mask	= takara_disable_irq, +	.irq_mask_ack	= takara_disable_irq,  };  static void @@ -136,8 +138,8 @@ takara_init_irq(void)  		takara_update_irq_hw(i, -1);  	for (i = 16; i < 128; ++i) { -		irq_to_desc(i)->status |= IRQ_LEVEL;  		set_irq_chip_and_handler(i, &takara_irq_type, handle_level_irq); +		irq_set_status_flags(i, IRQ_LEVEL);  	}  	common_init_isa_dma();  |