Message ID | 006e01cebc08$995a8650$cc0f92f0$%lee@samsung.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 28 September 2013 10:37, Jungseok Lee <jays.lee@samsung.com> wrote: > > +static void exynos5440_power_off(void) > +{ > + struct device_node *np; > + void __iomem *addr; > + > + np = of_find_compatible_node(NULL, NULL, "samsung,exynos5440-clock"); > + > + addr = of_iomap(np, 0) + 0x14; > + > + __raw_writel(0x1, addr); Probably the magic numbers could be defined as macros or atleast a comment to that effect would be useful.
On Saturday, September 28, 2013 6:26 PM, Sachin Kamat wrote: > On 28 September 2013 10:37, Jungseok Lee <jays.lee@samsung.com> wrote: > > > > +static void exynos5440_power_off(void) > > +{ > > + struct device_node *np; > > + void __iomem *addr; > > + > > + np = of_find_compatible_node(NULL, NULL, "samsung,exynos5440-clock"); > > + > > + addr = of_iomap(np, 0) + 0x14; > > + > > + __raw_writel(0x1, addr); > > Probably the magic numbers could be defined as macros or atleast a > comment to that effect would be useful. Thanks for your suggestion. I will add some comments on magic numbers and resend a patch. (I've also missed [PATCH] at mail title.) Best Regards Jungseok Lee -- 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/common.c b/arch/arm/mach-exynos/common.c index ba95e5d..21f3ce9 100644 --- a/arch/arm/mach-exynos/common.c +++ b/arch/arm/mach-exynos/common.c @@ -294,11 +294,24 @@ void exynos5_restart(enum reboot_mode mode, const char *cmd) __raw_writel(val, addr); } +static void exynos5440_power_off(void) +{ + struct device_node *np; + void __iomem *addr; + + np = of_find_compatible_node(NULL, NULL, "samsung,exynos5440-clock"); + + addr = of_iomap(np, 0) + 0x14; + + __raw_writel(0x1, addr); +} + void __init exynos_init_late(void) { - if (of_machine_is_compatible("samsung,exynos5440")) - /* to be supported later */ + if (of_machine_is_compatible("samsung,exynos5440")) { + pm_power_off = exynos5440_power_off; return; + } exynos_pm_late_initcall(); }
This patch implements pm_power_off function since a power-down control register should be set in order to turn off EXYNOS5440. Otherwise, power domains remain alive despite "poweroff" action. Signed-off-by: Jungseok Lee <jays.lee@samsung.com> --- arch/arm/mach-exynos/common.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-)