soc_is_exynosMMMM is staged for removal after adopting to exynos-chipid driver, so let's remove/minimize usage of any such helper function usage from pm.c. Signed-off-by: Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx> --- arch/arm/mach-exynos/pm.c | 22 ++++++++++++---------- include/linux/soc/samsung/exynos-regs-pmu.h | 3 +++ 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/arch/arm/mach-exynos/pm.c b/arch/arm/mach-exynos/pm.c index 1a7e5b5..4a73b02 100644 --- a/arch/arm/mach-exynos/pm.c +++ b/arch/arm/mach-exynos/pm.c @@ -123,11 +123,13 @@ int exynos_pm_central_resume(void) } /* Ext-GIC nIRQ/nFIQ is the only wakeup source in AFTR */ -static void exynos_set_wakeupmask(long mask) +static void exynos_set_wakeupmask(void) { - pmu_raw_writel(mask, S5P_WAKEUP_MASK); - if (soc_is_exynos3250()) + if (of_machine_is_compatible("samsung,exynos3250")) { + pmu_raw_writel(EXYNOS3_WAKEUP_MASK_VAL, S5P_WAKEUP_MASK); pmu_raw_writel(0x0, S5P_WAKEUP_MASK2); + } else + pmu_raw_writel(EXYNOS_WAKEUP_MASK_VAL, S5P_WAKEUP_MASK); } static void exynos_cpu_set_boot_vector(long flags) @@ -141,7 +143,7 @@ static int exynos_aftr_finisher(unsigned long flags) { int ret; - exynos_set_wakeupmask(soc_is_exynos3250() ? 0x40003ffe : 0x0000ff3e); + exynos_set_wakeupmask(); /* Set value of power down register for aftr mode */ exynos_sys_powerdown_conf(SYS_AFTR); @@ -162,7 +164,7 @@ void exynos_enter_aftr(void) cpu_pm_enter(); - if (soc_is_exynos3250()) + if (of_machine_is_compatible("samsung,exynos3250")) exynos_set_boot_flag(cpuid, C2_STATE); exynos_pm_central_suspend(); @@ -184,7 +186,7 @@ void exynos_enter_aftr(void) exynos_pm_central_resume(); - if (soc_is_exynos3250()) + if (of_machine_is_compatible("samsung,exynos3250")) exynos_clear_boot_flag(cpuid, C2_STATE); cpu_pm_exit(); @@ -255,7 +257,7 @@ static int exynos_cpu0_enter_aftr(void) while (exynos_cpu_power_state(1) != S5P_CORE_LOCAL_PWR_EN) cpu_relax(); - if (soc_is_exynos3250()) { + if (of_machine_is_compatible("samsung,exynos3250")) { while (!pmu_raw_readl(S5P_PMU_SPARE2) && !atomic_read(&cpu1_wakeup)) cpu_relax(); @@ -277,7 +279,7 @@ static int exynos_cpu0_enter_aftr(void) call_firmware_op(cpu_boot, 1); - if (soc_is_exynos3250()) + if (of_machine_is_compatible("samsung,exynos3250")) dsb_sev(); else arch_send_wakeup_ipi_mask(cpumask_of(1)); @@ -289,7 +291,7 @@ static int exynos_cpu0_enter_aftr(void) static int exynos_wfi_finisher(unsigned long flags) { - if (soc_is_exynos3250()) + if (of_machine_is_compatible("samsung,exynos3250")) flush_cache_all(); cpu_do_idle(); @@ -311,7 +313,7 @@ static int exynos_cpu1_powerdown(void) */ exynos_cpu_power_down(1); - if (soc_is_exynos3250()) + if (of_machine_is_compatible("samsung,exynos3250")) pmu_raw_writel(0, S5P_PMU_SPARE2); ret = cpu_suspend(0, exynos_wfi_finisher); diff --git a/include/linux/soc/samsung/exynos-regs-pmu.h b/include/linux/soc/samsung/exynos-regs-pmu.h index 49df0a01..3a7e63f 100644 --- a/include/linux/soc/samsung/exynos-regs-pmu.h +++ b/include/linux/soc/samsung/exynos-regs-pmu.h @@ -50,6 +50,9 @@ #define S5P_WAKEUP_MASK 0x0608 #define S5P_WAKEUP_MASK2 0x0614 +#define EXYNOS_WAKEUP_MASK_VAL 0x0000FF3E +#define EXYNOS3_WAKEUP_MASK_VAL 0x40003FFE + #define S5P_INFORM0 0x0800 #define S5P_INFORM1 0x0804 #define S5P_INFORM5 0x0814 -- 2.7.4 -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html