diff options
| author | Tony Lindgren <tony@atomide.com> | 2011-03-10 18:54:14 -0800 | 
|---|---|---|
| committer | Tony Lindgren <tony@atomide.com> | 2011-03-10 18:54:14 -0800 | 
| commit | 94a06b74e724caabcf0464c81527cfbcae0c8aff (patch) | |
| tree | 3570b6a627382a5eb5c8328b4959f615544d8e62 /arch/alpha/kernel/irq.c | |
| parent | 0dde52a9f5330eec240660191a94b51bd911ffcd (diff) | |
| parent | 9062511097683b4422f023d181b4a8b2db1a7a72 (diff) | |
| download | olio-linux-3.10-94a06b74e724caabcf0464c81527cfbcae0c8aff.tar.xz olio-linux-3.10-94a06b74e724caabcf0464c81527cfbcae0c8aff.zip  | |
Merge branch 'for_2.6.39/pm-misc' of ssh://master.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into omap-for-linus
Diffstat (limited to 'arch/alpha/kernel/irq.c')
| -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 9ab234f48dd..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 */  |