diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2011-02-06 14:33:00 +0000 |
---|---|---|
committer | Matt Turner <mattst88@gmail.com> | 2011-03-02 14:57:59 -0500 |
commit | 0b534cf3e86c3fec7703173f45fcb9290b77667b (patch) | |
tree | cf3b83178d0f63b89a1327094481b9b6f4c5cce8 /arch/alpha | |
parent | eb1e17fb9956eb3156f33cdcd880306102212661 (diff) | |
download | linux-3.10-0b534cf3e86c3fec7703173f45fcb9290b77667b.tar.gz linux-3.10-0b534cf3e86c3fec7703173f45fcb9290b77667b.tar.bz2 linux-3.10-0b534cf3e86c3fec7703173f45fcb9290b77667b.zip |
alpha: irq: Convert affinity to use irq_data
affinity is moving to irq_data. Fix it up.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Matt Turner <mattst88@gmail.com>
Diffstat (limited to 'arch/alpha')
-rw-r--r-- | arch/alpha/kernel/irq.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/arch/alpha/kernel/irq.c b/arch/alpha/kernel/irq.c index d3e20c7bbac..a19d6008229 100644 --- a/arch/alpha/kernel/irq.c +++ b/arch/alpha/kernel/irq.c @@ -44,11 +44,16 @@ static char irq_user_affinity[NR_IRQS]; int irq_select_affinity(unsigned int irq) { - struct irq_desc *desc = irq_to_desc(irq); + struct irq_data *data = irq_get_irq_data(irq); + struct irq_chip *chip; static int last_cpu; int cpu = last_cpu + 1; - if (!desc || !get_irq_desc_chip(desc)->set_affinity || irq_user_affinity[irq]) + if (!data) + return 1; + chip = irq_data_get_irq_chip(data); + + if (!chip->irq_set_affinity || irq_user_affinity[irq]) return 1; while (!cpu_possible(cpu) || @@ -56,8 +61,8 @@ int irq_select_affinity(unsigned int irq) cpu = (cpu < (NR_CPUS-1) ? cpu + 1 : 0); last_cpu = cpu; - cpumask_copy(desc->affinity, cpumask_of(cpu)); - get_irq_desc_chip(desc)->set_affinity(irq, cpumask_of(cpu)); + cpumask_copy(data->affinity, cpumask_of(cpu)); + chip->irq_set_affinity(data, cpumask_of(cpu), false); return 0; } #endif /* CONFIG_SMP */ |