Message ID | 1420449268-24707-1-git-send-email-pankaj.dubey@samsung.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Mon, 2015-01-05 at 14:44 +0530, Pankaj Dubey wrote: > Commit id: 2e94ac42898f84d76e3c21dd91bc is not taking care > of mapping of exynos5440 PMU register which will result in kernel panic > on exynos5440. > > As exynos5440 DTS does not have PMU node, and also we are skipping > exynos_pm_init in case of exynos5440, let's avoid mapping of exynos5440 PMU. > Reported-by: Ming Lei <tom.leiming@gmail.com> > Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com> > --- > arch/arm/mach-exynos/exynos.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/arch/arm/mach-exynos/exynos.c b/arch/arm/mach-exynos/exynos.c > index c13d083..1891b8c 100644 > --- a/arch/arm/mach-exynos/exynos.c > +++ b/arch/arm/mach-exynos/exynos.c > @@ -208,7 +208,8 @@ static void __init exynos_init_irq(void) > * DT is not unflatten so we can't use DT APIs before > * init_irq > */ > - exynos_map_pmu(); > + if (!of_machine_is_compatible("samsung,exynos5440")) > + exynos_map_pmu(); > } > > static void __init exynos_dt_machine_init(void) Why the blacklist approach rather then simply making exynos_map_pmu exit rather then panicing if it couldn't find a pmu node in the dts?
Hi, On Monday 05 January 2015 03:22 PM, Sjoerd Simons wrote: > On Mon, 2015-01-05 at 14:44 +0530, Pankaj Dubey wrote: >> Commit id: 2e94ac42898f84d76e3c21dd91bc is not taking care >> of mapping of exynos5440 PMU register which will result in kernel panic >> on exynos5440. >> >> As exynos5440 DTS does not have PMU node, and also we are skipping >> exynos_pm_init in case of exynos5440, let's avoid mapping of exynos5440 PMU. > > >> Reported-by: Ming Lei <tom.leiming@gmail.com> >> Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com> >> --- >> arch/arm/mach-exynos/exynos.c | 3 ++- >> 1 file changed, 2 insertions(+), 1 deletion(-) >> >> diff --git a/arch/arm/mach-exynos/exynos.c b/arch/arm/mach-exynos/exynos.c >> index c13d083..1891b8c 100644 >> --- a/arch/arm/mach-exynos/exynos.c >> +++ b/arch/arm/mach-exynos/exynos.c >> @@ -208,7 +208,8 @@ static void __init exynos_init_irq(void) >> * DT is not unflatten so we can't use DT APIs before >> * init_irq >> */ >> - exynos_map_pmu(); >> + if (!of_machine_is_compatible("samsung,exynos5440")) >> + exynos_map_pmu(); >> } >> >> static void __init exynos_dt_machine_init(void) > > Why the blacklist approach rather then simply making exynos_map_pmu exit > rather then panicing if it couldn't find a pmu node in the dts? > exynos_map_pmu is panicking if it fails to iomap PMU, as for most of exynos SoCs PMU based address is MUST for secondary core bootup in platsmp.c, but with exynos5440 it is not the same case. In-fact exynos_pm_init is also bypassed for exynos5440. For the same reason I adopted this approach rather removing panic from exynos_map_pmu. Thanks, Pankaj Dubey > -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/arch/arm/mach-exynos/exynos.c b/arch/arm/mach-exynos/exynos.c index c13d083..1891b8c 100644 --- a/arch/arm/mach-exynos/exynos.c +++ b/arch/arm/mach-exynos/exynos.c @@ -208,7 +208,8 @@ static void __init exynos_init_irq(void) * DT is not unflatten so we can't use DT APIs before * init_irq */ - exynos_map_pmu(); + if (!of_machine_is_compatible("samsung,exynos5440")) + exynos_map_pmu(); } static void __init exynos_dt_machine_init(void)
Commit id: 2e94ac42898f84d76e3c21dd91bc is not taking care of mapping of exynos5440 PMU register which will result in kernel panic on exynos5440. As exynos5440 DTS does not have PMU node, and also we are skipping exynos_pm_init in case of exynos5440, let's avoid mapping of exynos5440 PMU. Reported-by: Ming Lei <tom.leiming@gmail.com> Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com> --- arch/arm/mach-exynos/exynos.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)