ARM: imx6: Warn when an old DT is detected
Subsystems (3)
PATCH v2 1/1 ARM: imx6: Warn when an old DT is detected
Now that the GPC has been converted to be a full blown irqchip (and not a mole on the side of the GIC), booting a new kernel with an old DT is likely to result in a rough ride for the user.
This patch makes sure such a situation is promptly detected and the user made aware that a DT update is in order.
---
* From v1:
- Moved the DT check as early as possible (reported by Shawn)
arch/arm/mach-imx/common.h | 1 + arch/arm/mach-imx/gpc.c | 10 ++++++++++ arch/arm/mach-imx/mach-imx6q.c | 1 + arch/arm/mach-imx/mach-imx6sl.c | 1 + arch/arm/mach-imx/mach-imx6sx.c | 1 + 5 files changed, 14 insertions(+)
arch/arm/mach-imx/common.h +1 -0
@@ -71,6 +71,7 @@ unsigned int imx_get_soc_revision(void);void imx_init_revision_from_anatop (void );struct device *imx_soc_device_init (void );void imx6_enable_rbc (bool enable); +void imx_gpc_check_dt (void );void imx_gpc_set_arm_power_in_lpm (bool power_off);void imx_gpc_set_arm_power_up_timing (u32 sw2iso,u32 sw);void imx_gpc_set_arm_power_down_timing (u32 sw2iso,u32 sw);
arch/arm/mach-imx/gpc.c +10 -0
@@ -249,3 +249,13 @@ static int __init imx_gpc_init(struct device_node *node,* drivers/irqchip, so we're forced to roll our own. Not very nice. */ OF_DECLARE_2 (irqchip, imx_gpc,"fsl,imx6q-gpc" , imx_gpc_init); + +void __init imx_gpc_check_dt (void ) +{ +struct device_node *np; + + np =of_find_compatible_node (NULL ,NULL ,"fsl,imx6q-gpc" ); +if (WARN_ON (!np || + !of_find_property (np,"interrupt-controller" ,NULL ))) +pr_warn ("Outdated DT detected, system is about to crash!!!\n" ); +}
arch/arm/mach-imx/mach-imx6q.c +1 -0
@@ -387,6 +387,7 @@ static void __init imx6q_map_io(void)static void __init imx6q_init_irq (void ) { +imx_gpc_check_dt ();imx_init_revision_from_anatop ();imx_init_l2cache ();imx_src_init ();
arch/arm/mach-imx/mach-imx6sl.c +1 -0
@@ -61,6 +61,7 @@ static void __init imx6sl_init_machine(void)static void __init imx6sl_init_irq (void ) { +imx_gpc_check_dt ();imx_init_revision_from_anatop ();imx_init_l2cache ();imx_src_init ();
arch/arm/mach-imx/mach-imx6sx.c +1 -0
@@ -81,6 +81,7 @@ static void __init imx6sx_init_machine(void)static void __init imx6sx_init_irq (void ) { +imx_gpc_check_dt ();imx_init_revision_from_anatop ();imx_init_l2cache ();imx_src_init ();
Signature · 1 line
2.1.4
PATCH v2 1/1 ARM: imx6: Warn when an old DT is detected
Quoted 8 lines · Marc Zyngier
Now that the GPC has been converted to be a full blown irqchip (and not a mole on the side of the GIC), booting a new kernel with an old DT is likely to result in a rough ride for the user.
This patch makes sure such a situation is promptly detected and the user made aware that a DT update is in order.
Signed-off-by Marc Zyngier <[email protected]>
Thanks for doing this, Marc!
thx,
Jason.
Shawn Guo
AppliedPATCH v2 1/1 ARM: imx6: Warn when an old DT is detected
In reply to Marc ZyngierQuoted 8 lines · Marc Zyngier
Now that the GPC has been converted to be a full blown irqchip (and not a mole on the side of the GIC), booting a new kernel with an old DT is likely to result in a rough ride for the user.
This patch makes sure such a situation is promptly detected and the user made aware that a DT update is in order.
Signed-off-by Marc Zyngier <[email protected]>
Applied, thanks.