diff options
| author | Thomas Gleixner <tglx@linutronix.de> | 2011-02-06 09:33:00 -0500 |
|---|---|---|
| committer | Matt Turner <mattst88@gmail.com> | 2011-03-02 14:57:59 -0500 |
| commit | 0b534cf3e86c3fec7703173f45fcb9290b77667b (patch) | |
| tree | cf3b83178d0f63b89a1327094481b9b6f4c5cce8 | |
| parent | eb1e17fb9956eb3156f33cdcd880306102212661 (diff) | |
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>
| -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]; | |||
| 44 | 44 | ||
| 45 | int irq_select_affinity(unsigned int irq) | 45 | int irq_select_affinity(unsigned int irq) |
| 46 | { | 46 | { |
| 47 | struct irq_desc *desc = irq_to_desc(irq); | 47 | struct irq_data *data = irq_get_irq_data(irq); |
| 48 | struct irq_chip *chip; | ||
| 48 | static int last_cpu; | 49 | static int last_cpu; |
| 49 | int cpu = last_cpu + 1; | 50 | int cpu = last_cpu + 1; |
| 50 | 51 | ||
| 51 | if (!desc || !get_irq_desc_chip(desc)->set_affinity || irq_user_affinity[irq]) | 52 | if (!data) |
| 53 | return 1; | ||
| 54 | chip = irq_data_get_irq_chip(data); | ||
| 55 | |||
| 56 | if (!chip->irq_set_affinity || irq_user_affinity[irq]) | ||
| 52 | return 1; | 57 | return 1; |
| 53 | 58 | ||
| 54 | while (!cpu_possible(cpu) || | 59 | while (!cpu_possible(cpu) || |
| @@ -56,8 +61,8 @@ int irq_select_affinity(unsigned int irq) | |||
| 56 | cpu = (cpu < (NR_CPUS-1) ? cpu + 1 : 0); | 61 | cpu = (cpu < (NR_CPUS-1) ? cpu + 1 : 0); |
| 57 | last_cpu = cpu; | 62 | last_cpu = cpu; |
| 58 | 63 | ||
| 59 | cpumask_copy(desc->affinity, cpumask_of(cpu)); | 64 | cpumask_copy(data->affinity, cpumask_of(cpu)); |
| 60 | get_irq_desc_chip(desc)->set_affinity(irq, cpumask_of(cpu)); | 65 | chip->irq_set_affinity(data, cpumask_of(cpu), false); |
| 61 | return 0; | 66 | return 0; |
| 62 | } | 67 | } |
| 63 | #endif /* CONFIG_SMP */ | 68 | #endif /* CONFIG_SMP */ |
