From: Arne Fitzenreiter Date: Tue, 20 Mar 2012 23:12:47 +0000 (+0100) Subject: kernel: omap - add reboot and rtc-irq patch. X-Git-Tag: v2.13-beta1~366 X-Git-Url: http://git.ipfire.org/?p=ipfire-2.x.git;a=commitdiff_plain;h=cd7507011b3cd82b03768e3a12550029068fc736 kernel: omap - add reboot and rtc-irq patch. --- diff --git a/lfs/linux3 b/lfs/linux3 index b81d82317a..e4a4cc7e4b 100644 --- a/lfs/linux3 +++ b/lfs/linux3 @@ -187,6 +187,8 @@ ifeq "$(KCFG)" "-omap" cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-2.6.40-pandaboard-wlan-fix.patch cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-2.6.40-pandaboard-dvi720p.patch cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-2.6.40-pandaboard-i2c-fix.patch + cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-2.6.40-pandaboard-reboot.patch + cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-2.6.40-pandaboard-rtc-twl-irq.patch cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-2.x-smsc95xx-add_mac_addr_param.patch endif diff --git a/src/patches/linux-2.6.40-pandaboard-reboot.patch b/src/patches/linux-2.6.40-pandaboard-reboot.patch new file mode 100644 index 0000000000..8e37837fc2 --- /dev/null +++ b/src/patches/linux-2.6.40-pandaboard-reboot.patch @@ -0,0 +1,29 @@ +With commit 3d3f78d752bf, reboot seems to broken on ARM +machines. CPU dies while doing flush_pmd_entry() as part of +setup_mm_for_reboot() + +I know this is not the fix but intention is to report the +issue and also provide temporary fix till it get fixed correctly + +Signed-off-by: Santosh Shilimkar +Reported-by: Anand Gadiyar +--- +Tested with OMAP4 device. + + arch/arm/kernel/process.c | 1 - + 1 files changed, 0 insertions(+), 1 deletions(-) + +diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c +index e76fcaa..ac370b2 100644 +--- a/arch/arm/kernel/process.c ++++ b/arch/arm/kernel/process.c +@@ -247,7 +247,6 @@ void machine_power_off(void) + + void machine_restart(char *cmd) + { +- machine_shutdown(); + arm_pm_restart(reboot_mode, cmd); + } + +-- +1.6.0.4 diff --git a/src/patches/linux-2.6.40-pandaboard-rtc-twl-irq.patch b/src/patches/linux-2.6.40-pandaboard-rtc-twl-irq.patch new file mode 100644 index 0000000000..dc1182dcb5 --- /dev/null +++ b/src/patches/linux-2.6.40-pandaboard-rtc-twl-irq.patch @@ -0,0 +1,27 @@ +diff -Naur linux-3.0.24.org/drivers/rtc/rtc-twl.c linux-3.0.24/drivers/rtc/rtc-twl.c +--- linux-3.0.24.org/drivers/rtc/rtc-twl.c 2012-03-12 18:58:19.000000000 +0100 ++++ linux-3.0.24/drivers/rtc/rtc-twl.c 2012-03-20 23:24:52.213578926 +0100 +@@ -362,14 +362,6 @@ + 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 @@ + 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) {