sunxi: initial 3.13 support
[openwrt/svn-archive/archive.git] / target / linux / sunxi / patches-3.13 / 110-sun4i-clkevent-fill-irqfield.patch
diff --git a/target/linux/sunxi/patches-3.13/110-sun4i-clkevent-fill-irqfield.patch b/target/linux/sunxi/patches-3.13/110-sun4i-clkevent-fill-irqfield.patch
new file mode 100644 (file)
index 0000000..12bd64a
--- /dev/null
@@ -0,0 +1,33 @@
+From abc12cd5c39556824cc9022db6eddc64e8e8dbe9 Mon Sep 17 00:00:00 2001
+From: Maxime Ripard <maxime.ripard@free-electrons.com>
+Date: Wed, 23 Oct 2013 17:54:39 +0100
+Subject: [PATCH] clockevent: sun4i: Fill the irq field in the clockevent
+ structure
+
+The clock event structure irq field was not filled previously to the
+interrupt we're using.
+
+This was resulting in the timer not being used at all when using a
+configuration with SMP enabled on a system with several CPUs, and with
+the cpumask set to the cpu_possible_mask.
+
+Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
+---
+ drivers/clocksource/sun4i_timer.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/drivers/clocksource/sun4i_timer.c b/drivers/clocksource/sun4i_timer.c
+index a4f6119..db937e9 100644
+--- a/drivers/clocksource/sun4i_timer.c
++++ b/drivers/clocksource/sun4i_timer.c
+@@ -191,6 +191,7 @@ static void __init sun4i_timer_init(struct device_node *node)
+       writel(val | TIMER_IRQ_EN(0), timer_base + TIMER_IRQ_EN_REG);
+       sun4i_clockevent.cpumask = cpumask_of(0);
++      sun4i_clockevent.irq = irq;
+       clockevents_config_and_register(&sun4i_clockevent, rate,
+                                       TIMER_SYNC_TICKS, 0xffffffff);
+-- 
+1.8.5.1
+