summaryrefslogtreecommitdiff
path: root/arch/arm
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/mach-tegra/pm-t3.c3
-rw-r--r--arch/arm/mach-tegra/pm.c66
-rw-r--r--arch/arm/mach-tegra/pm.h8
3 files changed, 3 insertions, 74 deletions
diff --git a/arch/arm/mach-tegra/pm-t3.c b/arch/arm/mach-tegra/pm-t3.c
index 371f48448ac6..167f796271c9 100644
--- a/arch/arm/mach-tegra/pm-t3.c
+++ b/arch/arm/mach-tegra/pm-t3.c
@@ -3,7 +3,7 @@
*
* Tegra3 SOC-specific power and cluster management
*
- * Copyright (c) 2009-2013, NVIDIA CORPORATION. All rights reserved.
+ * Copyright (c) 2009-2014, NVIDIA CORPORATION. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -33,6 +33,7 @@
#include <linux/tegra-powergate.h>
#include <linux/tegra-soc.h>
#include <linux/tegra-cpuidle.h>
+#include <linux/tegra-pm.h>
#include <mach/irqs.h>
#include <mach/io_dpd.h>
diff --git a/arch/arm/mach-tegra/pm.c b/arch/arm/mach-tegra/pm.c
index 16e9b2cf55a9..4d4415f54a61 100644
--- a/arch/arm/mach-tegra/pm.c
+++ b/arch/arm/mach-tegra/pm.c
@@ -134,8 +134,6 @@ static u64 suspend_time;
static u64 suspend_entry_time;
#endif
-static RAW_NOTIFIER_HEAD(tegra_pm_chain_head);
-
#if defined(CONFIG_ARCH_TEGRA_14x_SOC)
static void update_pmc_registers(unsigned long rate);
#endif
@@ -281,27 +279,6 @@ void tegra_cluster_switch_time(unsigned int flags, int id)
}
#endif
-int tegra_register_pm_notifier(struct notifier_block *nb)
-{
- return raw_notifier_chain_register(&tegra_pm_chain_head, nb);
-}
-EXPORT_SYMBOL(tegra_register_pm_notifier);
-
-int tegra_unregister_pm_notifier(struct notifier_block *nb)
-{
- return raw_notifier_chain_unregister(&tegra_pm_chain_head, nb);
-}
-EXPORT_SYMBOL(tegra_unregister_pm_notifier);
-
-#ifdef CONFIG_TEGRA_LP0_IN_IDLE
-static int tegra_pm_notifier_call_chain(unsigned int val)
-{
- int ret = raw_notifier_call_chain(&tegra_pm_chain_head, val, NULL);
-
- return notifier_to_errno(ret);
-}
-#endif
-
#ifdef CONFIG_PM_SLEEP
static const char *tegra_suspend_name[TEGRA_MAX_SUSPEND_MODE] = {
[TEGRA_SUSPEND_NONE] = "none",
@@ -1331,49 +1308,6 @@ static void tegra_disable_lp1bb_interrupt(void)
}
#endif
-#ifdef CONFIG_TEGRA_LP0_IN_IDLE
-int tegra_enter_lp0(unsigned long sleep_time)
-{
- int err = 0;
-
- /* This state is managed by power domains, hence no voice call expected if
- * we are entering this state */
-
- tegra_pm_notifier_call_chain(TEGRA_PM_SUSPEND);
-
- tegra_rtc_set_trigger(sleep_time);
-
- tegra_actmon_save();
-
- tegra_dma_save();
-
- tegra_smmu_save();
-
- err = syscore_save();
- if (err) {
- tegra_smmu_restore();
- tegra_dma_restore();
- tegra_rtc_set_trigger(0);
- return err;
- }
-
- tegra_suspend_dram(TEGRA_SUSPEND_LP0, 0);
-
- syscore_restore();
-
- tegra_smmu_restore();
-
- tegra_dma_restore();
-
- tegra_actmon_restore();
-
- tegra_rtc_set_trigger(0);
-
- tegra_pm_notifier_call_chain(TEGRA_PM_RESUME);
-
- return 0;
-}
-#endif
int tegra_suspend_dram(enum tegra_suspend_mode mode, unsigned int flags)
{
diff --git a/arch/arm/mach-tegra/pm.h b/arch/arm/mach-tegra/pm.h
index cda2282e1ae4..d2eb583985ae 100644
--- a/arch/arm/mach-tegra/pm.h
+++ b/arch/arm/mach-tegra/pm.h
@@ -30,6 +30,7 @@
#include <linux/errno.h>
#include <linux/clkdev.h>
#include <linux/tegra-pmc.h>
+#include <linux/tegra-pm.h>
#include "iomap.h"
@@ -112,13 +113,6 @@ bool tegra_set_cpu_in_pd(int cpu);
void tegra_mc_clk_prepare(void);
void tegra_mc_clk_finish(void);
-int tegra_suspend_dram(enum tegra_suspend_mode mode, unsigned int flags);
-#ifdef CONFIG_TEGRA_LP0_IN_IDLE
-int tegra_enter_lp0(unsigned long sleep_time);
-#else
-static inline int tegra_enter_lp0(unsigned long sleep_time)
-{ return 0; }
-#endif
#ifdef CONFIG_TEGRA_LP1_LOW_COREVOLTAGE
int tegra_is_lp1_suspend_mode(void);
#endif