diff options
author | Cyril Chemparathy <cyril@ti.com> | 2010-05-01 18:38:28 -0400 |
---|---|---|
committer | Kevin Hilman <khilman@deeprootsystems.com> | 2010-05-06 18:02:09 -0400 |
commit | c78a5bc2e77e8fc5be29cda5b28c9b9afd0f4b6d (patch) | |
tree | fc54260054d1b46d9f4e6f47c56952a82ee6b1e4 /arch/arm/mach-davinci/common.c | |
parent | 5b3a05ca911688c53680f2b020a1512b9da29c89 (diff) |
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.c | 3 |
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) | |||
77 | local_flush_tlb_all(); | 77 | local_flush_tlb_all(); |
78 | flush_cache_all(); | 78 | flush_cache_all(); |
79 | 79 | ||
80 | if (!davinci_soc_info.reset) | ||
81 | davinci_soc_info.reset = davinci_watchdog_reset; | ||
82 | |||
80 | /* | 83 | /* |
81 | * We want to check CPU revision early for cpu_is_xxxx() macros. | 84 | * We want to check CPU revision early for cpu_is_xxxx() macros. |
82 | * IO space mapping must be initialized before we can do that. | 85 | * IO space mapping must be initialized before we can do that. |