diff options
Diffstat (limited to 'arch/arm/common/gic.c')
| -rw-r--r-- | arch/arm/common/gic.c | 6 | 
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/arm/common/gic.c b/arch/arm/common/gic.c index 3e1714c6523..337741f734a 100644 --- a/arch/arm/common/gic.c +++ b/arch/arm/common/gic.c @@ -109,7 +109,7 @@ static void gic_unmask_irq(unsigned int irq)  }  #ifdef CONFIG_SMP -static void gic_set_cpu(unsigned int irq, const struct cpumask *mask_val) +static int gic_set_cpu(unsigned int irq, const struct cpumask *mask_val)  {  	void __iomem *reg = gic_dist_base(irq) + GIC_DIST_TARGET + (gic_irq(irq) & ~3);  	unsigned int shift = (irq % 4) * 8; @@ -117,11 +117,13 @@ static void gic_set_cpu(unsigned int irq, const struct cpumask *mask_val)  	u32 val;  	spin_lock(&irq_controller_lock); -	irq_desc[irq].cpu = cpu; +	irq_desc[irq].node = cpu;  	val = readl(reg) & ~(0xff << shift);  	val |= 1 << (cpu + shift);  	writel(val, reg);  	spin_unlock(&irq_controller_lock); + +	return 0;  }  #endif  |