alpha: titan: Convert irq_chip functions

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Matt Turner <mattst88@gmail.com>
This commit is contained in:
Thomas Gleixner 2011-02-06 14:32:56 +00:00 коммит произвёл Matt Turner
Родитель b148c61461
Коммит 628150cae3
1 изменённых файлов: 12 добавлений и 9 удалений

Просмотреть файл

@ -112,8 +112,9 @@ titan_update_irq_hw(unsigned long mask)
} }
static inline void static inline void
titan_enable_irq(unsigned int irq) titan_enable_irq(struct irq_data *d)
{ {
unsigned int irq = d->irq;
spin_lock(&titan_irq_lock); spin_lock(&titan_irq_lock);
titan_cached_irq_mask |= 1UL << (irq - 16); titan_cached_irq_mask |= 1UL << (irq - 16);
titan_update_irq_hw(titan_cached_irq_mask); titan_update_irq_hw(titan_cached_irq_mask);
@ -121,8 +122,9 @@ titan_enable_irq(unsigned int irq)
} }
static inline void static inline void
titan_disable_irq(unsigned int irq) titan_disable_irq(struct irq_data *d)
{ {
unsigned int irq = d->irq;
spin_lock(&titan_irq_lock); spin_lock(&titan_irq_lock);
titan_cached_irq_mask &= ~(1UL << (irq - 16)); titan_cached_irq_mask &= ~(1UL << (irq - 16));
titan_update_irq_hw(titan_cached_irq_mask); titan_update_irq_hw(titan_cached_irq_mask);
@ -144,7 +146,8 @@ titan_cpu_set_irq_affinity(unsigned int irq, cpumask_t affinity)
} }
static int static int
titan_set_irq_affinity(unsigned int irq, const struct cpumask *affinity) titan_set_irq_affinity(struct irq_data *d, const struct cpumask *affinity,
bool force)
{ {
spin_lock(&titan_irq_lock); spin_lock(&titan_irq_lock);
titan_cpu_set_irq_affinity(irq - 16, *affinity); titan_cpu_set_irq_affinity(irq - 16, *affinity);
@ -175,17 +178,17 @@ init_titan_irqs(struct irq_chip * ops, int imin, int imax)
{ {
long i; long i;
for (i = imin; i <= imax; ++i) { for (i = imin; i <= imax; ++i) {
irq_to_desc(i)->status |= IRQ_LEVEL;
set_irq_chip_and_handler(i, ops, handle_level_irq); set_irq_chip_and_handler(i, ops, handle_level_irq);
irq_set_status_flags(i, IRQ_LEVEL);
} }
} }
static struct irq_chip titan_irq_type = { static struct irq_chip titan_irq_type = {
.name = "TITAN", .name = "TITAN",
.unmask = titan_enable_irq, .irq_unmask = titan_enable_irq,
.mask = titan_disable_irq, .irq_mask = titan_disable_irq,
.mask_ack = titan_disable_irq, .irq_mask_ack = titan_disable_irq,
.set_affinity = titan_set_irq_affinity, .irq_set_affinity = titan_set_irq_affinity,
}; };
static irqreturn_t static irqreturn_t