aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/omap35xx/patches-3.0/002-fix_twl_rtc.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/omap35xx/patches-3.0/002-fix_twl_rtc.patch')
-rw-r--r--target/linux/omap35xx/patches-3.0/002-fix_twl_rtc.patch26
1 files changed, 26 insertions, 0 deletions
diff --git a/target/linux/omap35xx/patches-3.0/002-fix_twl_rtc.patch b/target/linux/omap35xx/patches-3.0/002-fix_twl_rtc.patch
new file mode 100644
index 000000000..ef243ea47
--- /dev/null
+++ b/target/linux/omap35xx/patches-3.0/002-fix_twl_rtc.patch
@@ -0,0 +1,26 @@
+--- a/drivers/rtc/rtc-twl.c
++++ b/drivers/rtc/rtc-twl.c
+@@ -362,14 +362,6 @@ static irqreturn_t twl_rtc_interrupt(int
+ int res;
+ u8 rd_reg;
+
+-#ifdef CONFIG_LOCKDEP
+- /* WORKAROUND for lockdep forcing IRQF_DISABLED on us, which
+- * we don't want and can't tolerate. Although it might be
+- * friendlier not to borrow this thread context...
+- */
+- local_irq_enable();
+-#endif
+-
+ res = twl_rtc_read_u8(&rd_reg, REG_RTC_STATUS_REG);
+ if (res)
+ goto out;
+@@ -462,7 +454,7 @@ static int __devinit twl_rtc_probe(struc
+ if (ret < 0)
+ goto out1;
+
+- ret = request_irq(irq, twl_rtc_interrupt,
++ ret = request_threaded_irq(irq, NULL, twl_rtc_interrupt,
+ IRQF_TRIGGER_RISING,
+ dev_name(&rtc->dev), rtc);
+ if (ret < 0) {