summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-imx/common.h
diff options
context:
space:
mode:
authorShawn Guo <shawn.guo@linaro.org>2013-10-06 10:47:46 +0200
committerShawn Guo <shawn.guo@linaro.org>2013-10-21 03:36:53 +0200
commit87a84b69824d7fd63b20f3bc98d75c0238b8e7d0 (patch)
tree4515eeea8fd346fa29545dd3d894461455e6f694 /arch/arm/mach-imx/common.h
parentARM: mach-imx: mm-imx5: Retrieve iomuxc base address from dt (diff)
downloadlinux-87a84b69824d7fd63b20f3bc98d75c0238b8e7d0.tar.xz
linux-87a84b69824d7fd63b20f3bc98d75c0238b8e7d0.zip
ARM: imx: replace imx6q_restart() with mxc_restart()
The imx6q_restart() works fine with normal reboot but will run into problem with emergency reboot like sysrq-b. In that case, of_iomap() gets called from interrupt context and hence triggers the BUG_ON in __get_vm_area_node(). Actually, since commit c1e31d1 (ARM: imx: create mxc_arch_reset_init_dt() for DT boot), imx6q/dl should try to use mxc_restart() by calling mxc_arch_reset_init_dt() beforehand, where things like of_iomap() can be done. The patch updates mxc_restart() a little bit to get it work for imx6q/dl and kill imx6q_restart() completely. Reported-by: Nathan Lynch <nathan_lynch@mentor.com> Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Diffstat (limited to 'arch/arm/mach-imx/common.h')
-rw-r--r--arch/arm/mach-imx/common.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/arm/mach-imx/common.h b/arch/arm/mach-imx/common.h
index d04ed7e8d8d3..2413bfbc42f9 100644
--- a/arch/arm/mach-imx/common.h
+++ b/arch/arm/mach-imx/common.h
@@ -126,7 +126,11 @@ static inline void imx_smp_prepare(void) {}
static inline void imx_scu_standby_enable(void) {}
#endif
extern void imx_src_init(void);
+#ifdef CONFIG_HAVE_IMX_SRC
extern void imx_src_prepare_restart(void);
+#else
+static inline void imx_src_prepare_restart(void) {}
+#endif
extern void imx_gpc_init(void);
extern void imx_gpc_pre_suspend(void);
extern void imx_gpc_post_resume(void);