summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-davinci/common.c
diff options
context:
space:
mode:
authorCyril Chemparathy <cyril@ti.com>2010-05-02 00:38:28 +0200
committerKevin Hilman <khilman@deeprootsystems.com>2010-05-07 00:02:09 +0200
commitc78a5bc2e77e8fc5be29cda5b28c9b9afd0f4b6d (patch)
treefc54260054d1b46d9f4e6f47c56952a82ee6b1e4 /arch/arm/mach-davinci/common.c
parentDavinci: eliminate pinmux offset verbosity (diff)
downloadlinux-c78a5bc2e77e8fc5be29cda5b28c9b9afd0f4b6d.tar.xz
linux-c78a5bc2e77e8fc5be29cda5b28c9b9afd0f4b6d.zip
Davinci: watchdog reset separation across socs
The earlier watchdog reset mechanism had a couple of limitations. First, it embedded a reference to "davinci_wdt_device" inside common code. This forced all derived platforms (da8xx and tnetv107x) to define such a device. This also would have caused problems in including multiple socs in a single build due to symbol redefinition. With this patch, davinci_watchdog_reset() now takes the platform device as an argument. The davinci_soc_info struct has been extended to include a reset function and a watchdog platform_device. arch_reset() then uses these elements to reset the system in a SoC specific fashion. Signed-off-by: Cyril Chemparathy <cyril@ti.com> Tested-by: Sandeep Paulraj <s-paulraj@ti.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Diffstat (limited to 'arch/arm/mach-davinci/common.c')
-rw-r--r--arch/arm/mach-davinci/common.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/arm/mach-davinci/common.c b/arch/arm/mach-davinci/common.c
index 94f27cbcd55a..f8221c5ee380 100644
--- a/arch/arm/mach-davinci/common.c
+++ b/arch/arm/mach-davinci/common.c
@@ -77,6 +77,9 @@ void __init davinci_common_init(struct davinci_soc_info *soc_info)
local_flush_tlb_all();
flush_cache_all();
+ if (!davinci_soc_info.reset)
+ davinci_soc_info.reset = davinci_watchdog_reset;
+
/*
* We want to check CPU revision early for cpu_is_xxxx() macros.
* IO space mapping must be initialized before we can do that.