Commit 628150ca authored by Thomas Gleixner's avatar Thomas Gleixner Committed by Matt Turner

alpha: titan: Convert irq_chip functions

Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Signed-off-by: default avatarMatt Turner <mattst88@gmail.com>
parent b148c614
...@@ -112,8 +112,9 @@ titan_update_irq_hw(unsigned long mask) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment