diff options
author | Olof Johansson <olof@lixom.net> | 2015-04-03 17:51:10 -0400 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2015-04-03 17:51:10 -0400 |
commit | 03a1e74cad817a381b4789fb9cc39c47c263c8a8 (patch) | |
tree | 3f9bd36b1cc4fcfdb25d065033423dd9e135f6ee | |
parent | 1eddf578e25521267cf734935b2a856ed2be28fc (diff) | |
parent | cfdda3535f87e752780ca18a57d13db58f6a6913 (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.dts | 20 | ||||
-rw-r--r-- | arch/arm/mach-exynos/exynos.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-exynos/pm.c | 2 | ||||
-rw-r--r-- | drivers/cpuidle/cpuidle-exynos.c | 3 |
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) | ||
184 | static atomic_t cpu1_wakeup = ATOMIC_INIT(0); | 185 | static atomic_t cpu1_wakeup = ATOMIC_INIT(0); |
185 | 186 | ||
186 | static int exynos_cpu0_enter_aftr(void) | 187 | static 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, |