]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
Merge tag 'exynos-mcpm-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene...
authorOlof Johansson <olof@lixom.net>
Sat, 31 May 2014 04:45:47 +0000 (21:45 -0700)
committerOlof Johansson <olof@lixom.net>
Sat, 31 May 2014 04:45:47 +0000 (21:45 -0700)
Merge "Exynos 2nd MCPM updates for v3.16" from Kukjin Kim:

- enable mcpm for dual-cluster exynos5800
- since commit 166aaf39 ("ARM: 8029/1: mcpm: Rename the
  power_down_finish() functions to be less confusing"),
  use new member name wait_for_cpu_powerdown.

This is based on tags/exynos-mcpm.

Note that since the commit 166aaf39 is in rmk tree so this
should be sent to upstream after that in 3.16 merge window.

* tag 'exynos-mcpm-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
  ARM: EXYNOS: mcpm rename the power_down_finish
  ARM: EXYNOS: Enable mcpm for dual-cluster exynos5800 SoC

Signed-off-by: Olof Johansson <olof@lixom.net>
arch/arm/mach-exynos/mcpm-exynos.c

index 1ac618ce440be3ba02ae11adc5e88e8555cee3dc..0498d0b887eff0d0b5e9d9273a3f94b0d46d7255 100644 (file)
@@ -235,7 +235,7 @@ static void exynos_power_down(void)
        /* Not dead at this point?  Let our caller cope. */
 }
 
-static int exynos_power_down_finish(unsigned int cpu, unsigned int cluster)
+static int exynos_wait_for_powerdown(unsigned int cpu, unsigned int cluster)
 {
        unsigned int tries = 100;
        unsigned int cpunr = cpu + (cluster * EXYNOS5420_CPUS_PER_CLUSTER);
@@ -261,7 +261,7 @@ static int exynos_power_down_finish(unsigned int cpu, unsigned int cluster)
 static const struct mcpm_platform_ops exynos_power_ops = {
        .power_up               = exynos_power_up,
        .power_down             = exynos_power_down,
-       .power_down_finish      = exynos_power_down_finish,
+       .wait_for_powerdown     = exynos_wait_for_powerdown,
 };
 
 static void __init exynos_mcpm_usage_count_init(void)
@@ -290,13 +290,19 @@ static void __naked exynos_pm_power_up_setup(unsigned int affinity_level)
        "b      cci_enable_port_for_self");
 }
 
+static const struct of_device_id exynos_dt_mcpm_match[] = {
+       { .compatible = "samsung,exynos5420" },
+       { .compatible = "samsung,exynos5800" },
+       {},
+};
+
 static int __init exynos_mcpm_init(void)
 {
        struct device_node *node;
        void __iomem *ns_sram_base_addr;
        int ret;
 
-       node = of_find_compatible_node(NULL, NULL, "samsung,exynos5420");
+       node = of_find_matching_node(NULL, exynos_dt_mcpm_match);
        if (!node)
                return -ENODEV;
        of_node_put(node);