aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-exynos
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-02-21 17:54:55 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2013-02-21 17:54:55 -0500
commitb24174b0cbbe383c5bb6097aeb24480b8fd2d338 (patch)
tree2df02e72b7166dadb19b766435dbe7568d97e946 /arch/arm/mach-exynos
parent7ed214ac2095f561a94335ca672b6c42a1ea40ff (diff)
parentbe8fd292f9b1ed787a04cb4437f7faef16c4afef (diff)
Merge tag 'fixes-non-critical' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull non-critical ARM SoC bug fixes from Arnd Bergmann: "Bug fixes that did not make it into v3.8, mostly because they were not considered important enough, and in some cases because bugs only show up in combination with other patches destined for 3.9. This includes a few larger patches for GPIO on the Marvell PXA platform and a lot of Samsung specific bug fixes, as well as a series from Arnd to fix older build warnings." * tag 'fixes-non-critical' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (54 commits) ARM: SPEAr13xx: Enable CONFIG_ARCH_HAS_CPUFREQ ARM: imx: MACH_MX31ADS_WM1133_EV1 needs REGULATOR_WM8350 scripts/sortextable: silence script output ARM: s3c: i2c: add platform_device forward declaration ARM: mvebu: allow selecting mvebu without Armada XP ARM: pick Versatile by default for !MMU ARM: integrator: fix build with INTEGRATOR_AP off ARM: integrator/versatile: fix NOMMU warnings ARM: sa1100: don't warn about mach/ide.h ARM: shmobile: fix defconfig warning on CONFIG_USB ARM: w90x900: fix legacy assembly syntax ARM: samsung: fix assembly syntax for new gas ARM: disable virt_to_bus/virt_to_bus almost everywhere ARM: dts: Correct pin configuration of SD 4 for exynos4x12-pinctrl ARM: SAMSUNG: Silence empty switch warning in fimc-core.h ARM: SAMSUNG: Silence empty switch warning in sdhci.h ARM: msm: proc_comm_boot_wait should not be __init arm: vt8500: Update MAINTAINERS entry for arch-vt8500 ARM: integrator: ensure ap_syscon_base is initialised when !CONFIG_MMU ARM: S5PV210: Fix early uart output in fifo mode ...
Diffstat (limited to 'arch/arm/mach-exynos')
-rw-r--r--arch/arm/mach-exynos/common.c10
-rw-r--r--arch/arm/mach-exynos/pm.c6
2 files changed, 10 insertions, 6 deletions
diff --git a/arch/arm/mach-exynos/common.c b/arch/arm/mach-exynos/common.c
index 1a89824a5f78..0c7e3ad7ba93 100644
--- a/arch/arm/mach-exynos/common.c
+++ b/arch/arm/mach-exynos/common.c
@@ -299,6 +299,7 @@ void exynos4_restart(char mode, const char *cmd)
299 299
300void exynos5_restart(char mode, const char *cmd) 300void exynos5_restart(char mode, const char *cmd)
301{ 301{
302 struct device_node *np;
302 u32 val; 303 u32 val;
303 void __iomem *addr; 304 void __iomem *addr;
304 305
@@ -306,8 +307,9 @@ void exynos5_restart(char mode, const char *cmd)
306 val = 0x1; 307 val = 0x1;
307 addr = EXYNOS_SWRESET; 308 addr = EXYNOS_SWRESET;
308 } else if (of_machine_is_compatible("samsung,exynos5440")) { 309 } else if (of_machine_is_compatible("samsung,exynos5440")) {
309 val = (0x10 << 20) | (0x1 << 16); 310 np = of_find_compatible_node(NULL, NULL, "samsung,exynos5440-clock");
310 addr = EXYNOS5440_SWRESET; 311 addr = of_iomap(np, 0) + 0xcc;
312 val = (0xfff << 20) | (0x1 << 16);
311 } else { 313 } else {
312 pr_err("%s: cannot support non-DT\n", __func__); 314 pr_err("%s: cannot support non-DT\n", __func__);
313 return; 315 return;
@@ -1031,8 +1033,8 @@ static int __init exynos_init_irq_eint(void)
1031 * interrupt support code here can be completely removed. 1033 * interrupt support code here can be completely removed.
1032 */ 1034 */
1033 static const struct of_device_id exynos_pinctrl_ids[] = { 1035 static const struct of_device_id exynos_pinctrl_ids[] = {
1034 { .compatible = "samsung,pinctrl-exynos4210", }, 1036 { .compatible = "samsung,exynos4210-pinctrl", },
1035 { .compatible = "samsung,pinctrl-exynos4x12", }, 1037 { .compatible = "samsung,exynos4x12-pinctrl", },
1036 }; 1038 };
1037 struct device_node *pctrl_np, *wkup_np; 1039 struct device_node *pctrl_np, *wkup_np;
1038 const char *wkup_compat = "samsung,exynos4210-wakeup-eint"; 1040 const char *wkup_compat = "samsung,exynos4210-wakeup-eint";
diff --git a/arch/arm/mach-exynos/pm.c b/arch/arm/mach-exynos/pm.c
index b9b539cac81e..5106ab83e593 100644
--- a/arch/arm/mach-exynos/pm.c
+++ b/arch/arm/mach-exynos/pm.c
@@ -91,8 +91,8 @@ static int exynos_cpu_suspend(unsigned long arg)
91 /* issue the standby signal into the pm unit. */ 91 /* issue the standby signal into the pm unit. */
92 cpu_do_idle(); 92 cpu_do_idle();
93 93
94 /* we should never get past here */ 94 pr_info("Failed to suspend the system\n");
95 panic("sleep resumed to originator?"); 95 return 1; /* Aborting suspend */
96} 96}
97 97
98static void exynos_pm_prepare(void) 98static void exynos_pm_prepare(void)
@@ -282,6 +282,8 @@ static void exynos_pm_resume(void)
282 if (!(tmp & S5P_CENTRAL_LOWPWR_CFG)) { 282 if (!(tmp & S5P_CENTRAL_LOWPWR_CFG)) {
283 tmp |= S5P_CENTRAL_LOWPWR_CFG; 283 tmp |= S5P_CENTRAL_LOWPWR_CFG;
284 __raw_writel(tmp, S5P_CENTRAL_SEQ_CONFIGURATION); 284 __raw_writel(tmp, S5P_CENTRAL_SEQ_CONFIGURATION);
285 /* clear the wakeup state register */
286 __raw_writel(0x0, S5P_WAKEUP_STAT);
285 /* No need to perform below restore code */ 287 /* No need to perform below restore code */
286 goto early_wakeup; 288 goto early_wakeup;
287 } 289 }