summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/pinmux-t2-tables.c
diff options
context:
space:
mode:
authorColin Cross <ccross@android.com>2011-03-28 17:48:56 -0700
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:34:21 -0800
commit120c356d1deff9aa1619afa948d07a90aea6959e (patch)
tree72716ee858b5a2cf9c042e862e241d509dbc130b /arch/arm/mach-tegra/pinmux-t2-tables.c
parent479e299df3b083ab29a96e5f390bb55d8795b224 (diff)
ARM: tegra: pinmux: Convert suspend/resume to syscore
Signed-off-by: Colin Cross <ccross@android.com> Change-Id: I3228600e93f819821b13b0955961fc1cbfb826a8
Diffstat (limited to 'arch/arm/mach-tegra/pinmux-t2-tables.c')
-rw-r--r--arch/arm/mach-tegra/pinmux-t2-tables.c17
1 files changed, 15 insertions, 2 deletions
diff --git a/arch/arm/mach-tegra/pinmux-t2-tables.c b/arch/arm/mach-tegra/pinmux-t2-tables.c
index 47f2b51c1fb5..fd5e34d8dcb4 100644
--- a/arch/arm/mach-tegra/pinmux-t2-tables.c
+++ b/arch/arm/mach-tegra/pinmux-t2-tables.c
@@ -26,6 +26,7 @@
#include <linux/io.h>
#include <linux/init.h>
#include <linux/string.h>
+#include <linux/syscore_ops.h>
#include <mach/iomap.h>
#include <mach/pinmux.h>
@@ -239,7 +240,7 @@ static inline void pg_writel(unsigned long value, unsigned long offset)
writel(value, IO_TO_VIRT(TEGRA_APB_MISC_BASE + offset));
}
-void tegra_pinmux_suspend(void)
+static int tegra_pinmux_suspend(void)
{
unsigned int i;
u32 *ctx = pinmux_reg;
@@ -255,9 +256,11 @@ void tegra_pinmux_suspend(void)
for (i = 0; i < ARRAY_SIZE(tegra_soc_drive_pingroups); i++)
*ctx++ = pg_readl(tegra_soc_drive_pingroups[i].reg);
+
+ return 0;
}
-void tegra_pinmux_resume(void)
+static void tegra_pinmux_resume(void)
{
unsigned int i;
u32 *ctx = pinmux_reg;
@@ -274,4 +277,14 @@ void tegra_pinmux_resume(void)
for (i = 0; i < ARRAY_SIZE(tegra_soc_drive_pingroups); i++)
pg_writel(*ctx++, tegra_soc_drive_pingroups[i].reg);
}
+
+static struct syscore_ops tegra_pinmux_syscore_ops = {
+ .suspend = tegra_pinmux_suspend,
+ .resume = tegra_pinmux_resume,
+};
+
+void tegra2_init_pinmux(void)
+{
+ register_syscore_ops(&tegra_pinmux_syscore_ops);
+}
#endif