aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2015-04-03 17:51:10 -0400
committerOlof Johansson <olof@lixom.net>2015-04-03 17:51:10 -0400
commit03a1e74cad817a381b4789fb9cc39c47c263c8a8 (patch)
tree3f9bd36b1cc4fcfdb25d065033423dd9e135f6ee
parent1eddf578e25521267cf734935b2a856ed2be28fc (diff)
parentcfdda3535f87e752780ca18a57d13db58f6a6913 (diff)
Merge tag 'samsung-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into fixes
Merge "Samsung 2nd fixes for v4.0" from Kukjin Kim: - Fix build breakage exynos cpuidle driver on !SMP because it is coupled built-in so added check for SMP. - Fix lid, power pin-functions and mmc node updates for exynos5250-spring: Fixes commit ID 53dd4138bb0a ("ARM: dts: Add exynos5250-spring device tree") * tag 'samsung-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: EXYNOS: Fix build breakage cpuidle on !SMP ARM: dts: fix lid and power pin-functions for exynos5250-spring ARM: dts: fix mmc node updates for exynos5250-spring Signed-off-by: Olof Johansson <olof@lixom.net>
-rw-r--r--arch/arm/boot/dts/exynos5250-spring.dts20
-rw-r--r--arch/arm/mach-exynos/exynos.c2
-rw-r--r--arch/arm/mach-exynos/pm.c2
-rw-r--r--drivers/cpuidle/cpuidle-exynos.c3
4 files changed, 11 insertions, 16 deletions
diff --git a/arch/arm/boot/dts/exynos5250-spring.dts b/arch/arm/boot/dts/exynos5250-spring.dts
index f02775487cd4..d075a68ac078 100644
--- a/arch/arm/boot/dts/exynos5250-spring.dts
+++ b/arch/arm/boot/dts/exynos5250-spring.dts
@@ -429,7 +429,6 @@
429&mmc_0 { 429&mmc_0 {
430 status = "okay"; 430 status = "okay";
431 num-slots = <1>; 431 num-slots = <1>;
432 supports-highspeed;
433 broken-cd; 432 broken-cd;
434 card-detect-delay = <200>; 433 card-detect-delay = <200>;
435 samsung,dw-mshc-ciu-div = <3>; 434 samsung,dw-mshc-ciu-div = <3>;
@@ -437,11 +436,8 @@
437 samsung,dw-mshc-ddr-timing = <1 2>; 436 samsung,dw-mshc-ddr-timing = <1 2>;
438 pinctrl-names = "default"; 437 pinctrl-names = "default";
439 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_cd &sd0_bus4 &sd0_bus8>; 438 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_cd &sd0_bus4 &sd0_bus8>;
440 439 bus-width = <8>;
441 slot@0 { 440 cap-mmc-highspeed;
442 reg = <0>;
443 bus-width = <8>;
444 };
445}; 441};
446 442
447/* 443/*
@@ -451,7 +447,6 @@
451&mmc_1 { 447&mmc_1 {
452 status = "okay"; 448 status = "okay";
453 num-slots = <1>; 449 num-slots = <1>;
454 supports-highspeed;
455 broken-cd; 450 broken-cd;
456 card-detect-delay = <200>; 451 card-detect-delay = <200>;
457 samsung,dw-mshc-ciu-div = <3>; 452 samsung,dw-mshc-ciu-div = <3>;
@@ -459,11 +454,8 @@
459 samsung,dw-mshc-ddr-timing = <1 2>; 454 samsung,dw-mshc-ddr-timing = <1 2>;
460 pinctrl-names = "default"; 455 pinctrl-names = "default";
461 pinctrl-0 = <&sd1_clk &sd1_cmd &sd1_cd &sd1_bus4>; 456 pinctrl-0 = <&sd1_clk &sd1_cmd &sd1_cd &sd1_bus4>;
462 457 bus-width = <4>;
463 slot@0 { 458 cap-sd-highspeed;
464 reg = <0>;
465 bus-width = <4>;
466 };
467}; 459};
468 460
469&pinctrl_0 { 461&pinctrl_0 {
@@ -490,7 +482,7 @@
490 482
491 power_key_irq: power-key-irq { 483 power_key_irq: power-key-irq {
492 samsung,pins = "gpx1-3"; 484 samsung,pins = "gpx1-3";
493 samsung,pin-function = <0>; 485 samsung,pin-function = <0xf>;
494 samsung,pin-pud = <0>; 486 samsung,pin-pud = <0>;
495 samsung,pin-drv = <0>; 487 samsung,pin-drv = <0>;
496 }; 488 };
@@ -518,7 +510,7 @@
518 510
519 lid_irq: lid-irq { 511 lid_irq: lid-irq {
520 samsung,pins = "gpx3-5"; 512 samsung,pins = "gpx3-5";
521 samsung,pin-function = <0>; 513 samsung,pin-function = <0xf>;
522 samsung,pin-pud = <0>; 514 samsung,pin-pud = <0>;
523 samsung,pin-drv = <0>; 515 samsung,pin-drv = <0>;
524 }; 516 };
diff --git a/arch/arm/mach-exynos/exynos.c b/arch/arm/mach-exynos/exynos.c
index 9e9dfdfad9d7..4031a96c904b 100644
--- a/arch/arm/mach-exynos/exynos.c
+++ b/arch/arm/mach-exynos/exynos.c
@@ -211,7 +211,7 @@ static void __init exynos_dt_machine_init(void)
211 if (!IS_ENABLED(CONFIG_SMP)) 211 if (!IS_ENABLED(CONFIG_SMP))
212 exynos_sysram_init(); 212 exynos_sysram_init();
213 213
214#ifdef CONFIG_ARM_EXYNOS_CPUIDLE 214#if defined(CONFIG_SMP) && defined(CONFIG_ARM_EXYNOS_CPUIDLE)
215 if (of_machine_is_compatible("samsung,exynos4210")) 215 if (of_machine_is_compatible("samsung,exynos4210"))
216 exynos_cpuidle.dev.platform_data = &cpuidle_coupled_exynos_data; 216 exynos_cpuidle.dev.platform_data = &cpuidle_coupled_exynos_data;
217#endif 217#endif
diff --git a/arch/arm/mach-exynos/pm.c b/arch/arm/mach-exynos/pm.c
index e6209dadc00d..5685250693fd 100644
--- a/arch/arm/mach-exynos/pm.c
+++ b/arch/arm/mach-exynos/pm.c
@@ -181,6 +181,7 @@ void exynos_enter_aftr(void)
181 cpu_pm_exit(); 181 cpu_pm_exit();
182} 182}
183 183
184#if defined(CONFIG_SMP) && defined(CONFIG_ARM_EXYNOS_CPUIDLE)
184static atomic_t cpu1_wakeup = ATOMIC_INIT(0); 185static atomic_t cpu1_wakeup = ATOMIC_INIT(0);
185 186
186static int exynos_cpu0_enter_aftr(void) 187static int exynos_cpu0_enter_aftr(void)
@@ -302,3 +303,4 @@ struct cpuidle_exynos_data cpuidle_coupled_exynos_data = {
302 .pre_enter_aftr = exynos_pre_enter_aftr, 303 .pre_enter_aftr = exynos_pre_enter_aftr,
303 .post_enter_aftr = exynos_post_enter_aftr, 304 .post_enter_aftr = exynos_post_enter_aftr,
304}; 305};
306#endif /* CONFIG_SMP && CONFIG_ARM_EXYNOS_CPUIDLE */
diff --git a/drivers/cpuidle/cpuidle-exynos.c b/drivers/cpuidle/cpuidle-exynos.c
index 26f5f29fdb03..9bb5348995a9 100644
--- a/drivers/cpuidle/cpuidle-exynos.c
+++ b/drivers/cpuidle/cpuidle-exynos.c
@@ -117,7 +117,8 @@ static int exynos_cpuidle_probe(struct platform_device *pdev)
117{ 117{
118 int ret; 118 int ret;
119 119
120 if (of_machine_is_compatible("samsung,exynos4210")) { 120 if (IS_ENABLED(CONFIG_SMP) &&
121 of_machine_is_compatible("samsung,exynos4210")) {
121 exynos_cpuidle_pdata = pdev->dev.platform_data; 122 exynos_cpuidle_pdata = pdev->dev.platform_data;
122 123
123 ret = cpuidle_register(&exynos_coupled_idle_driver, 124 ret = cpuidle_register(&exynos_coupled_idle_driver,