diff options
author | Rusty Russell <rusty@rustcorp.com.au> | 2008-12-13 05:50:26 -0500 |
---|---|---|
committer | Rusty Russell <rusty@rustcorp.com.au> | 2008-12-13 05:50:26 -0500 |
commit | 0de26520c7cabf36e1de090ea8092f011a6106ce (patch) | |
tree | 3d02e509b6315fdfd9cdb8c9e0b9ed0a30cf9384 /arch/powerpc/sysdev/mpic.c | |
parent | 29c0177e6a4ac094302bed54a1d4bbb6b740a9ef (diff) |
cpumask: make irq_set_affinity() take a const struct cpumask
Impact: change existing irq_chip API
Not much point with gentle transition here: the struct irq_chip's
setaffinity method signature needs to change.
Fortunately, not widely used code, but hits a few architectures.
Note: In irq_select_affinity() I save a temporary in by mangling
irq_desc[irq].affinity directly. Ingo, does this break anything?
(Folded in fix from KOSAKI Motohiro)
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Mike Travis <travis@sgi.com>
Reviewed-by: Grant Grundler <grundler@parisc-linux.org>
Acked-by: Ingo Molnar <mingo@redhat.com>
Cc: ralf@linux-mips.org
Cc: grundler@parisc-linux.org
Cc: jeremy@xensource.com
Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Diffstat (limited to 'arch/powerpc/sysdev/mpic.c')
-rw-r--r-- | arch/powerpc/sysdev/mpic.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c index 1890fb085cde..5d7f9f0c93c3 100644 --- a/arch/powerpc/sysdev/mpic.c +++ b/arch/powerpc/sysdev/mpic.c | |||
@@ -817,7 +817,7 @@ static void mpic_end_ipi(unsigned int irq) | |||
817 | 817 | ||
818 | #endif /* CONFIG_SMP */ | 818 | #endif /* CONFIG_SMP */ |
819 | 819 | ||
820 | void mpic_set_affinity(unsigned int irq, cpumask_t cpumask) | 820 | void mpic_set_affinity(unsigned int irq, const struct cpumask *cpumask) |
821 | { | 821 | { |
822 | struct mpic *mpic = mpic_from_irq(irq); | 822 | struct mpic *mpic = mpic_from_irq(irq); |
823 | unsigned int src = mpic_irq_to_hw(irq); | 823 | unsigned int src = mpic_irq_to_hw(irq); |
@@ -829,7 +829,7 @@ void mpic_set_affinity(unsigned int irq, cpumask_t cpumask) | |||
829 | } else { | 829 | } else { |
830 | cpumask_t tmp; | 830 | cpumask_t tmp; |
831 | 831 | ||
832 | cpus_and(tmp, cpumask, cpu_online_map); | 832 | cpumask_and(&tmp, cpumask, cpu_online_mask); |
833 | 833 | ||
834 | mpic_irq_write(src, MPIC_INFO(IRQ_DESTINATION), | 834 | mpic_irq_write(src, MPIC_INFO(IRQ_DESTINATION), |
835 | mpic_physmask(cpus_addr(tmp)[0])); | 835 | mpic_physmask(cpus_addr(tmp)[0])); |