Commit c6121ddd1f75278ab77504af2914d07831558672

Authored by Sekhar Nori
Committed by Russell King
1 parent 3921470527

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
... ... @@ -682,5 +682,6 @@
682 682 .timer = &davinci_timer,
683 683 .init_machine = da830_evm_init,
684 684 .dma_zone_size = SZ_128M,
  685 + .restart = da8xx_restart,
685 686 MACHINE_END
arch/arm/mach-davinci/board-da850-evm.c
... ... @@ -1411,5 +1411,6 @@
1411 1411 .timer = &davinci_timer,
1412 1412 .init_machine = da850_evm_init,
1413 1413 .dma_zone_size = SZ_128M,
  1414 + .restart = da8xx_restart,
1414 1415 MACHINE_END
arch/arm/mach-davinci/board-dm355-evm.c
... ... @@ -357,5 +357,6 @@
357 357 .timer = &davinci_timer,
358 358 .init_machine = dm355_evm_init,
359 359 .dma_zone_size = SZ_128M,
  360 + .restart = davinci_restart,
360 361 MACHINE_END
arch/arm/mach-davinci/board-dm355-leopard.c
... ... @@ -276,5 +276,6 @@
276 276 .timer = &davinci_timer,
277 277 .init_machine = dm355_leopard_init,
278 278 .dma_zone_size = SZ_128M,
  279 + .restart = davinci_restart,
279 280 MACHINE_END
arch/arm/mach-davinci/board-dm365-evm.c
... ... @@ -618,5 +618,6 @@
618 618 .timer = &davinci_timer,
619 619 .init_machine = dm365_evm_init,
620 620 .dma_zone_size = SZ_128M,
  621 + .restart = davinci_restart,
621 622 MACHINE_END
arch/arm/mach-davinci/board-dm644x-evm.c
... ... @@ -719,5 +719,6 @@
719 719 .timer = &davinci_timer,
720 720 .init_machine = davinci_evm_init,
721 721 .dma_zone_size = SZ_128M,
  722 + .restart = davinci_restart,
722 723 MACHINE_END
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
... ... @@ -573,5 +573,6 @@
573 573 .timer = &davinci_timer,
574 574 .init_machine = mityomapl138_init,
575 575 .dma_zone_size = SZ_128M,
  576 + .restart = da8xx_restart,
576 577 MACHINE_END
arch/arm/mach-davinci/board-neuros-osd2.c
... ... @@ -278,5 +278,6 @@
278 278 .timer = &davinci_timer,
279 279 .init_machine = davinci_ntosd2_init,
280 280 .dma_zone_size = SZ_128M,
  281 + .restart = davinci_restart,
281 282 MACHINE_END
arch/arm/mach-davinci/board-omapl138-hawk.c
... ... @@ -344,5 +344,6 @@
344 344 .timer = &davinci_timer,
345 345 .init_machine = omapl138_hawk_init,
346 346 .dma_zone_size = SZ_128M,
  347 + .restart = da8xx_restart,
347 348 MACHINE_END
arch/arm/mach-davinci/board-sffsdr.c
... ... @@ -157,5 +157,6 @@
157 157 .timer = &davinci_timer,
158 158 .init_machine = davinci_sffsdr_init,
159 159 .dma_zone_size = SZ_128M,
  160 + .restart = davinci_restart,
160 161 MACHINE_END
arch/arm/mach-davinci/board-tnetv107x-evm.c
... ... @@ -283,5 +283,6 @@
283 283 .timer = &davinci_timer,
284 284 .init_machine = tnetv107x_evm_board_init,
285 285 .dma_zone_size = SZ_128M,
  286 + .restart = tnetv107x_restart,
286 287 MACHINE_END
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
... ... @@ -1201,7 +1201,6 @@
1201 1201 .gpio_irq = IRQ_DA8XX_GPIO0,
1202 1202 .serial_dev = &da8xx_serial_device,
1203 1203 .emac_pdata = &da8xx_emac_pdata,
1204   - .reset_device = &da8xx_wdt_device,
1205 1204 };
1206 1205  
1207 1206 void __init da830_init(void)
arch/arm/mach-davinci/da850.c
... ... @@ -1121,7 +1121,6 @@
1121 1121 .emac_pdata = &da8xx_emac_pdata,
1122 1122 .sram_dma = DA8XX_ARM_RAM_BASE,
1123 1123 .sram_len = SZ_8K,
1124   - .reset_device = &da8xx_wdt_device,
1125 1124 };
1126 1125  
1127 1126 void __init da850_init(void)
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
... ... @@ -853,7 +853,6 @@
853 853 .serial_dev = &dm355_serial_device,
854 854 .sram_dma = 0x00010000,
855 855 .sram_len = SZ_32K,
856   - .reset_device = &davinci_wdt_device,
857 856 };
858 857  
859 858 void __init dm355_init_asp1(u32 evt_enable, struct snd_platform_data *pdata)
arch/arm/mach-davinci/dm365.c
... ... @@ -1083,7 +1083,6 @@
1083 1083 .emac_pdata = &dm365_emac_pdata,
1084 1084 .sram_dma = 0x00010000,
1085 1085 .sram_len = SZ_32K,
1086   - .reset_device = &davinci_wdt_device,
1087 1086 };
1088 1087  
1089 1088 void __init dm365_init_asp(struct snd_platform_data *pdata)
arch/arm/mach-davinci/dm644x.c
... ... @@ -767,7 +767,6 @@
767 767 .emac_pdata = &dm644x_emac_pdata,
768 768 .sram_dma = 0x00008000,
769 769 .sram_len = SZ_16K,
770   - .reset_device = &davinci_wdt_device,
771 770 };
772 771  
773 772 void __init dm644x_init_asp(struct snd_platform_data *pdata)
arch/arm/mach-davinci/dm646x.c
... ... @@ -854,7 +854,6 @@
854 854 .emac_pdata = &dm646x_emac_pdata,
855 855 .sram_dma = 0x10010000,
856 856 .sram_len = SZ_32K,
857   - .reset_device = &davinci_wdt_device,
858 857 };
859 858  
860 859 void __init dm646x_init_mcasp0(struct snd_platform_data *pdata)
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
... ... @@ -20,8 +20,6 @@
20 20  
21 21 static inline void arch_reset(char mode, const char *cmd)
22 22 {
23   - if (davinci_soc_info.reset)
24   - davinci_soc_info.reset(davinci_soc_info.reset_device);
25 23 }
26 24  
27 25 #endif /* __ASM_ARCH_SYSTEM_H */
arch/arm/mach-davinci/include/mach/tnetv107x.h
... ... @@ -54,6 +54,7 @@
54 54 extern void __init tnetv107x_init(void);
55 55 extern void __init tnetv107x_devices_init(struct tnetv107x_device_info *);
56 56 extern void __init tnetv107x_irq_init(void);
  57 +void tnetv107x_restart(char mode, const char *cmd);
57 58  
58 59 #endif
59 60  
arch/arm/mach-davinci/tnetv107x.c
... ... @@ -730,6 +730,11 @@
730 730 __raw_writel(1, &regs->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)