Commit c6121ddd1f75278ab77504af2914d07831558672
Committed by
Russell King
1 parent
3921470527
Exists in
master
and in
6 other branches
ARM: 7190/1: restart: davinci: use new restart hook
Rather than using DaVinci specific davinci_soc_info based restart hook, use the restart hook available in the machine descriptor instead. Tested on DM365 and AM18x EVMs. v2: Changed to use restart hook in machine descriptor per Russell's comment. Signed-off-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Showing 26 changed files with 31 additions and 15 deletions Side-by-side Diff
- arch/arm/mach-davinci/board-da830-evm.c
- arch/arm/mach-davinci/board-da850-evm.c
- arch/arm/mach-davinci/board-dm355-evm.c
- arch/arm/mach-davinci/board-dm355-leopard.c
- arch/arm/mach-davinci/board-dm365-evm.c
- arch/arm/mach-davinci/board-dm644x-evm.c
- arch/arm/mach-davinci/board-dm646x-evm.c
- arch/arm/mach-davinci/board-mityomapl138.c
- arch/arm/mach-davinci/board-neuros-osd2.c
- arch/arm/mach-davinci/board-omapl138-hawk.c
- arch/arm/mach-davinci/board-sffsdr.c
- arch/arm/mach-davinci/board-tnetv107x-evm.c
- arch/arm/mach-davinci/common.c
- arch/arm/mach-davinci/da830.c
- arch/arm/mach-davinci/da850.c
- arch/arm/mach-davinci/devices-da8xx.c
- arch/arm/mach-davinci/devices.c
- arch/arm/mach-davinci/dm355.c
- arch/arm/mach-davinci/dm365.c
- arch/arm/mach-davinci/dm644x.c
- arch/arm/mach-davinci/dm646x.c
- arch/arm/mach-davinci/include/mach/common.h
- arch/arm/mach-davinci/include/mach/da8xx.h
- arch/arm/mach-davinci/include/mach/system.h
- arch/arm/mach-davinci/include/mach/tnetv107x.h
- arch/arm/mach-davinci/tnetv107x.c
arch/arm/mach-davinci/board-da830-evm.c
arch/arm/mach-davinci/board-da850-evm.c
arch/arm/mach-davinci/board-dm355-evm.c
arch/arm/mach-davinci/board-dm355-leopard.c
arch/arm/mach-davinci/board-dm365-evm.c
arch/arm/mach-davinci/board-dm644x-evm.c
arch/arm/mach-davinci/board-dm646x-evm.c
... | ... | @@ -799,6 +799,7 @@ |
799 | 799 | .timer = &davinci_timer, |
800 | 800 | .init_machine = evm_init, |
801 | 801 | .dma_zone_size = SZ_128M, |
802 | + .restart = davinci_restart, | |
802 | 803 | MACHINE_END |
803 | 804 | |
804 | 805 | MACHINE_START(DAVINCI_DM6467TEVM, "DaVinci DM6467T EVM") |
... | ... | @@ -808,5 +809,6 @@ |
808 | 809 | .timer = &davinci_timer, |
809 | 810 | .init_machine = evm_init, |
810 | 811 | .dma_zone_size = SZ_128M, |
812 | + .restart = davinci_restart, | |
811 | 813 | MACHINE_END |
arch/arm/mach-davinci/board-mityomapl138.c
arch/arm/mach-davinci/board-neuros-osd2.c
arch/arm/mach-davinci/board-omapl138-hawk.c
arch/arm/mach-davinci/board-sffsdr.c
arch/arm/mach-davinci/board-tnetv107x-evm.c
arch/arm/mach-davinci/common.c
... | ... | @@ -97,9 +97,6 @@ |
97 | 97 | local_flush_tlb_all(); |
98 | 98 | flush_cache_all(); |
99 | 99 | |
100 | - if (!davinci_soc_info.reset) | |
101 | - davinci_soc_info.reset = davinci_watchdog_reset; | |
102 | - | |
103 | 100 | /* |
104 | 101 | * We want to check CPU revision early for cpu_is_xxxx() macros. |
105 | 102 | * IO space mapping must be initialized before we can do that. |
arch/arm/mach-davinci/da830.c
arch/arm/mach-davinci/da850.c
arch/arm/mach-davinci/devices-da8xx.c
... | ... | @@ -363,6 +363,11 @@ |
363 | 363 | .resource = da8xx_watchdog_resources, |
364 | 364 | }; |
365 | 365 | |
366 | +void da8xx_restart(char mode, const char *cmd) | |
367 | +{ | |
368 | + davinci_watchdog_reset(&da8xx_wdt_device); | |
369 | +} | |
370 | + | |
366 | 371 | int __init da8xx_register_watchdog(void) |
367 | 372 | { |
368 | 373 | return platform_device_register(&da8xx_wdt_device); |
arch/arm/mach-davinci/devices.c
... | ... | @@ -291,6 +291,11 @@ |
291 | 291 | .resource = wdt_resources, |
292 | 292 | }; |
293 | 293 | |
294 | +void davinci_restart(char mode, const char *cmd) | |
295 | +{ | |
296 | + davinci_watchdog_reset(&davinci_wdt_device); | |
297 | +} | |
298 | + | |
294 | 299 | static void davinci_init_wdt(void) |
295 | 300 | { |
296 | 301 | platform_device_register(&davinci_wdt_device); |
arch/arm/mach-davinci/dm355.c
arch/arm/mach-davinci/dm365.c
arch/arm/mach-davinci/dm644x.c
arch/arm/mach-davinci/dm646x.c
arch/arm/mach-davinci/include/mach/common.h
... | ... | @@ -77,14 +77,13 @@ |
77 | 77 | struct emac_platform_data *emac_pdata; |
78 | 78 | dma_addr_t sram_dma; |
79 | 79 | unsigned sram_len; |
80 | - struct platform_device *reset_device; | |
81 | - void (*reset)(struct platform_device *); | |
82 | 80 | }; |
83 | 81 | |
84 | 82 | extern struct davinci_soc_info davinci_soc_info; |
85 | 83 | |
86 | 84 | extern void davinci_common_init(struct davinci_soc_info *soc_info); |
87 | 85 | extern void davinci_init_ide(void); |
86 | +void davinci_restart(char mode, const char *cmd); | |
88 | 87 | |
89 | 88 | /* standard place to map on-chip SRAMs; they *may* support DMA */ |
90 | 89 | #define SRAM_VIRT 0xfffe0000 |
arch/arm/mach-davinci/include/mach/da8xx.h
... | ... | @@ -91,6 +91,7 @@ |
91 | 91 | void __iomem * __init da8xx_get_mem_ctlr(void); |
92 | 92 | int da850_register_pm(struct platform_device *pdev); |
93 | 93 | int __init da850_register_sata(unsigned long refclkpn); |
94 | +void da8xx_restart(char mode, const char *cmd); | |
94 | 95 | |
95 | 96 | extern struct platform_device da8xx_serial_device; |
96 | 97 | extern struct emac_platform_data da8xx_emac_pdata; |
arch/arm/mach-davinci/include/mach/system.h
arch/arm/mach-davinci/include/mach/tnetv107x.h
arch/arm/mach-davinci/tnetv107x.c
... | ... | @@ -730,6 +730,11 @@ |
730 | 730 | __raw_writel(1, ®s->kick); |
731 | 731 | } |
732 | 732 | |
733 | +void tnetv107x_restart(char mode, const char *cmd) | |
734 | +{ | |
735 | + tnetv107x_watchdog_reset(&tnetv107x_wdt_device); | |
736 | +} | |
737 | + | |
733 | 738 | static struct davinci_soc_info tnetv107x_soc_info = { |
734 | 739 | .io_desc = io_desc, |
735 | 740 | .io_desc_num = ARRAY_SIZE(io_desc), |
... | ... | @@ -752,8 +757,6 @@ |
752 | 757 | .gpio_num = TNETV107X_N_GPIO, |
753 | 758 | .timer_info = &timer_info, |
754 | 759 | .serial_dev = &tnetv107x_serial_device, |
755 | - .reset = tnetv107x_watchdog_reset, | |
756 | - .reset_device = &tnetv107x_wdt_device, | |
757 | 760 | }; |
758 | 761 | |
759 | 762 | void __init tnetv107x_init(void) |