diff options
author | Pankaj Dubey <pankaj.dubey@samsung.com> | 2014-11-22 09:07:21 -0500 |
---|---|---|
committer | Kukjin Kim <kgene.kim@samsung.com> | 2014-11-22 09:07:21 -0500 |
commit | 5e6473f422909a9f929619c04c6bab7620531b69 (patch) | |
tree | f1026c80ce2e7fc1082cfddcfad99d91e6dc1bc2 /arch/arm/mach-exynos/exynos.c | |
parent | 8fcc774fc72910fa26767ae8ca2da3d64ae80a01 (diff) |
clk: exynos5440: move restart code into clock driver
Let's register restart handler for Exynos5440 from it's clock driver
for restart functionality. So that we can cleanup restart hooks from
machine specific file.
CC: Sylwester Nawrocki <s.nawrocki@samsung.com>
CC: Tomasz Figa <tomasz.figa@gmail.com>
Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
Acked-by: Guenter Roeck <linux@roeck-us.net>
Acked-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Diffstat (limited to 'arch/arm/mach-exynos/exynos.c')
-rw-r--r-- | arch/arm/mach-exynos/exynos.c | 19 |
1 files changed, 1 insertions, 18 deletions
diff --git a/arch/arm/mach-exynos/exynos.c b/arch/arm/mach-exynos/exynos.c index 6dc332fa55db..67cf65fd77bb 100644 --- a/arch/arm/mach-exynos/exynos.c +++ b/arch/arm/mach-exynos/exynos.c | |||
@@ -139,24 +139,7 @@ static struct map_desc exynos5_iodesc[] __initdata = { | |||
139 | 139 | ||
140 | static void exynos_restart(enum reboot_mode mode, const char *cmd) | 140 | static void exynos_restart(enum reboot_mode mode, const char *cmd) |
141 | { | 141 | { |
142 | struct device_node *np; | 142 | __raw_writel(0x1, pmu_base_addr + EXYNOS_SWRESET); |
143 | u32 val = 0x1; | ||
144 | void __iomem *addr = pmu_base_addr + EXYNOS_SWRESET; | ||
145 | |||
146 | if (of_machine_is_compatible("samsung,exynos5440")) { | ||
147 | u32 status; | ||
148 | np = of_find_compatible_node(NULL, NULL, "samsung,exynos5440-clock"); | ||
149 | |||
150 | addr = of_iomap(np, 0) + 0xbc; | ||
151 | status = __raw_readl(addr); | ||
152 | |||
153 | addr = of_iomap(np, 0) + 0xcc; | ||
154 | val = __raw_readl(addr); | ||
155 | |||
156 | val = (val & 0xffff0000) | (status & 0xffff); | ||
157 | } | ||
158 | |||
159 | __raw_writel(val, addr); | ||
160 | } | 143 | } |
161 | 144 | ||
162 | static struct platform_device exynos_cpuidle = { | 145 | static struct platform_device exynos_cpuidle = { |