diff options
author | Arnd Bergmann <arnd@arndb.de> | 2012-01-09 11:16:29 -0500 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2012-01-09 11:16:29 -0500 |
commit | dcf7ec5ee62a78123057a1e286c88ca739717409 (patch) | |
tree | fa3f19434638a942ba66d236dde4d9aaadf8b370 /arch/arm/mach-pxa | |
parent | 15db3e823c3246e3bd31fe454f5c8927eb85caf2 (diff) | |
parent | 142f2101a86ade2d6c9dfbedf82e1b5b31c8fce6 (diff) |
Merge branch 'samsung/driver' into next/drivers
Conflicts:
arch/arm/mach-mxs/include/mach/common.h
Pull in previous samsung conflict merges and do a trivial
merge of an mxs double-add conflict.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'arch/arm/mach-pxa')
55 files changed, 101 insertions, 95 deletions
diff --git a/arch/arm/mach-pxa/balloon3.c b/arch/arm/mach-pxa/balloon3.c index 11f2223da576..5971c4653fd0 100644 --- a/arch/arm/mach-pxa/balloon3.c +++ b/arch/arm/mach-pxa/balloon3.c | |||
@@ -829,4 +829,5 @@ MACHINE_START(BALLOON3, "Balloon3") | |||
829 | .timer = &pxa_timer, | 829 | .timer = &pxa_timer, |
830 | .init_machine = balloon3_init, | 830 | .init_machine = balloon3_init, |
831 | .atag_offset = 0x100, | 831 | .atag_offset = 0x100, |
832 | .restart = pxa_restart, | ||
832 | MACHINE_END | 833 | MACHINE_END |
diff --git a/arch/arm/mach-pxa/capc7117.c b/arch/arm/mach-pxa/capc7117.c index 5516317b9e64..c91727d1fe09 100644 --- a/arch/arm/mach-pxa/capc7117.c +++ b/arch/arm/mach-pxa/capc7117.c | |||
@@ -153,5 +153,6 @@ MACHINE_START(CAPC7117, | |||
153 | .init_irq = pxa3xx_init_irq, | 153 | .init_irq = pxa3xx_init_irq, |
154 | .handle_irq = pxa3xx_handle_irq, | 154 | .handle_irq = pxa3xx_handle_irq, |
155 | .timer = &pxa_timer, | 155 | .timer = &pxa_timer, |
156 | .init_machine = capc7117_init | 156 | .init_machine = capc7117_init, |
157 | .restart = pxa_restart, | ||
157 | MACHINE_END | 158 | MACHINE_END |
diff --git a/arch/arm/mach-pxa/cm-x2xx.c b/arch/arm/mach-pxa/cm-x2xx.c index 9344a0e3ba8a..8fa4ad27edf3 100644 --- a/arch/arm/mach-pxa/cm-x2xx.c +++ b/arch/arm/mach-pxa/cm-x2xx.c | |||
@@ -524,4 +524,5 @@ MACHINE_START(ARMCORE, "Compulab CM-X2XX") | |||
524 | #ifdef CONFIG_PCI | 524 | #ifdef CONFIG_PCI |
525 | .dma_zone_size = SZ_64M, | 525 | .dma_zone_size = SZ_64M, |
526 | #endif | 526 | #endif |
527 | .restart = pxa_restart, | ||
527 | MACHINE_END | 528 | MACHINE_END |
diff --git a/arch/arm/mach-pxa/cm-x300.c b/arch/arm/mach-pxa/cm-x300.c index 684acf6ed3d5..4b981b82d2a5 100644 --- a/arch/arm/mach-pxa/cm-x300.c +++ b/arch/arm/mach-pxa/cm-x300.c | |||
@@ -858,4 +858,5 @@ MACHINE_START(CM_X300, "CM-X300 module") | |||
858 | .timer = &pxa_timer, | 858 | .timer = &pxa_timer, |
859 | .init_machine = cm_x300_init, | 859 | .init_machine = cm_x300_init, |
860 | .fixup = cm_x300_fixup, | 860 | .fixup = cm_x300_fixup, |
861 | .restart = pxa_restart, | ||
861 | MACHINE_END | 862 | MACHINE_END |
diff --git a/arch/arm/mach-pxa/colibri-pxa270.c b/arch/arm/mach-pxa/colibri-pxa270.c index f0fe9a51dfcc..29d5d541f602 100644 --- a/arch/arm/mach-pxa/colibri-pxa270.c +++ b/arch/arm/mach-pxa/colibri-pxa270.c | |||
@@ -313,6 +313,7 @@ MACHINE_START(COLIBRI, "Toradex Colibri PXA270") | |||
313 | .init_irq = pxa27x_init_irq, | 313 | .init_irq = pxa27x_init_irq, |
314 | .handle_irq = pxa27x_handle_irq, | 314 | .handle_irq = pxa27x_handle_irq, |
315 | .timer = &pxa_timer, | 315 | .timer = &pxa_timer, |
316 | .restart = pxa_restart, | ||
316 | MACHINE_END | 317 | MACHINE_END |
317 | 318 | ||
318 | MACHINE_START(INCOME, "Income s.r.o. SH-Dmaster PXA270 SBC") | 319 | MACHINE_START(INCOME, "Income s.r.o. SH-Dmaster PXA270 SBC") |
@@ -322,5 +323,6 @@ MACHINE_START(INCOME, "Income s.r.o. SH-Dmaster PXA270 SBC") | |||
322 | .init_irq = pxa27x_init_irq, | 323 | .init_irq = pxa27x_init_irq, |
323 | .handle_irq = pxa27x_handle_irq, | 324 | .handle_irq = pxa27x_handle_irq, |
324 | .timer = &pxa_timer, | 325 | .timer = &pxa_timer, |
326 | .restart = pxa_restart, | ||
325 | MACHINE_END | 327 | MACHINE_END |
326 | 328 | ||
diff --git a/arch/arm/mach-pxa/colibri-pxa300.c b/arch/arm/mach-pxa/colibri-pxa300.c index 0a6222e20f9b..0846d210cb05 100644 --- a/arch/arm/mach-pxa/colibri-pxa300.c +++ b/arch/arm/mach-pxa/colibri-pxa300.c | |||
@@ -189,5 +189,6 @@ MACHINE_START(COLIBRI300, "Toradex Colibri PXA300") | |||
189 | .init_irq = pxa3xx_init_irq, | 189 | .init_irq = pxa3xx_init_irq, |
190 | .handle_irq = pxa3xx_handle_irq, | 190 | .handle_irq = pxa3xx_handle_irq, |
191 | .timer = &pxa_timer, | 191 | .timer = &pxa_timer, |
192 | .restart = pxa_restart, | ||
192 | MACHINE_END | 193 | MACHINE_END |
193 | 194 | ||
diff --git a/arch/arm/mach-pxa/colibri-pxa320.c b/arch/arm/mach-pxa/colibri-pxa320.c index 56ab7a634bca..6ad3359063af 100644 --- a/arch/arm/mach-pxa/colibri-pxa320.c +++ b/arch/arm/mach-pxa/colibri-pxa320.c | |||
@@ -259,5 +259,6 @@ MACHINE_START(COLIBRI320, "Toradex Colibri PXA320") | |||
259 | .init_irq = pxa3xx_init_irq, | 259 | .init_irq = pxa3xx_init_irq, |
260 | .handle_irq = pxa3xx_handle_irq, | 260 | .handle_irq = pxa3xx_handle_irq, |
261 | .timer = &pxa_timer, | 261 | .timer = &pxa_timer, |
262 | .restart = pxa_restart, | ||
262 | MACHINE_END | 263 | MACHINE_END |
263 | 264 | ||
diff --git a/arch/arm/mach-pxa/corgi.c b/arch/arm/mach-pxa/corgi.c index 3812ba0ff50c..66600f05e436 100644 --- a/arch/arm/mach-pxa/corgi.c +++ b/arch/arm/mach-pxa/corgi.c | |||
@@ -655,7 +655,7 @@ static void corgi_poweroff(void) | |||
655 | /* Green LED off tells the bootloader to halt */ | 655 | /* Green LED off tells the bootloader to halt */ |
656 | gpio_set_value(CORGI_GPIO_LED_GREEN, 0); | 656 | gpio_set_value(CORGI_GPIO_LED_GREEN, 0); |
657 | 657 | ||
658 | arm_machine_restart('h', NULL); | 658 | pxa_restart('h', NULL); |
659 | } | 659 | } |
660 | 660 | ||
661 | static void corgi_restart(char mode, const char *cmd) | 661 | static void corgi_restart(char mode, const char *cmd) |
@@ -664,13 +664,12 @@ static void corgi_restart(char mode, const char *cmd) | |||
664 | /* Green LED on tells the bootloader to reboot */ | 664 | /* Green LED on tells the bootloader to reboot */ |
665 | gpio_set_value(CORGI_GPIO_LED_GREEN, 1); | 665 | gpio_set_value(CORGI_GPIO_LED_GREEN, 1); |
666 | 666 | ||
667 | arm_machine_restart('h', cmd); | 667 | pxa_restart('h', cmd); |
668 | } | 668 | } |
669 | 669 | ||
670 | static void __init corgi_init(void) | 670 | static void __init corgi_init(void) |
671 | { | 671 | { |
672 | pm_power_off = corgi_poweroff; | 672 | pm_power_off = corgi_poweroff; |
673 | arm_pm_restart = corgi_restart; | ||
674 | 673 | ||
675 | /* Stop 3.6MHz and drive HIGH to PCMCIA and CS */ | 674 | /* Stop 3.6MHz and drive HIGH to PCMCIA and CS */ |
676 | PCFR |= PCFR_OPDE; | 675 | PCFR |= PCFR_OPDE; |
@@ -726,6 +725,7 @@ MACHINE_START(CORGI, "SHARP Corgi") | |||
726 | .handle_irq = pxa25x_handle_irq, | 725 | .handle_irq = pxa25x_handle_irq, |
727 | .init_machine = corgi_init, | 726 | .init_machine = corgi_init, |
728 | .timer = &pxa_timer, | 727 | .timer = &pxa_timer, |
728 | .restart = corgi_restart, | ||
729 | MACHINE_END | 729 | MACHINE_END |
730 | #endif | 730 | #endif |
731 | 731 | ||
@@ -737,6 +737,7 @@ MACHINE_START(SHEPHERD, "SHARP Shepherd") | |||
737 | .handle_irq = pxa25x_handle_irq, | 737 | .handle_irq = pxa25x_handle_irq, |
738 | .init_machine = corgi_init, | 738 | .init_machine = corgi_init, |
739 | .timer = &pxa_timer, | 739 | .timer = &pxa_timer, |
740 | .restart = corgi_restart, | ||
740 | MACHINE_END | 741 | MACHINE_END |
741 | #endif | 742 | #endif |
742 | 743 | ||
@@ -748,6 +749,7 @@ MACHINE_START(HUSKY, "SHARP Husky") | |||
748 | .handle_irq = pxa25x_handle_irq, | 749 | .handle_irq = pxa25x_handle_irq, |
749 | .init_machine = corgi_init, | 750 | .init_machine = corgi_init, |
750 | .timer = &pxa_timer, | 751 | .timer = &pxa_timer, |
752 | .restart = corgi_restart, | ||
751 | MACHINE_END | 753 | MACHINE_END |
752 | #endif | 754 | #endif |
753 | 755 | ||
diff --git a/arch/arm/mach-pxa/csb726.c b/arch/arm/mach-pxa/csb726.c index 5e2cf39e9e4c..fb5a51d834e5 100644 --- a/arch/arm/mach-pxa/csb726.c +++ b/arch/arm/mach-pxa/csb726.c | |||
@@ -278,4 +278,5 @@ MACHINE_START(CSB726, "Cogent CSB726") | |||
278 | .handle_irq = pxa27x_handle_irq, | 278 | .handle_irq = pxa27x_handle_irq, |
279 | .init_machine = csb726_init, | 279 | .init_machine = csb726_init, |
280 | .timer = &pxa_timer, | 280 | .timer = &pxa_timer, |
281 | .restart = pxa_restart, | ||
281 | MACHINE_END | 282 | MACHINE_END |
diff --git a/arch/arm/mach-pxa/em-x270.c b/arch/arm/mach-pxa/em-x270.c index 3358f4da2ec9..d80c0ba9a095 100644 --- a/arch/arm/mach-pxa/em-x270.c +++ b/arch/arm/mach-pxa/em-x270.c | |||
@@ -1305,6 +1305,7 @@ MACHINE_START(EM_X270, "Compulab EM-X270") | |||
1305 | .handle_irq = pxa27x_handle_irq, | 1305 | .handle_irq = pxa27x_handle_irq, |
1306 | .timer = &pxa_timer, | 1306 | .timer = &pxa_timer, |
1307 | .init_machine = em_x270_init, | 1307 | .init_machine = em_x270_init, |
1308 | .restart = pxa_restart, | ||
1308 | MACHINE_END | 1309 | MACHINE_END |
1309 | 1310 | ||
1310 | MACHINE_START(EXEDA, "Compulab eXeda") | 1311 | MACHINE_START(EXEDA, "Compulab eXeda") |
@@ -1314,4 +1315,5 @@ MACHINE_START(EXEDA, "Compulab eXeda") | |||
1314 | .handle_irq = pxa27x_handle_irq, | 1315 | .handle_irq = pxa27x_handle_irq, |
1315 | .timer = &pxa_timer, | 1316 | .timer = &pxa_timer, |
1316 | .init_machine = em_x270_init, | 1317 | .init_machine = em_x270_init, |
1318 | .restart = pxa_restart, | ||
1317 | MACHINE_END | 1319 | MACHINE_END |
diff --git a/arch/arm/mach-pxa/eseries.c b/arch/arm/mach-pxa/eseries.c index e556a1e3ff0f..f79a610c62fc 100644 --- a/arch/arm/mach-pxa/eseries.c +++ b/arch/arm/mach-pxa/eseries.c | |||
@@ -196,6 +196,7 @@ MACHINE_START(E330, "Toshiba e330") | |||
196 | .fixup = eseries_fixup, | 196 | .fixup = eseries_fixup, |
197 | .init_machine = e330_init, | 197 | .init_machine = e330_init, |
198 | .timer = &pxa_timer, | 198 | .timer = &pxa_timer, |
199 | .restart = pxa_restart, | ||
199 | MACHINE_END | 200 | MACHINE_END |
200 | #endif | 201 | #endif |
201 | 202 | ||
@@ -246,6 +247,7 @@ MACHINE_START(E350, "Toshiba e350") | |||
246 | .fixup = eseries_fixup, | 247 | .fixup = eseries_fixup, |
247 | .init_machine = e350_init, | 248 | .init_machine = e350_init, |
248 | .timer = &pxa_timer, | 249 | .timer = &pxa_timer, |
250 | .restart = pxa_restart, | ||
249 | MACHINE_END | 251 | MACHINE_END |
250 | #endif | 252 | #endif |
251 | 253 | ||
@@ -369,6 +371,7 @@ MACHINE_START(E400, "Toshiba e400") | |||
369 | .fixup = eseries_fixup, | 371 | .fixup = eseries_fixup, |
370 | .init_machine = e400_init, | 372 | .init_machine = e400_init, |
371 | .timer = &pxa_timer, | 373 | .timer = &pxa_timer, |
374 | .restart = pxa_restart, | ||
372 | MACHINE_END | 375 | MACHINE_END |
373 | #endif | 376 | #endif |
374 | 377 | ||
@@ -558,6 +561,7 @@ MACHINE_START(E740, "Toshiba e740") | |||
558 | .fixup = eseries_fixup, | 561 | .fixup = eseries_fixup, |
559 | .init_machine = e740_init, | 562 | .init_machine = e740_init, |
560 | .timer = &pxa_timer, | 563 | .timer = &pxa_timer, |
564 | .restart = pxa_restart, | ||
561 | MACHINE_END | 565 | MACHINE_END |
562 | #endif | 566 | #endif |
563 | 567 | ||
@@ -750,6 +754,7 @@ MACHINE_START(E750, "Toshiba e750") | |||
750 | .fixup = eseries_fixup, | 754 | .fixup = eseries_fixup, |
751 | .init_machine = e750_init, | 755 | .init_machine = e750_init, |
752 | .timer = &pxa_timer, | 756 | .timer = &pxa_timer, |
757 | .restart = pxa_restart, | ||
753 | MACHINE_END | 758 | MACHINE_END |
754 | #endif | 759 | #endif |
755 | 760 | ||
@@ -955,5 +960,6 @@ MACHINE_START(E800, "Toshiba e800") | |||
955 | .fixup = eseries_fixup, | 960 | .fixup = eseries_fixup, |
956 | .init_machine = e800_init, | 961 | .init_machine = e800_init, |
957 | .timer = &pxa_timer, | 962 | .timer = &pxa_timer, |
963 | .restart = pxa_restart, | ||
958 | MACHINE_END | 964 | MACHINE_END |
959 | #endif | 965 | #endif |
diff --git a/arch/arm/mach-pxa/ezx.c b/arch/arm/mach-pxa/ezx.c index 8308eee5a924..15ab2533667d 100644 --- a/arch/arm/mach-pxa/ezx.c +++ b/arch/arm/mach-pxa/ezx.c | |||
@@ -804,6 +804,7 @@ MACHINE_START(EZX_A780, "Motorola EZX A780") | |||
804 | .handle_irq = pxa27x_handle_irq, | 804 | .handle_irq = pxa27x_handle_irq, |
805 | .timer = &pxa_timer, | 805 | .timer = &pxa_timer, |
806 | .init_machine = a780_init, | 806 | .init_machine = a780_init, |
807 | .restart = pxa_restart, | ||
807 | MACHINE_END | 808 | MACHINE_END |
808 | #endif | 809 | #endif |
809 | 810 | ||
@@ -870,6 +871,7 @@ MACHINE_START(EZX_E680, "Motorola EZX E680") | |||
870 | .handle_irq = pxa27x_handle_irq, | 871 | .handle_irq = pxa27x_handle_irq, |
871 | .timer = &pxa_timer, | 872 | .timer = &pxa_timer, |
872 | .init_machine = e680_init, | 873 | .init_machine = e680_init, |
874 | .restart = pxa_restart, | ||
873 | MACHINE_END | 875 | MACHINE_END |
874 | #endif | 876 | #endif |
875 | 877 | ||
@@ -936,6 +938,7 @@ MACHINE_START(EZX_A1200, "Motorola EZX A1200") | |||
936 | .handle_irq = pxa27x_handle_irq, | 938 | .handle_irq = pxa27x_handle_irq, |
937 | .timer = &pxa_timer, | 939 | .timer = &pxa_timer, |
938 | .init_machine = a1200_init, | 940 | .init_machine = a1200_init, |
941 | .restart = pxa_restart, | ||
939 | MACHINE_END | 942 | MACHINE_END |
940 | #endif | 943 | #endif |
941 | 944 | ||
@@ -1127,6 +1130,7 @@ MACHINE_START(EZX_A910, "Motorola EZX A910") | |||
1127 | .handle_irq = pxa27x_handle_irq, | 1130 | .handle_irq = pxa27x_handle_irq, |
1128 | .timer = &pxa_timer, | 1131 | .timer = &pxa_timer, |
1129 | .init_machine = a910_init, | 1132 | .init_machine = a910_init, |
1133 | .restart = pxa_restart, | ||
1130 | MACHINE_END | 1134 | MACHINE_END |
1131 | #endif | 1135 | #endif |
1132 | 1136 | ||
@@ -1193,6 +1197,7 @@ MACHINE_START(EZX_E6, "Motorola EZX E6") | |||
1193 | .handle_irq = pxa27x_handle_irq, | 1197 | .handle_irq = pxa27x_handle_irq, |
1194 | .timer = &pxa_timer, | 1198 | .timer = &pxa_timer, |
1195 | .init_machine = e6_init, | 1199 | .init_machine = e6_init, |
1200 | .restart = pxa_restart, | ||
1196 | MACHINE_END | 1201 | MACHINE_END |
1197 | #endif | 1202 | #endif |
1198 | 1203 | ||
@@ -1233,5 +1238,6 @@ MACHINE_START(EZX_E2, "Motorola EZX E2") | |||
1233 | .handle_irq = pxa27x_handle_irq, | 1238 | .handle_irq = pxa27x_handle_irq, |
1234 | .timer = &pxa_timer, | 1239 | .timer = &pxa_timer, |
1235 | .init_machine = e2_init, | 1240 | .init_machine = e2_init, |
1241 | .restart = pxa_restart, | ||
1236 | MACHINE_END | 1242 | MACHINE_END |
1237 | #endif | 1243 | #endif |
diff --git a/arch/arm/mach-pxa/generic.h b/arch/arm/mach-pxa/generic.h index 92a2e85ab02c..0d729e6619df 100644 --- a/arch/arm/mach-pxa/generic.h +++ b/arch/arm/mach-pxa/generic.h | |||
@@ -57,3 +57,5 @@ void __init pxa_set_ffuart_info(void *info); | |||
57 | void __init pxa_set_btuart_info(void *info); | 57 | void __init pxa_set_btuart_info(void *info); |
58 | void __init pxa_set_stuart_info(void *info); | 58 | void __init pxa_set_stuart_info(void *info); |
59 | void __init pxa_set_hwuart_info(void *info); | 59 | void __init pxa_set_hwuart_info(void *info); |
60 | |||
61 | void pxa_restart(char, const char *); | ||
diff --git a/arch/arm/mach-pxa/gumstix.c b/arch/arm/mach-pxa/gumstix.c index ffdd70dad327..ac3b1cef4751 100644 --- a/arch/arm/mach-pxa/gumstix.c +++ b/arch/arm/mach-pxa/gumstix.c | |||
@@ -239,4 +239,5 @@ MACHINE_START(GUMSTIX, "Gumstix") | |||
239 | .handle_irq = pxa25x_handle_irq, | 239 | .handle_irq = pxa25x_handle_irq, |
240 | .timer = &pxa_timer, | 240 | .timer = &pxa_timer, |
241 | .init_machine = gumstix_init, | 241 | .init_machine = gumstix_init, |
242 | .restart = pxa_restart, | ||
242 | MACHINE_END | 243 | MACHINE_END |
diff --git a/arch/arm/mach-pxa/h5000.c b/arch/arm/mach-pxa/h5000.c index 4b5e110640b1..fde6b4c873c4 100644 --- a/arch/arm/mach-pxa/h5000.c +++ b/arch/arm/mach-pxa/h5000.c | |||
@@ -209,4 +209,5 @@ MACHINE_START(H5400, "HP iPAQ H5000") | |||
209 | .handle_irq = pxa25x_handle_irq, | 209 | .handle_irq = pxa25x_handle_irq, |
210 | .timer = &pxa_timer, | 210 | .timer = &pxa_timer, |
211 | .init_machine = h5000_init, | 211 | .init_machine = h5000_init, |
212 | .restart = pxa_restart, | ||
212 | MACHINE_END | 213 | MACHINE_END |
diff --git a/arch/arm/mach-pxa/himalaya.c b/arch/arm/mach-pxa/himalaya.c index f2c324570844..26d069a9f900 100644 --- a/arch/arm/mach-pxa/himalaya.c +++ b/arch/arm/mach-pxa/himalaya.c | |||
@@ -164,4 +164,5 @@ MACHINE_START(HIMALAYA, "HTC Himalaya") | |||
164 | .handle_irq = pxa25x_handle_irq, | 164 | .handle_irq = pxa25x_handle_irq, |
165 | .init_machine = himalaya_init, | 165 | .init_machine = himalaya_init, |
166 | .timer = &pxa_timer, | 166 | .timer = &pxa_timer, |
167 | .restart = pxa_restart, | ||
167 | MACHINE_END | 168 | MACHINE_END |
diff --git a/arch/arm/mach-pxa/hx4700.c b/arch/arm/mach-pxa/hx4700.c index 82e9976e5657..fb9b62dcf4ca 100644 --- a/arch/arm/mach-pxa/hx4700.c +++ b/arch/arm/mach-pxa/hx4700.c | |||
@@ -845,4 +845,5 @@ MACHINE_START(H4700, "HP iPAQ HX4700") | |||
845 | .handle_irq = pxa27x_handle_irq, | 845 | .handle_irq = pxa27x_handle_irq, |
846 | .init_machine = hx4700_init, | 846 | .init_machine = hx4700_init, |
847 | .timer = &pxa_timer, | 847 | .timer = &pxa_timer, |
848 | .restart = pxa_restart, | ||
848 | MACHINE_END | 849 | MACHINE_END |
diff --git a/arch/arm/mach-pxa/icontrol.c b/arch/arm/mach-pxa/icontrol.c index 33e81e87a9da..67400192ed3b 100644 --- a/arch/arm/mach-pxa/icontrol.c +++ b/arch/arm/mach-pxa/icontrol.c | |||
@@ -196,5 +196,6 @@ MACHINE_START(ICONTROL, "iControl/SafeTcam boards using Embedian MXM-8x10 CoM") | |||
196 | .init_irq = pxa3xx_init_irq, | 196 | .init_irq = pxa3xx_init_irq, |
197 | .handle_irq = pxa3xx_handle_irq, | 197 | .handle_irq = pxa3xx_handle_irq, |
198 | .timer = &pxa_timer, | 198 | .timer = &pxa_timer, |
199 | .init_machine = icontrol_init | 199 | .init_machine = icontrol_init, |
200 | .restart = pxa_restart, | ||
200 | MACHINE_END | 201 | MACHINE_END |
diff --git a/arch/arm/mach-pxa/idp.c b/arch/arm/mach-pxa/idp.c index bb98ff57b71f..8af1840e12cc 100644 --- a/arch/arm/mach-pxa/idp.c +++ b/arch/arm/mach-pxa/idp.c | |||
@@ -199,4 +199,5 @@ MACHINE_START(PXA_IDP, "Vibren PXA255 IDP") | |||
199 | .handle_irq = pxa25x_handle_irq, | 199 | .handle_irq = pxa25x_handle_irq, |
200 | .timer = &pxa_timer, | 200 | .timer = &pxa_timer, |
201 | .init_machine = idp_init, | 201 | .init_machine = idp_init, |
202 | .restart = pxa_restart, | ||
202 | MACHINE_END | 203 | MACHINE_END |
diff --git a/arch/arm/mach-pxa/include/mach/entry-macro.S b/arch/arm/mach-pxa/include/mach/entry-macro.S index a73bc86a3c26..260c0c17692a 100644 --- a/arch/arm/mach-pxa/include/mach/entry-macro.S +++ b/arch/arm/mach-pxa/include/mach/entry-macro.S | |||
@@ -7,45 +7,9 @@ | |||
7 | * License version 2. This program is licensed "as is" without any | 7 | * License version 2. This program is licensed "as is" without any |
8 | * warranty of any kind, whether express or implied. | 8 | * warranty of any kind, whether express or implied. |
9 | */ | 9 | */ |
10 | #include <mach/hardware.h> | ||
11 | #include <mach/irqs.h> | ||
12 | 10 | ||
13 | .macro disable_fiq | 11 | .macro disable_fiq |
14 | .endm | 12 | .endm |
15 | 13 | ||
16 | .macro get_irqnr_preamble, base, tmp | ||
17 | .endm | ||
18 | |||
19 | .macro arch_ret_to_user, tmp1, tmp2 | 14 | .macro arch_ret_to_user, tmp1, tmp2 |
20 | .endm | 15 | .endm |
21 | |||
22 | .macro get_irqnr_and_base, irqnr, irqstat, base, tmp | ||
23 | mrc p15, 0, \tmp, c0, c0, 0 @ CPUID | ||
24 | mov \tmp, \tmp, lsr #13 | ||
25 | and \tmp, \tmp, #0x7 @ Core G | ||
26 | cmp \tmp, #1 | ||
27 | bhi 1002f | ||
28 | |||
29 | @ Core Generation 1 (PXA25x) | ||
30 | mov \base, #io_p2v(0x40000000) @ IIR Ctl = 0x40d00000 | ||
31 | add \base, \base, #0x00d00000 | ||
32 | ldr \irqstat, [\base, #0] @ ICIP | ||
33 | ldr \irqnr, [\base, #4] @ ICMR | ||
34 | |||
35 | ands \irqnr, \irqstat, \irqnr | ||
36 | beq 1001f | ||
37 | rsb \irqstat, \irqnr, #0 | ||
38 | and \irqstat, \irqstat, \irqnr | ||
39 | clz \irqnr, \irqstat | ||
40 | rsb \irqnr, \irqnr, #(31 + PXA_IRQ(0)) | ||
41 | b 1001f | ||
42 | 1002: | ||
43 | @ Core Generation 2 (PXA27x) or Core Generation 3 (PXA3xx) | ||
44 | mrc p6, 0, \irqstat, c5, c0, 0 @ ICHP | ||
45 | tst \irqstat, #0x80000000 | ||
46 | beq 1001f | ||
47 | bic \irqstat, \irqstat, #0x80000000 | ||
48 | mov \irqnr, \irqstat, lsr #16 | ||
49 | add \irqnr, \irqnr, #(PXA_IRQ(0)) | ||
50 | 1001: | ||
51 | .endm | ||
diff --git a/arch/arm/mach-pxa/include/mach/system.h b/arch/arm/mach-pxa/include/mach/system.h index d1fce8b6d105..c5afacd3cc0b 100644 --- a/arch/arm/mach-pxa/include/mach/system.h +++ b/arch/arm/mach-pxa/include/mach/system.h | |||
@@ -9,15 +9,7 @@ | |||
9 | * it under the terms of the GNU General Public License version 2 as | 9 | * it under the terms of the GNU General Public License version 2 as |
10 | * published by the Free Software Foundation. | 10 | * published by the Free Software Foundation. |
11 | */ | 11 | */ |
12 | |||
13 | #include <asm/proc-fns.h> | ||
14 | #include "hardware.h" | ||
15 | #include "pxa2xx-regs.h" | ||
16 | |||
17 | static inline void arch_idle(void) | 12 | static inline void arch_idle(void) |
18 | { | 13 | { |
19 | cpu_do_idle(); | 14 | cpu_do_idle(); |
20 | } | 15 | } |
21 | |||
22 | |||
23 | void arch_reset(char mode, const char *cmd); | ||
diff --git a/arch/arm/mach-pxa/include/mach/vmalloc.h b/arch/arm/mach-pxa/include/mach/vmalloc.h deleted file mode 100644 index bfecfbf5f460..000000000000 --- a/arch/arm/mach-pxa/include/mach/vmalloc.h +++ /dev/null | |||
@@ -1,11 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-pxa/include/mach/vmalloc.h | ||
3 | * | ||
4 | * Author: Nicolas Pitre | ||
5 | * Copyright: (C) 2001 MontaVista Software Inc. | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License version 2 as | ||
9 | * published by the Free Software Foundation. | ||
10 | */ | ||
11 | #define VMALLOC_END (0xe8000000UL) | ||
diff --git a/arch/arm/mach-pxa/littleton.c b/arch/arm/mach-pxa/littleton.c index d21e28b46d81..1fb86edb857c 100644 --- a/arch/arm/mach-pxa/littleton.c +++ b/arch/arm/mach-pxa/littleton.c | |||
@@ -445,4 +445,5 @@ MACHINE_START(LITTLETON, "Marvell Form Factor Development Platform (aka Littleto | |||
445 | .handle_irq = pxa3xx_handle_irq, | 445 | .handle_irq = pxa3xx_handle_irq, |
446 | .timer = &pxa_timer, | 446 | .timer = &pxa_timer, |
447 | .init_machine = littleton_init, | 447 | .init_machine = littleton_init, |
448 | .restart = pxa_restart, | ||
448 | MACHINE_END | 449 | MACHINE_END |
diff --git a/arch/arm/mach-pxa/lpd270.c b/arch/arm/mach-pxa/lpd270.c index 565dd2f2eaa2..cee9ce2fc0b5 100644 --- a/arch/arm/mach-pxa/lpd270.c +++ b/arch/arm/mach-pxa/lpd270.c | |||
@@ -505,4 +505,5 @@ MACHINE_START(LOGICPD_PXA270, "LogicPD PXA270 Card Engine") | |||
505 | .handle_irq = pxa27x_handle_irq, | 505 | .handle_irq = pxa27x_handle_irq, |
506 | .timer = &pxa_timer, | 506 | .timer = &pxa_timer, |
507 | .init_machine = lpd270_init, | 507 | .init_machine = lpd270_init, |
508 | .restart = pxa_restart, | ||
508 | MACHINE_END | 509 | MACHINE_END |
diff --git a/arch/arm/mach-pxa/lubbock.c b/arch/arm/mach-pxa/lubbock.c index 2fb2b50831d1..6ebd276aebeb 100644 --- a/arch/arm/mach-pxa/lubbock.c +++ b/arch/arm/mach-pxa/lubbock.c | |||
@@ -556,4 +556,5 @@ MACHINE_START(LUBBOCK, "Intel DBPXA250 Development Platform (aka Lubbock)") | |||
556 | .handle_irq = pxa25x_handle_irq, | 556 | .handle_irq = pxa25x_handle_irq, |
557 | .timer = &pxa_timer, | 557 | .timer = &pxa_timer, |
558 | .init_machine = lubbock_init, | 558 | .init_machine = lubbock_init, |
559 | .restart = pxa_restart, | ||
559 | MACHINE_END | 560 | MACHINE_END |
diff --git a/arch/arm/mach-pxa/magician.c b/arch/arm/mach-pxa/magician.c index e340ea084248..3d6baf91396c 100644 --- a/arch/arm/mach-pxa/magician.c +++ b/arch/arm/mach-pxa/magician.c | |||
@@ -760,4 +760,5 @@ MACHINE_START(MAGICIAN, "HTC Magician") | |||
760 | .handle_irq = pxa27x_handle_irq, | 760 | .handle_irq = pxa27x_handle_irq, |
761 | .init_machine = magician_init, | 761 | .init_machine = magician_init, |
762 | .timer = &pxa_timer, | 762 | .timer = &pxa_timer, |
763 | .restart = pxa_restart, | ||
763 | MACHINE_END | 764 | MACHINE_END |
diff --git a/arch/arm/mach-pxa/mainstone.c b/arch/arm/mach-pxa/mainstone.c index ea62a990ae4b..1aebaf719462 100644 --- a/arch/arm/mach-pxa/mainstone.c +++ b/arch/arm/mach-pxa/mainstone.c | |||
@@ -622,4 +622,5 @@ MACHINE_START(MAINSTONE, "Intel HCDDBBVA0 Development Platform (aka Mainstone)") | |||
622 | .handle_irq = pxa27x_handle_irq, | 622 | .handle_irq = pxa27x_handle_irq, |
623 | .timer = &pxa_timer, | 623 | .timer = &pxa_timer, |
624 | .init_machine = mainstone_init, | 624 | .init_machine = mainstone_init, |
625 | .restart = pxa_restart, | ||
625 | MACHINE_END | 626 | MACHINE_END |
diff --git a/arch/arm/mach-pxa/mioa701.c b/arch/arm/mach-pxa/mioa701.c index 23f90c74c191..6518a30ece8e 100644 --- a/arch/arm/mach-pxa/mioa701.c +++ b/arch/arm/mach-pxa/mioa701.c | |||
@@ -696,13 +696,13 @@ static void mioa701_machine_exit(void); | |||
696 | static void mioa701_poweroff(void) | 696 | static void mioa701_poweroff(void) |
697 | { | 697 | { |
698 | mioa701_machine_exit(); | 698 | mioa701_machine_exit(); |
699 | arm_machine_restart('s', NULL); | 699 | pxa_restart('s', NULL); |
700 | } | 700 | } |
701 | 701 | ||
702 | static void mioa701_restart(char c, const char *cmd) | 702 | static void mioa701_restart(char c, const char *cmd) |
703 | { | 703 | { |
704 | mioa701_machine_exit(); | 704 | mioa701_machine_exit(); |
705 | arm_machine_restart('s', cmd); | 705 | pxa_restart('s', cmd); |
706 | } | 706 | } |
707 | 707 | ||
708 | static struct gpio global_gpios[] = { | 708 | static struct gpio global_gpios[] = { |
@@ -734,7 +734,6 @@ static void __init mioa701_machine_init(void) | |||
734 | pxa_set_udc_info(&mioa701_udc_info); | 734 | pxa_set_udc_info(&mioa701_udc_info); |
735 | pxa_set_ac97_info(&mioa701_ac97_info); | 735 | pxa_set_ac97_info(&mioa701_ac97_info); |
736 | pm_power_off = mioa701_poweroff; | 736 | pm_power_off = mioa701_poweroff; |
737 | arm_pm_restart = mioa701_restart; | ||
738 | platform_add_devices(devices, ARRAY_SIZE(devices)); | 737 | platform_add_devices(devices, ARRAY_SIZE(devices)); |
739 | gsm_init(); | 738 | gsm_init(); |
740 | 739 | ||
@@ -752,9 +751,11 @@ static void mioa701_machine_exit(void) | |||
752 | 751 | ||
753 | MACHINE_START(MIOA701, "MIO A701") | 752 | MACHINE_START(MIOA701, "MIO A701") |
754 | .atag_offset = 0x100, | 753 | .atag_offset = 0x100, |
754 | .restart_mode = 's', | ||
755 | .map_io = &pxa27x_map_io, | 755 | .map_io = &pxa27x_map_io, |
756 | .init_irq = &pxa27x_init_irq, | 756 | .init_irq = &pxa27x_init_irq, |
757 | .handle_irq = &pxa27x_handle_irq, | 757 | .handle_irq = &pxa27x_handle_irq, |
758 | .init_machine = mioa701_machine_init, | 758 | .init_machine = mioa701_machine_init, |
759 | .timer = &pxa_timer, | 759 | .timer = &pxa_timer, |
760 | .restart = mioa701_restart, | ||
760 | MACHINE_END | 761 | MACHINE_END |
diff --git a/arch/arm/mach-pxa/mp900.c b/arch/arm/mach-pxa/mp900.c index 4af5d513c380..169bf8f97af0 100644 --- a/arch/arm/mach-pxa/mp900.c +++ b/arch/arm/mach-pxa/mp900.c | |||
@@ -98,5 +98,6 @@ MACHINE_START(NEC_MP900, "MobilePro900/C") | |||
98 | .init_irq = pxa25x_init_irq, | 98 | .init_irq = pxa25x_init_irq, |
99 | .handle_irq = pxa25x_handle_irq, | 99 | .handle_irq = pxa25x_handle_irq, |
100 | .init_machine = mp900c_init, | 100 | .init_machine = mp900c_init, |
101 | .restart = pxa_restart, | ||
101 | MACHINE_END | 102 | MACHINE_END |
102 | 103 | ||
diff --git a/arch/arm/mach-pxa/palmld.c b/arch/arm/mach-pxa/palmld.c index 3d4a2819cae1..1fa80f4f80c8 100644 --- a/arch/arm/mach-pxa/palmld.c +++ b/arch/arm/mach-pxa/palmld.c | |||
@@ -347,5 +347,6 @@ MACHINE_START(PALMLD, "Palm LifeDrive") | |||
347 | .init_irq = pxa27x_init_irq, | 347 | .init_irq = pxa27x_init_irq, |
348 | .handle_irq = pxa27x_handle_irq, | 348 | .handle_irq = pxa27x_handle_irq, |
349 | .timer = &pxa_timer, | 349 | .timer = &pxa_timer, |
350 | .init_machine = palmld_init | 350 | .init_machine = palmld_init, |
351 | .restart = pxa_restart, | ||
351 | MACHINE_END | 352 | MACHINE_END |
diff --git a/arch/arm/mach-pxa/palmt5.c b/arch/arm/mach-pxa/palmt5.c index 99d6bcf1f974..5ba14316bd9c 100644 --- a/arch/arm/mach-pxa/palmt5.c +++ b/arch/arm/mach-pxa/palmt5.c | |||
@@ -208,5 +208,6 @@ MACHINE_START(PALMT5, "Palm Tungsten|T5") | |||
208 | .init_irq = pxa27x_init_irq, | 208 | .init_irq = pxa27x_init_irq, |
209 | .handle_irq = pxa27x_handle_irq, | 209 | .handle_irq = pxa27x_handle_irq, |
210 | .timer = &pxa_timer, | 210 | .timer = &pxa_timer, |
211 | .init_machine = palmt5_init | 211 | .init_machine = palmt5_init, |
212 | .restart = pxa_restart, | ||
212 | MACHINE_END | 213 | MACHINE_END |
diff --git a/arch/arm/mach-pxa/palmtc.c b/arch/arm/mach-pxa/palmtc.c index 2c24c67fd92b..29b51b40f09d 100644 --- a/arch/arm/mach-pxa/palmtc.c +++ b/arch/arm/mach-pxa/palmtc.c | |||
@@ -542,5 +542,6 @@ MACHINE_START(PALMTC, "Palm Tungsten|C") | |||
542 | .init_irq = pxa25x_init_irq, | 542 | .init_irq = pxa25x_init_irq, |
543 | .handle_irq = pxa25x_handle_irq, | 543 | .handle_irq = pxa25x_handle_irq, |
544 | .timer = &pxa_timer, | 544 | .timer = &pxa_timer, |
545 | .init_machine = palmtc_init | 545 | .init_machine = palmtc_init, |
546 | .restart = pxa_restart, | ||
546 | MACHINE_END | 547 | MACHINE_END |
diff --git a/arch/arm/mach-pxa/palmte2.c b/arch/arm/mach-pxa/palmte2.c index 9376da06404c..5ebf49acb827 100644 --- a/arch/arm/mach-pxa/palmte2.c +++ b/arch/arm/mach-pxa/palmte2.c | |||
@@ -361,5 +361,6 @@ MACHINE_START(PALMTE2, "Palm Tungsten|E2") | |||
361 | .init_irq = pxa25x_init_irq, | 361 | .init_irq = pxa25x_init_irq, |
362 | .handle_irq = pxa25x_handle_irq, | 362 | .handle_irq = pxa25x_handle_irq, |
363 | .timer = &pxa_timer, | 363 | .timer = &pxa_timer, |
364 | .init_machine = palmte2_init | 364 | .init_machine = palmte2_init, |
365 | .restart = pxa_restart, | ||
365 | MACHINE_END | 366 | MACHINE_END |
diff --git a/arch/arm/mach-pxa/palmtreo.c b/arch/arm/mach-pxa/palmtreo.c index 94e9708b349d..ec8249156c08 100644 --- a/arch/arm/mach-pxa/palmtreo.c +++ b/arch/arm/mach-pxa/palmtreo.c | |||
@@ -452,6 +452,7 @@ MACHINE_START(TREO680, "Palm Treo 680") | |||
452 | .handle_irq = pxa27x_handle_irq, | 452 | .handle_irq = pxa27x_handle_irq, |
453 | .timer = &pxa_timer, | 453 | .timer = &pxa_timer, |
454 | .init_machine = treo680_init, | 454 | .init_machine = treo680_init, |
455 | .restart = pxa_restart, | ||
455 | MACHINE_END | 456 | MACHINE_END |
456 | #endif | 457 | #endif |
457 | 458 | ||
@@ -464,5 +465,6 @@ MACHINE_START(CENTRO, "Palm Centro 685") | |||
464 | .handle_irq = pxa27x_handle_irq, | 465 | .handle_irq = pxa27x_handle_irq, |
465 | .timer = &pxa_timer, | 466 | .timer = &pxa_timer, |
466 | .init_machine = centro_init, | 467 | .init_machine = centro_init, |
468 | .restart = pxa_restart, | ||
467 | MACHINE_END | 469 | MACHINE_END |
468 | #endif | 470 | #endif |
diff --git a/arch/arm/mach-pxa/palmtx.c b/arch/arm/mach-pxa/palmtx.c index 4e3e45927e95..6170d76dfba8 100644 --- a/arch/arm/mach-pxa/palmtx.c +++ b/arch/arm/mach-pxa/palmtx.c | |||
@@ -369,5 +369,6 @@ MACHINE_START(PALMTX, "Palm T|X") | |||
369 | .init_irq = pxa27x_init_irq, | 369 | .init_irq = pxa27x_init_irq, |
370 | .handle_irq = pxa27x_handle_irq, | 370 | .handle_irq = pxa27x_handle_irq, |
371 | .timer = &pxa_timer, | 371 | .timer = &pxa_timer, |
372 | .init_machine = palmtx_init | 372 | .init_machine = palmtx_init, |
373 | .restart = pxa_restart, | ||
373 | MACHINE_END | 374 | MACHINE_END |
diff --git a/arch/arm/mach-pxa/palmz72.c b/arch/arm/mach-pxa/palmz72.c index 68e18baf8e07..b2dff9d415eb 100644 --- a/arch/arm/mach-pxa/palmz72.c +++ b/arch/arm/mach-pxa/palmz72.c | |||
@@ -404,5 +404,6 @@ MACHINE_START(PALMZ72, "Palm Zire72") | |||
404 | .init_irq = pxa27x_init_irq, | 404 | .init_irq = pxa27x_init_irq, |
405 | .handle_irq = pxa27x_handle_irq, | 405 | .handle_irq = pxa27x_handle_irq, |
406 | .timer = &pxa_timer, | 406 | .timer = &pxa_timer, |
407 | .init_machine = palmz72_init | 407 | .init_machine = palmz72_init, |
408 | .restart = pxa_restart, | ||
408 | MACHINE_END | 409 | MACHINE_END |
diff --git a/arch/arm/mach-pxa/pcm027.c b/arch/arm/mach-pxa/pcm027.c index 0b825a353537..fe9054435b6f 100644 --- a/arch/arm/mach-pxa/pcm027.c +++ b/arch/arm/mach-pxa/pcm027.c | |||
@@ -265,4 +265,5 @@ MACHINE_START(PCM027, "Phytec Messtechnik GmbH phyCORE-PXA270") | |||
265 | .handle_irq = pxa27x_handle_irq, | 265 | .handle_irq = pxa27x_handle_irq, |
266 | .timer = &pxa_timer, | 266 | .timer = &pxa_timer, |
267 | .init_machine = pcm027_init, | 267 | .init_machine = pcm027_init, |
268 | .restart = pxa_restart, | ||
268 | MACHINE_END | 269 | MACHINE_END |
diff --git a/arch/arm/mach-pxa/poodle.c b/arch/arm/mach-pxa/poodle.c index 8ee4b6cfa385..69036e42ca31 100644 --- a/arch/arm/mach-pxa/poodle.c +++ b/arch/arm/mach-pxa/poodle.c | |||
@@ -417,12 +417,7 @@ static struct i2c_board_info __initdata poodle_i2c_devices[] = { | |||
417 | 417 | ||
418 | static void poodle_poweroff(void) | 418 | static void poodle_poweroff(void) |
419 | { | 419 | { |
420 | arm_machine_restart('h', NULL); | 420 | pxa_restart('h', NULL); |
421 | } | ||
422 | |||
423 | static void poodle_restart(char mode, const char *cmd) | ||
424 | { | ||
425 | arm_machine_restart('h', cmd); | ||
426 | } | 421 | } |
427 | 422 | ||
428 | static void __init poodle_init(void) | 423 | static void __init poodle_init(void) |
@@ -430,7 +425,6 @@ static void __init poodle_init(void) | |||
430 | int ret = 0; | 425 | int ret = 0; |
431 | 426 | ||
432 | pm_power_off = poodle_poweroff; | 427 | pm_power_off = poodle_poweroff; |
433 | arm_pm_restart = poodle_restart; | ||
434 | 428 | ||
435 | PCFR |= PCFR_OPDE; | 429 | PCFR |= PCFR_OPDE; |
436 | 430 | ||
@@ -472,4 +466,5 @@ MACHINE_START(POODLE, "SHARP Poodle") | |||
472 | .handle_irq = pxa25x_handle_irq, | 466 | .handle_irq = pxa25x_handle_irq, |
473 | .timer = &pxa_timer, | 467 | .timer = &pxa_timer, |
474 | .init_machine = poodle_init, | 468 | .init_machine = poodle_init, |
469 | .restart = pxa_restart, | ||
475 | MACHINE_END | 470 | MACHINE_END |
diff --git a/arch/arm/mach-pxa/raumfeld.c b/arch/arm/mach-pxa/raumfeld.c index 78d643783f99..22818c7694a8 100644 --- a/arch/arm/mach-pxa/raumfeld.c +++ b/arch/arm/mach-pxa/raumfeld.c | |||
@@ -1093,6 +1093,7 @@ MACHINE_START(RAUMFELD_RC, "Raumfeld Controller") | |||
1093 | .init_irq = pxa3xx_init_irq, | 1093 | .init_irq = pxa3xx_init_irq, |
1094 | .handle_irq = pxa3xx_handle_irq, | 1094 | .handle_irq = pxa3xx_handle_irq, |
1095 | .timer = &pxa_timer, | 1095 | .timer = &pxa_timer, |
1096 | .restart = pxa_restart, | ||
1096 | MACHINE_END | 1097 | MACHINE_END |
1097 | #endif | 1098 | #endif |
1098 | 1099 | ||
@@ -1104,6 +1105,7 @@ MACHINE_START(RAUMFELD_CONNECTOR, "Raumfeld Connector") | |||
1104 | .init_irq = pxa3xx_init_irq, | 1105 | .init_irq = pxa3xx_init_irq, |
1105 | .handle_irq = pxa3xx_handle_irq, | 1106 | .handle_irq = pxa3xx_handle_irq, |
1106 | .timer = &pxa_timer, | 1107 | .timer = &pxa_timer, |
1108 | .restart = pxa_restart, | ||
1107 | MACHINE_END | 1109 | MACHINE_END |
1108 | #endif | 1110 | #endif |
1109 | 1111 | ||
@@ -1115,5 +1117,6 @@ MACHINE_START(RAUMFELD_SPEAKER, "Raumfeld Speaker") | |||
1115 | .init_irq = pxa3xx_init_irq, | 1117 | .init_irq = pxa3xx_init_irq, |
1116 | .handle_irq = pxa3xx_handle_irq, | 1118 | .handle_irq = pxa3xx_handle_irq, |
1117 | .timer = &pxa_timer, | 1119 | .timer = &pxa_timer, |
1120 | .restart = pxa_restart, | ||
1118 | MACHINE_END | 1121 | MACHINE_END |
1119 | #endif | 1122 | #endif |
diff --git a/arch/arm/mach-pxa/reset.c b/arch/arm/mach-pxa/reset.c index 01e9d643394a..c8497b00cdfe 100644 --- a/arch/arm/mach-pxa/reset.c +++ b/arch/arm/mach-pxa/reset.c | |||
@@ -81,14 +81,17 @@ static void do_hw_reset(void) | |||
81 | OSMR3 = OSCR + 368640; /* ... in 100 ms */ | 81 | OSMR3 = OSCR + 368640; /* ... in 100 ms */ |
82 | } | 82 | } |
83 | 83 | ||
84 | void arch_reset(char mode, const char *cmd) | 84 | void pxa_restart(char mode, const char *cmd) |
85 | { | 85 | { |
86 | local_irq_disable(); | ||
87 | local_fiq_disable(); | ||
88 | |||
86 | clear_reset_status(RESET_STATUS_ALL); | 89 | clear_reset_status(RESET_STATUS_ALL); |
87 | 90 | ||
88 | switch (mode) { | 91 | switch (mode) { |
89 | case 's': | 92 | case 's': |
90 | /* Jump into ROM at address 0 */ | 93 | /* Jump into ROM at address 0 */ |
91 | cpu_reset(0); | 94 | soft_restart(0); |
92 | break; | 95 | break; |
93 | case 'g': | 96 | case 'g': |
94 | do_gpio_reset(); | 97 | do_gpio_reset(); |
diff --git a/arch/arm/mach-pxa/saar.c b/arch/arm/mach-pxa/saar.c index 423ec899a8a8..0fe354efb931 100644 --- a/arch/arm/mach-pxa/saar.c +++ b/arch/arm/mach-pxa/saar.c | |||
@@ -602,4 +602,5 @@ MACHINE_START(SAAR, "PXA930 Handheld Platform (aka SAAR)") | |||
602 | .handle_irq = pxa3xx_handle_irq, | 602 | .handle_irq = pxa3xx_handle_irq, |
603 | .timer = &pxa_timer, | 603 | .timer = &pxa_timer, |
604 | .init_machine = saar_init, | 604 | .init_machine = saar_init, |
605 | .restart = pxa_restart, | ||
605 | MACHINE_END | 606 | MACHINE_END |
diff --git a/arch/arm/mach-pxa/saarb.c b/arch/arm/mach-pxa/saarb.c index d1cdd6a081ed..febc809ed5a6 100644 --- a/arch/arm/mach-pxa/saarb.c +++ b/arch/arm/mach-pxa/saarb.c | |||
@@ -111,5 +111,6 @@ MACHINE_START(SAARB, "PXA955 Handheld Platform (aka SAARB)") | |||
111 | .handle_irq = pxa3xx_handle_irq, | 111 | .handle_irq = pxa3xx_handle_irq, |
112 | .timer = &pxa_timer, | 112 | .timer = &pxa_timer, |
113 | .init_machine = saarb_init, | 113 | .init_machine = saarb_init, |
114 | .restart = pxa_restart, | ||
114 | MACHINE_END | 115 | MACHINE_END |
115 | 116 | ||
diff --git a/arch/arm/mach-pxa/spitz.c b/arch/arm/mach-pxa/spitz.c index 1b39cec03cce..abf355d0c92f 100644 --- a/arch/arm/mach-pxa/spitz.c +++ b/arch/arm/mach-pxa/spitz.c | |||
@@ -926,7 +926,7 @@ static inline void spitz_i2c_init(void) {} | |||
926 | ******************************************************************************/ | 926 | ******************************************************************************/ |
927 | static void spitz_poweroff(void) | 927 | static void spitz_poweroff(void) |
928 | { | 928 | { |
929 | arm_machine_restart('g', NULL); | 929 | pxa_restart('g', NULL); |
930 | } | 930 | } |
931 | 931 | ||
932 | static void spitz_restart(char mode, const char *cmd) | 932 | static void spitz_restart(char mode, const char *cmd) |
@@ -943,7 +943,6 @@ static void __init spitz_init(void) | |||
943 | { | 943 | { |
944 | init_gpio_reset(SPITZ_GPIO_ON_RESET, 1, 0); | 944 | init_gpio_reset(SPITZ_GPIO_ON_RESET, 1, 0); |
945 | pm_power_off = spitz_poweroff; | 945 | pm_power_off = spitz_poweroff; |
946 | arm_pm_restart = spitz_restart; | ||
947 | 946 | ||
948 | PMCR = 0x00; | 947 | PMCR = 0x00; |
949 | 948 | ||
@@ -982,33 +981,39 @@ static void __init spitz_fixup(struct tag *tags, char **cmdline, | |||
982 | 981 | ||
983 | #ifdef CONFIG_MACH_SPITZ | 982 | #ifdef CONFIG_MACH_SPITZ |
984 | MACHINE_START(SPITZ, "SHARP Spitz") | 983 | MACHINE_START(SPITZ, "SHARP Spitz") |
984 | .restart_mode = 'g', | ||
985 | .fixup = spitz_fixup, | 985 | .fixup = spitz_fixup, |
986 | .map_io = pxa27x_map_io, | 986 | .map_io = pxa27x_map_io, |
987 | .init_irq = pxa27x_init_irq, | 987 | .init_irq = pxa27x_init_irq, |
988 | .handle_irq = pxa27x_handle_irq, | 988 | .handle_irq = pxa27x_handle_irq, |
989 | .init_machine = spitz_init, | 989 | .init_machine = spitz_init, |
990 | .timer = &pxa_timer, | 990 | .timer = &pxa_timer, |
991 | .restart = spitz_restart, | ||
991 | MACHINE_END | 992 | MACHINE_END |
992 | #endif | 993 | #endif |
993 | 994 | ||
994 | #ifdef CONFIG_MACH_BORZOI | 995 | #ifdef CONFIG_MACH_BORZOI |
995 | MACHINE_START(BORZOI, "SHARP Borzoi") | 996 | MACHINE_START(BORZOI, "SHARP Borzoi") |
997 | .restart_mode = 'g', | ||
996 | .fixup = spitz_fixup, | 998 | .fixup = spitz_fixup, |
997 | .map_io = pxa27x_map_io, | 999 | .map_io = pxa27x_map_io, |
998 | .init_irq = pxa27x_init_irq, | 1000 | .init_irq = pxa27x_init_irq, |
999 | .handle_irq = pxa27x_handle_irq, | 1001 | .handle_irq = pxa27x_handle_irq, |
1000 | .init_machine = spitz_init, | 1002 | .init_machine = spitz_init, |
1001 | .timer = &pxa_timer, | 1003 | .timer = &pxa_timer, |
1004 | .restart = spitz_restart, | ||
1002 | MACHINE_END | 1005 | MACHINE_END |
1003 | #endif | 1006 | #endif |
1004 | 1007 | ||
1005 | #ifdef CONFIG_MACH_AKITA | 1008 | #ifdef CONFIG_MACH_AKITA |
1006 | MACHINE_START(AKITA, "SHARP Akita") | 1009 | MACHINE_START(AKITA, "SHARP Akita") |
1010 | .restart_mode = 'g', | ||
1007 | .fixup = spitz_fixup, | 1011 | .fixup = spitz_fixup, |
1008 | .map_io = pxa27x_map_io, | 1012 | .map_io = pxa27x_map_io, |
1009 | .init_irq = pxa27x_init_irq, | 1013 | .init_irq = pxa27x_init_irq, |
1010 | .handle_irq = pxa27x_handle_irq, | 1014 | .handle_irq = pxa27x_handle_irq, |
1011 | .init_machine = spitz_init, | 1015 | .init_machine = spitz_init, |
1012 | .timer = &pxa_timer, | 1016 | .timer = &pxa_timer, |
1017 | .restart = spitz_restart, | ||
1013 | MACHINE_END | 1018 | MACHINE_END |
1014 | #endif | 1019 | #endif |
diff --git a/arch/arm/mach-pxa/stargate2.c b/arch/arm/mach-pxa/stargate2.c index 940ca56b37f9..d8a2467de92e 100644 --- a/arch/arm/mach-pxa/stargate2.c +++ b/arch/arm/mach-pxa/stargate2.c | |||
@@ -1005,6 +1005,7 @@ MACHINE_START(INTELMOTE2, "IMOTE 2") | |||
1005 | .timer = &pxa_timer, | 1005 | .timer = &pxa_timer, |
1006 | .init_machine = imote2_init, | 1006 | .init_machine = imote2_init, |
1007 | .atag_offset = 0x100, | 1007 | .atag_offset = 0x100, |
1008 | .restart = pxa_restart, | ||
1008 | MACHINE_END | 1009 | MACHINE_END |
1009 | #endif | 1010 | #endif |
1010 | 1011 | ||
@@ -1017,5 +1018,6 @@ MACHINE_START(STARGATE2, "Stargate 2") | |||
1017 | .timer = &pxa_timer, | 1018 | .timer = &pxa_timer, |
1018 | .init_machine = stargate2_init, | 1019 | .init_machine = stargate2_init, |
1019 | .atag_offset = 0x100, | 1020 | .atag_offset = 0x100, |
1021 | .restart = pxa_restart, | ||
1020 | MACHINE_END | 1022 | MACHINE_END |
1021 | #endif | 1023 | #endif |
diff --git a/arch/arm/mach-pxa/tavorevb.c b/arch/arm/mach-pxa/tavorevb.c index 43bdcb9761f2..9fb38e80e076 100644 --- a/arch/arm/mach-pxa/tavorevb.c +++ b/arch/arm/mach-pxa/tavorevb.c | |||
@@ -495,4 +495,5 @@ MACHINE_START(TAVOREVB, "PXA930 Evaluation Board (aka TavorEVB)") | |||
495 | .handle_irq = pxa3xx_handle_irq, | 495 | .handle_irq = pxa3xx_handle_irq, |
496 | .timer = &pxa_timer, | 496 | .timer = &pxa_timer, |
497 | .init_machine = tavorevb_init, | 497 | .init_machine = tavorevb_init, |
498 | .restart = pxa_restart, | ||
498 | MACHINE_END | 499 | MACHINE_END |
diff --git a/arch/arm/mach-pxa/tavorevb3.c b/arch/arm/mach-pxa/tavorevb3.c index 46c60b3cbe79..f7d9305cfd77 100644 --- a/arch/arm/mach-pxa/tavorevb3.c +++ b/arch/arm/mach-pxa/tavorevb3.c | |||
@@ -132,4 +132,5 @@ MACHINE_START(TAVOREVB3, "PXA950 Evaluation Board (aka TavorEVB3)") | |||
132 | .handle_irq = pxa3xx_handle_irq, | 132 | .handle_irq = pxa3xx_handle_irq, |
133 | .timer = &pxa_timer, | 133 | .timer = &pxa_timer, |
134 | .init_machine = evb3_init, | 134 | .init_machine = evb3_init, |
135 | .restart = pxa_restart, | ||
135 | MACHINE_END | 136 | MACHINE_END |
diff --git a/arch/arm/mach-pxa/time.c b/arch/arm/mach-pxa/time.c index de684701449c..b503049d6d26 100644 --- a/arch/arm/mach-pxa/time.c +++ b/arch/arm/mach-pxa/time.c | |||
@@ -16,7 +16,6 @@ | |||
16 | #include <linux/init.h> | 16 | #include <linux/init.h> |
17 | #include <linux/interrupt.h> | 17 | #include <linux/interrupt.h> |
18 | #include <linux/clockchips.h> | 18 | #include <linux/clockchips.h> |
19 | #include <linux/sched.h> | ||
20 | 19 | ||
21 | #include <asm/div64.h> | 20 | #include <asm/div64.h> |
22 | #include <asm/mach/irq.h> | 21 | #include <asm/mach/irq.h> |
@@ -32,18 +31,10 @@ | |||
32 | * long as there is always less than 582 seconds between successive | 31 | * long as there is always less than 582 seconds between successive |
33 | * calls to sched_clock() which should always be the case in practice. | 32 | * calls to sched_clock() which should always be the case in practice. |
34 | */ | 33 | */ |
35 | static DEFINE_CLOCK_DATA(cd); | ||
36 | 34 | ||
37 | unsigned long long notrace sched_clock(void) | 35 | static u32 notrace pxa_read_sched_clock(void) |
38 | { | 36 | { |
39 | u32 cyc = OSCR; | 37 | return OSCR; |
40 | return cyc_to_sched_clock(&cd, cyc, (u32)~0); | ||
41 | } | ||
42 | |||
43 | static void notrace pxa_update_sched_clock(void) | ||
44 | { | ||
45 | u32 cyc = OSCR; | ||
46 | update_sched_clock(&cd, cyc, (u32)~0); | ||
47 | } | 38 | } |
48 | 39 | ||
49 | 40 | ||
@@ -119,7 +110,7 @@ static void __init pxa_timer_init(void) | |||
119 | OIER = 0; | 110 | OIER = 0; |
120 | OSSR = OSSR_M0 | OSSR_M1 | OSSR_M2 | OSSR_M3; | 111 | OSSR = OSSR_M0 | OSSR_M1 | OSSR_M2 | OSSR_M3; |
121 | 112 | ||
122 | init_sched_clock(&cd, pxa_update_sched_clock, 32, clock_tick_rate); | 113 | setup_sched_clock(pxa_read_sched_clock, 32, clock_tick_rate); |
123 | 114 | ||
124 | clockevents_calc_mult_shift(&ckevt_pxa_osmr0, clock_tick_rate, 4); | 115 | clockevents_calc_mult_shift(&ckevt_pxa_osmr0, clock_tick_rate, 4); |
125 | ckevt_pxa_osmr0.max_delta_ns = | 116 | ckevt_pxa_osmr0.max_delta_ns = |
diff --git a/arch/arm/mach-pxa/tosa.c b/arch/arm/mach-pxa/tosa.c index 1ddb9826448a..7ce5c436cc4e 100644 --- a/arch/arm/mach-pxa/tosa.c +++ b/arch/arm/mach-pxa/tosa.c | |||
@@ -905,7 +905,7 @@ static struct platform_device *devices[] __initdata = { | |||
905 | 905 | ||
906 | static void tosa_poweroff(void) | 906 | static void tosa_poweroff(void) |
907 | { | 907 | { |
908 | arm_machine_restart('g', NULL); | 908 | pxa_restart('g', NULL); |
909 | } | 909 | } |
910 | 910 | ||
911 | static void tosa_restart(char mode, const char *cmd) | 911 | static void tosa_restart(char mode, const char *cmd) |
@@ -935,7 +935,6 @@ static void __init tosa_init(void) | |||
935 | init_gpio_reset(TOSA_GPIO_ON_RESET, 0, 0); | 935 | init_gpio_reset(TOSA_GPIO_ON_RESET, 0, 0); |
936 | 936 | ||
937 | pm_power_off = tosa_poweroff; | 937 | pm_power_off = tosa_poweroff; |
938 | arm_pm_restart = tosa_restart; | ||
939 | 938 | ||
940 | PCFR |= PCFR_OPDE; | 939 | PCFR |= PCFR_OPDE; |
941 | 940 | ||
@@ -970,6 +969,7 @@ static void __init fixup_tosa(struct tag *tags, char **cmdline, | |||
970 | } | 969 | } |
971 | 970 | ||
972 | MACHINE_START(TOSA, "SHARP Tosa") | 971 | MACHINE_START(TOSA, "SHARP Tosa") |
972 | .restart_mode = 'g', | ||
973 | .fixup = fixup_tosa, | 973 | .fixup = fixup_tosa, |
974 | .map_io = pxa25x_map_io, | 974 | .map_io = pxa25x_map_io, |
975 | .nr_irqs = TOSA_NR_IRQS, | 975 | .nr_irqs = TOSA_NR_IRQS, |
@@ -977,4 +977,5 @@ MACHINE_START(TOSA, "SHARP Tosa") | |||
977 | .handle_irq = pxa25x_handle_irq, | 977 | .handle_irq = pxa25x_handle_irq, |
978 | .init_machine = tosa_init, | 978 | .init_machine = tosa_init, |
979 | .timer = &pxa_timer, | 979 | .timer = &pxa_timer, |
980 | .restart = tosa_restart, | ||
980 | MACHINE_END | 981 | MACHINE_END |
diff --git a/arch/arm/mach-pxa/trizeps4.c b/arch/arm/mach-pxa/trizeps4.c index 1aaed2b17e10..0f30af617d8f 100644 --- a/arch/arm/mach-pxa/trizeps4.c +++ b/arch/arm/mach-pxa/trizeps4.c | |||
@@ -561,6 +561,7 @@ MACHINE_START(TRIZEPS4, "Keith und Koep Trizeps IV module") | |||
561 | .init_irq = pxa27x_init_irq, | 561 | .init_irq = pxa27x_init_irq, |
562 | .handle_irq = pxa27x_handle_irq, | 562 | .handle_irq = pxa27x_handle_irq, |
563 | .timer = &pxa_timer, | 563 | .timer = &pxa_timer, |
564 | .restart = pxa_restart, | ||
564 | MACHINE_END | 565 | MACHINE_END |
565 | 566 | ||
566 | MACHINE_START(TRIZEPS4WL, "Keith und Koep Trizeps IV-WL module") | 567 | MACHINE_START(TRIZEPS4WL, "Keith und Koep Trizeps IV-WL module") |
@@ -571,4 +572,5 @@ MACHINE_START(TRIZEPS4WL, "Keith und Koep Trizeps IV-WL module") | |||
571 | .init_irq = pxa27x_init_irq, | 572 | .init_irq = pxa27x_init_irq, |
572 | .handle_irq = pxa27x_handle_irq, | 573 | .handle_irq = pxa27x_handle_irq, |
573 | .timer = &pxa_timer, | 574 | .timer = &pxa_timer, |
575 | .restart = pxa_restart, | ||
574 | MACHINE_END | 576 | MACHINE_END |
diff --git a/arch/arm/mach-pxa/viper.c b/arch/arm/mach-pxa/viper.c index d9a653a77176..023d6ca789de 100644 --- a/arch/arm/mach-pxa/viper.c +++ b/arch/arm/mach-pxa/viper.c | |||
@@ -998,4 +998,5 @@ MACHINE_START(VIPER, "Arcom/Eurotech VIPER SBC") | |||
998 | .handle_irq = pxa25x_handle_irq, | 998 | .handle_irq = pxa25x_handle_irq, |
999 | .timer = &pxa_timer, | 999 | .timer = &pxa_timer, |
1000 | .init_machine = viper_init, | 1000 | .init_machine = viper_init, |
1001 | .restart = pxa_restart, | ||
1001 | MACHINE_END | 1002 | MACHINE_END |
diff --git a/arch/arm/mach-pxa/vpac270.c b/arch/arm/mach-pxa/vpac270.c index 9edeec65f6a3..1f5cfa96f6d6 100644 --- a/arch/arm/mach-pxa/vpac270.c +++ b/arch/arm/mach-pxa/vpac270.c | |||
@@ -721,5 +721,6 @@ MACHINE_START(VPAC270, "Voipac PXA270") | |||
721 | .init_irq = pxa27x_init_irq, | 721 | .init_irq = pxa27x_init_irq, |
722 | .handle_irq = pxa27x_handle_irq, | 722 | .handle_irq = pxa27x_handle_irq, |
723 | .timer = &pxa_timer, | 723 | .timer = &pxa_timer, |
724 | .init_machine = vpac270_init | 724 | .init_machine = vpac270_init, |
725 | .restart = pxa_restart, | ||
725 | MACHINE_END | 726 | MACHINE_END |
diff --git a/arch/arm/mach-pxa/xcep.c b/arch/arm/mach-pxa/xcep.c index 70e1730ef282..4bbe9a36fe74 100644 --- a/arch/arm/mach-pxa/xcep.c +++ b/arch/arm/mach-pxa/xcep.c | |||
@@ -185,5 +185,6 @@ MACHINE_START(XCEP, "Iskratel XCEP") | |||
185 | .init_irq = pxa25x_init_irq, | 185 | .init_irq = pxa25x_init_irq, |
186 | .handle_irq = pxa25x_handle_irq, | 186 | .handle_irq = pxa25x_handle_irq, |
187 | .timer = &pxa_timer, | 187 | .timer = &pxa_timer, |
188 | .restart = pxa_restart, | ||
188 | MACHINE_END | 189 | MACHINE_END |
189 | 190 | ||
diff --git a/arch/arm/mach-pxa/z2.c b/arch/arm/mach-pxa/z2.c index 424661833ce2..b6476848b561 100644 --- a/arch/arm/mach-pxa/z2.c +++ b/arch/arm/mach-pxa/z2.c | |||
@@ -725,4 +725,5 @@ MACHINE_START(ZIPIT2, "Zipit Z2") | |||
725 | .handle_irq = pxa27x_handle_irq, | 725 | .handle_irq = pxa27x_handle_irq, |
726 | .timer = &pxa_timer, | 726 | .timer = &pxa_timer, |
727 | .init_machine = z2_init, | 727 | .init_machine = z2_init, |
728 | .restart = pxa_restart, | ||
728 | MACHINE_END | 729 | MACHINE_END |
diff --git a/arch/arm/mach-pxa/zeus.c b/arch/arm/mach-pxa/zeus.c index 68de9c17e4c5..a4dd1c347050 100644 --- a/arch/arm/mach-pxa/zeus.c +++ b/arch/arm/mach-pxa/zeus.c | |||
@@ -911,5 +911,6 @@ MACHINE_START(ARCOM_ZEUS, "Arcom/Eurotech ZEUS") | |||
911 | .handle_irq = pxa27x_handle_irq, | 911 | .handle_irq = pxa27x_handle_irq, |
912 | .timer = &pxa_timer, | 912 | .timer = &pxa_timer, |
913 | .init_machine = zeus_init, | 913 | .init_machine = zeus_init, |
914 | .restart = pxa_restart, | ||
914 | MACHINE_END | 915 | MACHINE_END |
915 | 916 | ||
diff --git a/arch/arm/mach-pxa/zylonite.c b/arch/arm/mach-pxa/zylonite.c index a4c807527095..98eec80623e3 100644 --- a/arch/arm/mach-pxa/zylonite.c +++ b/arch/arm/mach-pxa/zylonite.c | |||
@@ -430,4 +430,5 @@ MACHINE_START(ZYLONITE, "PXA3xx Platform Development Kit (aka Zylonite)") | |||
430 | .handle_irq = pxa3xx_handle_irq, | 430 | .handle_irq = pxa3xx_handle_irq, |
431 | .timer = &pxa_timer, | 431 | .timer = &pxa_timer, |
432 | .init_machine = zylonite_init, | 432 | .init_machine = zylonite_init, |
433 | .restart = pxa_restart, | ||
433 | MACHINE_END | 434 | MACHINE_END |