Merge branch 'next/fixes-samsung' of git://git.kernel.org/pub/scm/linux/kernel/git...
authorOlof Johansson <olof@lixom.net>
Mon, 18 Feb 2013 00:03:12 +0000 (16:03 -0800)
committerOlof Johansson <olof@lixom.net>
Mon, 18 Feb 2013 00:03:12 +0000 (16:03 -0800)
From Kukjin Kim:
Here is Samsung fixes for v3.9 and it is not a critical fixes.

* 'next/fixes-samsung' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
  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: S5PV210: Fix early uart output in fifo mode
  ARM: S3C24XX: Fix compile breakage for SMDK2410
  ARM: S3C24XX: add missing platform_device.h include for osiris
  ARM: S3C24XX: let S3C2412_PM select S3C2412_PM_SLEEP
  ARM: SAMSUNG: Gracefully exit on suspend failure
  ARM: SAMSUNG: using vsnprintf instead of vsprintf for the limit buffer length 256
  ARM: S3C24XX: Make 'clk_msysclk' static

14 files changed:
arch/arm/boot/dts/exynos4x12-pinctrl.dtsi
arch/arm/mach-exynos/pm.c
arch/arm/mach-s3c24xx/Kconfig
arch/arm/mach-s3c24xx/common-s3c2443.c
arch/arm/mach-s3c24xx/mach-osiris.c
arch/arm/mach-s3c24xx/pm-s3c2412.c
arch/arm/mach-s3c24xx/pm-s3c2416.c
arch/arm/mach-s3c64xx/pm.c
arch/arm/mach-s5p64x0/pm.c
arch/arm/mach-s5pv210/include/mach/uncompress.h
arch/arm/mach-s5pv210/pm.c
arch/arm/plat-samsung/include/plat/fimc-core.h
arch/arm/plat-samsung/include/plat/sdhci.h
arch/arm/plat-samsung/pm.c

index 8e6115adcd97e70203a85ca07fca574f89b066b5..099cec79e2ae43906c077b9500a12dcbb8d14ab8 100644 (file)
 
                sd4_bus8: sd4-bus-width8 {
                        samsung,pins = "gpk1-3", "gpk1-4", "gpk1-5", "gpk1-6";
-                       samsung,pin-function = <3>;
+                       samsung,pin-function = <4>;
                        samsung,pin-pud = <4>;
                        samsung,pin-drv = <3>;
                };
index b9b539cac81e12869523ceb6c8e5e0817f6092a0..5106ab83e593f8c3902d77a19b5efff00b46d4db 100644 (file)
@@ -91,8 +91,8 @@ static int exynos_cpu_suspend(unsigned long arg)
        /* issue the standby signal into the pm unit. */
        cpu_do_idle();
 
-       /* we should never get past here */
-       panic("sleep resumed to originator?");
+       pr_info("Failed to suspend the system\n");
+       return 1; /* Aborting suspend */
 }
 
 static void exynos_pm_prepare(void)
@@ -282,6 +282,8 @@ static void exynos_pm_resume(void)
        if (!(tmp & S5P_CENTRAL_LOWPWR_CFG)) {
                tmp |= S5P_CENTRAL_LOWPWR_CFG;
                __raw_writel(tmp, S5P_CENTRAL_SEQ_CONFIGURATION);
+               /* clear the wakeup state register */
+               __raw_writel(0x0, S5P_WAKEUP_STAT);
                /* No need to perform below restore code */
                goto early_wakeup;
        }
index 25df14a9e268b94aa30d39480d5fac0258b21925..d1e80d0fd671fd0cb80d414f00ad68af5a228e4b 100644 (file)
@@ -226,6 +226,7 @@ config MACH_QT2410
 config ARCH_SMDK2410
        bool "SMDK2410/A9M2410"
        select S3C24XX_SMDK
+       select S3C_DEV_USB_HOST
        help
          Say Y here if you are using the SMDK2410 or the derived module A9M2410
          <http://www.fsforth.de>
@@ -273,6 +274,7 @@ config S3C2412_DMA
 
 config S3C2412_PM
        bool
+       select S3C2412_PM_SLEEP
        help
          Internal config node to apply S3C2412 power management
 
index aeb4a24ff3edffb7cb79f308cc85911c555427e0..f6b9f2ef01bdde960504230f36f6db6a594a05a6 100644 (file)
@@ -132,7 +132,7 @@ static struct clk *clk_msysclk_sources[] = {
        [3] = &clk_mpllref,
 };
 
-struct clksrc_clk clk_msysclk = {
+static struct clksrc_clk clk_msysclk = {
        .clk    = {
                .name           = "msysclk",
                .parent         = &clk_xtal,
index bb36d832bd3d022f4bcfc7efd4d173586919ee58..c52100ef2322a7304098457f50e4fbe052a05fca 100644 (file)
@@ -22,6 +22,7 @@
 #include <linux/clk.h>
 #include <linux/i2c.h>
 #include <linux/io.h>
+#include <linux/platform_device.h>
 
 #include <linux/i2c/tps65010.h>
 
index c60f67a75afff8ba291d712091a744696e64893c..f5dc2b254a5a0b1a072aac5687c1cc3c86c708f9 100644 (file)
@@ -48,7 +48,8 @@ static int s3c2412_cpu_suspend(unsigned long arg)
 
        s3c2412_sleep_enter();
 
-       panic("sleep resumed to originator?");
+       pr_info("Failed to suspend the system\n");
+       return 1; /* Aborting suspend */
 }
 
 static void s3c2412_pm_prepare(void)
index 1bd4817b8eb8bef37a762e9fa870a1b8900522d5..1a9e8dd194ff87b09025990d89a3774ad12156b8 100644 (file)
@@ -34,7 +34,8 @@ static int s3c2416_cpu_suspend(unsigned long arg)
 
        s3c2412_sleep_enter();
 
-       panic("sleep resumed to originator?");
+       pr_info("Failed to suspend the system\n");
+       return 1; /* Aborting suspend */
 }
 
 static void s3c2416_pm_prepare(void)
index d2e1a16690bd5807f961d6804b61dddfeb029fc7..ce8499063228eadadff2df6e1a3790152bab9616 100644 (file)
@@ -296,7 +296,8 @@ static int s3c64xx_cpu_suspend(unsigned long arg)
 
        /* we should never get past here */
 
-       panic("sleep resumed to originator?");
+       pr_info("Failed to suspend the system\n");
+       return 1; /* Aborting suspend */
 }
 
 /* mapping of interrupts to parts of the wakeup mask */
index 9cba18bfe47bbd56bc197518fdd48496f5980664..97c2a08ad4903a6e23839bc96b12e454f8c1135a 100644 (file)
@@ -103,8 +103,8 @@ static int s5p64x0_cpu_suspend(unsigned long arg)
            "mcr p15, 0, %0, c7, c10, 4\n\t"
            "mcr p15, 0, %0, c7, c0, 4" : : "r" (tmp));
 
-       /* we should never get past here */
-       panic("sleep resumed to originator?");
+       pr_info("Failed to suspend the system\n");
+       return 1; /* Aborting suspend */
 }
 
 /* mapping of interrupts to parts of the wakeup mask */
index 08ff2fda1fb9a186030e196d10372fa05afb0ddf..ef977ea8546d63e3d858c19b82331f235f453907 100644 (file)
@@ -19,6 +19,8 @@
 static void arch_detect_cpu(void)
 {
        /* we do not need to do any cpu detection here at the moment. */
+       fifo_mask = S5PV210_UFSTAT_TXMASK;
+       fifo_max = 63 << S5PV210_UFSTAT_TXSHIFT;
 }
 
 #endif /* __ASM_ARCH_UNCOMPRESS_H */
index 736bfb103cbc4acc3e38f057bd018cc841e2b420..2b68a67b6e953fe992494f9bcca2744c6abb1e8a 100644 (file)
@@ -104,8 +104,8 @@ static int s5pv210_cpu_suspend(unsigned long arg)
            "mcr p15, 0, %0, c7, c10, 4\n\t"
            "wfi" : : "r" (tmp));
 
-       /* we should never get past here */
-       panic("sleep resumed to originator?");
+       pr_info("Failed to suspend the system\n");
+       return 1; /* Aborting suspend */
 }
 
 static void s5pv210_pm_prepare(void)
index 945a99d59563999829bf6942928c1748c00d78fa..1d6cb2b8b094deb005611e3a0d8be2f85e561952 100644 (file)
@@ -43,6 +43,8 @@ static inline void s3c_fimc_setname(int id, char *name)
                s5p_device_fimc3.name = name;
                break;
 #endif
+       default:
+               break;
        }
 }
 
index 151cc9195cf6d4f56fb4af70c9721abe075d545b..9b87f38fc4f400e24332d00bffabe08e6cfb56cd 100644 (file)
@@ -374,6 +374,8 @@ static inline void s3c_sdhci_setname(int id, char *name)
                s3c_device_hsmmc3.name = name;
                break;
 #endif
+       default:
+               break;
        }
 }
 
index 15070284343ee43070c7130d3f8ce6bff6a0b4ff..002b1472293b4e34459e7563dd3edd8af0ecf93b 100644 (file)
@@ -51,7 +51,7 @@ void s3c_pm_dbg(const char *fmt, ...)
        char buff[256];
 
        va_start(va, fmt);
-       vsprintf(buff, fmt, va);
+       vsnprintf(buff, sizeof(buff), fmt, va);
        va_end(va);
 
        printascii(buff);
@@ -243,6 +243,7 @@ int (*pm_cpu_sleep)(unsigned long);
 
 static int s3c_pm_enter(suspend_state_t state)
 {
+       int ret;
        /* ensure the debug is initialised (if enabled) */
 
        s3c_pm_debug_init();
@@ -300,7 +301,9 @@ static int s3c_pm_enter(suspend_state_t state)
         * we resume as it saves its own register state and restores it
         * during the resume.  */
 
-       cpu_suspend(0, pm_cpu_sleep);
+       ret = cpu_suspend(0, pm_cpu_sleep);
+       if (ret)
+               return ret;
 
        /* restore the system state */