diff options
Diffstat (limited to 'arch')
473 files changed, 1625 insertions, 5296 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 2201ff3002a7..9d72ed67e432 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -202,6 +202,13 @@ config ARM_PATCH_PHYS_VIRT | |||
202 | this feature (eg, building a kernel for a single machine) and | 202 | this feature (eg, building a kernel for a single machine) and |
203 | you need to shrink the kernel to the minimal size. | 203 | you need to shrink the kernel to the minimal size. |
204 | 204 | ||
205 | config NEED_MACH_GPIO_H | ||
206 | bool | ||
207 | help | ||
208 | Select this when mach/gpio.h is required to provide special | ||
209 | definitions for this platform. The need for mach/gpio.h should | ||
210 | be avoided when possible. | ||
211 | |||
205 | config NEED_MACH_IO_H | 212 | config NEED_MACH_IO_H |
206 | bool | 213 | bool |
207 | help | 214 | help |
@@ -247,26 +254,17 @@ config MMU | |||
247 | # | 254 | # |
248 | choice | 255 | choice |
249 | prompt "ARM system type" | 256 | prompt "ARM system type" |
250 | default ARCH_VERSATILE | 257 | default ARCH_MULTIPLATFORM |
251 | 258 | ||
252 | config ARCH_SOCFPGA | 259 | config ARCH_MULTIPLATFORM |
253 | bool "Altera SOCFPGA family" | 260 | bool "Allow multiple platforms to be selected" |
254 | select ARCH_WANT_OPTIONAL_GPIOLIB | 261 | select ARM_PATCH_PHYS_VIRT |
255 | select ARM_AMBA | 262 | select AUTO_ZRELADDR |
256 | select ARM_GIC | ||
257 | select CACHE_L2X0 | ||
258 | select CLKDEV_LOOKUP | ||
259 | select COMMON_CLK | 263 | select COMMON_CLK |
260 | select CPU_V7 | 264 | select MULTI_IRQ_HANDLER |
261 | select DW_APB_TIMER | ||
262 | select DW_APB_TIMER_OF | ||
263 | select GENERIC_CLOCKEVENTS | ||
264 | select GPIO_PL061 if GPIOLIB | ||
265 | select HAVE_ARM_SCU | ||
266 | select SPARSE_IRQ | 265 | select SPARSE_IRQ |
267 | select USE_OF | 266 | select USE_OF |
268 | help | 267 | depends on MMU |
269 | This enables support for Altera SOCFPGA Cyclone V platform | ||
270 | 268 | ||
271 | config ARCH_INTEGRATOR | 269 | config ARCH_INTEGRATOR |
272 | bool "ARM Ltd. Integrator family" | 270 | bool "ARM Ltd. Integrator family" |
@@ -318,30 +316,13 @@ config ARCH_VERSATILE | |||
318 | help | 316 | help |
319 | This enables support for ARM Ltd Versatile board. | 317 | This enables support for ARM Ltd Versatile board. |
320 | 318 | ||
321 | config ARCH_VEXPRESS | ||
322 | bool "ARM Ltd. Versatile Express family" | ||
323 | select ARCH_WANT_OPTIONAL_GPIOLIB | ||
324 | select ARM_AMBA | ||
325 | select ARM_TIMER_SP804 | ||
326 | select CLKDEV_LOOKUP | ||
327 | select COMMON_CLK | ||
328 | select GENERIC_CLOCKEVENTS | ||
329 | select HAVE_CLK | ||
330 | select HAVE_PATA_PLATFORM | ||
331 | select ICST | ||
332 | select NO_IOPORT | ||
333 | select PLAT_VERSATILE | ||
334 | select PLAT_VERSATILE_CLCD | ||
335 | select REGULATOR_FIXED_VOLTAGE if REGULATOR | ||
336 | help | ||
337 | This enables support for the ARM Ltd Versatile Express boards. | ||
338 | |||
339 | config ARCH_AT91 | 319 | config ARCH_AT91 |
340 | bool "Atmel AT91" | 320 | bool "Atmel AT91" |
341 | select ARCH_REQUIRE_GPIOLIB | 321 | select ARCH_REQUIRE_GPIOLIB |
342 | select HAVE_CLK | 322 | select HAVE_CLK |
343 | select CLKDEV_LOOKUP | 323 | select CLKDEV_LOOKUP |
344 | select IRQ_DOMAIN | 324 | select IRQ_DOMAIN |
325 | select NEED_MACH_GPIO_H | ||
345 | select NEED_MACH_IO_H if PCCARD | 326 | select NEED_MACH_IO_H if PCCARD |
346 | help | 327 | help |
347 | This enables support for systems based on Atmel | 328 | This enables support for systems based on Atmel |
@@ -364,24 +345,6 @@ config ARCH_BCM2835 | |||
364 | This enables support for the Broadcom BCM2835 SoC. This SoC is | 345 | This enables support for the Broadcom BCM2835 SoC. This SoC is |
365 | use in the Raspberry Pi, and Roku 2 devices. | 346 | use in the Raspberry Pi, and Roku 2 devices. |
366 | 347 | ||
367 | config ARCH_HIGHBANK | ||
368 | bool "Calxeda Highbank-based" | ||
369 | select ARCH_WANT_OPTIONAL_GPIOLIB | ||
370 | select ARM_AMBA | ||
371 | select ARM_GIC | ||
372 | select ARM_TIMER_SP804 | ||
373 | select CACHE_L2X0 | ||
374 | select CLKDEV_LOOKUP | ||
375 | select COMMON_CLK | ||
376 | select CPU_V7 | ||
377 | select GENERIC_CLOCKEVENTS | ||
378 | select HAVE_ARM_SCU | ||
379 | select HAVE_SMP | ||
380 | select SPARSE_IRQ | ||
381 | select USE_OF | ||
382 | help | ||
383 | Support for the Calxeda Highbank SoC based boards. | ||
384 | |||
385 | config ARCH_CLPS711X | 348 | config ARCH_CLPS711X |
386 | bool "Cirrus Logic CLPS711x/EP721x/EP731x-based" | 349 | bool "Cirrus Logic CLPS711x/EP721x/EP731x-based" |
387 | select CPU_ARM720T | 350 | select CPU_ARM720T |
@@ -526,6 +489,8 @@ config ARCH_IOP32X | |||
526 | bool "IOP32x-based" | 489 | bool "IOP32x-based" |
527 | depends on MMU | 490 | depends on MMU |
528 | select CPU_XSCALE | 491 | select CPU_XSCALE |
492 | select NEED_MACH_GPIO_H | ||
493 | select NEED_MACH_IO_H | ||
529 | select NEED_RET_TO_USER | 494 | select NEED_RET_TO_USER |
530 | select PLAT_IOP | 495 | select PLAT_IOP |
531 | select PCI | 496 | select PCI |
@@ -538,6 +503,8 @@ config ARCH_IOP33X | |||
538 | bool "IOP33x-based" | 503 | bool "IOP33x-based" |
539 | depends on MMU | 504 | depends on MMU |
540 | select CPU_XSCALE | 505 | select CPU_XSCALE |
506 | select NEED_MACH_GPIO_H | ||
507 | select NEED_MACH_IO_H | ||
541 | select NEED_RET_TO_USER | 508 | select NEED_RET_TO_USER |
542 | select PLAT_IOP | 509 | select PLAT_IOP |
543 | select PCI | 510 | select PCI |
@@ -559,18 +526,6 @@ config ARCH_IXP4XX | |||
559 | help | 526 | help |
560 | Support for Intel's IXP4XX (XScale) family of processors. | 527 | Support for Intel's IXP4XX (XScale) family of processors. |
561 | 528 | ||
562 | config ARCH_MVEBU | ||
563 | bool "Marvell SOCs with Device Tree support" | ||
564 | select GENERIC_CLOCKEVENTS | ||
565 | select MULTI_IRQ_HANDLER | ||
566 | select SPARSE_IRQ | ||
567 | select CLKSRC_MMIO | ||
568 | select GENERIC_IRQ_CHIP | ||
569 | select IRQ_DOMAIN | ||
570 | select COMMON_CLK | ||
571 | help | ||
572 | Support for the Marvell SoC Family with device tree support | ||
573 | |||
574 | config ARCH_DOVE | 529 | config ARCH_DOVE |
575 | bool "Marvell Dove" | 530 | bool "Marvell Dove" |
576 | select CPU_V7 | 531 | select CPU_V7 |
@@ -642,6 +597,7 @@ config ARCH_MMP | |||
642 | select PLAT_PXA | 597 | select PLAT_PXA |
643 | select SPARSE_IRQ | 598 | select SPARSE_IRQ |
644 | select GENERIC_ALLOCATOR | 599 | select GENERIC_ALLOCATOR |
600 | select NEED_MACH_GPIO_H | ||
645 | help | 601 | help |
646 | Support for Marvell's PXA168/PXA910(MMP) and MMP2 processor line. | 602 | Support for Marvell's PXA168/PXA910(MMP) and MMP2 processor line. |
647 | 603 | ||
@@ -688,25 +644,6 @@ config ARCH_TEGRA | |||
688 | This enables support for NVIDIA Tegra based systems (Tegra APX, | 644 | This enables support for NVIDIA Tegra based systems (Tegra APX, |
689 | Tegra 6xx and Tegra 2 series). | 645 | Tegra 6xx and Tegra 2 series). |
690 | 646 | ||
691 | config ARCH_PICOXCELL | ||
692 | bool "Picochip picoXcell" | ||
693 | select ARCH_REQUIRE_GPIOLIB | ||
694 | select ARM_PATCH_PHYS_VIRT | ||
695 | select ARM_VIC | ||
696 | select CPU_V6K | ||
697 | select DW_APB_TIMER | ||
698 | select DW_APB_TIMER_OF | ||
699 | select GENERIC_CLOCKEVENTS | ||
700 | select GENERIC_GPIO | ||
701 | select HAVE_TCM | ||
702 | select NO_IOPORT | ||
703 | select SPARSE_IRQ | ||
704 | select USE_OF | ||
705 | help | ||
706 | This enables support for systems based on the Picochip picoXcell | ||
707 | family of Femtocell devices. The picoxcell support requires device tree | ||
708 | for all boards. | ||
709 | |||
710 | config ARCH_PXA | 647 | config ARCH_PXA |
711 | bool "PXA2xx/PXA3xx-based" | 648 | bool "PXA2xx/PXA3xx-based" |
712 | depends on MMU | 649 | depends on MMU |
@@ -723,6 +660,7 @@ config ARCH_PXA | |||
723 | select MULTI_IRQ_HANDLER | 660 | select MULTI_IRQ_HANDLER |
724 | select ARM_CPU_SUSPEND if PM | 661 | select ARM_CPU_SUSPEND if PM |
725 | select HAVE_IDE | 662 | select HAVE_IDE |
663 | select NEED_MACH_GPIO_H | ||
726 | help | 664 | help |
727 | Support for Intel/Marvell's PXA2xx/PXA3xx processor line. | 665 | Support for Intel/Marvell's PXA2xx/PXA3xx processor line. |
728 | 666 | ||
@@ -785,6 +723,7 @@ config ARCH_SA1100 | |||
785 | select CLKDEV_LOOKUP | 723 | select CLKDEV_LOOKUP |
786 | select ARCH_REQUIRE_GPIOLIB | 724 | select ARCH_REQUIRE_GPIOLIB |
787 | select HAVE_IDE | 725 | select HAVE_IDE |
726 | select NEED_MACH_GPIO_H | ||
788 | select NEED_MACH_MEMORY_H | 727 | select NEED_MACH_MEMORY_H |
789 | select SPARSE_IRQ | 728 | select SPARSE_IRQ |
790 | help | 729 | help |
@@ -800,6 +739,7 @@ config ARCH_S3C24XX | |||
800 | select HAVE_S3C2410_I2C if I2C | 739 | select HAVE_S3C2410_I2C if I2C |
801 | select HAVE_S3C_RTC if RTC_CLASS | 740 | select HAVE_S3C_RTC if RTC_CLASS |
802 | select HAVE_S3C2410_WATCHDOG if WATCHDOG | 741 | select HAVE_S3C2410_WATCHDOG if WATCHDOG |
742 | select NEED_MACH_GPIO_H | ||
803 | select NEED_MACH_IO_H | 743 | select NEED_MACH_IO_H |
804 | help | 744 | help |
805 | Samsung S3C2410, S3C2412, S3C2413, S3C2416, S3C2440, S3C2442, S3C2443 | 745 | Samsung S3C2410, S3C2412, S3C2413, S3C2416, S3C2440, S3C2442, S3C2443 |
@@ -827,6 +767,7 @@ config ARCH_S3C64XX | |||
827 | select SAMSUNG_GPIOLIB_4BIT | 767 | select SAMSUNG_GPIOLIB_4BIT |
828 | select HAVE_S3C2410_I2C if I2C | 768 | select HAVE_S3C2410_I2C if I2C |
829 | select HAVE_S3C2410_WATCHDOG if WATCHDOG | 769 | select HAVE_S3C2410_WATCHDOG if WATCHDOG |
770 | select NEED_MACH_GPIO_H | ||
830 | help | 771 | help |
831 | Samsung S3C64XX series based systems | 772 | Samsung S3C64XX series based systems |
832 | 773 | ||
@@ -841,6 +782,7 @@ config ARCH_S5P64X0 | |||
841 | select GENERIC_CLOCKEVENTS | 782 | select GENERIC_CLOCKEVENTS |
842 | select HAVE_S3C2410_I2C if I2C | 783 | select HAVE_S3C2410_I2C if I2C |
843 | select HAVE_S3C_RTC if RTC_CLASS | 784 | select HAVE_S3C_RTC if RTC_CLASS |
785 | select NEED_MACH_GPIO_H | ||
844 | help | 786 | help |
845 | Samsung S5P64X0 CPU based systems, such as the Samsung SMDK6440, | 787 | Samsung S5P64X0 CPU based systems, such as the Samsung SMDK6440, |
846 | SMDK6450. | 788 | SMDK6450. |
@@ -855,6 +797,7 @@ config ARCH_S5PC100 | |||
855 | select HAVE_S3C2410_I2C if I2C | 797 | select HAVE_S3C2410_I2C if I2C |
856 | select HAVE_S3C_RTC if RTC_CLASS | 798 | select HAVE_S3C_RTC if RTC_CLASS |
857 | select HAVE_S3C2410_WATCHDOG if WATCHDOG | 799 | select HAVE_S3C2410_WATCHDOG if WATCHDOG |
800 | select NEED_MACH_GPIO_H | ||
858 | help | 801 | help |
859 | Samsung S5PC100 series based systems | 802 | Samsung S5PC100 series based systems |
860 | 803 | ||
@@ -872,6 +815,7 @@ config ARCH_S5PV210 | |||
872 | select HAVE_S3C2410_I2C if I2C | 815 | select HAVE_S3C2410_I2C if I2C |
873 | select HAVE_S3C_RTC if RTC_CLASS | 816 | select HAVE_S3C_RTC if RTC_CLASS |
874 | select HAVE_S3C2410_WATCHDOG if WATCHDOG | 817 | select HAVE_S3C2410_WATCHDOG if WATCHDOG |
818 | select NEED_MACH_GPIO_H | ||
875 | select NEED_MACH_MEMORY_H | 819 | select NEED_MACH_MEMORY_H |
876 | help | 820 | help |
877 | Samsung S5PV210/S5PC110 series based systems | 821 | Samsung S5PV210/S5PC110 series based systems |
@@ -889,6 +833,7 @@ config ARCH_EXYNOS | |||
889 | select HAVE_S3C_RTC if RTC_CLASS | 833 | select HAVE_S3C_RTC if RTC_CLASS |
890 | select HAVE_S3C2410_I2C if I2C | 834 | select HAVE_S3C2410_I2C if I2C |
891 | select HAVE_S3C2410_WATCHDOG if WATCHDOG | 835 | select HAVE_S3C2410_WATCHDOG if WATCHDOG |
836 | select NEED_MACH_GPIO_H | ||
892 | select NEED_MACH_MEMORY_H | 837 | select NEED_MACH_MEMORY_H |
893 | help | 838 | help |
894 | Support for SAMSUNG's EXYNOS SoCs (EXYNOS4/5) | 839 | Support for SAMSUNG's EXYNOS SoCs (EXYNOS4/5) |
@@ -961,6 +906,7 @@ config ARCH_DAVINCI | |||
961 | select GENERIC_ALLOCATOR | 906 | select GENERIC_ALLOCATOR |
962 | select GENERIC_IRQ_CHIP | 907 | select GENERIC_IRQ_CHIP |
963 | select ARCH_HAS_HOLES_MEMORYMODEL | 908 | select ARCH_HAS_HOLES_MEMORYMODEL |
909 | select NEED_MACH_GPIO_H | ||
964 | help | 910 | help |
965 | Support for TI's DaVinci platform. | 911 | Support for TI's DaVinci platform. |
966 | 912 | ||
@@ -973,6 +919,7 @@ config ARCH_OMAP | |||
973 | select CLKSRC_MMIO | 919 | select CLKSRC_MMIO |
974 | select GENERIC_CLOCKEVENTS | 920 | select GENERIC_CLOCKEVENTS |
975 | select ARCH_HAS_HOLES_MEMORYMODEL | 921 | select ARCH_HAS_HOLES_MEMORYMODEL |
922 | select NEED_MACH_GPIO_H | ||
976 | help | 923 | help |
977 | Support for TI's OMAP platform (OMAP1/2/3/4). | 924 | Support for TI's OMAP platform (OMAP1/2/3/4). |
978 | 925 | ||
@@ -1016,6 +963,50 @@ config ARCH_ZYNQ | |||
1016 | Support for Xilinx Zynq ARM Cortex A9 Platform | 963 | Support for Xilinx Zynq ARM Cortex A9 Platform |
1017 | endchoice | 964 | endchoice |
1018 | 965 | ||
966 | menu "Multiple platform selection" | ||
967 | depends on ARCH_MULTIPLATFORM | ||
968 | |||
969 | comment "CPU Core family selection" | ||
970 | |||
971 | config ARCH_MULTI_V4 | ||
972 | bool "ARMv4 based platforms (FA526, StrongARM)" | ||
973 | select ARCH_MULTI_V4_V5 | ||
974 | depends on !ARCH_MULTI_V6_V7 | ||
975 | |||
976 | config ARCH_MULTI_V4T | ||
977 | bool "ARMv4T based platforms (ARM720T, ARM920T, ...)" | ||
978 | select ARCH_MULTI_V4_V5 | ||
979 | depends on !ARCH_MULTI_V6_V7 | ||
980 | |||
981 | config ARCH_MULTI_V5 | ||
982 | bool "ARMv5 based platforms (ARM926T, XSCALE, PJ1, ...)" | ||
983 | select ARCH_MULTI_V4_V5 | ||
984 | depends on !ARCH_MULTI_V6_V7 | ||
985 | |||
986 | config ARCH_MULTI_V4_V5 | ||
987 | bool | ||
988 | |||
989 | config ARCH_MULTI_V6 | ||
990 | bool "ARMv6 based platforms (ARM11, Scorpion, ...)" | ||
991 | select CPU_V6 | ||
992 | select ARCH_MULTI_V6_V7 | ||
993 | |||
994 | config ARCH_MULTI_V7 | ||
995 | bool "ARMv7 based platforms (Cortex-A, PJ4, Krait)" | ||
996 | select CPU_V7 | ||
997 | select ARCH_VEXPRESS | ||
998 | default y | ||
999 | select ARCH_MULTI_V6_V7 | ||
1000 | |||
1001 | config ARCH_MULTI_V6_V7 | ||
1002 | bool | ||
1003 | |||
1004 | config ARCH_MULTI_CPU_AUTO | ||
1005 | def_bool !(ARCH_MULTI_V4 || ARCH_MULTI_V4T || ARCH_MULTI_V6_V7) | ||
1006 | select ARCH_MULTI_V5 | ||
1007 | |||
1008 | endmenu | ||
1009 | |||
1019 | # | 1010 | # |
1020 | # This is sorted alphabetically by mach-* pathname. However, plat-* | 1011 | # This is sorted alphabetically by mach-* pathname. However, plat-* |
1021 | # Kconfigs may be included either alphabetically (according to the | 1012 | # Kconfigs may be included either alphabetically (according to the |
@@ -1041,6 +1032,8 @@ source "arch/arm/mach-gemini/Kconfig" | |||
1041 | 1032 | ||
1042 | source "arch/arm/mach-h720x/Kconfig" | 1033 | source "arch/arm/mach-h720x/Kconfig" |
1043 | 1034 | ||
1035 | source "arch/arm/mach-highbank/Kconfig" | ||
1036 | |||
1044 | source "arch/arm/mach-integrator/Kconfig" | 1037 | source "arch/arm/mach-integrator/Kconfig" |
1045 | 1038 | ||
1046 | source "arch/arm/mach-iop32x/Kconfig" | 1039 | source "arch/arm/mach-iop32x/Kconfig" |
@@ -1076,6 +1069,8 @@ source "arch/arm/mach-omap2/Kconfig" | |||
1076 | 1069 | ||
1077 | source "arch/arm/mach-orion5x/Kconfig" | 1070 | source "arch/arm/mach-orion5x/Kconfig" |
1078 | 1071 | ||
1072 | source "arch/arm/mach-picoxcell/Kconfig" | ||
1073 | |||
1079 | source "arch/arm/mach-pxa/Kconfig" | 1074 | source "arch/arm/mach-pxa/Kconfig" |
1080 | source "arch/arm/plat-pxa/Kconfig" | 1075 | source "arch/arm/plat-pxa/Kconfig" |
1081 | 1076 | ||
@@ -1088,6 +1083,8 @@ source "arch/arm/mach-sa1100/Kconfig" | |||
1088 | source "arch/arm/plat-samsung/Kconfig" | 1083 | source "arch/arm/plat-samsung/Kconfig" |
1089 | source "arch/arm/plat-s3c24xx/Kconfig" | 1084 | source "arch/arm/plat-s3c24xx/Kconfig" |
1090 | 1085 | ||
1086 | source "arch/arm/mach-socfpga/Kconfig" | ||
1087 | |||
1091 | source "arch/arm/plat-spear/Kconfig" | 1088 | source "arch/arm/plat-spear/Kconfig" |
1092 | 1089 | ||
1093 | source "arch/arm/mach-s3c24xx/Kconfig" | 1090 | source "arch/arm/mach-s3c24xx/Kconfig" |
@@ -1994,7 +1991,7 @@ endchoice | |||
1994 | 1991 | ||
1995 | config XIP_KERNEL | 1992 | config XIP_KERNEL |
1996 | bool "Kernel Execute-In-Place from ROM" | 1993 | bool "Kernel Execute-In-Place from ROM" |
1997 | depends on !ZBOOT_ROM && !ARM_LPAE | 1994 | depends on !ZBOOT_ROM && !ARM_LPAE && !ARCH_MULTIPLATFORM |
1998 | help | 1995 | help |
1999 | Execute-In-Place allows the kernel to run from non-volatile storage | 1996 | Execute-In-Place allows the kernel to run from non-volatile storage |
2000 | directly addressable by the CPU, such as NOR flash. This saves RAM | 1997 | directly addressable by the CPU, such as NOR flash. This saves RAM |
diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug index 58c74e737f7a..b0f3857b3a4c 100644 --- a/arch/arm/Kconfig.debug +++ b/arch/arm/Kconfig.debug | |||
@@ -275,6 +275,20 @@ choice | |||
275 | Say Y here if you want the debug print routines to direct | 275 | Say Y here if you want the debug print routines to direct |
276 | their output to the serial port on MSM 8960 devices. | 276 | their output to the serial port on MSM 8960 devices. |
277 | 277 | ||
278 | config DEBUG_MVEBU_UART | ||
279 | bool "Kernel low-level debugging messages via MVEBU UART" | ||
280 | depends on ARCH_MVEBU | ||
281 | help | ||
282 | Say Y here if you want kernel low-level debugging support | ||
283 | on MVEBU based platforms. | ||
284 | |||
285 | config DEBUG_PICOXCELL_UART | ||
286 | depends on ARCH_PICOXCELL | ||
287 | bool "Use PicoXcell UART for low-level debug" | ||
288 | help | ||
289 | Say Y here if you want kernel low-level debugging support | ||
290 | on PicoXcell based platforms. | ||
291 | |||
278 | config DEBUG_REALVIEW_STD_PORT | 292 | config DEBUG_REALVIEW_STD_PORT |
279 | bool "RealView Default UART" | 293 | bool "RealView Default UART" |
280 | depends on ARCH_REALVIEW | 294 | depends on ARCH_REALVIEW |
@@ -324,6 +338,13 @@ choice | |||
324 | The uncompressor code port configuration is now handled | 338 | The uncompressor code port configuration is now handled |
325 | by CONFIG_S3C_LOWLEVEL_UART_PORT. | 339 | by CONFIG_S3C_LOWLEVEL_UART_PORT. |
326 | 340 | ||
341 | config DEBUG_SOCFPGA_UART | ||
342 | depends on ARCH_SOCFPGA | ||
343 | bool "Use SOCFPGA UART for low-level debug" | ||
344 | help | ||
345 | Say Y here if you want kernel low-level debugging support | ||
346 | on SOCFPGA based platforms. | ||
347 | |||
327 | config DEBUG_VEXPRESS_UART0_DETECT | 348 | config DEBUG_VEXPRESS_UART0_DETECT |
328 | bool "Autodetect UART0 on Versatile Express Cortex-A core tiles" | 349 | bool "Autodetect UART0 on Versatile Express Cortex-A core tiles" |
329 | depends on ARCH_VEXPRESS && CPU_CP15_MMU | 350 | depends on ARCH_VEXPRESS && CPU_CP15_MMU |
@@ -352,6 +373,7 @@ choice | |||
352 | 373 | ||
353 | config DEBUG_LL_UART_NONE | 374 | config DEBUG_LL_UART_NONE |
354 | bool "No low-level debugging UART" | 375 | bool "No low-level debugging UART" |
376 | depends on !ARCH_MULTIPLATFORM | ||
355 | help | 377 | help |
356 | Say Y here if your platform doesn't provide a UART option | 378 | Say Y here if your platform doesn't provide a UART option |
357 | below. This relies on your platform choosing the right UART | 379 | below. This relies on your platform choosing the right UART |
@@ -387,6 +409,17 @@ choice | |||
387 | 409 | ||
388 | endchoice | 410 | endchoice |
389 | 411 | ||
412 | config DEBUG_LL_INCLUDE | ||
413 | string | ||
414 | default "debug/icedcc.S" if DEBUG_ICEDCC | ||
415 | default "debug/highbank.S" if DEBUG_HIGHBANK_UART | ||
416 | default "debug/mvebu.S" if DEBUG_MVEBU_UART | ||
417 | default "debug/picoxcell.S" if DEBUG_PICOXCELL_UART | ||
418 | default "debug/socfpga.S" if DEBUG_SOCFPGA_UART | ||
419 | default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT || \ | ||
420 | DEBUG_VEXPRESS_UART0_CA9 || DEBUG_VEXPRESS_UART0_RS1 | ||
421 | default "mach/debug-macro.S" | ||
422 | |||
390 | config EARLY_PRINTK | 423 | config EARLY_PRINTK |
391 | bool "Early printk" | 424 | bool "Early printk" |
392 | depends on DEBUG_LL | 425 | depends on DEBUG_LL |
diff --git a/arch/arm/Makefile b/arch/arm/Makefile index a2eb4fe068b9..770da51242c4 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile | |||
@@ -135,83 +135,78 @@ textofs-$(CONFIG_ARCH_MSM8960) := 0x00208000 | |||
135 | 135 | ||
136 | # Machine directory name. This list is sorted alphanumerically | 136 | # Machine directory name. This list is sorted alphanumerically |
137 | # by CONFIG_* macro name. | 137 | # by CONFIG_* macro name. |
138 | machine-$(CONFIG_ARCH_AT91) := at91 | 138 | machine-$(CONFIG_ARCH_AT91) += at91 |
139 | machine-$(CONFIG_ARCH_BCM2835) := bcm2835 | 139 | machine-$(CONFIG_ARCH_BCM2835) += bcm2835 |
140 | machine-$(CONFIG_ARCH_CLPS711X) := clps711x | 140 | machine-$(CONFIG_ARCH_CLPS711X) += clps711x |
141 | machine-$(CONFIG_ARCH_CNS3XXX) := cns3xxx | 141 | machine-$(CONFIG_ARCH_CNS3XXX) += cns3xxx |
142 | machine-$(CONFIG_ARCH_DAVINCI) := davinci | 142 | machine-$(CONFIG_ARCH_DAVINCI) += davinci |
143 | machine-$(CONFIG_ARCH_DOVE) := dove | 143 | machine-$(CONFIG_ARCH_DOVE) += dove |
144 | machine-$(CONFIG_ARCH_EBSA110) := ebsa110 | 144 | machine-$(CONFIG_ARCH_EBSA110) += ebsa110 |
145 | machine-$(CONFIG_ARCH_EP93XX) := ep93xx | 145 | machine-$(CONFIG_ARCH_EP93XX) += ep93xx |
146 | machine-$(CONFIG_ARCH_GEMINI) := gemini | 146 | machine-$(CONFIG_ARCH_GEMINI) += gemini |
147 | machine-$(CONFIG_ARCH_H720X) := h720x | 147 | machine-$(CONFIG_ARCH_H720X) += h720x |
148 | machine-$(CONFIG_ARCH_HIGHBANK) := highbank | 148 | machine-$(CONFIG_ARCH_HIGHBANK) += highbank |
149 | machine-$(CONFIG_ARCH_INTEGRATOR) := integrator | 149 | machine-$(CONFIG_ARCH_INTEGRATOR) += integrator |
150 | machine-$(CONFIG_ARCH_IOP13XX) := iop13xx | 150 | machine-$(CONFIG_ARCH_IOP13XX) += iop13xx |
151 | machine-$(CONFIG_ARCH_IOP32X) := iop32x | 151 | machine-$(CONFIG_ARCH_IOP32X) += iop32x |
152 | machine-$(CONFIG_ARCH_IOP33X) := iop33x | 152 | machine-$(CONFIG_ARCH_IOP33X) += iop33x |
153 | machine-$(CONFIG_ARCH_IXP4XX) := ixp4xx | 153 | machine-$(CONFIG_ARCH_IXP4XX) += ixp4xx |
154 | machine-$(CONFIG_ARCH_KIRKWOOD) := kirkwood | 154 | machine-$(CONFIG_ARCH_KIRKWOOD) += kirkwood |
155 | machine-$(CONFIG_ARCH_KS8695) := ks8695 | 155 | machine-$(CONFIG_ARCH_KS8695) += ks8695 |
156 | machine-$(CONFIG_ARCH_LPC32XX) := lpc32xx | 156 | machine-$(CONFIG_ARCH_LPC32XX) += lpc32xx |
157 | machine-$(CONFIG_ARCH_MMP) := mmp | 157 | machine-$(CONFIG_ARCH_MMP) += mmp |
158 | machine-$(CONFIG_ARCH_MSM) := msm | 158 | machine-$(CONFIG_ARCH_MSM) += msm |
159 | machine-$(CONFIG_ARCH_MV78XX0) := mv78xx0 | 159 | machine-$(CONFIG_ARCH_MV78XX0) += mv78xx0 |
160 | machine-$(CONFIG_ARCH_IMX_V4_V5) := imx | 160 | machine-$(CONFIG_ARCH_MXC) += imx |
161 | machine-$(CONFIG_ARCH_IMX_V6_V7) := imx | 161 | machine-$(CONFIG_ARCH_MXS) += mxs |
162 | machine-$(CONFIG_ARCH_MXS) := mxs | 162 | machine-$(CONFIG_ARCH_MVEBU) += mvebu |
163 | machine-$(CONFIG_ARCH_MVEBU) := mvebu | 163 | machine-$(CONFIG_ARCH_NETX) += netx |
164 | machine-$(CONFIG_ARCH_NETX) := netx | 164 | machine-$(CONFIG_ARCH_NOMADIK) += nomadik |
165 | machine-$(CONFIG_ARCH_NOMADIK) := nomadik | 165 | machine-$(CONFIG_ARCH_OMAP1) += omap1 |
166 | machine-$(CONFIG_ARCH_OMAP1) := omap1 | 166 | machine-$(CONFIG_ARCH_OMAP2PLUS) += omap2 |
167 | machine-$(CONFIG_ARCH_OMAP2PLUS) := omap2 | 167 | machine-$(CONFIG_ARCH_ORION5X) += orion5x |
168 | machine-$(CONFIG_ARCH_ORION5X) := orion5x | 168 | machine-$(CONFIG_ARCH_PICOXCELL) += picoxcell |
169 | machine-$(CONFIG_ARCH_PICOXCELL) := picoxcell | 169 | machine-$(CONFIG_ARCH_PRIMA2) += prima2 |
170 | machine-$(CONFIG_ARCH_PRIMA2) := prima2 | 170 | machine-$(CONFIG_ARCH_PXA) += pxa |
171 | machine-$(CONFIG_ARCH_PXA) := pxa | 171 | machine-$(CONFIG_ARCH_REALVIEW) += realview |
172 | machine-$(CONFIG_ARCH_REALVIEW) := realview | 172 | machine-$(CONFIG_ARCH_RPC) += rpc |
173 | machine-$(CONFIG_ARCH_RPC) := rpc | 173 | machine-$(CONFIG_ARCH_S3C24XX) += s3c24xx s3c2412 s3c2440 |
174 | machine-$(CONFIG_ARCH_S3C24XX) := s3c24xx s3c2412 s3c2440 | 174 | machine-$(CONFIG_ARCH_S3C64XX) += s3c64xx |
175 | machine-$(CONFIG_ARCH_S3C64XX) := s3c64xx | 175 | machine-$(CONFIG_ARCH_S5P64X0) += s5p64x0 |
176 | machine-$(CONFIG_ARCH_S5P64X0) := s5p64x0 | 176 | machine-$(CONFIG_ARCH_S5PC100) += s5pc100 |
177 | machine-$(CONFIG_ARCH_S5PC100) := s5pc100 | 177 | machine-$(CONFIG_ARCH_S5PV210) += s5pv210 |
178 | machine-$(CONFIG_ARCH_S5PV210) := s5pv210 | 178 | machine-$(CONFIG_ARCH_EXYNOS) += exynos |
179 | machine-$(CONFIG_ARCH_EXYNOS4) := exynos | 179 | machine-$(CONFIG_ARCH_SA1100) += sa1100 |
180 | machine-$(CONFIG_ARCH_EXYNOS5) := exynos | 180 | machine-$(CONFIG_ARCH_SHARK) += shark |
181 | machine-$(CONFIG_ARCH_SA1100) := sa1100 | 181 | machine-$(CONFIG_ARCH_SHMOBILE) += shmobile |
182 | machine-$(CONFIG_ARCH_SHARK) := shark | 182 | machine-$(CONFIG_ARCH_TEGRA) += tegra |
183 | machine-$(CONFIG_ARCH_SHMOBILE) := shmobile | 183 | machine-$(CONFIG_ARCH_U300) += u300 |
184 | machine-$(CONFIG_ARCH_TEGRA) := tegra | 184 | machine-$(CONFIG_ARCH_U8500) += ux500 |
185 | machine-$(CONFIG_ARCH_U300) := u300 | 185 | machine-$(CONFIG_ARCH_VERSATILE) += versatile |
186 | machine-$(CONFIG_ARCH_U8500) := ux500 | 186 | machine-$(CONFIG_ARCH_VEXPRESS) += vexpress |
187 | machine-$(CONFIG_ARCH_VERSATILE) := versatile | 187 | machine-$(CONFIG_ARCH_VT8500) += vt8500 |
188 | machine-$(CONFIG_ARCH_VEXPRESS) := vexpress | 188 | machine-$(CONFIG_ARCH_W90X900) += w90x900 |
189 | machine-$(CONFIG_ARCH_VT8500) := vt8500 | 189 | machine-$(CONFIG_FOOTBRIDGE) += footbridge |
190 | machine-$(CONFIG_ARCH_W90X900) := w90x900 | 190 | machine-$(CONFIG_ARCH_SOCFPGA) += socfpga |
191 | machine-$(CONFIG_FOOTBRIDGE) := footbridge | 191 | machine-$(CONFIG_ARCH_SPEAR13XX) += spear13xx |
192 | machine-$(CONFIG_ARCH_SOCFPGA) := socfpga | 192 | machine-$(CONFIG_ARCH_SPEAR3XX) += spear3xx |
193 | machine-$(CONFIG_MACH_SPEAR1310) := spear13xx | 193 | machine-$(CONFIG_MACH_SPEAR600) += spear6xx |
194 | machine-$(CONFIG_MACH_SPEAR1340) := spear13xx | 194 | machine-$(CONFIG_ARCH_ZYNQ) += zynq |
195 | machine-$(CONFIG_MACH_SPEAR300) := spear3xx | ||
196 | machine-$(CONFIG_MACH_SPEAR310) := spear3xx | ||
197 | machine-$(CONFIG_MACH_SPEAR320) := spear3xx | ||
198 | machine-$(CONFIG_MACH_SPEAR600) := spear6xx | ||
199 | machine-$(CONFIG_ARCH_ZYNQ) := zynq | ||
200 | 195 | ||
201 | # Platform directory name. This list is sorted alphanumerically | 196 | # Platform directory name. This list is sorted alphanumerically |
202 | # by CONFIG_* macro name. | 197 | # by CONFIG_* macro name. |
203 | plat-$(CONFIG_ARCH_MXC) := mxc | 198 | plat-$(CONFIG_ARCH_MXC) += mxc |
204 | plat-$(CONFIG_ARCH_OMAP) := omap | 199 | plat-$(CONFIG_ARCH_OMAP) += omap |
205 | plat-$(CONFIG_ARCH_S3C64XX) := samsung | 200 | plat-$(CONFIG_ARCH_S3C64XX) += samsung |
206 | plat-$(CONFIG_ARCH_ZYNQ) := versatile | 201 | plat-$(CONFIG_ARCH_ZYNQ) += versatile |
207 | plat-$(CONFIG_PLAT_IOP) := iop | 202 | plat-$(CONFIG_PLAT_IOP) += iop |
208 | plat-$(CONFIG_PLAT_NOMADIK) := nomadik | 203 | plat-$(CONFIG_PLAT_NOMADIK) += nomadik |
209 | plat-$(CONFIG_PLAT_ORION) := orion | 204 | plat-$(CONFIG_PLAT_ORION) += orion |
210 | plat-$(CONFIG_PLAT_PXA) := pxa | 205 | plat-$(CONFIG_PLAT_PXA) += pxa |
211 | plat-$(CONFIG_PLAT_S3C24XX) := s3c24xx samsung | 206 | plat-$(CONFIG_PLAT_S3C24XX) += s3c24xx samsung |
212 | plat-$(CONFIG_PLAT_S5P) := samsung | 207 | plat-$(CONFIG_PLAT_S5P) += samsung |
213 | plat-$(CONFIG_PLAT_SPEAR) := spear | 208 | plat-$(CONFIG_PLAT_SPEAR) += spear |
214 | plat-$(CONFIG_PLAT_VERSATILE) := versatile | 209 | plat-$(CONFIG_PLAT_VERSATILE) += versatile |
215 | 210 | ||
216 | ifeq ($(CONFIG_ARCH_EBSA110),y) | 211 | ifeq ($(CONFIG_ARCH_EBSA110),y) |
217 | # This is what happens if you forget the IOCS16 line. | 212 | # This is what happens if you forget the IOCS16 line. |
@@ -229,15 +224,20 @@ MACHINE := arch/arm/mach-$(word 1,$(machine-y))/ | |||
229 | else | 224 | else |
230 | MACHINE := | 225 | MACHINE := |
231 | endif | 226 | endif |
227 | ifeq ($(CONFIG_ARCH_MULTIPLATFORM),y) | ||
228 | MACHINE := | ||
229 | endif | ||
232 | 230 | ||
233 | machdirs := $(patsubst %,arch/arm/mach-%/,$(machine-y)) | 231 | machdirs := $(patsubst %,arch/arm/mach-%/,$(machine-y)) |
234 | platdirs := $(patsubst %,arch/arm/plat-%/,$(plat-y)) | 232 | platdirs := $(patsubst %,arch/arm/plat-%/,$(plat-y)) |
235 | 233 | ||
234 | ifneq ($(CONFIG_ARCH_MULTIPLATFORM),y) | ||
236 | ifeq ($(KBUILD_SRC),) | 235 | ifeq ($(KBUILD_SRC),) |
237 | KBUILD_CPPFLAGS += $(patsubst %,-I%include,$(machdirs) $(platdirs)) | 236 | KBUILD_CPPFLAGS += $(patsubst %,-I%include,$(machdirs) $(platdirs)) |
238 | else | 237 | else |
239 | KBUILD_CPPFLAGS += $(patsubst %,-I$(srctree)/%include,$(machdirs) $(platdirs)) | 238 | KBUILD_CPPFLAGS += $(patsubst %,-I$(srctree)/%include,$(machdirs) $(platdirs)) |
240 | endif | 239 | endif |
240 | endif | ||
241 | 241 | ||
242 | export TEXT_OFFSET GZFLAGS MMUEXT | 242 | export TEXT_OFFSET GZFLAGS MMUEXT |
243 | 243 | ||
diff --git a/arch/arm/boot/Makefile b/arch/arm/boot/Makefile index c877087d2000..3fdab016aa5c 100644 --- a/arch/arm/boot/Makefile +++ b/arch/arm/boot/Makefile | |||
@@ -15,6 +15,8 @@ ifneq ($(MACHINE),) | |||
15 | include $(srctree)/$(MACHINE)/Makefile.boot | 15 | include $(srctree)/$(MACHINE)/Makefile.boot |
16 | endif | 16 | endif |
17 | 17 | ||
18 | include $(srctree)/arch/arm/boot/dts/Makefile | ||
19 | |||
18 | # Note: the following conditions must always be true: | 20 | # Note: the following conditions must always be true: |
19 | # ZRELADDR == virt_to_phys(PAGE_OFFSET + TEXT_OFFSET) | 21 | # ZRELADDR == virt_to_phys(PAGE_OFFSET + TEXT_OFFSET) |
20 | # PARAMS_PHYS must be within 4MB of ZRELADDR | 22 | # PARAMS_PHYS must be within 4MB of ZRELADDR |
diff --git a/arch/arm/boot/compressed/misc.c b/arch/arm/boot/compressed/misc.c index 8e2a8fca5ed2..df899834d84e 100644 --- a/arch/arm/boot/compressed/misc.c +++ b/arch/arm/boot/compressed/misc.c | |||
@@ -25,7 +25,13 @@ unsigned int __machine_arch_type; | |||
25 | static void putstr(const char *ptr); | 25 | static void putstr(const char *ptr); |
26 | extern void error(char *x); | 26 | extern void error(char *x); |
27 | 27 | ||
28 | #ifdef CONFIG_ARCH_MULTIPLATFORM | ||
29 | static inline void putc(int c) {} | ||
30 | static inline void flush(void) {} | ||
31 | static inline void arch_decomp_setup(void) {} | ||
32 | #else | ||
28 | #include <mach/uncompress.h> | 33 | #include <mach/uncompress.h> |
34 | #endif | ||
29 | 35 | ||
30 | #ifdef CONFIG_DEBUG_ICEDCC | 36 | #ifdef CONFIG_DEBUG_ICEDCC |
31 | 37 | ||
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile new file mode 100644 index 000000000000..43c084c2cd66 --- /dev/null +++ b/arch/arm/boot/dts/Makefile | |||
@@ -0,0 +1,101 @@ | |||
1 | ifeq ($(CONFIG_OF),y) | ||
2 | |||
3 | dtb-$(CONFIG_ARCH_AT91) += aks-cdu.dtb \ | ||
4 | at91sam9263ek.dtb \ | ||
5 | at91sam9g20ek_2mmc.dtb \ | ||
6 | at91sam9g20ek.dtb \ | ||
7 | at91sam9g25ek.dtb \ | ||
8 | at91sam9m10g45ek.dtb \ | ||
9 | at91sam9n12ek.dtb \ | ||
10 | ethernut5.dtb \ | ||
11 | evk-pro3.dtb \ | ||
12 | kizbox.dtb \ | ||
13 | tny_a9260.dtb \ | ||
14 | tny_a9263.dtb \ | ||
15 | tny_a9g20.dtb \ | ||
16 | usb_a9260.dtb \ | ||
17 | usb_a9263.dtb \ | ||
18 | usb_a9g20.dtb | ||
19 | dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb | ||
20 | dtb-$(CONFIG_ARCH_EXYNOS) += exynos4210-origen.dtb \ | ||
21 | exynos4210-smdkv310.dtb \ | ||
22 | exynos4210-trats.dtb \ | ||
23 | exynos5250-smdk5250.dtb | ||
24 | dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb | ||
25 | dtb-$(CONFIG_ARCH_IMX5) += imx51-babbage.dtb \ | ||
26 | imx53-ard.dtb \ | ||
27 | imx53-evk.dtb \ | ||
28 | imx53-qsb.dtb \ | ||
29 | imx53-smd.dtb | ||
30 | dtb-$(CONFIG_SOC_IMX6Q) += imx6q-arm2.dtb \ | ||
31 | imx6q-sabrelite.dtb \ | ||
32 | imx6q-sabresd.dtb | ||
33 | dtb-$(CONFIG_ARCH_LPC32XX) += ea3250.dtb phy3250.dtb | ||
34 | dtb-$(CONFIG_ARCH_KIRKWOOD) += kirkwood-dns320.dtb \ | ||
35 | kirkwood-dns325.dtb \ | ||
36 | kirkwood-dreamplug.dtb \ | ||
37 | kirkwood-goflexnet.dtb \ | ||
38 | kirkwood-ib62x0.dtb \ | ||
39 | kirkwood-iconnect.dtb \ | ||
40 | kirkwood-lschlv2.dtb \ | ||
41 | kirkwood-lsxhl.dtb \ | ||
42 | kirkwood-ts219-6281.dtb \ | ||
43 | kirkwood-ts219-6282.dtb | ||
44 | dtb-$(CONFIG_ARCH_MSM) += msm8660-surf.dtb \ | ||
45 | msm8960-cdp.dtb | ||
46 | dtb-$(CONFIG_ARCH_MVEBU) += armada-370-db.dtb \ | ||
47 | armada-xp-db.dtb | ||
48 | dtb-$(CONFIG_ARCH_MXC) += imx51-babbage.dtb \ | ||
49 | imx53-ard.dtb \ | ||
50 | imx53-evk.dtb \ | ||
51 | imx53-qsb.dtb \ | ||
52 | imx53-smd.dtb \ | ||
53 | imx6q-arm2.dtb \ | ||
54 | imx6q-sabrelite.dtb \ | ||
55 | imx6q-sabresd.dtb | ||
56 | dtb-$(CONFIG_ARCH_MXS) += imx23-evk.dtb \ | ||
57 | imx23-olinuxino.dtb \ | ||
58 | imx23-stmp378x_devb.dtb \ | ||
59 | imx28-apx4devkit.dtb \ | ||
60 | imx28-cfa10036.dtb \ | ||
61 | imx28-cfa10049.dtb \ | ||
62 | imx28-evk.dtb \ | ||
63 | imx28-m28evk.dtb \ | ||
64 | imx28-tx28.dtb | ||
65 | dtb-$(CONFIG_ARCH_OMAP2PLUS) += omap2420-h4.dtb \ | ||
66 | omap3-beagle-xm.dtb \ | ||
67 | omap3-evm.dtb \ | ||
68 | omap3-tobi.dtb \ | ||
69 | omap4-panda.dtb \ | ||
70 | omap4-pandaES.dtb \ | ||
71 | omap4-var_som.dtb \ | ||
72 | omap4-sdp.dtb \ | ||
73 | omap5-evm.dtb | ||
74 | dtb-$(CONFIG_ARCH_PRIMA2) += prima2-evb.dtb | ||
75 | dtb-$(CONFIG_ARCH_U8500) += snowball.dtb | ||
76 | dtb-$(CONFIG_ARCH_SHMOBILE) += emev2-kzm9d.dtb \ | ||
77 | r8a7740-armadillo800eva.dtb \ | ||
78 | sh73a0-kzm9g.dtb | ||
79 | dtb-$(CONFIG_ARCH_SPEAR13XX) += spear1310-evb.dtb \ | ||
80 | spear1340-evb.dtb | ||
81 | dtb-$(CONFIG_ARCH_SPEAR3XX)+= spear300-evb.dtb \ | ||
82 | spear310-evb.dtb \ | ||
83 | spear320-evb.dtb | ||
84 | dtb-$(CONFIG_ARCH_SPEAR6XX)+= spear600-evb.dtb | ||
85 | dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \ | ||
86 | tegra20-medcom-wide.dtb \ | ||
87 | tegra20-paz00.dtb \ | ||
88 | tegra20-plutux.dtb \ | ||
89 | tegra20-seaboard.dtb \ | ||
90 | tegra20-tec.dtb \ | ||
91 | tegra20-trimslice.dtb \ | ||
92 | tegra20-ventana.dtb \ | ||
93 | tegra20-whistler.dtb \ | ||
94 | tegra30-cardhu-a02.dtb \ | ||
95 | tegra30-cardhu-a04.dtb | ||
96 | dtb-$(CONFIG_ARCH_VEXPRESS) += vexpress-v2p-ca5s.dtb \ | ||
97 | vexpress-v2p-ca9.dtb \ | ||
98 | vexpress-v2p-ca15-tc1.dtb \ | ||
99 | vexpress-v2p-ca15_a7.dtb | ||
100 | |||
101 | endif | ||
diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig new file mode 100644 index 000000000000..159f75fc4377 --- /dev/null +++ b/arch/arm/configs/multi_v7_defconfig | |||
@@ -0,0 +1,57 @@ | |||
1 | CONFIG_EXPERIMENTAL=y | ||
2 | CONFIG_NO_HZ=y | ||
3 | CONFIG_HIGH_RES_TIMERS=y | ||
4 | CONFIG_ARCH_MVEBU=y | ||
5 | CONFIG_MACH_ARMADA_370=y | ||
6 | CONFIG_MACH_ARMADA_XP=y | ||
7 | CONFIG_ARCH_HIGHBANK=y | ||
8 | CONFIG_ARCH_SOCFPGA=y | ||
9 | # CONFIG_ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA is not set | ||
10 | CONFIG_ARM_ERRATA_754322=y | ||
11 | CONFIG_SMP=y | ||
12 | CONFIG_ARM_ARCH_TIMER=y | ||
13 | CONFIG_AEABI=y | ||
14 | CONFIG_HIGHMEM=y | ||
15 | CONFIG_HIGHPTE=y | ||
16 | CONFIG_ARM_APPENDED_DTB=y | ||
17 | CONFIG_VFP=y | ||
18 | CONFIG_NEON=y | ||
19 | CONFIG_NET=y | ||
20 | CONFIG_ATA=y | ||
21 | CONFIG_SATA_HIGHBANK=y | ||
22 | CONFIG_NETDEVICES=y | ||
23 | CONFIG_NET_CALXEDA_XGMAC=y | ||
24 | CONFIG_SMSC911X=y | ||
25 | CONFIG_STMMAC_ETH=y | ||
26 | CONFIG_SERIO_AMBAKMI=y | ||
27 | CONFIG_SERIAL_8250=y | ||
28 | CONFIG_SERIAL_8250_CONSOLE=y | ||
29 | CONFIG_SERIAL_8250_DW=y | ||
30 | CONFIG_SERIAL_AMBA_PL011=y | ||
31 | CONFIG_SERIAL_AMBA_PL011_CONSOLE=y | ||
32 | CONFIG_SERIAL_OF_PLATFORM=y | ||
33 | CONFIG_IPMI_HANDLER=y | ||
34 | CONFIG_IPMI_SI=y | ||
35 | CONFIG_I2C=y | ||
36 | CONFIG_I2C_DESIGNWARE_PLATFORM=y | ||
37 | CONFIG_SPI=y | ||
38 | CONFIG_SPI_PL022=y | ||
39 | CONFIG_GPIOLIB=y | ||
40 | CONFIG_FB=y | ||
41 | CONFIG_FB_ARMCLCD=y | ||
42 | CONFIG_FRAMEBUFFER_CONSOLE=y | ||
43 | CONFIG_USB=y | ||
44 | CONFIG_USB_ISP1760_HCD=y | ||
45 | CONFIG_USB_STORAGE=y | ||
46 | CONFIG_MMC=y | ||
47 | CONFIG_MMC_ARMMMCI=y | ||
48 | CONFIG_MMC_SDHCI=y | ||
49 | CONFIG_MMC_SDHCI_PLTFM=y | ||
50 | CONFIG_EDAC=y | ||
51 | CONFIG_EDAC_MM_EDAC=y | ||
52 | CONFIG_EDAC_HIGHBANK_MC=y | ||
53 | CONFIG_EDAC_HIGHBANK_L2=y | ||
54 | CONFIG_RTC_CLASS=y | ||
55 | CONFIG_RTC_DRV_PL031=y | ||
56 | CONFIG_DMADEVICES=y | ||
57 | CONFIG_PL330_DMA=y | ||
diff --git a/arch/arm/include/asm/gpio.h b/arch/arm/include/asm/gpio.h index c402e9b31f4c..477e0206e016 100644 --- a/arch/arm/include/asm/gpio.h +++ b/arch/arm/include/asm/gpio.h | |||
@@ -6,7 +6,9 @@ | |||
6 | #endif | 6 | #endif |
7 | 7 | ||
8 | /* not all ARM platforms necessarily support this API ... */ | 8 | /* not all ARM platforms necessarily support this API ... */ |
9 | #ifdef CONFIG_NEED_MACH_GPIO_H | ||
9 | #include <mach/gpio.h> | 10 | #include <mach/gpio.h> |
11 | #endif | ||
10 | 12 | ||
11 | #ifndef __ARM_GPIOLIB_COMPLEX | 13 | #ifndef __ARM_GPIOLIB_COMPLEX |
12 | /* Note: this may rely upon the value of ARCH_NR_GPIOS set in mach/gpio.h */ | 14 | /* Note: this may rely upon the value of ARCH_NR_GPIOS set in mach/gpio.h */ |
diff --git a/arch/arm/include/asm/mach/arch.h b/arch/arm/include/asm/mach/arch.h index 0b1c94b8c652..917d4fcfd9b4 100644 --- a/arch/arm/include/asm/mach/arch.h +++ b/arch/arm/include/asm/mach/arch.h | |||
@@ -14,6 +14,12 @@ struct tag; | |||
14 | struct meminfo; | 14 | struct meminfo; |
15 | struct sys_timer; | 15 | struct sys_timer; |
16 | struct pt_regs; | 16 | struct pt_regs; |
17 | struct smp_operations; | ||
18 | #ifdef CONFIG_SMP | ||
19 | #define smp_ops(ops) (&(ops)) | ||
20 | #else | ||
21 | #define smp_ops(ops) (struct smp_operations *)NULL | ||
22 | #endif | ||
17 | 23 | ||
18 | struct machine_desc { | 24 | struct machine_desc { |
19 | unsigned int nr; /* architecture number */ | 25 | unsigned int nr; /* architecture number */ |
@@ -35,6 +41,7 @@ struct machine_desc { | |||
35 | unsigned char reserve_lp1 :1; /* never has lp1 */ | 41 | unsigned char reserve_lp1 :1; /* never has lp1 */ |
36 | unsigned char reserve_lp2 :1; /* never has lp2 */ | 42 | unsigned char reserve_lp2 :1; /* never has lp2 */ |
37 | char restart_mode; /* default restart mode */ | 43 | char restart_mode; /* default restart mode */ |
44 | struct smp_operations *smp; /* SMP operations */ | ||
38 | void (*fixup)(struct tag *, char **, | 45 | void (*fixup)(struct tag *, char **, |
39 | struct meminfo *); | 46 | struct meminfo *); |
40 | void (*reserve)(void);/* reserve mem blocks */ | 47 | void (*reserve)(void);/* reserve mem blocks */ |
diff --git a/arch/arm/include/asm/smp.h b/arch/arm/include/asm/smp.h index ae29293270a3..2e3be16c6766 100644 --- a/arch/arm/include/asm/smp.h +++ b/arch/arm/include/asm/smp.h | |||
@@ -60,15 +60,6 @@ extern int boot_secondary(unsigned int cpu, struct task_struct *); | |||
60 | */ | 60 | */ |
61 | asmlinkage void secondary_start_kernel(void); | 61 | asmlinkage void secondary_start_kernel(void); |
62 | 62 | ||
63 | /* | ||
64 | * Perform platform specific initialisation of the specified CPU. | ||
65 | */ | ||
66 | extern void platform_secondary_init(unsigned int cpu); | ||
67 | |||
68 | /* | ||
69 | * Initialize cpu_possible map, and enable coherency | ||
70 | */ | ||
71 | extern void platform_smp_prepare_cpus(unsigned int); | ||
72 | 63 | ||
73 | /* | 64 | /* |
74 | * Initial data for bringing up a secondary CPU. | 65 | * Initial data for bringing up a secondary CPU. |
@@ -79,18 +70,47 @@ struct secondary_data { | |||
79 | void *stack; | 70 | void *stack; |
80 | }; | 71 | }; |
81 | extern struct secondary_data secondary_data; | 72 | extern struct secondary_data secondary_data; |
73 | extern volatile int pen_release; | ||
82 | 74 | ||
83 | extern int __cpu_disable(void); | 75 | extern int __cpu_disable(void); |
84 | extern int platform_cpu_disable(unsigned int cpu); | ||
85 | 76 | ||
86 | extern void __cpu_die(unsigned int cpu); | 77 | extern void __cpu_die(unsigned int cpu); |
87 | extern void cpu_die(void); | 78 | extern void cpu_die(void); |
88 | 79 | ||
89 | extern void platform_cpu_die(unsigned int cpu); | ||
90 | extern int platform_cpu_kill(unsigned int cpu); | ||
91 | extern void platform_cpu_enable(unsigned int cpu); | ||
92 | |||
93 | extern void arch_send_call_function_single_ipi(int cpu); | 80 | extern void arch_send_call_function_single_ipi(int cpu); |
94 | extern void arch_send_call_function_ipi_mask(const struct cpumask *mask); | 81 | extern void arch_send_call_function_ipi_mask(const struct cpumask *mask); |
95 | 82 | ||
83 | struct smp_operations { | ||
84 | #ifdef CONFIG_SMP | ||
85 | /* | ||
86 | * Setup the set of possible CPUs (via set_cpu_possible) | ||
87 | */ | ||
88 | void (*smp_init_cpus)(void); | ||
89 | /* | ||
90 | * Initialize cpu_possible map, and enable coherency | ||
91 | */ | ||
92 | void (*smp_prepare_cpus)(unsigned int max_cpus); | ||
93 | |||
94 | /* | ||
95 | * Perform platform specific initialisation of the specified CPU. | ||
96 | */ | ||
97 | void (*smp_secondary_init)(unsigned int cpu); | ||
98 | /* | ||
99 | * Boot a secondary CPU, and assign it the specified idle task. | ||
100 | * This also gives us the initial stack to use for this CPU. | ||
101 | */ | ||
102 | int (*smp_boot_secondary)(unsigned int cpu, struct task_struct *idle); | ||
103 | #ifdef CONFIG_HOTPLUG_CPU | ||
104 | int (*cpu_kill)(unsigned int cpu); | ||
105 | void (*cpu_die)(unsigned int cpu); | ||
106 | int (*cpu_disable)(unsigned int cpu); | ||
107 | #endif | ||
108 | #endif | ||
109 | }; | ||
110 | |||
111 | /* | ||
112 | * set platform specific SMP operations | ||
113 | */ | ||
114 | extern void smp_set_ops(struct smp_operations *); | ||
115 | |||
96 | #endif /* ifndef __ASM_ARM_SMP_H */ | 116 | #endif /* ifndef __ASM_ARM_SMP_H */ |
diff --git a/arch/arm/include/asm/timex.h b/arch/arm/include/asm/timex.h index ce119442277c..963342acebb7 100644 --- a/arch/arm/include/asm/timex.h +++ b/arch/arm/include/asm/timex.h | |||
@@ -13,7 +13,11 @@ | |||
13 | #define _ASMARM_TIMEX_H | 13 | #define _ASMARM_TIMEX_H |
14 | 14 | ||
15 | #include <asm/arch_timer.h> | 15 | #include <asm/arch_timer.h> |
16 | #ifdef CONFIG_ARCH_MULTIPLATFORM | ||
17 | #define CLOCK_TICK_RATE 1000000 | ||
18 | #else | ||
16 | #include <mach/timex.h> | 19 | #include <mach/timex.h> |
20 | #endif | ||
17 | 21 | ||
18 | typedef unsigned long cycles_t; | 22 | typedef unsigned long cycles_t; |
19 | 23 | ||
diff --git a/arch/arm/mach-highbank/include/mach/debug-macro.S b/arch/arm/include/debug/highbank.S index cb57fe5bcd04..8cad4322a5a2 100644 --- a/arch/arm/mach-highbank/include/mach/debug-macro.S +++ b/arch/arm/include/debug/highbank.S | |||
@@ -10,10 +10,8 @@ | |||
10 | */ | 10 | */ |
11 | 11 | ||
12 | .macro addruart,rp,rv,tmp | 12 | .macro addruart,rp,rv,tmp |
13 | movw \rv, #0x6000 | 13 | ldr \rv, =0xfee36000 |
14 | movt \rv, #0xfee3 | 14 | ldr \rp, =0xfff36000 |
15 | movw \rp, #0x6000 | ||
16 | movt \rp, #0xfff3 | ||
17 | .endm | 15 | .endm |
18 | 16 | ||
19 | #include <asm/hardware/debug-pl01x.S> | 17 | #include <asm/hardware/debug-pl01x.S> |
diff --git a/arch/arm/include/debug/icedcc.S b/arch/arm/include/debug/icedcc.S new file mode 100644 index 000000000000..43afcb021fa3 --- /dev/null +++ b/arch/arm/include/debug/icedcc.S | |||
@@ -0,0 +1,90 @@ | |||
1 | /* | ||
2 | * arch/arm/include/debug/icedcc.S | ||
3 | * | ||
4 | * Copyright (C) 1994-1999 Russell King | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | * | ||
10 | */ | ||
11 | |||
12 | @@ debug using ARM EmbeddedICE DCC channel | ||
13 | |||
14 | .macro addruart, rp, rv, tmp | ||
15 | .endm | ||
16 | |||
17 | #if defined(CONFIG_CPU_V6) || defined(CONFIG_CPU_V6K) || defined(CONFIG_CPU_V7) | ||
18 | |||
19 | .macro senduart, rd, rx | ||
20 | mcr p14, 0, \rd, c0, c5, 0 | ||
21 | .endm | ||
22 | |||
23 | .macro busyuart, rd, rx | ||
24 | 1001: | ||
25 | mrc p14, 0, \rx, c0, c1, 0 | ||
26 | tst \rx, #0x20000000 | ||
27 | beq 1001b | ||
28 | .endm | ||
29 | |||
30 | .macro waituart, rd, rx | ||
31 | mov \rd, #0x2000000 | ||
32 | 1001: | ||
33 | subs \rd, \rd, #1 | ||
34 | bmi 1002f | ||
35 | mrc p14, 0, \rx, c0, c1, 0 | ||
36 | tst \rx, #0x20000000 | ||
37 | bne 1001b | ||
38 | 1002: | ||
39 | .endm | ||
40 | |||
41 | #elif defined(CONFIG_CPU_XSCALE) | ||
42 | |||
43 | .macro senduart, rd, rx | ||
44 | mcr p14, 0, \rd, c8, c0, 0 | ||
45 | .endm | ||
46 | |||
47 | .macro busyuart, rd, rx | ||
48 | 1001: | ||
49 | mrc p14, 0, \rx, c14, c0, 0 | ||
50 | tst \rx, #0x10000000 | ||
51 | beq 1001b | ||
52 | .endm | ||
53 | |||
54 | .macro waituart, rd, rx | ||
55 | mov \rd, #0x10000000 | ||
56 | 1001: | ||
57 | subs \rd, \rd, #1 | ||
58 | bmi 1002f | ||
59 | mrc p14, 0, \rx, c14, c0, 0 | ||
60 | tst \rx, #0x10000000 | ||
61 | bne 1001b | ||
62 | 1002: | ||
63 | .endm | ||
64 | |||
65 | #else | ||
66 | |||
67 | .macro senduart, rd, rx | ||
68 | mcr p14, 0, \rd, c1, c0, 0 | ||
69 | .endm | ||
70 | |||
71 | .macro busyuart, rd, rx | ||
72 | 1001: | ||
73 | mrc p14, 0, \rx, c0, c0, 0 | ||
74 | tst \rx, #2 | ||
75 | beq 1001b | ||
76 | |||
77 | .endm | ||
78 | |||
79 | .macro waituart, rd, rx | ||
80 | mov \rd, #0x2000000 | ||
81 | 1001: | ||
82 | subs \rd, \rd, #1 | ||
83 | bmi 1002f | ||
84 | mrc p14, 0, \rx, c0, c0, 0 | ||
85 | tst \rx, #2 | ||
86 | bne 1001b | ||
87 | 1002: | ||
88 | .endm | ||
89 | |||
90 | #endif /* CONFIG_CPU_V6 */ | ||
diff --git a/arch/arm/mach-mvebu/include/mach/debug-macro.S b/arch/arm/include/debug/mvebu.S index 22825760c7e1..865c6d02b332 100644 --- a/arch/arm/mach-mvebu/include/mach/debug-macro.S +++ b/arch/arm/include/debug/mvebu.S | |||
@@ -11,7 +11,8 @@ | |||
11 | * published by the Free Software Foundation. | 11 | * published by the Free Software Foundation. |
12 | */ | 12 | */ |
13 | 13 | ||
14 | #include <mach/armada-370-xp.h> | 14 | #define ARMADA_370_XP_REGS_PHYS_BASE 0xd0000000 |
15 | #define ARMADA_370_XP_REGS_VIRT_BASE 0xfeb00000 | ||
15 | 16 | ||
16 | .macro addruart, rp, rv, tmp | 17 | .macro addruart, rp, rv, tmp |
17 | ldr \rp, =ARMADA_370_XP_REGS_PHYS_BASE | 18 | ldr \rp, =ARMADA_370_XP_REGS_PHYS_BASE |
diff --git a/arch/arm/mach-picoxcell/include/mach/debug-macro.S b/arch/arm/include/debug/picoxcell.S index 58d4ee3ae949..7419deb1b948 100644 --- a/arch/arm/mach-picoxcell/include/mach/debug-macro.S +++ b/arch/arm/include/debug/picoxcell.S | |||
@@ -9,10 +9,10 @@ | |||
9 | * accesses to the 8250. | 9 | * accesses to the 8250. |
10 | */ | 10 | */ |
11 | #include <linux/serial_reg.h> | 11 | #include <linux/serial_reg.h> |
12 | #include <mach/hardware.h> | ||
13 | #include <mach/map.h> | ||
14 | 12 | ||
15 | #define UART_SHIFT 2 | 13 | #define UART_SHIFT 2 |
14 | #define PICOXCELL_UART1_BASE 0x80230000 | ||
15 | #define PHYS_TO_IO(x) (((x) & 0x00ffffff) | 0xfe000000) | ||
16 | 16 | ||
17 | .macro addruart, rp, rv, tmp | 17 | .macro addruart, rp, rv, tmp |
18 | ldr \rv, =PHYS_TO_IO(PICOXCELL_UART1_BASE) | 18 | ldr \rv, =PHYS_TO_IO(PICOXCELL_UART1_BASE) |
diff --git a/arch/arm/mach-socfpga/include/mach/debug-macro.S b/arch/arm/include/debug/socfpga.S index d6f26d23374f..d6f26d23374f 100644 --- a/arch/arm/mach-socfpga/include/mach/debug-macro.S +++ b/arch/arm/include/debug/socfpga.S | |||
diff --git a/arch/arm/mach-vexpress/include/mach/debug-macro.S b/arch/arm/include/debug/vexpress.S index 9f509f55d078..9f509f55d078 100644 --- a/arch/arm/mach-vexpress/include/mach/debug-macro.S +++ b/arch/arm/include/debug/vexpress.S | |||
diff --git a/arch/arm/kernel/debug.S b/arch/arm/kernel/debug.S index c45522c36787..66f711b2e0e8 100644 --- a/arch/arm/kernel/debug.S +++ b/arch/arm/kernel/debug.S | |||
@@ -20,90 +20,9 @@ | |||
20 | * references to these in a production kernel! | 20 | * references to these in a production kernel! |
21 | */ | 21 | */ |
22 | 22 | ||
23 | #if defined(CONFIG_DEBUG_ICEDCC) | 23 | #if !defined(CONFIG_DEBUG_SEMIHOSTING) |
24 | @@ debug using ARM EmbeddedICE DCC channel | 24 | #include CONFIG_DEBUG_LL_INCLUDE |
25 | 25 | #endif | |
26 | .macro addruart, rp, rv, tmp | ||
27 | .endm | ||
28 | |||
29 | #if defined(CONFIG_CPU_V6) || defined(CONFIG_CPU_V6K) || defined(CONFIG_CPU_V7) | ||
30 | |||
31 | .macro senduart, rd, rx | ||
32 | mcr p14, 0, \rd, c0, c5, 0 | ||
33 | .endm | ||
34 | |||
35 | .macro busyuart, rd, rx | ||
36 | 1001: | ||
37 | mrc p14, 0, \rx, c0, c1, 0 | ||
38 | tst \rx, #0x20000000 | ||
39 | beq 1001b | ||
40 | .endm | ||
41 | |||
42 | .macro waituart, rd, rx | ||
43 | mov \rd, #0x2000000 | ||
44 | 1001: | ||
45 | subs \rd, \rd, #1 | ||
46 | bmi 1002f | ||
47 | mrc p14, 0, \rx, c0, c1, 0 | ||
48 | tst \rx, #0x20000000 | ||
49 | bne 1001b | ||
50 | 1002: | ||
51 | .endm | ||
52 | |||
53 | #elif defined(CONFIG_CPU_XSCALE) | ||
54 | |||
55 | .macro senduart, rd, rx | ||
56 | mcr p14, 0, \rd, c8, c0, 0 | ||
57 | .endm | ||
58 | |||
59 | .macro busyuart, rd, rx | ||
60 | 1001: | ||
61 | mrc p14, 0, \rx, c14, c0, 0 | ||
62 | tst \rx, #0x10000000 | ||
63 | beq 1001b | ||
64 | .endm | ||
65 | |||
66 | .macro waituart, rd, rx | ||
67 | mov \rd, #0x10000000 | ||
68 | 1001: | ||
69 | subs \rd, \rd, #1 | ||
70 | bmi 1002f | ||
71 | mrc p14, 0, \rx, c14, c0, 0 | ||
72 | tst \rx, #0x10000000 | ||
73 | bne 1001b | ||
74 | 1002: | ||
75 | .endm | ||
76 | |||
77 | #else | ||
78 | |||
79 | .macro senduart, rd, rx | ||
80 | mcr p14, 0, \rd, c1, c0, 0 | ||
81 | .endm | ||
82 | |||
83 | .macro busyuart, rd, rx | ||
84 | 1001: | ||
85 | mrc p14, 0, \rx, c0, c0, 0 | ||
86 | tst \rx, #2 | ||
87 | beq 1001b | ||
88 | |||
89 | .endm | ||
90 | |||
91 | .macro waituart, rd, rx | ||
92 | mov \rd, #0x2000000 | ||
93 | 1001: | ||
94 | subs \rd, \rd, #1 | ||
95 | bmi 1002f | ||
96 | mrc p14, 0, \rx, c0, c0, 0 | ||
97 | tst \rx, #2 | ||
98 | bne 1001b | ||
99 | 1002: | ||
100 | .endm | ||
101 | |||
102 | #endif /* CONFIG_CPU_V6 */ | ||
103 | |||
104 | #elif !defined(CONFIG_DEBUG_SEMIHOSTING) | ||
105 | #include <mach/debug-macro.S> | ||
106 | #endif /* CONFIG_DEBUG_ICEDCC */ | ||
107 | 26 | ||
108 | #ifdef CONFIG_MMU | 27 | #ifdef CONFIG_MMU |
109 | .macro addruart_current, rx, tmp1, tmp2 | 28 | .macro addruart_current, rx, tmp1, tmp2 |
diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S index 3db960e20cb8..9874d0741191 100644 --- a/arch/arm/kernel/head.S +++ b/arch/arm/kernel/head.S | |||
@@ -23,8 +23,8 @@ | |||
23 | #include <asm/thread_info.h> | 23 | #include <asm/thread_info.h> |
24 | #include <asm/pgtable.h> | 24 | #include <asm/pgtable.h> |
25 | 25 | ||
26 | #ifdef CONFIG_DEBUG_LL | 26 | #if defined(CONFIG_DEBUG_LL) && !defined(CONFIG_DEBUG_SEMIHOSTING) |
27 | #include <mach/debug-macro.S> | 27 | #include CONFIG_DEBUG_LL_INCLUDE |
28 | #endif | 28 | #endif |
29 | 29 | ||
30 | /* | 30 | /* |
diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c index a81dcecc7343..725f9f2a9541 100644 --- a/arch/arm/kernel/setup.c +++ b/arch/arm/kernel/setup.c | |||
@@ -977,8 +977,10 @@ void __init setup_arch(char **cmdline_p) | |||
977 | unflatten_device_tree(); | 977 | unflatten_device_tree(); |
978 | 978 | ||
979 | #ifdef CONFIG_SMP | 979 | #ifdef CONFIG_SMP |
980 | if (is_smp()) | 980 | if (is_smp()) { |
981 | smp_set_ops(mdesc->smp); | ||
981 | smp_init_cpus(); | 982 | smp_init_cpus(); |
983 | } | ||
982 | #endif | 984 | #endif |
983 | reserve_crashkernel(); | 985 | reserve_crashkernel(); |
984 | 986 | ||
diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c index ebd8ad274d76..aa4ffe6e5ecf 100644 --- a/arch/arm/kernel/smp.c +++ b/arch/arm/kernel/smp.c | |||
@@ -19,7 +19,6 @@ | |||
19 | #include <linux/mm.h> | 19 | #include <linux/mm.h> |
20 | #include <linux/err.h> | 20 | #include <linux/err.h> |
21 | #include <linux/cpu.h> | 21 | #include <linux/cpu.h> |
22 | #include <linux/smp.h> | ||
23 | #include <linux/seq_file.h> | 22 | #include <linux/seq_file.h> |
24 | #include <linux/irq.h> | 23 | #include <linux/irq.h> |
25 | #include <linux/percpu.h> | 24 | #include <linux/percpu.h> |
@@ -27,6 +26,7 @@ | |||
27 | #include <linux/completion.h> | 26 | #include <linux/completion.h> |
28 | 27 | ||
29 | #include <linux/atomic.h> | 28 | #include <linux/atomic.h> |
29 | #include <asm/smp.h> | ||
30 | #include <asm/cacheflush.h> | 30 | #include <asm/cacheflush.h> |
31 | #include <asm/cpu.h> | 31 | #include <asm/cpu.h> |
32 | #include <asm/cputype.h> | 32 | #include <asm/cputype.h> |
@@ -42,6 +42,7 @@ | |||
42 | #include <asm/ptrace.h> | 42 | #include <asm/ptrace.h> |
43 | #include <asm/localtimer.h> | 43 | #include <asm/localtimer.h> |
44 | #include <asm/smp_plat.h> | 44 | #include <asm/smp_plat.h> |
45 | #include <asm/mach/arch.h> | ||
45 | 46 | ||
46 | /* | 47 | /* |
47 | * as from 2.5, kernels no longer have an init_tasks structure | 48 | * as from 2.5, kernels no longer have an init_tasks structure |
@@ -50,6 +51,12 @@ | |||
50 | */ | 51 | */ |
51 | struct secondary_data secondary_data; | 52 | struct secondary_data secondary_data; |
52 | 53 | ||
54 | /* | ||
55 | * control for which core is the next to come out of the secondary | ||
56 | * boot "holding pen" | ||
57 | */ | ||
58 | volatile int __cpuinitdata pen_release = -1; | ||
59 | |||
53 | enum ipi_msg_type { | 60 | enum ipi_msg_type { |
54 | IPI_TIMER = 2, | 61 | IPI_TIMER = 2, |
55 | IPI_RESCHEDULE, | 62 | IPI_RESCHEDULE, |
@@ -60,6 +67,14 @@ enum ipi_msg_type { | |||
60 | 67 | ||
61 | static DECLARE_COMPLETION(cpu_running); | 68 | static DECLARE_COMPLETION(cpu_running); |
62 | 69 | ||
70 | static struct smp_operations smp_ops; | ||
71 | |||
72 | void __init smp_set_ops(struct smp_operations *ops) | ||
73 | { | ||
74 | if (ops) | ||
75 | smp_ops = *ops; | ||
76 | }; | ||
77 | |||
63 | int __cpuinit __cpu_up(unsigned int cpu, struct task_struct *idle) | 78 | int __cpuinit __cpu_up(unsigned int cpu, struct task_struct *idle) |
64 | { | 79 | { |
65 | int ret; | 80 | int ret; |
@@ -100,13 +115,64 @@ int __cpuinit __cpu_up(unsigned int cpu, struct task_struct *idle) | |||
100 | return ret; | 115 | return ret; |
101 | } | 116 | } |
102 | 117 | ||
118 | /* platform specific SMP operations */ | ||
119 | void __init smp_init_cpus(void) | ||
120 | { | ||
121 | if (smp_ops.smp_init_cpus) | ||
122 | smp_ops.smp_init_cpus(); | ||
123 | } | ||
124 | |||
125 | static void __init platform_smp_prepare_cpus(unsigned int max_cpus) | ||
126 | { | ||
127 | if (smp_ops.smp_prepare_cpus) | ||
128 | smp_ops.smp_prepare_cpus(max_cpus); | ||
129 | } | ||
130 | |||
131 | static void __cpuinit platform_secondary_init(unsigned int cpu) | ||
132 | { | ||
133 | if (smp_ops.smp_secondary_init) | ||
134 | smp_ops.smp_secondary_init(cpu); | ||
135 | } | ||
136 | |||
137 | int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle) | ||
138 | { | ||
139 | if (smp_ops.smp_boot_secondary) | ||
140 | return smp_ops.smp_boot_secondary(cpu, idle); | ||
141 | return -ENOSYS; | ||
142 | } | ||
143 | |||
103 | #ifdef CONFIG_HOTPLUG_CPU | 144 | #ifdef CONFIG_HOTPLUG_CPU |
104 | static void percpu_timer_stop(void); | 145 | static void percpu_timer_stop(void); |
105 | 146 | ||
147 | static int platform_cpu_kill(unsigned int cpu) | ||
148 | { | ||
149 | if (smp_ops.cpu_kill) | ||
150 | return smp_ops.cpu_kill(cpu); | ||
151 | return 1; | ||
152 | } | ||
153 | |||
154 | static void platform_cpu_die(unsigned int cpu) | ||
155 | { | ||
156 | if (smp_ops.cpu_die) | ||
157 | smp_ops.cpu_die(cpu); | ||
158 | } | ||
159 | |||
160 | static int platform_cpu_disable(unsigned int cpu) | ||
161 | { | ||
162 | if (smp_ops.cpu_disable) | ||
163 | return smp_ops.cpu_disable(cpu); | ||
164 | |||
165 | /* | ||
166 | * By default, allow disabling all CPUs except the first one, | ||
167 | * since this is special on a lot of platforms, e.g. because | ||
168 | * of clock tick interrupts. | ||
169 | */ | ||
170 | return cpu == 0 ? -EPERM : 0; | ||
171 | } | ||
106 | /* | 172 | /* |
107 | * __cpu_disable runs on the processor to be shutdown. | 173 | * __cpu_disable runs on the processor to be shutdown. |
108 | */ | 174 | */ |
109 | int __cpu_disable(void) | 175 | int __cpuinit __cpu_disable(void) |
110 | { | 176 | { |
111 | unsigned int cpu = smp_processor_id(); | 177 | unsigned int cpu = smp_processor_id(); |
112 | int ret; | 178 | int ret; |
@@ -149,7 +215,7 @@ static DECLARE_COMPLETION(cpu_died); | |||
149 | * called on the thread which is asking for a CPU to be shutdown - | 215 | * called on the thread which is asking for a CPU to be shutdown - |
150 | * waits until shutdown has completed, or it is timed out. | 216 | * waits until shutdown has completed, or it is timed out. |
151 | */ | 217 | */ |
152 | void __cpu_die(unsigned int cpu) | 218 | void __cpuinit __cpu_die(unsigned int cpu) |
153 | { | 219 | { |
154 | if (!wait_for_completion_timeout(&cpu_died, msecs_to_jiffies(5000))) { | 220 | if (!wait_for_completion_timeout(&cpu_died, msecs_to_jiffies(5000))) { |
155 | pr_err("CPU%u: cpu didn't die\n", cpu); | 221 | pr_err("CPU%u: cpu didn't die\n", cpu); |
diff --git a/arch/arm/mach-at91/Makefile.boot b/arch/arm/mach-at91/Makefile.boot index 30bb7332e30b..5309f9b6aabc 100644 --- a/arch/arm/mach-at91/Makefile.boot +++ b/arch/arm/mach-at91/Makefile.boot | |||
@@ -12,27 +12,3 @@ else | |||
12 | params_phys-y := 0x20000100 | 12 | params_phys-y := 0x20000100 |
13 | initrd_phys-y := 0x20410000 | 13 | initrd_phys-y := 0x20410000 |
14 | endif | 14 | endif |
15 | |||
16 | # Keep dtb files sorted alphabetically for each SoC | ||
17 | # sam9260 | ||
18 | dtb-$(CONFIG_MACH_AT91SAM_DT) += aks-cdu.dtb | ||
19 | dtb-$(CONFIG_MACH_AT91SAM_DT) += ethernut5.dtb | ||
20 | dtb-$(CONFIG_MACH_AT91SAM_DT) += evk-pro3.dtb | ||
21 | dtb-$(CONFIG_MACH_AT91SAM_DT) += tny_a9260.dtb | ||
22 | dtb-$(CONFIG_MACH_AT91SAM_DT) += usb_a9260.dtb | ||
23 | # sam9263 | ||
24 | dtb-$(CONFIG_MACH_AT91SAM_DT) += at91sam9263ek.dtb | ||
25 | dtb-$(CONFIG_MACH_AT91SAM_DT) += tny_a9263.dtb | ||
26 | dtb-$(CONFIG_MACH_AT91SAM_DT) += usb_a9263.dtb | ||
27 | # sam9g20 | ||
28 | dtb-$(CONFIG_MACH_AT91SAM_DT) += at91sam9g20ek.dtb | ||
29 | dtb-$(CONFIG_MACH_AT91SAM_DT) += at91sam9g20ek_2mmc.dtb | ||
30 | dtb-$(CONFIG_MACH_AT91SAM_DT) += kizbox.dtb | ||
31 | dtb-$(CONFIG_MACH_AT91SAM_DT) += tny_a9g20.dtb | ||
32 | dtb-$(CONFIG_MACH_AT91SAM_DT) += usb_a9g20.dtb | ||
33 | # sam9g45 | ||
34 | dtb-$(CONFIG_MACH_AT91SAM_DT) += at91sam9m10g45ek.dtb | ||
35 | # sam9n12 | ||
36 | dtb-$(CONFIG_MACH_AT91SAM_DT) += at91sam9n12ek.dtb | ||
37 | # sam9x5 | ||
38 | dtb-$(CONFIG_MACH_AT91SAM_DT) += at91sam9g25ek.dtb | ||
diff --git a/arch/arm/mach-at91/at91sam9g45_devices.c b/arch/arm/mach-at91/at91sam9g45_devices.c index 1b47319ca00b..e4c3b3709204 100644 --- a/arch/arm/mach-at91/at91sam9g45_devices.c +++ b/arch/arm/mach-at91/at91sam9g45_devices.c | |||
@@ -31,7 +31,7 @@ | |||
31 | #include <mach/at91sam9g45_matrix.h> | 31 | #include <mach/at91sam9g45_matrix.h> |
32 | #include <mach/at91_matrix.h> | 32 | #include <mach/at91_matrix.h> |
33 | #include <mach/at91sam9_smc.h> | 33 | #include <mach/at91sam9_smc.h> |
34 | #include <mach/at_hdmac.h> | 34 | #include <linux/platform_data/dma-atmel.h> |
35 | #include <mach/atmel-mci.h> | 35 | #include <mach/atmel-mci.h> |
36 | 36 | ||
37 | #include <media/atmel-isi.h> | 37 | #include <media/atmel-isi.h> |
diff --git a/arch/arm/mach-at91/at91sam9rl_devices.c b/arch/arm/mach-at91/at91sam9rl_devices.c index 1fad22f7e21f..deafea0e493d 100644 --- a/arch/arm/mach-at91/at91sam9rl_devices.c +++ b/arch/arm/mach-at91/at91sam9rl_devices.c | |||
@@ -22,7 +22,7 @@ | |||
22 | #include <mach/at91sam9rl_matrix.h> | 22 | #include <mach/at91sam9rl_matrix.h> |
23 | #include <mach/at91_matrix.h> | 23 | #include <mach/at91_matrix.h> |
24 | #include <mach/at91sam9_smc.h> | 24 | #include <mach/at91sam9_smc.h> |
25 | #include <mach/at_hdmac.h> | 25 | #include <linux/platform_data/dma-atmel.h> |
26 | 26 | ||
27 | #include "generic.h" | 27 | #include "generic.h" |
28 | 28 | ||
diff --git a/arch/arm/mach-at91/include/mach/at_hdmac.h b/arch/arm/mach-at91/include/mach/at_hdmac.h deleted file mode 100644 index cab0997be3de..000000000000 --- a/arch/arm/mach-at91/include/mach/at_hdmac.h +++ /dev/null | |||
@@ -1,61 +0,0 @@ | |||
1 | /* | ||
2 | * Header file for the Atmel AHB DMA Controller driver | ||
3 | * | ||
4 | * Copyright (C) 2008 Atmel Corporation | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | */ | ||
11 | #ifndef AT_HDMAC_H | ||
12 | #define AT_HDMAC_H | ||
13 | |||
14 | #include <linux/dmaengine.h> | ||
15 | |||
16 | /** | ||
17 | * struct at_dma_platform_data - Controller configuration parameters | ||
18 | * @nr_channels: Number of channels supported by hardware (max 8) | ||
19 | * @cap_mask: dma_capability flags supported by the platform | ||
20 | */ | ||
21 | struct at_dma_platform_data { | ||
22 | unsigned int nr_channels; | ||
23 | dma_cap_mask_t cap_mask; | ||
24 | }; | ||
25 | |||
26 | /** | ||
27 | * struct at_dma_slave - Controller-specific information about a slave | ||
28 | * @dma_dev: required DMA master device | ||
29 | * @cfg: Platform-specific initializer for the CFG register | ||
30 | */ | ||
31 | struct at_dma_slave { | ||
32 | struct device *dma_dev; | ||
33 | u32 cfg; | ||
34 | }; | ||
35 | |||
36 | |||
37 | /* Platform-configurable bits in CFG */ | ||
38 | #define ATC_SRC_PER(h) (0xFU & (h)) /* Channel src rq associated with periph handshaking ifc h */ | ||
39 | #define ATC_DST_PER(h) ((0xFU & (h)) << 4) /* Channel dst rq associated with periph handshaking ifc h */ | ||
40 | #define ATC_SRC_REP (0x1 << 8) /* Source Replay Mod */ | ||
41 | #define ATC_SRC_H2SEL (0x1 << 9) /* Source Handshaking Mod */ | ||
42 | #define ATC_SRC_H2SEL_SW (0x0 << 9) | ||
43 | #define ATC_SRC_H2SEL_HW (0x1 << 9) | ||
44 | #define ATC_DST_REP (0x1 << 12) /* Destination Replay Mod */ | ||
45 | #define ATC_DST_H2SEL (0x1 << 13) /* Destination Handshaking Mod */ | ||
46 | #define ATC_DST_H2SEL_SW (0x0 << 13) | ||
47 | #define ATC_DST_H2SEL_HW (0x1 << 13) | ||
48 | #define ATC_SOD (0x1 << 16) /* Stop On Done */ | ||
49 | #define ATC_LOCK_IF (0x1 << 20) /* Interface Lock */ | ||
50 | #define ATC_LOCK_B (0x1 << 21) /* AHB Bus Lock */ | ||
51 | #define ATC_LOCK_IF_L (0x1 << 22) /* Master Interface Arbiter Lock */ | ||
52 | #define ATC_LOCK_IF_L_CHUNK (0x0 << 22) | ||
53 | #define ATC_LOCK_IF_L_BUFFER (0x1 << 22) | ||
54 | #define ATC_AHB_PROT_MASK (0x7 << 24) /* AHB Protection */ | ||
55 | #define ATC_FIFOCFG_MASK (0x3 << 28) /* FIFO Request Configuration */ | ||
56 | #define ATC_FIFOCFG_LARGESTBURST (0x0 << 28) | ||
57 | #define ATC_FIFOCFG_HALFFIFO (0x1 << 28) | ||
58 | #define ATC_FIFOCFG_ENOUGHSPACE (0x2 << 28) | ||
59 | |||
60 | |||
61 | #endif /* AT_HDMAC_H */ | ||
diff --git a/arch/arm/mach-at91/include/mach/atmel-mci.h b/arch/arm/mach-at91/include/mach/atmel-mci.h index 998cb0c07135..cd580a12e904 100644 --- a/arch/arm/mach-at91/include/mach/atmel-mci.h +++ b/arch/arm/mach-at91/include/mach/atmel-mci.h | |||
@@ -1,7 +1,7 @@ | |||
1 | #ifndef __MACH_ATMEL_MCI_H | 1 | #ifndef __MACH_ATMEL_MCI_H |
2 | #define __MACH_ATMEL_MCI_H | 2 | #define __MACH_ATMEL_MCI_H |
3 | 3 | ||
4 | #include <mach/at_hdmac.h> | 4 | #include <linux/platform_data/dma-atmel.h> |
5 | 5 | ||
6 | /** | 6 | /** |
7 | * struct mci_dma_data - DMA data for MCI interface | 7 | * struct mci_dma_data - DMA data for MCI interface |
diff --git a/arch/arm/mach-bcm2835/Makefile.boot b/arch/arm/mach-bcm2835/Makefile.boot index 0831fd1764e7..2d30e17f5b69 100644 --- a/arch/arm/mach-bcm2835/Makefile.boot +++ b/arch/arm/mach-bcm2835/Makefile.boot | |||
@@ -1,5 +1,3 @@ | |||
1 | zreladdr-y := 0x00008000 | 1 | zreladdr-y := 0x00008000 |
2 | params_phys-y := 0x00000100 | 2 | params_phys-y := 0x00000100 |
3 | initrd_phys-y := 0x00800000 | 3 | initrd_phys-y := 0x00800000 |
4 | |||
5 | dtb-y += bcm2835-rpi-b.dtb | ||
diff --git a/arch/arm/mach-davinci/aemif.c b/arch/arm/mach-davinci/aemif.c index 1ce70a91f2e9..f091a9010c2f 100644 --- a/arch/arm/mach-davinci/aemif.c +++ b/arch/arm/mach-davinci/aemif.c | |||
@@ -15,7 +15,7 @@ | |||
15 | #include <linux/module.h> | 15 | #include <linux/module.h> |
16 | #include <linux/time.h> | 16 | #include <linux/time.h> |
17 | 17 | ||
18 | #include <mach/aemif.h> | 18 | #include <linux/platform_data/mtd-davinci-aemif.h> |
19 | 19 | ||
20 | /* Timing value configuration */ | 20 | /* Timing value configuration */ |
21 | 21 | ||
diff --git a/arch/arm/mach-davinci/board-da830-evm.c b/arch/arm/mach-davinci/board-da830-evm.c index 0031864e7f11..95b5e102ceb1 100644 --- a/arch/arm/mach-davinci/board-da830-evm.c +++ b/arch/arm/mach-davinci/board-da830-evm.c | |||
@@ -28,11 +28,11 @@ | |||
28 | 28 | ||
29 | #include <mach/cp_intc.h> | 29 | #include <mach/cp_intc.h> |
30 | #include <mach/mux.h> | 30 | #include <mach/mux.h> |
31 | #include <mach/nand.h> | 31 | #include <linux/platform_data/mtd-davinci.h> |
32 | #include <mach/da8xx.h> | 32 | #include <mach/da8xx.h> |
33 | #include <mach/usb.h> | 33 | #include <linux/platform_data/usb-davinci.h> |
34 | #include <mach/aemif.h> | 34 | #include <linux/platform_data/mtd-davinci-aemif.h> |
35 | #include <mach/spi.h> | 35 | #include <linux/platform_data/spi-davinci.h> |
36 | 36 | ||
37 | #define DA830_EVM_PHY_ID "" | 37 | #define DA830_EVM_PHY_ID "" |
38 | /* | 38 | /* |
diff --git a/arch/arm/mach-davinci/board-da850-evm.c b/arch/arm/mach-davinci/board-da850-evm.c index 0149fb453be3..1295e616ceee 100644 --- a/arch/arm/mach-davinci/board-da850-evm.c +++ b/arch/arm/mach-davinci/board-da850-evm.c | |||
@@ -40,10 +40,10 @@ | |||
40 | 40 | ||
41 | #include <mach/cp_intc.h> | 41 | #include <mach/cp_intc.h> |
42 | #include <mach/da8xx.h> | 42 | #include <mach/da8xx.h> |
43 | #include <mach/nand.h> | 43 | #include <linux/platform_data/mtd-davinci.h> |
44 | #include <mach/mux.h> | 44 | #include <mach/mux.h> |
45 | #include <mach/aemif.h> | 45 | #include <linux/platform_data/mtd-davinci-aemif.h> |
46 | #include <mach/spi.h> | 46 | #include <linux/platform_data/spi-davinci.h> |
47 | 47 | ||
48 | #define DA850_EVM_PHY_ID "davinci_mdio-0:00" | 48 | #define DA850_EVM_PHY_ID "davinci_mdio-0:00" |
49 | #define DA850_LCD_PWR_PIN GPIO_TO_PIN(2, 8) | 49 | #define DA850_LCD_PWR_PIN GPIO_TO_PIN(2, 8) |
diff --git a/arch/arm/mach-davinci/board-dm355-evm.c b/arch/arm/mach-davinci/board-dm355-evm.c index 1c7b1f46a8f3..88ebea89abdf 100644 --- a/arch/arm/mach-davinci/board-dm355-evm.c +++ b/arch/arm/mach-davinci/board-dm355-evm.c | |||
@@ -26,11 +26,11 @@ | |||
26 | #include <asm/mach-types.h> | 26 | #include <asm/mach-types.h> |
27 | #include <asm/mach/arch.h> | 27 | #include <asm/mach/arch.h> |
28 | 28 | ||
29 | #include <mach/i2c.h> | 29 | #include <linux/platform_data/i2c-davinci.h> |
30 | #include <mach/serial.h> | 30 | #include <mach/serial.h> |
31 | #include <mach/nand.h> | 31 | #include <linux/platform_data/mtd-davinci.h> |
32 | #include <mach/mmc.h> | 32 | #include <linux/platform_data/mmc-davinci.h> |
33 | #include <mach/usb.h> | 33 | #include <linux/platform_data/usb-davinci.h> |
34 | 34 | ||
35 | #include "davinci.h" | 35 | #include "davinci.h" |
36 | 36 | ||
diff --git a/arch/arm/mach-davinci/board-dm355-leopard.c b/arch/arm/mach-davinci/board-dm355-leopard.c index 8e7703213b08..2f88103c6459 100644 --- a/arch/arm/mach-davinci/board-dm355-leopard.c +++ b/arch/arm/mach-davinci/board-dm355-leopard.c | |||
@@ -23,11 +23,11 @@ | |||
23 | #include <asm/mach-types.h> | 23 | #include <asm/mach-types.h> |
24 | #include <asm/mach/arch.h> | 24 | #include <asm/mach/arch.h> |
25 | 25 | ||
26 | #include <mach/i2c.h> | 26 | #include <linux/platform_data/i2c-davinci.h> |
27 | #include <mach/serial.h> | 27 | #include <mach/serial.h> |
28 | #include <mach/nand.h> | 28 | #include <linux/platform_data/mtd-davinci.h> |
29 | #include <mach/mmc.h> | 29 | #include <linux/platform_data/mmc-davinci.h> |
30 | #include <mach/usb.h> | 30 | #include <linux/platform_data/usb-davinci.h> |
31 | 31 | ||
32 | #include "davinci.h" | 32 | #include "davinci.h" |
33 | 33 | ||
diff --git a/arch/arm/mach-davinci/board-dm365-evm.c b/arch/arm/mach-davinci/board-dm365-evm.c index 688a9c556dc9..1b4a8adcfdc9 100644 --- a/arch/arm/mach-davinci/board-dm365-evm.c +++ b/arch/arm/mach-davinci/board-dm365-evm.c | |||
@@ -33,11 +33,11 @@ | |||
33 | 33 | ||
34 | #include <mach/mux.h> | 34 | #include <mach/mux.h> |
35 | #include <mach/common.h> | 35 | #include <mach/common.h> |
36 | #include <mach/i2c.h> | 36 | #include <linux/platform_data/i2c-davinci.h> |
37 | #include <mach/serial.h> | 37 | #include <mach/serial.h> |
38 | #include <mach/mmc.h> | 38 | #include <linux/platform_data/mmc-davinci.h> |
39 | #include <mach/nand.h> | 39 | #include <linux/platform_data/mtd-davinci.h> |
40 | #include <mach/keyscan.h> | 40 | #include <linux/platform_data/keyscan-davinci.h> |
41 | 41 | ||
42 | #include <media/tvp514x.h> | 42 | #include <media/tvp514x.h> |
43 | 43 | ||
diff --git a/arch/arm/mach-davinci/board-dm644x-evm.c b/arch/arm/mach-davinci/board-dm644x-evm.c index d34ed55912b2..ca72fc4b8cca 100644 --- a/arch/arm/mach-davinci/board-dm644x-evm.c +++ b/arch/arm/mach-davinci/board-dm644x-evm.c | |||
@@ -31,13 +31,13 @@ | |||
31 | #include <asm/mach/arch.h> | 31 | #include <asm/mach/arch.h> |
32 | 32 | ||
33 | #include <mach/common.h> | 33 | #include <mach/common.h> |
34 | #include <mach/i2c.h> | 34 | #include <linux/platform_data/i2c-davinci.h> |
35 | #include <mach/serial.h> | 35 | #include <mach/serial.h> |
36 | #include <mach/mux.h> | 36 | #include <mach/mux.h> |
37 | #include <mach/nand.h> | 37 | #include <linux/platform_data/mtd-davinci.h> |
38 | #include <mach/mmc.h> | 38 | #include <linux/platform_data/mmc-davinci.h> |
39 | #include <mach/usb.h> | 39 | #include <linux/platform_data/usb-davinci.h> |
40 | #include <mach/aemif.h> | 40 | #include <linux/platform_data/mtd-davinci-aemif.h> |
41 | 41 | ||
42 | #include "davinci.h" | 42 | #include "davinci.h" |
43 | 43 | ||
diff --git a/arch/arm/mach-davinci/board-dm646x-evm.c b/arch/arm/mach-davinci/board-dm646x-evm.c index 958679a20e13..9944367b4931 100644 --- a/arch/arm/mach-davinci/board-dm646x-evm.c +++ b/arch/arm/mach-davinci/board-dm646x-evm.c | |||
@@ -38,11 +38,11 @@ | |||
38 | 38 | ||
39 | #include <mach/common.h> | 39 | #include <mach/common.h> |
40 | #include <mach/serial.h> | 40 | #include <mach/serial.h> |
41 | #include <mach/i2c.h> | 41 | #include <linux/platform_data/i2c-davinci.h> |
42 | #include <mach/nand.h> | 42 | #include <linux/platform_data/mtd-davinci.h> |
43 | #include <mach/clock.h> | 43 | #include <mach/clock.h> |
44 | #include <mach/cdce949.h> | 44 | #include <mach/cdce949.h> |
45 | #include <mach/aemif.h> | 45 | #include <linux/platform_data/mtd-davinci-aemif.h> |
46 | 46 | ||
47 | #include "davinci.h" | 47 | #include "davinci.h" |
48 | #include "clock.h" | 48 | #include "clock.h" |
diff --git a/arch/arm/mach-davinci/board-mityomapl138.c b/arch/arm/mach-davinci/board-mityomapl138.c index beecde3a1d2f..43e4a0d663fa 100644 --- a/arch/arm/mach-davinci/board-mityomapl138.c +++ b/arch/arm/mach-davinci/board-mityomapl138.c | |||
@@ -26,9 +26,9 @@ | |||
26 | #include <mach/common.h> | 26 | #include <mach/common.h> |
27 | #include <mach/cp_intc.h> | 27 | #include <mach/cp_intc.h> |
28 | #include <mach/da8xx.h> | 28 | #include <mach/da8xx.h> |
29 | #include <mach/nand.h> | 29 | #include <linux/platform_data/mtd-davinci.h> |
30 | #include <mach/mux.h> | 30 | #include <mach/mux.h> |
31 | #include <mach/spi.h> | 31 | #include <linux/platform_data/spi-davinci.h> |
32 | 32 | ||
33 | #define MITYOMAPL138_PHY_ID "" | 33 | #define MITYOMAPL138_PHY_ID "" |
34 | 34 | ||
diff --git a/arch/arm/mach-davinci/board-neuros-osd2.c b/arch/arm/mach-davinci/board-neuros-osd2.c index f6b9fc70161b..144bf31d68dd 100644 --- a/arch/arm/mach-davinci/board-neuros-osd2.c +++ b/arch/arm/mach-davinci/board-neuros-osd2.c | |||
@@ -31,12 +31,12 @@ | |||
31 | #include <asm/mach/arch.h> | 31 | #include <asm/mach/arch.h> |
32 | 32 | ||
33 | #include <mach/common.h> | 33 | #include <mach/common.h> |
34 | #include <mach/i2c.h> | 34 | #include <linux/platform_data/i2c-davinci.h> |
35 | #include <mach/serial.h> | 35 | #include <mach/serial.h> |
36 | #include <mach/mux.h> | 36 | #include <mach/mux.h> |
37 | #include <mach/nand.h> | 37 | #include <linux/platform_data/mtd-davinci.h> |
38 | #include <mach/mmc.h> | 38 | #include <linux/platform_data/mmc-davinci.h> |
39 | #include <mach/usb.h> | 39 | #include <linux/platform_data/usb-davinci.h> |
40 | 40 | ||
41 | #include "davinci.h" | 41 | #include "davinci.h" |
42 | 42 | ||
diff --git a/arch/arm/mach-davinci/board-sffsdr.c b/arch/arm/mach-davinci/board-sffsdr.c index 9078acf94bac..6957787fa7f3 100644 --- a/arch/arm/mach-davinci/board-sffsdr.c +++ b/arch/arm/mach-davinci/board-sffsdr.c | |||
@@ -36,10 +36,10 @@ | |||
36 | #include <asm/mach/flash.h> | 36 | #include <asm/mach/flash.h> |
37 | 37 | ||
38 | #include <mach/common.h> | 38 | #include <mach/common.h> |
39 | #include <mach/i2c.h> | 39 | #include <linux/platform_data/i2c-davinci.h> |
40 | #include <mach/serial.h> | 40 | #include <mach/serial.h> |
41 | #include <mach/mux.h> | 41 | #include <mach/mux.h> |
42 | #include <mach/usb.h> | 42 | #include <linux/platform_data/usb-davinci.h> |
43 | 43 | ||
44 | #include "davinci.h" | 44 | #include "davinci.h" |
45 | 45 | ||
diff --git a/arch/arm/mach-davinci/davinci.h b/arch/arm/mach-davinci/davinci.h index 8db0fc6809dd..a37fc44e29bc 100644 --- a/arch/arm/mach-davinci/davinci.h +++ b/arch/arm/mach-davinci/davinci.h | |||
@@ -24,7 +24,7 @@ | |||
24 | #include <linux/spi/spi.h> | 24 | #include <linux/spi/spi.h> |
25 | 25 | ||
26 | #include <mach/asp.h> | 26 | #include <mach/asp.h> |
27 | #include <mach/keyscan.h> | 27 | #include <linux/platform_data/keyscan-davinci.h> |
28 | #include <mach/hardware.h> | 28 | #include <mach/hardware.h> |
29 | 29 | ||
30 | #include <media/davinci/vpfe_capture.h> | 30 | #include <media/davinci/vpfe_capture.h> |
diff --git a/arch/arm/mach-davinci/devices.c b/arch/arm/mach-davinci/devices.c index d2f9666284a7..3a42b6f79aa9 100644 --- a/arch/arm/mach-davinci/devices.c +++ b/arch/arm/mach-davinci/devices.c | |||
@@ -15,12 +15,12 @@ | |||
15 | #include <linux/io.h> | 15 | #include <linux/io.h> |
16 | 16 | ||
17 | #include <mach/hardware.h> | 17 | #include <mach/hardware.h> |
18 | #include <mach/i2c.h> | 18 | #include <linux/platform_data/i2c-davinci.h> |
19 | #include <mach/irqs.h> | 19 | #include <mach/irqs.h> |
20 | #include <mach/cputype.h> | 20 | #include <mach/cputype.h> |
21 | #include <mach/mux.h> | 21 | #include <mach/mux.h> |
22 | #include <mach/edma.h> | 22 | #include <mach/edma.h> |
23 | #include <mach/mmc.h> | 23 | #include <linux/platform_data/mmc-davinci.h> |
24 | #include <mach/time.h> | 24 | #include <mach/time.h> |
25 | 25 | ||
26 | #include "davinci.h" | 26 | #include "davinci.h" |
diff --git a/arch/arm/mach-davinci/dm355.c b/arch/arm/mach-davinci/dm355.c index 678cd99b7336..adbde33eca01 100644 --- a/arch/arm/mach-davinci/dm355.c +++ b/arch/arm/mach-davinci/dm355.c | |||
@@ -27,7 +27,7 @@ | |||
27 | #include <mach/serial.h> | 27 | #include <mach/serial.h> |
28 | #include <mach/common.h> | 28 | #include <mach/common.h> |
29 | #include <mach/asp.h> | 29 | #include <mach/asp.h> |
30 | #include <mach/spi.h> | 30 | #include <linux/platform_data/spi-davinci.h> |
31 | #include <mach/gpio-davinci.h> | 31 | #include <mach/gpio-davinci.h> |
32 | 32 | ||
33 | #include "davinci.h" | 33 | #include "davinci.h" |
diff --git a/arch/arm/mach-davinci/dm365.c b/arch/arm/mach-davinci/dm365.c index a50d49de1883..719e22f2a37e 100644 --- a/arch/arm/mach-davinci/dm365.c +++ b/arch/arm/mach-davinci/dm365.c | |||
@@ -30,8 +30,8 @@ | |||
30 | #include <mach/serial.h> | 30 | #include <mach/serial.h> |
31 | #include <mach/common.h> | 31 | #include <mach/common.h> |
32 | #include <mach/asp.h> | 32 | #include <mach/asp.h> |
33 | #include <mach/keyscan.h> | 33 | #include <linux/platform_data/keyscan-davinci.h> |
34 | #include <mach/spi.h> | 34 | #include <linux/platform_data/spi-davinci.h> |
35 | #include <mach/gpio-davinci.h> | 35 | #include <mach/gpio-davinci.h> |
36 | 36 | ||
37 | #include "davinci.h" | 37 | #include "davinci.h" |
diff --git a/arch/arm/mach-davinci/include/mach/aemif.h b/arch/arm/mach-davinci/include/mach/aemif.h deleted file mode 100644 index 05b293443097..000000000000 --- a/arch/arm/mach-davinci/include/mach/aemif.h +++ /dev/null | |||
@@ -1,36 +0,0 @@ | |||
1 | /* | ||
2 | * TI DaVinci AEMIF support | ||
3 | * | ||
4 | * Copyright 2010 (C) Texas Instruments, Inc. http://www.ti.com/ | ||
5 | * | ||
6 | * This file is licensed under the terms of the GNU General Public License | ||
7 | * version 2. This program is licensed "as is" without any warranty of any | ||
8 | * kind, whether express or implied. | ||
9 | */ | ||
10 | #ifndef _MACH_DAVINCI_AEMIF_H | ||
11 | #define _MACH_DAVINCI_AEMIF_H | ||
12 | |||
13 | #define NRCSR_OFFSET 0x00 | ||
14 | #define AWCCR_OFFSET 0x04 | ||
15 | #define A1CR_OFFSET 0x10 | ||
16 | |||
17 | #define ACR_ASIZE_MASK 0x3 | ||
18 | #define ACR_EW_MASK BIT(30) | ||
19 | #define ACR_SS_MASK BIT(31) | ||
20 | |||
21 | /* All timings in nanoseconds */ | ||
22 | struct davinci_aemif_timing { | ||
23 | u8 wsetup; | ||
24 | u8 wstrobe; | ||
25 | u8 whold; | ||
26 | |||
27 | u8 rsetup; | ||
28 | u8 rstrobe; | ||
29 | u8 rhold; | ||
30 | |||
31 | u8 ta; | ||
32 | }; | ||
33 | |||
34 | int davinci_aemif_setup_timing(struct davinci_aemif_timing *t, | ||
35 | void __iomem *base, unsigned cs); | ||
36 | #endif | ||
diff --git a/arch/arm/mach-davinci/include/mach/da8xx.h b/arch/arm/mach-davinci/include/mach/da8xx.h index a2f1f274f189..33e78ae2a254 100644 --- a/arch/arm/mach-davinci/include/mach/da8xx.h +++ b/arch/arm/mach-davinci/include/mach/da8xx.h | |||
@@ -19,12 +19,12 @@ | |||
19 | 19 | ||
20 | #include <mach/serial.h> | 20 | #include <mach/serial.h> |
21 | #include <mach/edma.h> | 21 | #include <mach/edma.h> |
22 | #include <mach/i2c.h> | ||
23 | #include <mach/asp.h> | 22 | #include <mach/asp.h> |
24 | #include <mach/mmc.h> | ||
25 | #include <mach/usb.h> | ||
26 | #include <mach/pm.h> | 23 | #include <mach/pm.h> |
27 | #include <mach/spi.h> | 24 | #include <linux/platform_data/i2c-davinci.h> |
25 | #include <linux/platform_data/mmc-davinci.h> | ||
26 | #include <linux/platform_data/usb-davinci.h> | ||
27 | #include <linux/platform_data/spi-davinci.h> | ||
28 | 28 | ||
29 | extern void __iomem *da8xx_syscfg0_base; | 29 | extern void __iomem *da8xx_syscfg0_base; |
30 | extern void __iomem *da8xx_syscfg1_base; | 30 | extern void __iomem *da8xx_syscfg1_base; |
diff --git a/arch/arm/mach-davinci/include/mach/i2c.h b/arch/arm/mach-davinci/include/mach/i2c.h deleted file mode 100644 index 2312d197dfb7..000000000000 --- a/arch/arm/mach-davinci/include/mach/i2c.h +++ /dev/null | |||
@@ -1,26 +0,0 @@ | |||
1 | /* | ||
2 | * DaVinci I2C controller platform_device info | ||
3 | * | ||
4 | * Author: Vladimir Barinov, MontaVista Software, Inc. <source@mvista.com> | ||
5 | * | ||
6 | * 2007 (c) MontaVista Software, Inc. This file is licensed under | ||
7 | * the terms of the GNU General Public License version 2. This program | ||
8 | * is licensed "as is" without any warranty of any kind, whether express | ||
9 | * or implied. | ||
10 | */ | ||
11 | |||
12 | #ifndef __ASM_ARCH_I2C_H | ||
13 | #define __ASM_ARCH_I2C_H | ||
14 | |||
15 | /* All frequencies are expressed in kHz */ | ||
16 | struct davinci_i2c_platform_data { | ||
17 | unsigned int bus_freq; /* standard bus frequency (kHz) */ | ||
18 | unsigned int bus_delay; /* post-transaction delay (usec) */ | ||
19 | unsigned int sda_pin; /* GPIO pin ID to use for SDA */ | ||
20 | unsigned int scl_pin; /* GPIO pin ID to use for SCL */ | ||
21 | }; | ||
22 | |||
23 | /* for board setup code */ | ||
24 | void davinci_init_i2c(struct davinci_i2c_platform_data *); | ||
25 | |||
26 | #endif /* __ASM_ARCH_I2C_H */ | ||
diff --git a/arch/arm/mach-davinci/include/mach/keyscan.h b/arch/arm/mach-davinci/include/mach/keyscan.h deleted file mode 100644 index 7a560e05bda8..000000000000 --- a/arch/arm/mach-davinci/include/mach/keyscan.h +++ /dev/null | |||
@@ -1,42 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2009 Texas Instruments, Inc | ||
3 | * | ||
4 | * Author: Miguel Aguilar <miguel.aguilar@ridgerun.com> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License | ||
17 | * along with this program; if not, write to the Free Software | ||
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
19 | */ | ||
20 | |||
21 | #ifndef DAVINCI_KEYSCAN_H | ||
22 | #define DAVINCI_KEYSCAN_H | ||
23 | |||
24 | #include <linux/io.h> | ||
25 | |||
26 | enum davinci_matrix_types { | ||
27 | DAVINCI_KEYSCAN_MATRIX_4X4, | ||
28 | DAVINCI_KEYSCAN_MATRIX_5X3, | ||
29 | }; | ||
30 | |||
31 | struct davinci_ks_platform_data { | ||
32 | int (*device_enable)(struct device *dev); | ||
33 | unsigned short *keymap; | ||
34 | u32 keymapsize; | ||
35 | u8 rep:1; | ||
36 | u8 strobe; | ||
37 | u8 interval; | ||
38 | u8 matrix_type; | ||
39 | }; | ||
40 | |||
41 | #endif | ||
42 | |||
diff --git a/arch/arm/mach-davinci/include/mach/mmc.h b/arch/arm/mach-davinci/include/mach/mmc.h deleted file mode 100644 index 5ba6b22ce338..000000000000 --- a/arch/arm/mach-davinci/include/mach/mmc.h +++ /dev/null | |||
@@ -1,39 +0,0 @@ | |||
1 | /* | ||
2 | * Board-specific MMC configuration | ||
3 | */ | ||
4 | |||
5 | #ifndef _DAVINCI_MMC_H | ||
6 | #define _DAVINCI_MMC_H | ||
7 | |||
8 | #include <linux/types.h> | ||
9 | #include <linux/mmc/host.h> | ||
10 | |||
11 | struct davinci_mmc_config { | ||
12 | /* get_cd()/get_wp() may sleep */ | ||
13 | int (*get_cd)(int module); | ||
14 | int (*get_ro)(int module); | ||
15 | |||
16 | void (*set_power)(int module, bool on); | ||
17 | |||
18 | /* wires == 0 is equivalent to wires == 4 (4-bit parallel) */ | ||
19 | u8 wires; | ||
20 | |||
21 | u32 max_freq; | ||
22 | |||
23 | /* any additional host capabilities: OR'd in to mmc->f_caps */ | ||
24 | u32 caps; | ||
25 | |||
26 | /* Version of the MMC/SD controller */ | ||
27 | u8 version; | ||
28 | |||
29 | /* Number of sg segments */ | ||
30 | u8 nr_sg; | ||
31 | }; | ||
32 | void davinci_setup_mmc(int module, struct davinci_mmc_config *config); | ||
33 | |||
34 | enum { | ||
35 | MMC_CTLR_VERSION_1 = 0, /* DM644x and DM355 */ | ||
36 | MMC_CTLR_VERSION_2, /* DA830 */ | ||
37 | }; | ||
38 | |||
39 | #endif | ||
diff --git a/arch/arm/mach-davinci/include/mach/nand.h b/arch/arm/mach-davinci/include/mach/nand.h deleted file mode 100644 index 1cf555aef896..000000000000 --- a/arch/arm/mach-davinci/include/mach/nand.h +++ /dev/null | |||
@@ -1,90 +0,0 @@ | |||
1 | /* | ||
2 | * mach-davinci/nand.h | ||
3 | * | ||
4 | * Copyright © 2006 Texas Instruments. | ||
5 | * | ||
6 | * Ported to 2.6.23 Copyright © 2008 by | ||
7 | * Sander Huijsen <Shuijsen@optelecom-nkf.com> | ||
8 | * Troy Kisky <troy.kisky@boundarydevices.com> | ||
9 | * Dirk Behme <Dirk.Behme@gmail.com> | ||
10 | * | ||
11 | * -------------------------------------------------------------------------- | ||
12 | * | ||
13 | * This program is free software; you can redistribute it and/or modify | ||
14 | * it under the terms of the GNU General Public License as published by | ||
15 | * the Free Software Foundation; either version 2 of the License, or | ||
16 | * (at your option) any later version. | ||
17 | * | ||
18 | * This program is distributed in the hope that it will be useful, | ||
19 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
20 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
21 | * GNU General Public License for more details. | ||
22 | * | ||
23 | * You should have received a copy of the GNU General Public License | ||
24 | * along with this program; if not, write to the Free Software | ||
25 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||
26 | */ | ||
27 | |||
28 | #ifndef __ARCH_ARM_DAVINCI_NAND_H | ||
29 | #define __ARCH_ARM_DAVINCI_NAND_H | ||
30 | |||
31 | #include <linux/mtd/nand.h> | ||
32 | |||
33 | #define NANDFCR_OFFSET 0x60 | ||
34 | #define NANDFSR_OFFSET 0x64 | ||
35 | #define NANDF1ECC_OFFSET 0x70 | ||
36 | |||
37 | /* 4-bit ECC syndrome registers */ | ||
38 | #define NAND_4BIT_ECC_LOAD_OFFSET 0xbc | ||
39 | #define NAND_4BIT_ECC1_OFFSET 0xc0 | ||
40 | #define NAND_4BIT_ECC2_OFFSET 0xc4 | ||
41 | #define NAND_4BIT_ECC3_OFFSET 0xc8 | ||
42 | #define NAND_4BIT_ECC4_OFFSET 0xcc | ||
43 | #define NAND_ERR_ADD1_OFFSET 0xd0 | ||
44 | #define NAND_ERR_ADD2_OFFSET 0xd4 | ||
45 | #define NAND_ERR_ERRVAL1_OFFSET 0xd8 | ||
46 | #define NAND_ERR_ERRVAL2_OFFSET 0xdc | ||
47 | |||
48 | /* NOTE: boards don't need to use these address bits | ||
49 | * for ALE/CLE unless they support booting from NAND. | ||
50 | * They're used unless platform data overrides them. | ||
51 | */ | ||
52 | #define MASK_ALE 0x08 | ||
53 | #define MASK_CLE 0x10 | ||
54 | |||
55 | struct davinci_nand_pdata { /* platform_data */ | ||
56 | uint32_t mask_ale; | ||
57 | uint32_t mask_cle; | ||
58 | |||
59 | /* for packages using two chipselects */ | ||
60 | uint32_t mask_chipsel; | ||
61 | |||
62 | /* board's default static partition info */ | ||
63 | struct mtd_partition *parts; | ||
64 | unsigned nr_parts; | ||
65 | |||
66 | /* none == NAND_ECC_NONE (strongly *not* advised!!) | ||
67 | * soft == NAND_ECC_SOFT | ||
68 | * else == NAND_ECC_HW, according to ecc_bits | ||
69 | * | ||
70 | * All DaVinci-family chips support 1-bit hardware ECC. | ||
71 | * Newer ones also support 4-bit ECC, but are awkward | ||
72 | * using it with large page chips. | ||
73 | */ | ||
74 | nand_ecc_modes_t ecc_mode; | ||
75 | u8 ecc_bits; | ||
76 | |||
77 | /* e.g. NAND_BUSWIDTH_16 */ | ||
78 | unsigned options; | ||
79 | /* e.g. NAND_BBT_USE_FLASH */ | ||
80 | unsigned bbt_options; | ||
81 | |||
82 | /* Main and mirror bbt descriptor overrides */ | ||
83 | struct nand_bbt_descr *bbt_td; | ||
84 | struct nand_bbt_descr *bbt_md; | ||
85 | |||
86 | /* Access timings */ | ||
87 | struct davinci_aemif_timing *timing; | ||
88 | }; | ||
89 | |||
90 | #endif /* __ARCH_ARM_DAVINCI_NAND_H */ | ||
diff --git a/arch/arm/mach-davinci/include/mach/spi.h b/arch/arm/mach-davinci/include/mach/spi.h deleted file mode 100644 index 7af305b37868..000000000000 --- a/arch/arm/mach-davinci/include/mach/spi.h +++ /dev/null | |||
@@ -1,89 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright 2009 Texas Instruments. | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | * GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program; if not, write to the Free Software | ||
16 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||
17 | */ | ||
18 | |||
19 | #ifndef __ARCH_ARM_DAVINCI_SPI_H | ||
20 | #define __ARCH_ARM_DAVINCI_SPI_H | ||
21 | |||
22 | #include <mach/edma.h> | ||
23 | |||
24 | #define SPI_INTERN_CS 0xFF | ||
25 | |||
26 | enum { | ||
27 | SPI_VERSION_1, /* For DM355/DM365/DM6467 */ | ||
28 | SPI_VERSION_2, /* For DA8xx */ | ||
29 | }; | ||
30 | |||
31 | /** | ||
32 | * davinci_spi_platform_data - Platform data for SPI master device on DaVinci | ||
33 | * | ||
34 | * @version: version of the SPI IP. Different DaVinci devices have slightly | ||
35 | * varying versions of the same IP. | ||
36 | * @num_chipselect: number of chipselects supported by this SPI master | ||
37 | * @intr_line: interrupt line used to connect the SPI IP to the ARM interrupt | ||
38 | * controller withn the SoC. Possible values are 0 and 1. | ||
39 | * @chip_sel: list of GPIOs which can act as chip-selects for the SPI. | ||
40 | * SPI_INTERN_CS denotes internal SPI chip-select. Not necessary | ||
41 | * to populate if all chip-selects are internal. | ||
42 | * @cshold_bug: set this to true if the SPI controller on your chip requires | ||
43 | * a write to CSHOLD bit in between transfers (like in DM355). | ||
44 | * @dma_event_q: DMA event queue to use if SPI_IO_TYPE_DMA is used for any | ||
45 | * device on the bus. | ||
46 | */ | ||
47 | struct davinci_spi_platform_data { | ||
48 | u8 version; | ||
49 | u8 num_chipselect; | ||
50 | u8 intr_line; | ||
51 | u8 *chip_sel; | ||
52 | bool cshold_bug; | ||
53 | enum dma_event_q dma_event_q; | ||
54 | }; | ||
55 | |||
56 | /** | ||
57 | * davinci_spi_config - Per-chip-select configuration for SPI slave devices | ||
58 | * | ||
59 | * @wdelay: amount of delay between transmissions. Measured in number of | ||
60 | * SPI module clocks. | ||
61 | * @odd_parity: polarity of parity flag at the end of transmit data stream. | ||
62 | * 0 - odd parity, 1 - even parity. | ||
63 | * @parity_enable: enable transmission of parity at end of each transmit | ||
64 | * data stream. | ||
65 | * @io_type: type of IO transfer. Choose between polled, interrupt and DMA. | ||
66 | * @timer_disable: disable chip-select timers (setup and hold) | ||
67 | * @c2tdelay: chip-select setup time. Measured in number of SPI module clocks. | ||
68 | * @t2cdelay: chip-select hold time. Measured in number of SPI module clocks. | ||
69 | * @t2edelay: transmit data finished to SPI ENAn pin inactive time. Measured | ||
70 | * in number of SPI clocks. | ||
71 | * @c2edelay: chip-select active to SPI ENAn signal active time. Measured in | ||
72 | * number of SPI clocks. | ||
73 | */ | ||
74 | struct davinci_spi_config { | ||
75 | u8 wdelay; | ||
76 | u8 odd_parity; | ||
77 | u8 parity_enable; | ||
78 | #define SPI_IO_TYPE_INTR 0 | ||
79 | #define SPI_IO_TYPE_POLL 1 | ||
80 | #define SPI_IO_TYPE_DMA 2 | ||
81 | u8 io_type; | ||
82 | u8 timer_disable; | ||
83 | u8 c2tdelay; | ||
84 | u8 t2cdelay; | ||
85 | u8 t2edelay; | ||
86 | u8 c2edelay; | ||
87 | }; | ||
88 | |||
89 | #endif /* __ARCH_ARM_DAVINCI_SPI_H */ | ||
diff --git a/arch/arm/mach-davinci/include/mach/tnetv107x.h b/arch/arm/mach-davinci/include/mach/tnetv107x.h index 83e5926f3c46..1656a02e3eda 100644 --- a/arch/arm/mach-davinci/include/mach/tnetv107x.h +++ b/arch/arm/mach-davinci/include/mach/tnetv107x.h | |||
@@ -36,8 +36,8 @@ | |||
36 | #include <linux/input/matrix_keypad.h> | 36 | #include <linux/input/matrix_keypad.h> |
37 | #include <linux/mfd/ti_ssp.h> | 37 | #include <linux/mfd/ti_ssp.h> |
38 | 38 | ||
39 | #include <mach/mmc.h> | 39 | #include <linux/platform_data/mmc-davinci.h> |
40 | #include <mach/nand.h> | 40 | #include <linux/platform_data/mtd-davinci.h> |
41 | #include <mach/serial.h> | 41 | #include <mach/serial.h> |
42 | 42 | ||
43 | struct tnetv107x_device_info { | 43 | struct tnetv107x_device_info { |
diff --git a/arch/arm/mach-davinci/include/mach/usb.h b/arch/arm/mach-davinci/include/mach/usb.h deleted file mode 100644 index e0bc4abe69c2..000000000000 --- a/arch/arm/mach-davinci/include/mach/usb.h +++ /dev/null | |||
@@ -1,59 +0,0 @@ | |||
1 | /* | ||
2 | * USB related definitions | ||
3 | * | ||
4 | * Copyright (C) 2009 MontaVista Software, Inc. <source@mvista.com> | ||
5 | * | ||
6 | * This file is licensed under the terms of the GNU General Public License | ||
7 | * version 2. This program is licensed "as is" without any warranty of any | ||
8 | * kind, whether express or implied. | ||
9 | */ | ||
10 | |||
11 | #ifndef __ASM_ARCH_USB_H | ||
12 | #define __ASM_ARCH_USB_H | ||
13 | |||
14 | /* DA8xx CFGCHIP2 (USB 2.0 PHY Control) register bits */ | ||
15 | #define CFGCHIP2_PHYCLKGD (1 << 17) | ||
16 | #define CFGCHIP2_VBUSSENSE (1 << 16) | ||
17 | #define CFGCHIP2_RESET (1 << 15) | ||
18 | #define CFGCHIP2_OTGMODE (3 << 13) | ||
19 | #define CFGCHIP2_NO_OVERRIDE (0 << 13) | ||
20 | #define CFGCHIP2_FORCE_HOST (1 << 13) | ||
21 | #define CFGCHIP2_FORCE_DEVICE (2 << 13) | ||
22 | #define CFGCHIP2_FORCE_HOST_VBUS_LOW (3 << 13) | ||
23 | #define CFGCHIP2_USB1PHYCLKMUX (1 << 12) | ||
24 | #define CFGCHIP2_USB2PHYCLKMUX (1 << 11) | ||
25 | #define CFGCHIP2_PHYPWRDN (1 << 10) | ||
26 | #define CFGCHIP2_OTGPWRDN (1 << 9) | ||
27 | #define CFGCHIP2_DATPOL (1 << 8) | ||
28 | #define CFGCHIP2_USB1SUSPENDM (1 << 7) | ||
29 | #define CFGCHIP2_PHY_PLLON (1 << 6) /* override PLL suspend */ | ||
30 | #define CFGCHIP2_SESENDEN (1 << 5) /* Vsess_end comparator */ | ||
31 | #define CFGCHIP2_VBDTCTEN (1 << 4) /* Vbus comparator */ | ||
32 | #define CFGCHIP2_REFFREQ (0xf << 0) | ||
33 | #define CFGCHIP2_REFFREQ_12MHZ (1 << 0) | ||
34 | #define CFGCHIP2_REFFREQ_24MHZ (2 << 0) | ||
35 | #define CFGCHIP2_REFFREQ_48MHZ (3 << 0) | ||
36 | |||
37 | struct da8xx_ohci_root_hub; | ||
38 | |||
39 | typedef void (*da8xx_ocic_handler_t)(struct da8xx_ohci_root_hub *hub, | ||
40 | unsigned port); | ||
41 | |||
42 | /* Passed as the platform data to the OHCI driver */ | ||
43 | struct da8xx_ohci_root_hub { | ||
44 | /* Switch the port power on/off */ | ||
45 | int (*set_power)(unsigned port, int on); | ||
46 | /* Read the port power status */ | ||
47 | int (*get_power)(unsigned port); | ||
48 | /* Read the port over-current indicator */ | ||
49 | int (*get_oci)(unsigned port); | ||
50 | /* Over-current indicator change notification (pass NULL to disable) */ | ||
51 | int (*ocic_notify)(da8xx_ocic_handler_t handler); | ||
52 | |||
53 | /* Time from power on to power good (in 2 ms units) */ | ||
54 | u8 potpgt; | ||
55 | }; | ||
56 | |||
57 | void davinci_setup_usb(unsigned mA, unsigned potpgt_ms); | ||
58 | |||
59 | #endif /* ifndef __ASM_ARCH_USB_H */ | ||
diff --git a/arch/arm/mach-davinci/usb.c b/arch/arm/mach-davinci/usb.c index 23d2b6d9fa63..f77b95336e2b 100644 --- a/arch/arm/mach-davinci/usb.c +++ b/arch/arm/mach-davinci/usb.c | |||
@@ -10,7 +10,7 @@ | |||
10 | #include <mach/common.h> | 10 | #include <mach/common.h> |
11 | #include <mach/irqs.h> | 11 | #include <mach/irqs.h> |
12 | #include <mach/cputype.h> | 12 | #include <mach/cputype.h> |
13 | #include <mach/usb.h> | 13 | #include <linux/platform_data/usb-davinci.h> |
14 | 14 | ||
15 | #define DAVINCI_USB_OTG_BASE 0x01c64000 | 15 | #define DAVINCI_USB_OTG_BASE 0x01c64000 |
16 | 16 | ||
diff --git a/arch/arm/mach-dove/common.c b/arch/arm/mach-dove/common.c index bd54d7b7ef85..950ad9533d19 100644 --- a/arch/arm/mach-dove/common.c +++ b/arch/arm/mach-dove/common.c | |||
@@ -28,7 +28,7 @@ | |||
28 | #include <asm/mach/arch.h> | 28 | #include <asm/mach/arch.h> |
29 | #include <linux/irq.h> | 29 | #include <linux/irq.h> |
30 | #include <plat/time.h> | 30 | #include <plat/time.h> |
31 | #include <plat/ehci-orion.h> | 31 | #include <linux/platform_data/usb-ehci-orion.h> |
32 | #include <plat/common.h> | 32 | #include <plat/common.h> |
33 | #include <plat/addr-map.h> | 33 | #include <plat/addr-map.h> |
34 | #include "common.h" | 34 | #include "common.h" |
diff --git a/arch/arm/mach-dove/include/mach/gpio.h b/arch/arm/mach-dove/include/mach/gpio.h deleted file mode 100644 index e7e5101e35a5..000000000000 --- a/arch/arm/mach-dove/include/mach/gpio.h +++ /dev/null | |||
@@ -1,9 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-dove/include/mach/gpio.h | ||
3 | * | ||
4 | * This file is licensed under the terms of the GNU General Public | ||
5 | * License version 2. This program is licensed "as is" without any | ||
6 | * warranty of any kind, whether express or implied. | ||
7 | */ | ||
8 | |||
9 | #include <plat/gpio.h> | ||
diff --git a/arch/arm/mach-dove/irq.c b/arch/arm/mach-dove/irq.c index 9bc97a5baaa8..186357f3b4db 100644 --- a/arch/arm/mach-dove/irq.c +++ b/arch/arm/mach-dove/irq.c | |||
@@ -18,6 +18,7 @@ | |||
18 | #include <asm/mach/irq.h> | 18 | #include <asm/mach/irq.h> |
19 | #include <mach/pm.h> | 19 | #include <mach/pm.h> |
20 | #include <mach/bridge-regs.h> | 20 | #include <mach/bridge-regs.h> |
21 | #include <plat/orion-gpio.h> | ||
21 | #include "common.h" | 22 | #include "common.h" |
22 | 23 | ||
23 | static void pmu_irq_mask(struct irq_data *d) | 24 | static void pmu_irq_mask(struct irq_data *d) |
diff --git a/arch/arm/mach-dove/mpp.c b/arch/arm/mach-dove/mpp.c index 7f70afc26f91..60bd729a1ba5 100644 --- a/arch/arm/mach-dove/mpp.c +++ b/arch/arm/mach-dove/mpp.c | |||
@@ -13,6 +13,7 @@ | |||
13 | #include <linux/io.h> | 13 | #include <linux/io.h> |
14 | #include <plat/mpp.h> | 14 | #include <plat/mpp.h> |
15 | #include <mach/dove.h> | 15 | #include <mach/dove.h> |
16 | #include <plat/orion-gpio.h> | ||
16 | #include "mpp.h" | 17 | #include "mpp.h" |
17 | 18 | ||
18 | struct dove_mpp_grp { | 19 | struct dove_mpp_grp { |
diff --git a/arch/arm/mach-ep93xx/core.c b/arch/arm/mach-ep93xx/core.c index 4afe52aaaff3..e85bf17f2d2a 100644 --- a/arch/arm/mach-ep93xx/core.c +++ b/arch/arm/mach-ep93xx/core.c | |||
@@ -36,9 +36,9 @@ | |||
36 | #include <linux/export.h> | 36 | #include <linux/export.h> |
37 | 37 | ||
38 | #include <mach/hardware.h> | 38 | #include <mach/hardware.h> |
39 | #include <mach/fb.h> | 39 | #include <linux/platform_data/video-ep93xx.h> |
40 | #include <mach/ep93xx_keypad.h> | 40 | #include <linux/platform_data/keypad-ep93xx.h> |
41 | #include <mach/ep93xx_spi.h> | 41 | #include <linux/platform_data/spi-ep93xx.h> |
42 | #include <mach/gpio-ep93xx.h> | 42 | #include <mach/gpio-ep93xx.h> |
43 | 43 | ||
44 | #include <asm/mach/map.h> | 44 | #include <asm/mach/map.h> |
diff --git a/arch/arm/mach-ep93xx/dma.c b/arch/arm/mach-ep93xx/dma.c index 16976d7bdc8a..d8bfd02f5047 100644 --- a/arch/arm/mach-ep93xx/dma.c +++ b/arch/arm/mach-ep93xx/dma.c | |||
@@ -25,7 +25,7 @@ | |||
25 | #include <linux/kernel.h> | 25 | #include <linux/kernel.h> |
26 | #include <linux/platform_device.h> | 26 | #include <linux/platform_device.h> |
27 | 27 | ||
28 | #include <mach/dma.h> | 28 | #include <linux/platform_data/dma-ep93xx.h> |
29 | #include <mach/hardware.h> | 29 | #include <mach/hardware.h> |
30 | 30 | ||
31 | #include "soc.h" | 31 | #include "soc.h" |
diff --git a/arch/arm/mach-ep93xx/edb93xx.c b/arch/arm/mach-ep93xx/edb93xx.c index 337ab7cf4c16..b8f53d57a299 100644 --- a/arch/arm/mach-ep93xx/edb93xx.c +++ b/arch/arm/mach-ep93xx/edb93xx.c | |||
@@ -35,8 +35,8 @@ | |||
35 | #include <sound/cs4271.h> | 35 | #include <sound/cs4271.h> |
36 | 36 | ||
37 | #include <mach/hardware.h> | 37 | #include <mach/hardware.h> |
38 | #include <mach/fb.h> | 38 | #include <linux/platform_data/video-ep93xx.h> |
39 | #include <mach/ep93xx_spi.h> | 39 | #include <linux/platform_data/spi-ep93xx.h> |
40 | #include <mach/gpio-ep93xx.h> | 40 | #include <mach/gpio-ep93xx.h> |
41 | 41 | ||
42 | #include <asm/hardware/vic.h> | 42 | #include <asm/hardware/vic.h> |
diff --git a/arch/arm/mach-ep93xx/include/mach/dma.h b/arch/arm/mach-ep93xx/include/mach/dma.h deleted file mode 100644 index e82c642fa53c..000000000000 --- a/arch/arm/mach-ep93xx/include/mach/dma.h +++ /dev/null | |||
@@ -1,93 +0,0 @@ | |||
1 | #ifndef __ASM_ARCH_DMA_H | ||
2 | #define __ASM_ARCH_DMA_H | ||
3 | |||
4 | #include <linux/types.h> | ||
5 | #include <linux/dmaengine.h> | ||
6 | #include <linux/dma-mapping.h> | ||
7 | |||
8 | /* | ||
9 | * M2P channels. | ||
10 | * | ||
11 | * Note that these values are also directly used for setting the PPALLOC | ||
12 | * register. | ||
13 | */ | ||
14 | #define EP93XX_DMA_I2S1 0 | ||
15 | #define EP93XX_DMA_I2S2 1 | ||
16 | #define EP93XX_DMA_AAC1 2 | ||
17 | #define EP93XX_DMA_AAC2 3 | ||
18 | #define EP93XX_DMA_AAC3 4 | ||
19 | #define EP93XX_DMA_I2S3 5 | ||
20 | #define EP93XX_DMA_UART1 6 | ||
21 | #define EP93XX_DMA_UART2 7 | ||
22 | #define EP93XX_DMA_UART3 8 | ||
23 | #define EP93XX_DMA_IRDA 9 | ||
24 | /* M2M channels */ | ||
25 | #define EP93XX_DMA_SSP 10 | ||
26 | #define EP93XX_DMA_IDE 11 | ||
27 | |||
28 | /** | ||
29 | * struct ep93xx_dma_data - configuration data for the EP93xx dmaengine | ||
30 | * @port: peripheral which is requesting the channel | ||
31 | * @direction: TX/RX channel | ||
32 | * @name: optional name for the channel, this is displayed in /proc/interrupts | ||
33 | * | ||
34 | * This information is passed as private channel parameter in a filter | ||
35 | * function. Note that this is only needed for slave/cyclic channels. For | ||
36 | * memcpy channels %NULL data should be passed. | ||
37 | */ | ||
38 | struct ep93xx_dma_data { | ||
39 | int port; | ||
40 | enum dma_transfer_direction direction; | ||
41 | const char *name; | ||
42 | }; | ||
43 | |||
44 | /** | ||
45 | * struct ep93xx_dma_chan_data - platform specific data for a DMA channel | ||
46 | * @name: name of the channel, used for getting the right clock for the channel | ||
47 | * @base: mapped registers | ||
48 | * @irq: interrupt number used by this channel | ||
49 | */ | ||
50 | struct ep93xx_dma_chan_data { | ||
51 | const char *name; | ||
52 | void __iomem *base; | ||
53 | int irq; | ||
54 | }; | ||
55 | |||
56 | /** | ||
57 | * struct ep93xx_dma_platform_data - platform data for the dmaengine driver | ||
58 | * @channels: array of channels which are passed to the driver | ||
59 | * @num_channels: number of channels in the array | ||
60 | * | ||
61 | * This structure is passed to the DMA engine driver via platform data. For | ||
62 | * M2P channels, contract is that even channels are for TX and odd for RX. | ||
63 | * There is no requirement for the M2M channels. | ||
64 | */ | ||
65 | struct ep93xx_dma_platform_data { | ||
66 | struct ep93xx_dma_chan_data *channels; | ||
67 | size_t num_channels; | ||
68 | }; | ||
69 | |||
70 | static inline bool ep93xx_dma_chan_is_m2p(struct dma_chan *chan) | ||
71 | { | ||
72 | return !strcmp(dev_name(chan->device->dev), "ep93xx-dma-m2p"); | ||
73 | } | ||
74 | |||
75 | /** | ||
76 | * ep93xx_dma_chan_direction - returns direction the channel can be used | ||
77 | * @chan: channel | ||
78 | * | ||
79 | * This function can be used in filter functions to find out whether the | ||
80 | * channel supports given DMA direction. Only M2P channels have such | ||
81 | * limitation, for M2M channels the direction is configurable. | ||
82 | */ | ||
83 | static inline enum dma_transfer_direction | ||
84 | ep93xx_dma_chan_direction(struct dma_chan *chan) | ||
85 | { | ||
86 | if (!ep93xx_dma_chan_is_m2p(chan)) | ||
87 | return DMA_NONE; | ||
88 | |||
89 | /* even channels are for TX, odd for RX */ | ||
90 | return (chan->chan_id % 2 == 0) ? DMA_MEM_TO_DEV : DMA_DEV_TO_MEM; | ||
91 | } | ||
92 | |||
93 | #endif /* __ASM_ARCH_DMA_H */ | ||
diff --git a/arch/arm/mach-ep93xx/include/mach/ep93xx_keypad.h b/arch/arm/mach-ep93xx/include/mach/ep93xx_keypad.h deleted file mode 100644 index 1e2f4e97f428..000000000000 --- a/arch/arm/mach-ep93xx/include/mach/ep93xx_keypad.h +++ /dev/null | |||
@@ -1,35 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-ep93xx/include/mach/ep93xx_keypad.h | ||
3 | */ | ||
4 | |||
5 | #ifndef __ASM_ARCH_EP93XX_KEYPAD_H | ||
6 | #define __ASM_ARCH_EP93XX_KEYPAD_H | ||
7 | |||
8 | struct matrix_keymap_data; | ||
9 | |||
10 | /* flags for the ep93xx_keypad driver */ | ||
11 | #define EP93XX_KEYPAD_DISABLE_3_KEY (1<<0) /* disable 3-key reset */ | ||
12 | #define EP93XX_KEYPAD_DIAG_MODE (1<<1) /* diagnostic mode */ | ||
13 | #define EP93XX_KEYPAD_BACK_DRIVE (1<<2) /* back driving mode */ | ||
14 | #define EP93XX_KEYPAD_TEST_MODE (1<<3) /* scan only column 0 */ | ||
15 | #define EP93XX_KEYPAD_KDIV (1<<4) /* 1/4 clock or 1/16 clock */ | ||
16 | #define EP93XX_KEYPAD_AUTOREPEAT (1<<5) /* enable key autorepeat */ | ||
17 | |||
18 | /** | ||
19 | * struct ep93xx_keypad_platform_data - platform specific device structure | ||
20 | * @keymap_data: pointer to &matrix_keymap_data | ||
21 | * @debounce: debounce start count; terminal count is 0xff | ||
22 | * @prescale: row/column counter pre-scaler load value | ||
23 | * @flags: see above | ||
24 | */ | ||
25 | struct ep93xx_keypad_platform_data { | ||
26 | struct matrix_keymap_data *keymap_data; | ||
27 | unsigned int debounce; | ||
28 | unsigned int prescale; | ||
29 | unsigned int flags; | ||
30 | }; | ||
31 | |||
32 | #define EP93XX_MATRIX_ROWS (8) | ||
33 | #define EP93XX_MATRIX_COLS (8) | ||
34 | |||
35 | #endif /* __ASM_ARCH_EP93XX_KEYPAD_H */ | ||
diff --git a/arch/arm/mach-ep93xx/include/mach/ep93xx_spi.h b/arch/arm/mach-ep93xx/include/mach/ep93xx_spi.h deleted file mode 100644 index 9bb63ac13f04..000000000000 --- a/arch/arm/mach-ep93xx/include/mach/ep93xx_spi.h +++ /dev/null | |||
@@ -1,29 +0,0 @@ | |||
1 | #ifndef __ASM_MACH_EP93XX_SPI_H | ||
2 | #define __ASM_MACH_EP93XX_SPI_H | ||
3 | |||
4 | struct spi_device; | ||
5 | |||
6 | /** | ||
7 | * struct ep93xx_spi_info - EP93xx specific SPI descriptor | ||
8 | * @num_chipselect: number of chip selects on this board, must be | ||
9 | * at least one | ||
10 | * @use_dma: use DMA for the transfers | ||
11 | */ | ||
12 | struct ep93xx_spi_info { | ||
13 | int num_chipselect; | ||
14 | bool use_dma; | ||
15 | }; | ||
16 | |||
17 | /** | ||
18 | * struct ep93xx_spi_chip_ops - operation callbacks for SPI slave device | ||
19 | * @setup: setup the chip select mechanism | ||
20 | * @cleanup: cleanup the chip select mechanism | ||
21 | * @cs_control: control the device chip select | ||
22 | */ | ||
23 | struct ep93xx_spi_chip_ops { | ||
24 | int (*setup)(struct spi_device *spi); | ||
25 | void (*cleanup)(struct spi_device *spi); | ||
26 | void (*cs_control)(struct spi_device *spi, int value); | ||
27 | }; | ||
28 | |||
29 | #endif /* __ASM_MACH_EP93XX_SPI_H */ | ||
diff --git a/arch/arm/mach-ep93xx/include/mach/fb.h b/arch/arm/mach-ep93xx/include/mach/fb.h deleted file mode 100644 index d5ae11d7c453..000000000000 --- a/arch/arm/mach-ep93xx/include/mach/fb.h +++ /dev/null | |||
@@ -1,56 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-ep93xx/include/mach/fb.h | ||
3 | */ | ||
4 | |||
5 | #ifndef __ASM_ARCH_EP93XXFB_H | ||
6 | #define __ASM_ARCH_EP93XXFB_H | ||
7 | |||
8 | struct platform_device; | ||
9 | struct fb_videomode; | ||
10 | struct fb_info; | ||
11 | |||
12 | #define EP93XXFB_USE_MODEDB 0 | ||
13 | |||
14 | /* VideoAttributes flags */ | ||
15 | #define EP93XXFB_STATE_MACHINE_ENABLE (1 << 0) | ||
16 | #define EP93XXFB_PIXEL_CLOCK_ENABLE (1 << 1) | ||
17 | #define EP93XXFB_VSYNC_ENABLE (1 << 2) | ||
18 | #define EP93XXFB_PIXEL_DATA_ENABLE (1 << 3) | ||
19 | #define EP93XXFB_COMPOSITE_SYNC (1 << 4) | ||
20 | #define EP93XXFB_SYNC_VERT_HIGH (1 << 5) | ||
21 | #define EP93XXFB_SYNC_HORIZ_HIGH (1 << 6) | ||
22 | #define EP93XXFB_SYNC_BLANK_HIGH (1 << 7) | ||
23 | #define EP93XXFB_PCLK_FALLING (1 << 8) | ||
24 | #define EP93XXFB_ENABLE_AC (1 << 9) | ||
25 | #define EP93XXFB_ENABLE_LCD (1 << 10) | ||
26 | #define EP93XXFB_ENABLE_CCIR (1 << 12) | ||
27 | #define EP93XXFB_USE_PARALLEL_INTERFACE (1 << 13) | ||
28 | #define EP93XXFB_ENABLE_INTERRUPT (1 << 14) | ||
29 | #define EP93XXFB_USB_INTERLACE (1 << 16) | ||
30 | #define EP93XXFB_USE_EQUALIZATION (1 << 17) | ||
31 | #define EP93XXFB_USE_DOUBLE_HORZ (1 << 18) | ||
32 | #define EP93XXFB_USE_DOUBLE_VERT (1 << 19) | ||
33 | #define EP93XXFB_USE_BLANK_PIXEL (1 << 20) | ||
34 | #define EP93XXFB_USE_SDCSN0 (0 << 21) | ||
35 | #define EP93XXFB_USE_SDCSN1 (1 << 21) | ||
36 | #define EP93XXFB_USE_SDCSN2 (2 << 21) | ||
37 | #define EP93XXFB_USE_SDCSN3 (3 << 21) | ||
38 | |||
39 | #define EP93XXFB_ENABLE (EP93XXFB_STATE_MACHINE_ENABLE | \ | ||
40 | EP93XXFB_PIXEL_CLOCK_ENABLE | \ | ||
41 | EP93XXFB_VSYNC_ENABLE | \ | ||
42 | EP93XXFB_PIXEL_DATA_ENABLE) | ||
43 | |||
44 | struct ep93xxfb_mach_info { | ||
45 | unsigned int num_modes; | ||
46 | const struct fb_videomode *modes; | ||
47 | const struct fb_videomode *default_mode; | ||
48 | int bpp; | ||
49 | unsigned int flags; | ||
50 | |||
51 | int (*setup)(struct platform_device *pdev); | ||
52 | void (*teardown)(struct platform_device *pdev); | ||
53 | void (*blank)(int blank_mode, struct fb_info *info); | ||
54 | }; | ||
55 | |||
56 | #endif /* __ASM_ARCH_EP93XXFB_H */ | ||
diff --git a/arch/arm/mach-ep93xx/include/mach/gpio.h b/arch/arm/mach-ep93xx/include/mach/gpio.h deleted file mode 100644 index 40a8c178f10d..000000000000 --- a/arch/arm/mach-ep93xx/include/mach/gpio.h +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | /* empty */ | ||
diff --git a/arch/arm/mach-ep93xx/simone.c b/arch/arm/mach-ep93xx/simone.c index 33dc07917417..0eb3f17a6fa2 100644 --- a/arch/arm/mach-ep93xx/simone.c +++ b/arch/arm/mach-ep93xx/simone.c | |||
@@ -22,7 +22,7 @@ | |||
22 | #include <linux/i2c-gpio.h> | 22 | #include <linux/i2c-gpio.h> |
23 | 23 | ||
24 | #include <mach/hardware.h> | 24 | #include <mach/hardware.h> |
25 | #include <mach/fb.h> | 25 | #include <linux/platform_data/video-ep93xx.h> |
26 | #include <mach/gpio-ep93xx.h> | 26 | #include <mach/gpio-ep93xx.h> |
27 | 27 | ||
28 | #include <asm/hardware/vic.h> | 28 | #include <asm/hardware/vic.h> |
diff --git a/arch/arm/mach-ep93xx/snappercl15.c b/arch/arm/mach-ep93xx/snappercl15.c index 01abd3516a77..50043eef1cf2 100644 --- a/arch/arm/mach-ep93xx/snappercl15.c +++ b/arch/arm/mach-ep93xx/snappercl15.c | |||
@@ -28,7 +28,7 @@ | |||
28 | #include <linux/mtd/nand.h> | 28 | #include <linux/mtd/nand.h> |
29 | 29 | ||
30 | #include <mach/hardware.h> | 30 | #include <mach/hardware.h> |
31 | #include <mach/fb.h> | 31 | #include <linux/platform_data/video-ep93xx.h> |
32 | #include <mach/gpio-ep93xx.h> | 32 | #include <mach/gpio-ep93xx.h> |
33 | 33 | ||
34 | #include <asm/hardware/vic.h> | 34 | #include <asm/hardware/vic.h> |
diff --git a/arch/arm/mach-ep93xx/vision_ep9307.c b/arch/arm/mach-ep93xx/vision_ep9307.c index 2905a4929bdc..ba92e25e3016 100644 --- a/arch/arm/mach-ep93xx/vision_ep9307.c +++ b/arch/arm/mach-ep93xx/vision_ep9307.c | |||
@@ -30,8 +30,8 @@ | |||
30 | #include <linux/mmc/host.h> | 30 | #include <linux/mmc/host.h> |
31 | 31 | ||
32 | #include <mach/hardware.h> | 32 | #include <mach/hardware.h> |
33 | #include <mach/fb.h> | 33 | #include <linux/platform_data/video-ep93xx.h> |
34 | #include <mach/ep93xx_spi.h> | 34 | #include <linux/platform_data/spi-ep93xx.h> |
35 | #include <mach/gpio-ep93xx.h> | 35 | #include <mach/gpio-ep93xx.h> |
36 | 36 | ||
37 | #include <asm/hardware/vic.h> | 37 | #include <asm/hardware/vic.h> |
diff --git a/arch/arm/mach-exynos/Makefile.boot b/arch/arm/mach-exynos/Makefile.boot index a79d999725cb..b9862e22bf10 100644 --- a/arch/arm/mach-exynos/Makefile.boot +++ b/arch/arm/mach-exynos/Makefile.boot | |||
@@ -1,5 +1,2 @@ | |||
1 | zreladdr-y += 0x40008000 | 1 | zreladdr-y += 0x40008000 |
2 | params_phys-y := 0x40000100 | 2 | params_phys-y := 0x40000100 |
3 | |||
4 | dtb-$(CONFIG_MACH_EXYNOS4_DT) += exynos4210-origen.dtb exynos4210-smdkv310.dtb exynos4210-trats.dtb | ||
5 | dtb-$(CONFIG_MACH_EXYNOS5_DT) += exynos5250-smdk5250.dtb | ||
diff --git a/arch/arm/mach-exynos/common.h b/arch/arm/mach-exynos/common.h index aed2eeb06517..dac146df79ac 100644 --- a/arch/arm/mach-exynos/common.h +++ b/arch/arm/mach-exynos/common.h | |||
@@ -14,6 +14,7 @@ | |||
14 | 14 | ||
15 | extern struct sys_timer exynos4_timer; | 15 | extern struct sys_timer exynos4_timer; |
16 | 16 | ||
17 | struct map_desc; | ||
17 | void exynos_init_io(struct map_desc *mach_desc, int size); | 18 | void exynos_init_io(struct map_desc *mach_desc, int size); |
18 | void exynos4_init_irq(void); | 19 | void exynos4_init_irq(void); |
19 | void exynos5_init_irq(void); | 20 | void exynos5_init_irq(void); |
@@ -59,4 +60,8 @@ void exynos4212_register_clocks(void); | |||
59 | #define exynos4212_register_clocks() | 60 | #define exynos4212_register_clocks() |
60 | #endif | 61 | #endif |
61 | 62 | ||
63 | extern struct smp_operations exynos_smp_ops; | ||
64 | |||
65 | extern void exynos_cpu_die(unsigned int cpu); | ||
66 | |||
62 | #endif /* __ARCH_ARM_MACH_EXYNOS_COMMON_H */ | 67 | #endif /* __ARCH_ARM_MACH_EXYNOS_COMMON_H */ |
diff --git a/arch/arm/mach-exynos/dev-audio.c b/arch/arm/mach-exynos/dev-audio.c index b33a5b67b547..ae321c7cb15f 100644 --- a/arch/arm/mach-exynos/dev-audio.c +++ b/arch/arm/mach-exynos/dev-audio.c | |||
@@ -16,7 +16,7 @@ | |||
16 | #include <linux/gpio.h> | 16 | #include <linux/gpio.h> |
17 | 17 | ||
18 | #include <plat/gpio-cfg.h> | 18 | #include <plat/gpio-cfg.h> |
19 | #include <plat/audio.h> | 19 | #include <linux/platform_data/asoc-s3c.h> |
20 | 20 | ||
21 | #include <mach/map.h> | 21 | #include <mach/map.h> |
22 | #include <mach/dma.h> | 22 | #include <mach/dma.h> |
diff --git a/arch/arm/mach-exynos/dev-ohci.c b/arch/arm/mach-exynos/dev-ohci.c index b8e75300c77d..14ed7951a2c6 100644 --- a/arch/arm/mach-exynos/dev-ohci.c +++ b/arch/arm/mach-exynos/dev-ohci.c | |||
@@ -15,7 +15,7 @@ | |||
15 | 15 | ||
16 | #include <mach/irqs.h> | 16 | #include <mach/irqs.h> |
17 | #include <mach/map.h> | 17 | #include <mach/map.h> |
18 | #include <mach/ohci.h> | 18 | #include <linux/platform_data/usb-exynos.h> |
19 | 19 | ||
20 | #include <plat/devs.h> | 20 | #include <plat/devs.h> |
21 | #include <plat/usb-phy.h> | 21 | #include <plat/usb-phy.h> |
diff --git a/arch/arm/mach-exynos/hotplug.c b/arch/arm/mach-exynos/hotplug.c index 9c17a0a43858..f4d7dd20cdac 100644 --- a/arch/arm/mach-exynos/hotplug.c +++ b/arch/arm/mach-exynos/hotplug.c | |||
@@ -21,7 +21,7 @@ | |||
21 | 21 | ||
22 | #include <mach/regs-pmu.h> | 22 | #include <mach/regs-pmu.h> |
23 | 23 | ||
24 | extern volatile int pen_release; | 24 | #include "common.h" |
25 | 25 | ||
26 | static inline void cpu_enter_lowpower(void) | 26 | static inline void cpu_enter_lowpower(void) |
27 | { | 27 | { |
@@ -95,17 +95,12 @@ static inline void platform_do_lowpower(unsigned int cpu, int *spurious) | |||
95 | } | 95 | } |
96 | } | 96 | } |
97 | 97 | ||
98 | int platform_cpu_kill(unsigned int cpu) | ||
99 | { | ||
100 | return 1; | ||
101 | } | ||
102 | |||
103 | /* | 98 | /* |
104 | * platform-specific code to shutdown a CPU | 99 | * platform-specific code to shutdown a CPU |
105 | * | 100 | * |
106 | * Called with IRQs disabled | 101 | * Called with IRQs disabled |
107 | */ | 102 | */ |
108 | void platform_cpu_die(unsigned int cpu) | 103 | void __ref exynos_cpu_die(unsigned int cpu) |
109 | { | 104 | { |
110 | int spurious = 0; | 105 | int spurious = 0; |
111 | 106 | ||
@@ -124,12 +119,3 @@ void platform_cpu_die(unsigned int cpu) | |||
124 | if (spurious) | 119 | if (spurious) |
125 | pr_warn("CPU%u: %u spurious wakeup calls\n", cpu, spurious); | 120 | pr_warn("CPU%u: %u spurious wakeup calls\n", cpu, spurious); |
126 | } | 121 | } |
127 | |||
128 | int platform_cpu_disable(unsigned int cpu) | ||
129 | { | ||
130 | /* | ||
131 | * we don't allow CPU 0 to be shutdown (it is still too special | ||
132 | * e.g. clock tick interrupts) | ||
133 | */ | ||
134 | return cpu == 0 ? -EPERM : 0; | ||
135 | } | ||
diff --git a/arch/arm/mach-exynos/include/mach/ohci.h b/arch/arm/mach-exynos/include/mach/ohci.h deleted file mode 100644 index c256c595be5e..000000000000 --- a/arch/arm/mach-exynos/include/mach/ohci.h +++ /dev/null | |||
@@ -1,21 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2011 Samsung Electronics Co.Ltd | ||
3 | * http://www.samsung.com/ | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify it | ||
6 | * under the terms of the GNU General Public License as published by the | ||
7 | * Free Software Foundation; either version 2 of the License, or (at your | ||
8 | * option) any later version. | ||
9 | */ | ||
10 | |||
11 | #ifndef __MACH_EXYNOS_OHCI_H | ||
12 | #define __MACH_EXYNOS_OHCI_H | ||
13 | |||
14 | struct exynos4_ohci_platdata { | ||
15 | int (*phy_init)(struct platform_device *pdev, int type); | ||
16 | int (*phy_exit)(struct platform_device *pdev, int type); | ||
17 | }; | ||
18 | |||
19 | extern void exynos4_ohci_set_platdata(struct exynos4_ohci_platdata *pd); | ||
20 | |||
21 | #endif /* __MACH_EXYNOS_OHCI_H */ | ||
diff --git a/arch/arm/mach-exynos/mach-armlex4210.c b/arch/arm/mach-exynos/mach-armlex4210.c index 5a3daa0168d8..3f37a5e8a1f4 100644 --- a/arch/arm/mach-exynos/mach-armlex4210.c +++ b/arch/arm/mach-exynos/mach-armlex4210.c | |||
@@ -199,6 +199,7 @@ static void __init armlex4210_machine_init(void) | |||
199 | MACHINE_START(ARMLEX4210, "ARMLEX4210") | 199 | MACHINE_START(ARMLEX4210, "ARMLEX4210") |
200 | /* Maintainer: Alim Akhtar <alim.akhtar@samsung.com> */ | 200 | /* Maintainer: Alim Akhtar <alim.akhtar@samsung.com> */ |
201 | .atag_offset = 0x100, | 201 | .atag_offset = 0x100, |
202 | .smp = smp_ops(exynos_smp_ops), | ||
202 | .init_irq = exynos4_init_irq, | 203 | .init_irq = exynos4_init_irq, |
203 | .map_io = armlex4210_map_io, | 204 | .map_io = armlex4210_map_io, |
204 | .handle_irq = gic_handle_irq, | 205 | .handle_irq = gic_handle_irq, |
diff --git a/arch/arm/mach-exynos/mach-exynos5-dt.c b/arch/arm/mach-exynos/mach-exynos5-dt.c index fee9dcd49fdf..db1cd8eacf28 100644 --- a/arch/arm/mach-exynos/mach-exynos5-dt.c +++ b/arch/arm/mach-exynos/mach-exynos5-dt.c | |||
@@ -95,6 +95,7 @@ static char const *exynos5250_dt_compat[] __initdata = { | |||
95 | DT_MACHINE_START(EXYNOS5_DT, "SAMSUNG EXYNOS5 (Flattened Device Tree)") | 95 | DT_MACHINE_START(EXYNOS5_DT, "SAMSUNG EXYNOS5 (Flattened Device Tree)") |
96 | /* Maintainer: Kukjin Kim <kgene.kim@samsung.com> */ | 96 | /* Maintainer: Kukjin Kim <kgene.kim@samsung.com> */ |
97 | .init_irq = exynos5_init_irq, | 97 | .init_irq = exynos5_init_irq, |
98 | .smp = smp_ops(exynos_smp_ops), | ||
98 | .map_io = exynos5250_dt_map_io, | 99 | .map_io = exynos5250_dt_map_io, |
99 | .handle_irq = gic_handle_irq, | 100 | .handle_irq = gic_handle_irq, |
100 | .init_machine = exynos5250_dt_machine_init, | 101 | .init_machine = exynos5250_dt_machine_init, |
diff --git a/arch/arm/mach-exynos/mach-nuri.c b/arch/arm/mach-exynos/mach-nuri.c index ea785fcaf6c3..480cd78f1920 100644 --- a/arch/arm/mach-exynos/mach-nuri.c +++ b/arch/arm/mach-exynos/mach-nuri.c | |||
@@ -45,14 +45,14 @@ | |||
45 | #include <plat/devs.h> | 45 | #include <plat/devs.h> |
46 | #include <plat/fb.h> | 46 | #include <plat/fb.h> |
47 | #include <plat/sdhci.h> | 47 | #include <plat/sdhci.h> |
48 | #include <plat/ehci.h> | 48 | #include <linux/platform_data/usb-ehci-s5p.h> |
49 | #include <plat/clock.h> | 49 | #include <plat/clock.h> |
50 | #include <plat/gpio-cfg.h> | 50 | #include <plat/gpio-cfg.h> |
51 | #include <plat/iic.h> | 51 | #include <linux/platform_data/i2c-s3c2410.h> |
52 | #include <plat/mfc.h> | 52 | #include <plat/mfc.h> |
53 | #include <plat/fimc-core.h> | 53 | #include <plat/fimc-core.h> |
54 | #include <plat/camport.h> | 54 | #include <plat/camport.h> |
55 | #include <plat/mipi_csis.h> | 55 | #include <linux/platform_data/mipi-csis.h> |
56 | 56 | ||
57 | #include <mach/map.h> | 57 | #include <mach/map.h> |
58 | 58 | ||
@@ -1383,6 +1383,7 @@ static void __init nuri_machine_init(void) | |||
1383 | MACHINE_START(NURI, "NURI") | 1383 | MACHINE_START(NURI, "NURI") |
1384 | /* Maintainer: Kyungmin Park <kyungmin.park@samsung.com> */ | 1384 | /* Maintainer: Kyungmin Park <kyungmin.park@samsung.com> */ |
1385 | .atag_offset = 0x100, | 1385 | .atag_offset = 0x100, |
1386 | .smp = smp_ops(exynos_smp_ops), | ||
1386 | .init_irq = exynos4_init_irq, | 1387 | .init_irq = exynos4_init_irq, |
1387 | .map_io = nuri_map_io, | 1388 | .map_io = nuri_map_io, |
1388 | .handle_irq = gic_handle_irq, | 1389 | .handle_irq = gic_handle_irq, |
diff --git a/arch/arm/mach-exynos/mach-origen.c b/arch/arm/mach-exynos/mach-origen.c index b45600fcf73e..67b50bb89c0f 100644 --- a/arch/arm/mach-exynos/mach-origen.c +++ b/arch/arm/mach-exynos/mach-origen.c | |||
@@ -36,8 +36,8 @@ | |||
36 | #include <plat/cpu.h> | 36 | #include <plat/cpu.h> |
37 | #include <plat/devs.h> | 37 | #include <plat/devs.h> |
38 | #include <plat/sdhci.h> | 38 | #include <plat/sdhci.h> |
39 | #include <plat/iic.h> | 39 | #include <linux/platform_data/i2c-s3c2410.h> |
40 | #include <plat/ehci.h> | 40 | #include <linux/platform_data/usb-ehci-s5p.h> |
41 | #include <plat/clock.h> | 41 | #include <plat/clock.h> |
42 | #include <plat/gpio-cfg.h> | 42 | #include <plat/gpio-cfg.h> |
43 | #include <plat/backlight.h> | 43 | #include <plat/backlight.h> |
@@ -45,7 +45,7 @@ | |||
45 | #include <plat/mfc.h> | 45 | #include <plat/mfc.h> |
46 | #include <plat/hdmi.h> | 46 | #include <plat/hdmi.h> |
47 | 47 | ||
48 | #include <mach/ohci.h> | 48 | #include <linux/platform_data/usb-exynos.h> |
49 | #include <mach/map.h> | 49 | #include <mach/map.h> |
50 | 50 | ||
51 | #include <drm/exynos_drm.h> | 51 | #include <drm/exynos_drm.h> |
@@ -812,6 +812,7 @@ static void __init origen_machine_init(void) | |||
812 | MACHINE_START(ORIGEN, "ORIGEN") | 812 | MACHINE_START(ORIGEN, "ORIGEN") |
813 | /* Maintainer: JeongHyeon Kim <jhkim@insignal.co.kr> */ | 813 | /* Maintainer: JeongHyeon Kim <jhkim@insignal.co.kr> */ |
814 | .atag_offset = 0x100, | 814 | .atag_offset = 0x100, |
815 | .smp = smp_ops(exynos_smp_ops), | ||
815 | .init_irq = exynos4_init_irq, | 816 | .init_irq = exynos4_init_irq, |
816 | .map_io = origen_map_io, | 817 | .map_io = origen_map_io, |
817 | .handle_irq = gic_handle_irq, | 818 | .handle_irq = gic_handle_irq, |
diff --git a/arch/arm/mach-exynos/mach-smdk4x12.c b/arch/arm/mach-exynos/mach-smdk4x12.c index 81bf59c6f4bf..7a265d1a82d3 100644 --- a/arch/arm/mach-exynos/mach-smdk4x12.c +++ b/arch/arm/mach-exynos/mach-smdk4x12.c | |||
@@ -33,7 +33,7 @@ | |||
33 | #include <plat/devs.h> | 33 | #include <plat/devs.h> |
34 | #include <plat/fb.h> | 34 | #include <plat/fb.h> |
35 | #include <plat/gpio-cfg.h> | 35 | #include <plat/gpio-cfg.h> |
36 | #include <plat/iic.h> | 36 | #include <linux/platform_data/i2c-s3c2410.h> |
37 | #include <plat/keypad.h> | 37 | #include <plat/keypad.h> |
38 | #include <plat/mfc.h> | 38 | #include <plat/mfc.h> |
39 | #include <plat/regs-fb.h> | 39 | #include <plat/regs-fb.h> |
@@ -376,6 +376,7 @@ static void __init smdk4x12_machine_init(void) | |||
376 | MACHINE_START(SMDK4212, "SMDK4212") | 376 | MACHINE_START(SMDK4212, "SMDK4212") |
377 | /* Maintainer: Kukjin Kim <kgene.kim@samsung.com> */ | 377 | /* Maintainer: Kukjin Kim <kgene.kim@samsung.com> */ |
378 | .atag_offset = 0x100, | 378 | .atag_offset = 0x100, |
379 | .smp = smp_ops(exynos_smp_ops), | ||
379 | .init_irq = exynos4_init_irq, | 380 | .init_irq = exynos4_init_irq, |
380 | .map_io = smdk4x12_map_io, | 381 | .map_io = smdk4x12_map_io, |
381 | .handle_irq = gic_handle_irq, | 382 | .handle_irq = gic_handle_irq, |
@@ -389,6 +390,7 @@ MACHINE_START(SMDK4412, "SMDK4412") | |||
389 | /* Maintainer: Kukjin Kim <kgene.kim@samsung.com> */ | 390 | /* Maintainer: Kukjin Kim <kgene.kim@samsung.com> */ |
390 | /* Maintainer: Changhwan Youn <chaos.youn@samsung.com> */ | 391 | /* Maintainer: Changhwan Youn <chaos.youn@samsung.com> */ |
391 | .atag_offset = 0x100, | 392 | .atag_offset = 0x100, |
393 | .smp = smp_ops(exynos_smp_ops), | ||
392 | .init_irq = exynos4_init_irq, | 394 | .init_irq = exynos4_init_irq, |
393 | .map_io = smdk4x12_map_io, | 395 | .map_io = smdk4x12_map_io, |
394 | .handle_irq = gic_handle_irq, | 396 | .handle_irq = gic_handle_irq, |
diff --git a/arch/arm/mach-exynos/mach-smdkv310.c b/arch/arm/mach-exynos/mach-smdkv310.c index 12a1db29e1a1..c15d2238ceb0 100644 --- a/arch/arm/mach-exynos/mach-smdkv310.c +++ b/arch/arm/mach-exynos/mach-smdkv310.c | |||
@@ -35,16 +35,16 @@ | |||
35 | #include <plat/fb.h> | 35 | #include <plat/fb.h> |
36 | #include <plat/keypad.h> | 36 | #include <plat/keypad.h> |
37 | #include <plat/sdhci.h> | 37 | #include <plat/sdhci.h> |
38 | #include <plat/iic.h> | 38 | #include <linux/platform_data/i2c-s3c2410.h> |
39 | #include <plat/gpio-cfg.h> | 39 | #include <plat/gpio-cfg.h> |
40 | #include <plat/backlight.h> | 40 | #include <plat/backlight.h> |
41 | #include <plat/mfc.h> | 41 | #include <plat/mfc.h> |
42 | #include <plat/ehci.h> | 42 | #include <linux/platform_data/usb-ehci-s5p.h> |
43 | #include <plat/clock.h> | 43 | #include <plat/clock.h> |
44 | #include <plat/hdmi.h> | 44 | #include <plat/hdmi.h> |
45 | 45 | ||
46 | #include <mach/map.h> | 46 | #include <mach/map.h> |
47 | #include <mach/ohci.h> | 47 | #include <linux/platform_data/usb-exynos.h> |
48 | 48 | ||
49 | #include <drm/exynos_drm.h> | 49 | #include <drm/exynos_drm.h> |
50 | #include "common.h" | 50 | #include "common.h" |
@@ -424,6 +424,7 @@ MACHINE_START(SMDKV310, "SMDKV310") | |||
424 | /* Maintainer: Kukjin Kim <kgene.kim@samsung.com> */ | 424 | /* Maintainer: Kukjin Kim <kgene.kim@samsung.com> */ |
425 | /* Maintainer: Changhwan Youn <chaos.youn@samsung.com> */ | 425 | /* Maintainer: Changhwan Youn <chaos.youn@samsung.com> */ |
426 | .atag_offset = 0x100, | 426 | .atag_offset = 0x100, |
427 | .smp = smp_ops(exynos_smp_ops), | ||
427 | .init_irq = exynos4_init_irq, | 428 | .init_irq = exynos4_init_irq, |
428 | .map_io = smdkv310_map_io, | 429 | .map_io = smdkv310_map_io, |
429 | .handle_irq = gic_handle_irq, | 430 | .handle_irq = gic_handle_irq, |
@@ -436,6 +437,7 @@ MACHINE_END | |||
436 | MACHINE_START(SMDKC210, "SMDKC210") | 437 | MACHINE_START(SMDKC210, "SMDKC210") |
437 | /* Maintainer: Kukjin Kim <kgene.kim@samsung.com> */ | 438 | /* Maintainer: Kukjin Kim <kgene.kim@samsung.com> */ |
438 | .atag_offset = 0x100, | 439 | .atag_offset = 0x100, |
440 | .smp = smp_ops(exynos_smp_ops), | ||
439 | .init_irq = exynos4_init_irq, | 441 | .init_irq = exynos4_init_irq, |
440 | .map_io = smdkv310_map_io, | 442 | .map_io = smdkv310_map_io, |
441 | .handle_irq = gic_handle_irq, | 443 | .handle_irq = gic_handle_irq, |
diff --git a/arch/arm/mach-exynos/mach-universal_c210.c b/arch/arm/mach-exynos/mach-universal_c210.c index 4d1f40d44ed1..98d3aced2289 100644 --- a/arch/arm/mach-exynos/mach-universal_c210.c +++ b/arch/arm/mach-exynos/mach-universal_c210.c | |||
@@ -34,7 +34,7 @@ | |||
34 | #include <plat/clock.h> | 34 | #include <plat/clock.h> |
35 | #include <plat/cpu.h> | 35 | #include <plat/cpu.h> |
36 | #include <plat/devs.h> | 36 | #include <plat/devs.h> |
37 | #include <plat/iic.h> | 37 | #include <linux/platform_data/i2c-s3c2410.h> |
38 | #include <plat/gpio-cfg.h> | 38 | #include <plat/gpio-cfg.h> |
39 | #include <plat/fb.h> | 39 | #include <plat/fb.h> |
40 | #include <plat/mfc.h> | 40 | #include <plat/mfc.h> |
@@ -43,7 +43,7 @@ | |||
43 | #include <plat/fimc-core.h> | 43 | #include <plat/fimc-core.h> |
44 | #include <plat/s5p-time.h> | 44 | #include <plat/s5p-time.h> |
45 | #include <plat/camport.h> | 45 | #include <plat/camport.h> |
46 | #include <plat/mipi_csis.h> | 46 | #include <linux/platform_data/mipi-csis.h> |
47 | 47 | ||
48 | #include <mach/map.h> | 48 | #include <mach/map.h> |
49 | 49 | ||
@@ -1155,6 +1155,7 @@ static void __init universal_machine_init(void) | |||
1155 | MACHINE_START(UNIVERSAL_C210, "UNIVERSAL_C210") | 1155 | MACHINE_START(UNIVERSAL_C210, "UNIVERSAL_C210") |
1156 | /* Maintainer: Kyungmin Park <kyungmin.park@samsung.com> */ | 1156 | /* Maintainer: Kyungmin Park <kyungmin.park@samsung.com> */ |
1157 | .atag_offset = 0x100, | 1157 | .atag_offset = 0x100, |
1158 | .smp = smp_ops(exynos_smp_ops), | ||
1158 | .init_irq = exynos4_init_irq, | 1159 | .init_irq = exynos4_init_irq, |
1159 | .map_io = universal_map_io, | 1160 | .map_io = universal_map_io, |
1160 | .handle_irq = gic_handle_irq, | 1161 | .handle_irq = gic_handle_irq, |
diff --git a/arch/arm/mach-exynos/platsmp.c b/arch/arm/mach-exynos/platsmp.c index 36c3984aaa47..8d57e4223bdb 100644 --- a/arch/arm/mach-exynos/platsmp.c +++ b/arch/arm/mach-exynos/platsmp.c | |||
@@ -32,19 +32,14 @@ | |||
32 | 32 | ||
33 | #include <plat/cpu.h> | 33 | #include <plat/cpu.h> |
34 | 34 | ||
35 | #include "common.h" | ||
36 | |||
35 | extern void exynos4_secondary_startup(void); | 37 | extern void exynos4_secondary_startup(void); |
36 | 38 | ||
37 | #define CPU1_BOOT_REG (samsung_rev() == EXYNOS4210_REV_1_1 ? \ | 39 | #define CPU1_BOOT_REG (samsung_rev() == EXYNOS4210_REV_1_1 ? \ |
38 | S5P_INFORM5 : S5P_VA_SYSRAM) | 40 | S5P_INFORM5 : S5P_VA_SYSRAM) |
39 | 41 | ||
40 | /* | 42 | /* |
41 | * control for which core is the next to come out of the secondary | ||
42 | * boot "holding pen" | ||
43 | */ | ||
44 | |||
45 | volatile int __cpuinitdata pen_release = -1; | ||
46 | |||
47 | /* | ||
48 | * Write pen_release in a way that is guaranteed to be visible to all | 43 | * Write pen_release in a way that is guaranteed to be visible to all |
49 | * observers, irrespective of whether they're taking part in coherency | 44 | * observers, irrespective of whether they're taking part in coherency |
50 | * or not. This is necessary for the hotplug code to work reliably. | 45 | * or not. This is necessary for the hotplug code to work reliably. |
@@ -64,7 +59,7 @@ static void __iomem *scu_base_addr(void) | |||
64 | 59 | ||
65 | static DEFINE_SPINLOCK(boot_lock); | 60 | static DEFINE_SPINLOCK(boot_lock); |
66 | 61 | ||
67 | void __cpuinit platform_secondary_init(unsigned int cpu) | 62 | static void __cpuinit exynos_secondary_init(unsigned int cpu) |
68 | { | 63 | { |
69 | /* | 64 | /* |
70 | * if any interrupts are already enabled for the primary | 65 | * if any interrupts are already enabled for the primary |
@@ -86,7 +81,7 @@ void __cpuinit platform_secondary_init(unsigned int cpu) | |||
86 | spin_unlock(&boot_lock); | 81 | spin_unlock(&boot_lock); |
87 | } | 82 | } |
88 | 83 | ||
89 | int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle) | 84 | static int __cpuinit exynos_boot_secondary(unsigned int cpu, struct task_struct *idle) |
90 | { | 85 | { |
91 | unsigned long timeout; | 86 | unsigned long timeout; |
92 | 87 | ||
@@ -161,7 +156,7 @@ int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle) | |||
161 | * which may be present or become present in the system. | 156 | * which may be present or become present in the system. |
162 | */ | 157 | */ |
163 | 158 | ||
164 | void __init smp_init_cpus(void) | 159 | static void __init exynos_smp_init_cpus(void) |
165 | { | 160 | { |
166 | void __iomem *scu_base = scu_base_addr(); | 161 | void __iomem *scu_base = scu_base_addr(); |
167 | unsigned int i, ncores; | 162 | unsigned int i, ncores; |
@@ -184,7 +179,7 @@ void __init smp_init_cpus(void) | |||
184 | set_smp_cross_call(gic_raise_softirq); | 179 | set_smp_cross_call(gic_raise_softirq); |
185 | } | 180 | } |
186 | 181 | ||
187 | void __init platform_smp_prepare_cpus(unsigned int max_cpus) | 182 | static void __init exynos_smp_prepare_cpus(unsigned int max_cpus) |
188 | { | 183 | { |
189 | if (!soc_is_exynos5250()) | 184 | if (!soc_is_exynos5250()) |
190 | scu_enable(scu_base_addr()); | 185 | scu_enable(scu_base_addr()); |
@@ -198,3 +193,13 @@ void __init platform_smp_prepare_cpus(unsigned int max_cpus) | |||
198 | __raw_writel(virt_to_phys(exynos4_secondary_startup), | 193 | __raw_writel(virt_to_phys(exynos4_secondary_startup), |
199 | CPU1_BOOT_REG); | 194 | CPU1_BOOT_REG); |
200 | } | 195 | } |
196 | |||
197 | struct smp_operations exynos_smp_ops __initdata = { | ||
198 | .smp_init_cpus = exynos_smp_init_cpus, | ||
199 | .smp_prepare_cpus = exynos_smp_prepare_cpus, | ||
200 | .smp_secondary_init = exynos_secondary_init, | ||
201 | .smp_boot_secondary = exynos_boot_secondary, | ||
202 | #ifdef CONFIG_HOTPLUG_CPU | ||
203 | .cpu_die = exynos_cpu_die, | ||
204 | #endif | ||
205 | }; | ||
diff --git a/arch/arm/mach-exynos/setup-i2c0.c b/arch/arm/mach-exynos/setup-i2c0.c index b90d94c17f7c..5700f23629f7 100644 --- a/arch/arm/mach-exynos/setup-i2c0.c +++ b/arch/arm/mach-exynos/setup-i2c0.c | |||
@@ -14,7 +14,7 @@ | |||
14 | struct platform_device; /* don't need the contents */ | 14 | struct platform_device; /* don't need the contents */ |
15 | 15 | ||
16 | #include <linux/gpio.h> | 16 | #include <linux/gpio.h> |
17 | #include <plat/iic.h> | 17 | #include <linux/platform_data/i2c-s3c2410.h> |
18 | #include <plat/gpio-cfg.h> | 18 | #include <plat/gpio-cfg.h> |
19 | #include <plat/cpu.h> | 19 | #include <plat/cpu.h> |
20 | 20 | ||
diff --git a/arch/arm/mach-exynos/setup-i2c1.c b/arch/arm/mach-exynos/setup-i2c1.c index fd7235a43f6e..8d2279cc85dc 100644 --- a/arch/arm/mach-exynos/setup-i2c1.c +++ b/arch/arm/mach-exynos/setup-i2c1.c | |||
@@ -13,7 +13,7 @@ | |||
13 | struct platform_device; /* don't need the contents */ | 13 | struct platform_device; /* don't need the contents */ |
14 | 14 | ||
15 | #include <linux/gpio.h> | 15 | #include <linux/gpio.h> |
16 | #include <plat/iic.h> | 16 | #include <linux/platform_data/i2c-s3c2410.h> |
17 | #include <plat/gpio-cfg.h> | 17 | #include <plat/gpio-cfg.h> |
18 | 18 | ||
19 | void s3c_i2c1_cfg_gpio(struct platform_device *dev) | 19 | void s3c_i2c1_cfg_gpio(struct platform_device *dev) |
diff --git a/arch/arm/mach-exynos/setup-i2c2.c b/arch/arm/mach-exynos/setup-i2c2.c index 2694b19e8b37..0ed62fc42a77 100644 --- a/arch/arm/mach-exynos/setup-i2c2.c +++ b/arch/arm/mach-exynos/setup-i2c2.c | |||
@@ -13,7 +13,7 @@ | |||
13 | struct platform_device; /* don't need the contents */ | 13 | struct platform_device; /* don't need the contents */ |
14 | 14 | ||
15 | #include <linux/gpio.h> | 15 | #include <linux/gpio.h> |
16 | #include <plat/iic.h> | 16 | #include <linux/platform_data/i2c-s3c2410.h> |
17 | #include <plat/gpio-cfg.h> | 17 | #include <plat/gpio-cfg.h> |
18 | 18 | ||
19 | void s3c_i2c2_cfg_gpio(struct platform_device *dev) | 19 | void s3c_i2c2_cfg_gpio(struct platform_device *dev) |
diff --git a/arch/arm/mach-exynos/setup-i2c3.c b/arch/arm/mach-exynos/setup-i2c3.c index 379bd306993f..7787fd26076b 100644 --- a/arch/arm/mach-exynos/setup-i2c3.c +++ b/arch/arm/mach-exynos/setup-i2c3.c | |||
@@ -13,7 +13,7 @@ | |||
13 | struct platform_device; /* don't need the contents */ | 13 | struct platform_device; /* don't need the contents */ |
14 | 14 | ||
15 | #include <linux/gpio.h> | 15 | #include <linux/gpio.h> |
16 | #include <plat/iic.h> | 16 | #include <linux/platform_data/i2c-s3c2410.h> |
17 | #include <plat/gpio-cfg.h> | 17 | #include <plat/gpio-cfg.h> |
18 | 18 | ||
19 | void s3c_i2c3_cfg_gpio(struct platform_device *dev) | 19 | void s3c_i2c3_cfg_gpio(struct platform_device *dev) |
diff --git a/arch/arm/mach-exynos/setup-i2c4.c b/arch/arm/mach-exynos/setup-i2c4.c index 9f3c04855b76..edc847f89826 100644 --- a/arch/arm/mach-exynos/setup-i2c4.c +++ b/arch/arm/mach-exynos/setup-i2c4.c | |||
@@ -13,7 +13,7 @@ | |||
13 | struct platform_device; /* don't need the contents */ | 13 | struct platform_device; /* don't need the contents */ |
14 | 14 | ||
15 | #include <linux/gpio.h> | 15 | #include <linux/gpio.h> |
16 | #include <plat/iic.h> | 16 | #include <linux/platform_data/i2c-s3c2410.h> |
17 | #include <plat/gpio-cfg.h> | 17 | #include <plat/gpio-cfg.h> |
18 | 18 | ||
19 | void s3c_i2c4_cfg_gpio(struct platform_device *dev) | 19 | void s3c_i2c4_cfg_gpio(struct platform_device *dev) |
diff --git a/arch/arm/mach-exynos/setup-i2c5.c b/arch/arm/mach-exynos/setup-i2c5.c index 77e1a1e57c76..d88af7f75954 100644 --- a/arch/arm/mach-exynos/setup-i2c5.c +++ b/arch/arm/mach-exynos/setup-i2c5.c | |||
@@ -13,7 +13,7 @@ | |||
13 | struct platform_device; /* don't need the contents */ | 13 | struct platform_device; /* don't need the contents */ |
14 | 14 | ||
15 | #include <linux/gpio.h> | 15 | #include <linux/gpio.h> |
16 | #include <plat/iic.h> | 16 | #include <linux/platform_data/i2c-s3c2410.h> |
17 | #include <plat/gpio-cfg.h> | 17 | #include <plat/gpio-cfg.h> |
18 | 18 | ||
19 | void s3c_i2c5_cfg_gpio(struct platform_device *dev) | 19 | void s3c_i2c5_cfg_gpio(struct platform_device *dev) |
diff --git a/arch/arm/mach-exynos/setup-i2c6.c b/arch/arm/mach-exynos/setup-i2c6.c index 284d12b7af0e..c590286c9d3a 100644 --- a/arch/arm/mach-exynos/setup-i2c6.c +++ b/arch/arm/mach-exynos/setup-i2c6.c | |||
@@ -13,7 +13,7 @@ | |||
13 | struct platform_device; /* don't need the contents */ | 13 | struct platform_device; /* don't need the contents */ |
14 | 14 | ||
15 | #include <linux/gpio.h> | 15 | #include <linux/gpio.h> |
16 | #include <plat/iic.h> | 16 | #include <linux/platform_data/i2c-s3c2410.h> |
17 | #include <plat/gpio-cfg.h> | 17 | #include <plat/gpio-cfg.h> |
18 | 18 | ||
19 | void s3c_i2c6_cfg_gpio(struct platform_device *dev) | 19 | void s3c_i2c6_cfg_gpio(struct platform_device *dev) |
diff --git a/arch/arm/mach-exynos/setup-i2c7.c b/arch/arm/mach-exynos/setup-i2c7.c index b7611ee359a2..1bba75568a5f 100644 --- a/arch/arm/mach-exynos/setup-i2c7.c +++ b/arch/arm/mach-exynos/setup-i2c7.c | |||
@@ -13,7 +13,7 @@ | |||
13 | struct platform_device; /* don't need the contents */ | 13 | struct platform_device; /* don't need the contents */ |
14 | 14 | ||
15 | #include <linux/gpio.h> | 15 | #include <linux/gpio.h> |
16 | #include <plat/iic.h> | 16 | #include <linux/platform_data/i2c-s3c2410.h> |
17 | #include <plat/gpio-cfg.h> | 17 | #include <plat/gpio-cfg.h> |
18 | 18 | ||
19 | void s3c_i2c7_cfg_gpio(struct platform_device *dev) | 19 | void s3c_i2c7_cfg_gpio(struct platform_device *dev) |
diff --git a/arch/arm/mach-highbank/Kconfig b/arch/arm/mach-highbank/Kconfig new file mode 100644 index 000000000000..0e1d0a42a3ea --- /dev/null +++ b/arch/arm/mach-highbank/Kconfig | |||
@@ -0,0 +1,15 @@ | |||
1 | config ARCH_HIGHBANK | ||
2 | bool "Calxeda ECX-1000 (Highbank)" if ARCH_MULTI_V7 | ||
3 | select ARCH_WANT_OPTIONAL_GPIOLIB | ||
4 | select ARM_AMBA | ||
5 | select ARM_GIC | ||
6 | select ARM_TIMER_SP804 | ||
7 | select CACHE_L2X0 | ||
8 | select CLKDEV_LOOKUP | ||
9 | select COMMON_CLK | ||
10 | select CPU_V7 | ||
11 | select GENERIC_CLOCKEVENTS | ||
12 | select HAVE_ARM_SCU | ||
13 | select HAVE_SMP | ||
14 | select SPARSE_IRQ | ||
15 | select USE_OF | ||
diff --git a/arch/arm/mach-highbank/Makefile.boot b/arch/arm/mach-highbank/Makefile.boot deleted file mode 100644 index dae9661a7689..000000000000 --- a/arch/arm/mach-highbank/Makefile.boot +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | zreladdr-y := 0x00008000 | ||
diff --git a/arch/arm/mach-highbank/core.h b/arch/arm/mach-highbank/core.h index 141ed5171826..286ec82a4f63 100644 --- a/arch/arm/mach-highbank/core.h +++ b/arch/arm/mach-highbank/core.h | |||
@@ -8,4 +8,13 @@ extern void highbank_lluart_map_io(void); | |||
8 | static inline void highbank_lluart_map_io(void) {} | 8 | static inline void highbank_lluart_map_io(void) {} |
9 | #endif | 9 | #endif |
10 | 10 | ||
11 | #ifdef CONFIG_PM_SLEEP | ||
12 | extern void highbank_pm_init(void); | ||
13 | #else | ||
14 | static inline void highbank_pm_init(void) {} | ||
15 | #endif | ||
16 | |||
11 | extern void highbank_smc1(int fn, int arg); | 17 | extern void highbank_smc1(int fn, int arg); |
18 | extern void highbank_cpu_die(unsigned int cpu); | ||
19 | |||
20 | extern struct smp_operations highbank_smp_ops; | ||
diff --git a/arch/arm/mach-highbank/highbank.c b/arch/arm/mach-highbank/highbank.c index d75b0a78d88a..af1da34ccf9d 100644 --- a/arch/arm/mach-highbank/highbank.c +++ b/arch/arm/mach-highbank/highbank.c | |||
@@ -152,6 +152,7 @@ static void highbank_power_off(void) | |||
152 | static void __init highbank_init(void) | 152 | static void __init highbank_init(void) |
153 | { | 153 | { |
154 | pm_power_off = highbank_power_off; | 154 | pm_power_off = highbank_power_off; |
155 | highbank_pm_init(); | ||
155 | 156 | ||
156 | of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); | 157 | of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); |
157 | } | 158 | } |
@@ -162,6 +163,7 @@ static const char *highbank_match[] __initconst = { | |||
162 | }; | 163 | }; |
163 | 164 | ||
164 | DT_MACHINE_START(HIGHBANK, "Highbank") | 165 | DT_MACHINE_START(HIGHBANK, "Highbank") |
166 | .smp = smp_ops(highbank_smp_ops), | ||
165 | .map_io = highbank_map_io, | 167 | .map_io = highbank_map_io, |
166 | .init_irq = highbank_init_irq, | 168 | .init_irq = highbank_init_irq, |
167 | .timer = &highbank_timer, | 169 | .timer = &highbank_timer, |
diff --git a/arch/arm/mach-highbank/hotplug.c b/arch/arm/mach-highbank/hotplug.c index 977cebbea580..2c1b8c3c8e45 100644 --- a/arch/arm/mach-highbank/hotplug.c +++ b/arch/arm/mach-highbank/hotplug.c | |||
@@ -24,16 +24,11 @@ | |||
24 | 24 | ||
25 | extern void secondary_startup(void); | 25 | extern void secondary_startup(void); |
26 | 26 | ||
27 | int platform_cpu_kill(unsigned int cpu) | ||
28 | { | ||
29 | return 1; | ||
30 | } | ||
31 | |||
32 | /* | 27 | /* |
33 | * platform-specific code to shutdown a CPU | 28 | * platform-specific code to shutdown a CPU |
34 | * | 29 | * |
35 | */ | 30 | */ |
36 | void platform_cpu_die(unsigned int cpu) | 31 | void __ref highbank_cpu_die(unsigned int cpu) |
37 | { | 32 | { |
38 | flush_cache_all(); | 33 | flush_cache_all(); |
39 | 34 | ||
@@ -45,12 +40,3 @@ void platform_cpu_die(unsigned int cpu) | |||
45 | /* We should never return from idle */ | 40 | /* We should never return from idle */ |
46 | panic("highbank: cpu %d unexpectedly exit from shutdown\n", cpu); | 41 | panic("highbank: cpu %d unexpectedly exit from shutdown\n", cpu); |
47 | } | 42 | } |
48 | |||
49 | int platform_cpu_disable(unsigned int cpu) | ||
50 | { | ||
51 | /* | ||
52 | * CPU0 should not be shut down via hotplug. cpu_idle can WFI | ||
53 | * or a proper shutdown or hibernate should be used. | ||
54 | */ | ||
55 | return cpu == 0 ? -EPERM : 0; | ||
56 | } | ||
diff --git a/arch/arm/mach-highbank/include/mach/gpio.h b/arch/arm/mach-highbank/include/mach/gpio.h deleted file mode 100644 index 40a8c178f10d..000000000000 --- a/arch/arm/mach-highbank/include/mach/gpio.h +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | /* empty */ | ||
diff --git a/arch/arm/mach-highbank/include/mach/timex.h b/arch/arm/mach-highbank/include/mach/timex.h deleted file mode 100644 index 88dac7a55a97..000000000000 --- a/arch/arm/mach-highbank/include/mach/timex.h +++ /dev/null | |||
@@ -1,6 +0,0 @@ | |||
1 | #ifndef __MACH_TIMEX_H | ||
2 | #define __MACH_TIMEX_H | ||
3 | |||
4 | #define CLOCK_TICK_RATE 1000000 | ||
5 | |||
6 | #endif | ||
diff --git a/arch/arm/mach-highbank/include/mach/uncompress.h b/arch/arm/mach-highbank/include/mach/uncompress.h deleted file mode 100644 index bbe20e696325..000000000000 --- a/arch/arm/mach-highbank/include/mach/uncompress.h +++ /dev/null | |||
@@ -1,9 +0,0 @@ | |||
1 | #ifndef __MACH_UNCOMPRESS_H | ||
2 | #define __MACH_UNCOMPRESS_H | ||
3 | |||
4 | #define putc(c) | ||
5 | #define flush() | ||
6 | #define arch_decomp_setup() | ||
7 | #define arch_decomp_wdog() | ||
8 | |||
9 | #endif | ||
diff --git a/arch/arm/mach-highbank/platsmp.c b/arch/arm/mach-highbank/platsmp.c index d01364c72b45..fa9560ec6e70 100644 --- a/arch/arm/mach-highbank/platsmp.c +++ b/arch/arm/mach-highbank/platsmp.c | |||
@@ -25,12 +25,12 @@ | |||
25 | 25 | ||
26 | extern void secondary_startup(void); | 26 | extern void secondary_startup(void); |
27 | 27 | ||
28 | void __cpuinit platform_secondary_init(unsigned int cpu) | 28 | static void __cpuinit highbank_secondary_init(unsigned int cpu) |
29 | { | 29 | { |
30 | gic_secondary_init(0); | 30 | gic_secondary_init(0); |
31 | } | 31 | } |
32 | 32 | ||
33 | int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle) | 33 | static int __cpuinit highbank_boot_secondary(unsigned int cpu, struct task_struct *idle) |
34 | { | 34 | { |
35 | gic_raise_softirq(cpumask_of(cpu), 0); | 35 | gic_raise_softirq(cpumask_of(cpu), 0); |
36 | return 0; | 36 | return 0; |
@@ -40,7 +40,7 @@ int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle) | |||
40 | * Initialise the CPU possible map early - this describes the CPUs | 40 | * Initialise the CPU possible map early - this describes the CPUs |
41 | * which may be present or become present in the system. | 41 | * which may be present or become present in the system. |
42 | */ | 42 | */ |
43 | void __init smp_init_cpus(void) | 43 | static void __init highbank_smp_init_cpus(void) |
44 | { | 44 | { |
45 | unsigned int i, ncores; | 45 | unsigned int i, ncores; |
46 | 46 | ||
@@ -61,7 +61,7 @@ void __init smp_init_cpus(void) | |||
61 | set_smp_cross_call(gic_raise_softirq); | 61 | set_smp_cross_call(gic_raise_softirq); |
62 | } | 62 | } |
63 | 63 | ||
64 | void __init platform_smp_prepare_cpus(unsigned int max_cpus) | 64 | static void __init highbank_smp_prepare_cpus(unsigned int max_cpus) |
65 | { | 65 | { |
66 | int i; | 66 | int i; |
67 | 67 | ||
@@ -76,3 +76,13 @@ void __init platform_smp_prepare_cpus(unsigned int max_cpus) | |||
76 | for (i = 1; i < max_cpus; i++) | 76 | for (i = 1; i < max_cpus; i++) |
77 | highbank_set_cpu_jump(i, secondary_startup); | 77 | highbank_set_cpu_jump(i, secondary_startup); |
78 | } | 78 | } |
79 | |||
80 | struct smp_operations highbank_smp_ops __initdata = { | ||
81 | .smp_init_cpus = highbank_smp_init_cpus, | ||
82 | .smp_prepare_cpus = highbank_smp_prepare_cpus, | ||
83 | .smp_secondary_init = highbank_secondary_init, | ||
84 | .smp_boot_secondary = highbank_boot_secondary, | ||
85 | #ifdef CONFIG_HOTPLUG_CPU | ||
86 | .cpu_die = highbank_cpu_die, | ||
87 | #endif | ||
88 | }; | ||
diff --git a/arch/arm/mach-highbank/pm.c b/arch/arm/mach-highbank/pm.c index 33b3beb89982..de866f21331f 100644 --- a/arch/arm/mach-highbank/pm.c +++ b/arch/arm/mach-highbank/pm.c | |||
@@ -47,9 +47,7 @@ static const struct platform_suspend_ops highbank_pm_ops = { | |||
47 | .valid = suspend_valid_only_mem, | 47 | .valid = suspend_valid_only_mem, |
48 | }; | 48 | }; |
49 | 49 | ||
50 | static int __init highbank_pm_init(void) | 50 | void __init highbank_pm_init(void) |
51 | { | 51 | { |
52 | suspend_set_ops(&highbank_pm_ops); | 52 | suspend_set_ops(&highbank_pm_ops); |
53 | return 0; | ||
54 | } | 53 | } |
55 | module_init(highbank_pm_init); | ||
diff --git a/arch/arm/mach-imx/Makefile.boot b/arch/arm/mach-imx/Makefile.boot index c60967629e27..b27815de8473 100644 --- a/arch/arm/mach-imx/Makefile.boot +++ b/arch/arm/mach-imx/Makefile.boot | |||
@@ -37,14 +37,3 @@ initrd_phys-$(CONFIG_SOC_IMX53) := 0x70800000 | |||
37 | zreladdr-$(CONFIG_SOC_IMX6Q) += 0x10008000 | 37 | zreladdr-$(CONFIG_SOC_IMX6Q) += 0x10008000 |
38 | params_phys-$(CONFIG_SOC_IMX6Q) := 0x10000100 | 38 | params_phys-$(CONFIG_SOC_IMX6Q) := 0x10000100 |
39 | initrd_phys-$(CONFIG_SOC_IMX6Q) := 0x10800000 | 39 | initrd_phys-$(CONFIG_SOC_IMX6Q) := 0x10800000 |
40 | |||
41 | dtb-$(CONFIG_MACH_IMX51_DT) += imx51-babbage.dtb | ||
42 | |||
43 | dtb-$(CONFIG_SOC_IMX53) += imx53-ard.dtb \ | ||
44 | imx53-evk.dtb \ | ||
45 | imx53-qsb.dtb \ | ||
46 | imx53-smd.dtb \ | ||
47 | |||
48 | dtb-$(CONFIG_SOC_IMX6Q) += imx6q-arm2.dtb \ | ||
49 | imx6q-sabrelite.dtb \ | ||
50 | imx6q-sabresd.dtb \ | ||
diff --git a/arch/arm/mach-imx/ehci-imx25.c b/arch/arm/mach-imx/ehci-imx25.c index 05bb41d99728..412c583a24b0 100644 --- a/arch/arm/mach-imx/ehci-imx25.c +++ b/arch/arm/mach-imx/ehci-imx25.c | |||
@@ -17,7 +17,7 @@ | |||
17 | #include <linux/io.h> | 17 | #include <linux/io.h> |
18 | 18 | ||
19 | #include <mach/hardware.h> | 19 | #include <mach/hardware.h> |
20 | #include <mach/mxc_ehci.h> | 20 | #include <linux/platform_data/usb-ehci-mxc.h> |
21 | 21 | ||
22 | #define USBCTRL_OTGBASE_OFFSET 0x600 | 22 | #define USBCTRL_OTGBASE_OFFSET 0x600 |
23 | 23 | ||
diff --git a/arch/arm/mach-imx/ehci-imx27.c b/arch/arm/mach-imx/ehci-imx27.c index fa69419eabdd..cd6e1f81508d 100644 --- a/arch/arm/mach-imx/ehci-imx27.c +++ b/arch/arm/mach-imx/ehci-imx27.c | |||
@@ -17,7 +17,7 @@ | |||
17 | #include <linux/io.h> | 17 | #include <linux/io.h> |
18 | 18 | ||
19 | #include <mach/hardware.h> | 19 | #include <mach/hardware.h> |
20 | #include <mach/mxc_ehci.h> | 20 | #include <linux/platform_data/usb-ehci-mxc.h> |
21 | 21 | ||
22 | #define USBCTRL_OTGBASE_OFFSET 0x600 | 22 | #define USBCTRL_OTGBASE_OFFSET 0x600 |
23 | 23 | ||
diff --git a/arch/arm/mach-imx/ehci-imx31.c b/arch/arm/mach-imx/ehci-imx31.c index faad0f15ac7f..9a880c78af34 100644 --- a/arch/arm/mach-imx/ehci-imx31.c +++ b/arch/arm/mach-imx/ehci-imx31.c | |||
@@ -17,7 +17,7 @@ | |||
17 | #include <linux/io.h> | 17 | #include <linux/io.h> |
18 | 18 | ||
19 | #include <mach/hardware.h> | 19 | #include <mach/hardware.h> |
20 | #include <mach/mxc_ehci.h> | 20 | #include <linux/platform_data/usb-ehci-mxc.h> |
21 | 21 | ||
22 | #define USBCTRL_OTGBASE_OFFSET 0x600 | 22 | #define USBCTRL_OTGBASE_OFFSET 0x600 |
23 | 23 | ||
diff --git a/arch/arm/mach-imx/ehci-imx35.c b/arch/arm/mach-imx/ehci-imx35.c index 73574c30cf50..779e16eb65cb 100644 --- a/arch/arm/mach-imx/ehci-imx35.c +++ b/arch/arm/mach-imx/ehci-imx35.c | |||
@@ -17,7 +17,7 @@ | |||
17 | #include <linux/io.h> | 17 | #include <linux/io.h> |
18 | 18 | ||
19 | #include <mach/hardware.h> | 19 | #include <mach/hardware.h> |
20 | #include <mach/mxc_ehci.h> | 20 | #include <linux/platform_data/usb-ehci-mxc.h> |
21 | 21 | ||
22 | #define USBCTRL_OTGBASE_OFFSET 0x600 | 22 | #define USBCTRL_OTGBASE_OFFSET 0x600 |
23 | 23 | ||
diff --git a/arch/arm/mach-imx/ehci-imx5.c b/arch/arm/mach-imx/ehci-imx5.c index a6a4afb0ad62..cf8d00e5cce1 100644 --- a/arch/arm/mach-imx/ehci-imx5.c +++ b/arch/arm/mach-imx/ehci-imx5.c | |||
@@ -17,7 +17,7 @@ | |||
17 | #include <linux/io.h> | 17 | #include <linux/io.h> |
18 | 18 | ||
19 | #include <mach/hardware.h> | 19 | #include <mach/hardware.h> |
20 | #include <mach/mxc_ehci.h> | 20 | #include <linux/platform_data/usb-ehci-mxc.h> |
21 | 21 | ||
22 | #define MXC_OTG_OFFSET 0 | 22 | #define MXC_OTG_OFFSET 0 |
23 | #define MXC_H1_OFFSET 0x200 | 23 | #define MXC_H1_OFFSET 0x200 |
diff --git a/arch/arm/mach-imx/hotplug.c b/arch/arm/mach-imx/hotplug.c index f8f7437c83b8..b07b778dc9a8 100644 --- a/arch/arm/mach-imx/hotplug.c +++ b/arch/arm/mach-imx/hotplug.c | |||
@@ -15,11 +15,6 @@ | |||
15 | #include <asm/cp15.h> | 15 | #include <asm/cp15.h> |
16 | #include <mach/common.h> | 16 | #include <mach/common.h> |
17 | 17 | ||
18 | int platform_cpu_kill(unsigned int cpu) | ||
19 | { | ||
20 | return 1; | ||
21 | } | ||
22 | |||
23 | static inline void cpu_enter_lowpower(void) | 18 | static inline void cpu_enter_lowpower(void) |
24 | { | 19 | { |
25 | unsigned int v; | 20 | unsigned int v; |
@@ -47,7 +42,7 @@ static inline void cpu_enter_lowpower(void) | |||
47 | * | 42 | * |
48 | * Called with IRQs disabled | 43 | * Called with IRQs disabled |
49 | */ | 44 | */ |
50 | void platform_cpu_die(unsigned int cpu) | 45 | void imx_cpu_die(unsigned int cpu) |
51 | { | 46 | { |
52 | cpu_enter_lowpower(); | 47 | cpu_enter_lowpower(); |
53 | imx_enable_cpu(cpu, false); | 48 | imx_enable_cpu(cpu, false); |
@@ -56,12 +51,3 @@ void platform_cpu_die(unsigned int cpu) | |||
56 | while (1) | 51 | while (1) |
57 | ; | 52 | ; |
58 | } | 53 | } |
59 | |||
60 | int platform_cpu_disable(unsigned int cpu) | ||
61 | { | ||
62 | /* | ||
63 | * we don't allow CPU 0 to be shutdown (it is still too special | ||
64 | * e.g. clock tick interrupts) | ||
65 | */ | ||
66 | return cpu == 0 ? -EPERM : 0; | ||
67 | } | ||
diff --git a/arch/arm/mach-imx/mach-imx6q.c b/arch/arm/mach-imx/mach-imx6q.c index 692b4b143bb1..36979d3dfe34 100644 --- a/arch/arm/mach-imx/mach-imx6q.c +++ b/arch/arm/mach-imx/mach-imx6q.c | |||
@@ -215,6 +215,7 @@ static const char *imx6q_dt_compat[] __initdata = { | |||
215 | }; | 215 | }; |
216 | 216 | ||
217 | DT_MACHINE_START(IMX6Q, "Freescale i.MX6 Quad (Device Tree)") | 217 | DT_MACHINE_START(IMX6Q, "Freescale i.MX6 Quad (Device Tree)") |
218 | .smp = smp_ops(imx_smp_ops), | ||
218 | .map_io = imx6q_map_io, | 219 | .map_io = imx6q_map_io, |
219 | .init_irq = imx6q_init_irq, | 220 | .init_irq = imx6q_init_irq, |
220 | .handle_irq = imx6q_handle_irq, | 221 | .handle_irq = imx6q_handle_irq, |
diff --git a/arch/arm/mach-imx/mach-mx31moboard.c b/arch/arm/mach-imx/mach-mx31moboard.c index d46290b288ed..459e754ef8c9 100644 --- a/arch/arm/mach-imx/mach-mx31moboard.c +++ b/arch/arm/mach-imx/mach-mx31moboard.c | |||
@@ -47,7 +47,7 @@ | |||
47 | #include <mach/hardware.h> | 47 | #include <mach/hardware.h> |
48 | #include <mach/iomux-mx3.h> | 48 | #include <mach/iomux-mx3.h> |
49 | #include <mach/ulpi.h> | 49 | #include <mach/ulpi.h> |
50 | #include <mach/ssi.h> | 50 | #include <linux/platform_data/asoc-imx-ssi.h> |
51 | 51 | ||
52 | #include "devices-imx31.h" | 52 | #include "devices-imx31.h" |
53 | 53 | ||
diff --git a/arch/arm/mach-imx/mx1-camera-fiq-ksym.c b/arch/arm/mach-imx/mx1-camera-fiq-ksym.c index b09ee12a4ff0..fb38436ca67f 100644 --- a/arch/arm/mach-imx/mx1-camera-fiq-ksym.c +++ b/arch/arm/mach-imx/mx1-camera-fiq-ksym.c | |||
@@ -11,7 +11,7 @@ | |||
11 | #include <linux/platform_device.h> | 11 | #include <linux/platform_device.h> |
12 | #include <linux/module.h> | 12 | #include <linux/module.h> |
13 | 13 | ||
14 | #include <mach/mx1_camera.h> | 14 | #include <linux/platform_data/camera-mx1.h> |
15 | 15 | ||
16 | /* IMX camera FIQ handler */ | 16 | /* IMX camera FIQ handler */ |
17 | EXPORT_SYMBOL(mx1_camera_sof_fiq_start); | 17 | EXPORT_SYMBOL(mx1_camera_sof_fiq_start); |
diff --git a/arch/arm/mach-imx/platsmp.c b/arch/arm/mach-imx/platsmp.c index ab98c6fec9eb..2ac43e1a2dfd 100644 --- a/arch/arm/mach-imx/platsmp.c +++ b/arch/arm/mach-imx/platsmp.c | |||
@@ -41,7 +41,7 @@ void __init imx_scu_map_io(void) | |||
41 | scu_base = IMX_IO_ADDRESS(base); | 41 | scu_base = IMX_IO_ADDRESS(base); |
42 | } | 42 | } |
43 | 43 | ||
44 | void __cpuinit platform_secondary_init(unsigned int cpu) | 44 | static void __cpuinit imx_secondary_init(unsigned int cpu) |
45 | { | 45 | { |
46 | /* | 46 | /* |
47 | * if any interrupts are already enabled for the primary | 47 | * if any interrupts are already enabled for the primary |
@@ -51,7 +51,7 @@ void __cpuinit platform_secondary_init(unsigned int cpu) | |||
51 | gic_secondary_init(0); | 51 | gic_secondary_init(0); |
52 | } | 52 | } |
53 | 53 | ||
54 | int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle) | 54 | static int __cpuinit imx_boot_secondary(unsigned int cpu, struct task_struct *idle) |
55 | { | 55 | { |
56 | imx_set_cpu_jump(cpu, v7_secondary_startup); | 56 | imx_set_cpu_jump(cpu, v7_secondary_startup); |
57 | imx_enable_cpu(cpu, true); | 57 | imx_enable_cpu(cpu, true); |
@@ -62,7 +62,7 @@ int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle) | |||
62 | * Initialise the CPU possible map early - this describes the CPUs | 62 | * Initialise the CPU possible map early - this describes the CPUs |
63 | * which may be present or become present in the system. | 63 | * which may be present or become present in the system. |
64 | */ | 64 | */ |
65 | void __init smp_init_cpus(void) | 65 | static void __init imx_smp_init_cpus(void) |
66 | { | 66 | { |
67 | int i, ncores; | 67 | int i, ncores; |
68 | 68 | ||
@@ -79,7 +79,17 @@ void imx_smp_prepare(void) | |||
79 | scu_enable(scu_base); | 79 | scu_enable(scu_base); |
80 | } | 80 | } |
81 | 81 | ||
82 | void __init platform_smp_prepare_cpus(unsigned int max_cpus) | 82 | static void __init imx_smp_prepare_cpus(unsigned int max_cpus) |
83 | { | 83 | { |
84 | imx_smp_prepare(); | 84 | imx_smp_prepare(); |
85 | } | 85 | } |
86 | |||
87 | struct smp_operations imx_smp_ops __initdata = { | ||
88 | .smp_init_cpus = imx_smp_init_cpus, | ||
89 | .smp_prepare_cpus = imx_smp_prepare_cpus, | ||
90 | .smp_secondary_init = imx_secondary_init, | ||
91 | .smp_boot_secondary = imx_boot_secondary, | ||
92 | #ifdef CONFIG_HOTPLUG_CPU | ||
93 | .cpu_die = imx_cpu_die, | ||
94 | #endif | ||
95 | }; | ||
diff --git a/arch/arm/mach-ixp4xx/include/mach/gpio.h b/arch/arm/mach-ixp4xx/include/mach/gpio.h deleted file mode 100644 index ef37f2635b0e..000000000000 --- a/arch/arm/mach-ixp4xx/include/mach/gpio.h +++ /dev/null | |||
@@ -1,2 +0,0 @@ | |||
1 | /* empty */ | ||
2 | |||
diff --git a/arch/arm/mach-kirkwood/Makefile.boot b/arch/arm/mach-kirkwood/Makefile.boot index a13299d758e1..760a0efe7580 100644 --- a/arch/arm/mach-kirkwood/Makefile.boot +++ b/arch/arm/mach-kirkwood/Makefile.boot | |||
@@ -1,14 +1,3 @@ | |||
1 | zreladdr-y += 0x00008000 | 1 | zreladdr-y += 0x00008000 |
2 | params_phys-y := 0x00000100 | 2 | params_phys-y := 0x00000100 |
3 | initrd_phys-y := 0x00800000 | 3 | initrd_phys-y := 0x00800000 |
4 | |||
5 | dtb-$(CONFIG_MACH_DREAMPLUG_DT) += kirkwood-dreamplug.dtb | ||
6 | dtb-$(CONFIG_MACH_DLINK_KIRKWOOD_DT) += kirkwood-dns320.dtb | ||
7 | dtb-$(CONFIG_MACH_DLINK_KIRKWOOD_DT) += kirkwood-dns325.dtb | ||
8 | dtb-$(CONFIG_MACH_ICONNECT_DT) += kirkwood-iconnect.dtb | ||
9 | dtb-$(CONFIG_MACH_IB62X0_DT) += kirkwood-ib62x0.dtb | ||
10 | dtb-$(CONFIG_MACH_TS219_DT) += kirkwood-ts219-6281.dtb | ||
11 | dtb-$(CONFIG_MACH_TS219_DT) += kirkwood-ts219-6282.dtb | ||
12 | dtb-$(CONFIG_MACH_GOFLEXNET_DT) += kirkwood-goflexnet.dtb | ||
13 | dtb-$(CONFIG_MACH_LSXL_DT) += kirkwood-lschlv2.dtb | ||
14 | dtb-$(CONFIG_MACH_LSXL_DT) += kirkwood-lsxhl.dtb | ||
diff --git a/arch/arm/mach-kirkwood/board-dreamplug.c b/arch/arm/mach-kirkwood/board-dreamplug.c index aeb234d0d0e3..20af53a56c0e 100644 --- a/arch/arm/mach-kirkwood/board-dreamplug.c +++ b/arch/arm/mach-kirkwood/board-dreamplug.c | |||
@@ -30,7 +30,7 @@ | |||
30 | #include <asm/mach/map.h> | 30 | #include <asm/mach/map.h> |
31 | #include <mach/kirkwood.h> | 31 | #include <mach/kirkwood.h> |
32 | #include <mach/bridge-regs.h> | 32 | #include <mach/bridge-regs.h> |
33 | #include <plat/mvsdio.h> | 33 | #include <linux/platform_data/mmc-mvsdio.h> |
34 | #include "common.h" | 34 | #include "common.h" |
35 | #include "mpp.h" | 35 | #include "mpp.h" |
36 | 36 | ||
diff --git a/arch/arm/mach-kirkwood/board-goflexnet.c b/arch/arm/mach-kirkwood/board-goflexnet.c index 413e2c8ef5fe..001ca8c96980 100644 --- a/arch/arm/mach-kirkwood/board-goflexnet.c +++ b/arch/arm/mach-kirkwood/board-goflexnet.c | |||
@@ -32,7 +32,7 @@ | |||
32 | #include <asm/mach/map.h> | 32 | #include <asm/mach/map.h> |
33 | #include <mach/kirkwood.h> | 33 | #include <mach/kirkwood.h> |
34 | #include <mach/bridge-regs.h> | 34 | #include <mach/bridge-regs.h> |
35 | #include <plat/mvsdio.h> | 35 | #include <linux/platform_data/mmc-mvsdio.h> |
36 | #include "common.h" | 36 | #include "common.h" |
37 | #include "mpp.h" | 37 | #include "mpp.h" |
38 | 38 | ||
diff --git a/arch/arm/mach-kirkwood/common.c b/arch/arm/mach-kirkwood/common.c index 3f7b05f30b46..5c38c94b79a2 100644 --- a/arch/arm/mach-kirkwood/common.c +++ b/arch/arm/mach-kirkwood/common.c | |||
@@ -26,15 +26,15 @@ | |||
26 | #include <asm/mach/time.h> | 26 | #include <asm/mach/time.h> |
27 | #include <mach/kirkwood.h> | 27 | #include <mach/kirkwood.h> |
28 | #include <mach/bridge-regs.h> | 28 | #include <mach/bridge-regs.h> |
29 | #include <plat/audio.h> | 29 | #include <linux/platform_data/asoc-kirkwood.h> |
30 | #include <plat/cache-feroceon-l2.h> | 30 | #include <plat/cache-feroceon-l2.h> |
31 | #include <plat/mvsdio.h> | 31 | #include <linux/platform_data/mmc-mvsdio.h> |
32 | #include <plat/orion_nand.h> | 32 | #include <linux/platform_data/mtd-orion_nand.h> |
33 | #include <plat/ehci-orion.h> | 33 | #include <linux/platform_data/usb-ehci-orion.h> |
34 | #include <plat/common.h> | 34 | #include <plat/common.h> |
35 | #include <plat/time.h> | 35 | #include <plat/time.h> |
36 | #include <plat/addr-map.h> | 36 | #include <plat/addr-map.h> |
37 | #include <plat/mv_xor.h> | 37 | #include <linux/platform_data/dma-mv_xor.h> |
38 | #include "common.h" | 38 | #include "common.h" |
39 | 39 | ||
40 | /***************************************************************************** | 40 | /***************************************************************************** |
diff --git a/arch/arm/mach-kirkwood/d2net_v2-setup.c b/arch/arm/mach-kirkwood/d2net_v2-setup.c index 6e1bac929ab5..2c1a453df201 100644 --- a/arch/arm/mach-kirkwood/d2net_v2-setup.c +++ b/arch/arm/mach-kirkwood/d2net_v2-setup.c | |||
@@ -32,7 +32,7 @@ | |||
32 | #include <asm/mach-types.h> | 32 | #include <asm/mach-types.h> |
33 | #include <asm/mach/arch.h> | 33 | #include <asm/mach/arch.h> |
34 | #include <mach/kirkwood.h> | 34 | #include <mach/kirkwood.h> |
35 | #include <mach/leds-ns2.h> | 35 | #include <linux/platform_data/leds-kirkwood-ns2.h> |
36 | #include "common.h" | 36 | #include "common.h" |
37 | #include "mpp.h" | 37 | #include "mpp.h" |
38 | #include "lacie_v2-common.h" | 38 | #include "lacie_v2-common.h" |
diff --git a/arch/arm/mach-kirkwood/db88f6281-bp-setup.c b/arch/arm/mach-kirkwood/db88f6281-bp-setup.c index be90b7d0e10b..c49b177c1523 100644 --- a/arch/arm/mach-kirkwood/db88f6281-bp-setup.c +++ b/arch/arm/mach-kirkwood/db88f6281-bp-setup.c | |||
@@ -18,7 +18,7 @@ | |||
18 | #include <asm/mach-types.h> | 18 | #include <asm/mach-types.h> |
19 | #include <asm/mach/arch.h> | 19 | #include <asm/mach/arch.h> |
20 | #include <mach/kirkwood.h> | 20 | #include <mach/kirkwood.h> |
21 | #include <plat/mvsdio.h> | 21 | #include <linux/platform_data/mmc-mvsdio.h> |
22 | #include "common.h" | 22 | #include "common.h" |
23 | #include "mpp.h" | 23 | #include "mpp.h" |
24 | 24 | ||
diff --git a/arch/arm/mach-kirkwood/dockstar-setup.c b/arch/arm/mach-kirkwood/dockstar-setup.c index 61d9a552a054..23dcb19cc2a7 100644 --- a/arch/arm/mach-kirkwood/dockstar-setup.c +++ b/arch/arm/mach-kirkwood/dockstar-setup.c | |||
@@ -19,7 +19,7 @@ | |||
19 | #include <asm/mach-types.h> | 19 | #include <asm/mach-types.h> |
20 | #include <asm/mach/arch.h> | 20 | #include <asm/mach/arch.h> |
21 | #include <mach/kirkwood.h> | 21 | #include <mach/kirkwood.h> |
22 | #include <plat/mvsdio.h> | 22 | #include <linux/platform_data/mmc-mvsdio.h> |
23 | #include "common.h" | 23 | #include "common.h" |
24 | #include "mpp.h" | 24 | #include "mpp.h" |
25 | 25 | ||
diff --git a/arch/arm/mach-kirkwood/guruplug-setup.c b/arch/arm/mach-kirkwood/guruplug-setup.c index bdaed3867d13..7cb55f982243 100644 --- a/arch/arm/mach-kirkwood/guruplug-setup.c +++ b/arch/arm/mach-kirkwood/guruplug-setup.c | |||
@@ -19,7 +19,7 @@ | |||
19 | #include <asm/mach-types.h> | 19 | #include <asm/mach-types.h> |
20 | #include <asm/mach/arch.h> | 20 | #include <asm/mach/arch.h> |
21 | #include <mach/kirkwood.h> | 21 | #include <mach/kirkwood.h> |
22 | #include <plat/mvsdio.h> | 22 | #include <linux/platform_data/mmc-mvsdio.h> |
23 | #include "common.h" | 23 | #include "common.h" |
24 | #include "mpp.h" | 24 | #include "mpp.h" |
25 | 25 | ||
diff --git a/arch/arm/mach-kirkwood/include/mach/gpio.h b/arch/arm/mach-kirkwood/include/mach/gpio.h deleted file mode 100644 index 84f340b546c0..000000000000 --- a/arch/arm/mach-kirkwood/include/mach/gpio.h +++ /dev/null | |||
@@ -1,9 +0,0 @@ | |||
1 | /* | ||
2 | * arch/asm-arm/mach-kirkwood/include/mach/gpio.h | ||
3 | * | ||
4 | * This file is licensed under the terms of the GNU General Public | ||
5 | * License version 2. This program is licensed "as is" without any | ||
6 | * warranty of any kind, whether express or implied. | ||
7 | */ | ||
8 | |||
9 | #include <plat/gpio.h> | ||
diff --git a/arch/arm/mach-kirkwood/include/mach/leds-netxbig.h b/arch/arm/mach-kirkwood/include/mach/leds-netxbig.h deleted file mode 100644 index 24b536ebdf13..000000000000 --- a/arch/arm/mach-kirkwood/include/mach/leds-netxbig.h +++ /dev/null | |||
@@ -1,55 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-kirkwood/include/mach/leds-netxbig.h | ||
3 | * | ||
4 | * Platform data structure for netxbig LED driver | ||
5 | * | ||
6 | * This file is licensed under the terms of the GNU General Public | ||
7 | * License version 2. This program is licensed "as is" without any | ||
8 | * warranty of any kind, whether express or implied. | ||
9 | */ | ||
10 | |||
11 | #ifndef __MACH_LEDS_NETXBIG_H | ||
12 | #define __MACH_LEDS_NETXBIG_H | ||
13 | |||
14 | struct netxbig_gpio_ext { | ||
15 | unsigned *addr; | ||
16 | int num_addr; | ||
17 | unsigned *data; | ||
18 | int num_data; | ||
19 | unsigned enable; | ||
20 | }; | ||
21 | |||
22 | enum netxbig_led_mode { | ||
23 | NETXBIG_LED_OFF, | ||
24 | NETXBIG_LED_ON, | ||
25 | NETXBIG_LED_SATA, | ||
26 | NETXBIG_LED_TIMER1, | ||
27 | NETXBIG_LED_TIMER2, | ||
28 | NETXBIG_LED_MODE_NUM, | ||
29 | }; | ||
30 | |||
31 | #define NETXBIG_LED_INVALID_MODE NETXBIG_LED_MODE_NUM | ||
32 | |||
33 | struct netxbig_led_timer { | ||
34 | unsigned long delay_on; | ||
35 | unsigned long delay_off; | ||
36 | enum netxbig_led_mode mode; | ||
37 | }; | ||
38 | |||
39 | struct netxbig_led { | ||
40 | const char *name; | ||
41 | const char *default_trigger; | ||
42 | int mode_addr; | ||
43 | int *mode_val; | ||
44 | int bright_addr; | ||
45 | }; | ||
46 | |||
47 | struct netxbig_led_platform_data { | ||
48 | struct netxbig_gpio_ext *gpio_ext; | ||
49 | struct netxbig_led_timer *timer; | ||
50 | int num_timer; | ||
51 | struct netxbig_led *leds; | ||
52 | int num_leds; | ||
53 | }; | ||
54 | |||
55 | #endif /* __MACH_LEDS_NETXBIG_H */ | ||
diff --git a/arch/arm/mach-kirkwood/include/mach/leds-ns2.h b/arch/arm/mach-kirkwood/include/mach/leds-ns2.h deleted file mode 100644 index e21272e5f668..000000000000 --- a/arch/arm/mach-kirkwood/include/mach/leds-ns2.h +++ /dev/null | |||
@@ -1,26 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-kirkwood/include/mach/leds-ns2.h | ||
3 | * | ||
4 | * Platform data structure for Network Space v2 LED driver | ||
5 | * | ||
6 | * This file is licensed under the terms of the GNU General Public | ||
7 | * License version 2. This program is licensed "as is" without any | ||
8 | * warranty of any kind, whether express or implied. | ||
9 | */ | ||
10 | |||
11 | #ifndef __MACH_LEDS_NS2_H | ||
12 | #define __MACH_LEDS_NS2_H | ||
13 | |||
14 | struct ns2_led { | ||
15 | const char *name; | ||
16 | const char *default_trigger; | ||
17 | unsigned cmd; | ||
18 | unsigned slow; | ||
19 | }; | ||
20 | |||
21 | struct ns2_led_platform_data { | ||
22 | int num_leds; | ||
23 | struct ns2_led *leds; | ||
24 | }; | ||
25 | |||
26 | #endif /* __MACH_LEDS_NS2_H */ | ||
diff --git a/arch/arm/mach-kirkwood/irq.c b/arch/arm/mach-kirkwood/irq.c index 720063ffa19d..20149a7fd280 100644 --- a/arch/arm/mach-kirkwood/irq.c +++ b/arch/arm/mach-kirkwood/irq.c | |||
@@ -11,6 +11,7 @@ | |||
11 | #include <linux/kernel.h> | 11 | #include <linux/kernel.h> |
12 | #include <linux/irq.h> | 12 | #include <linux/irq.h> |
13 | #include <mach/bridge-regs.h> | 13 | #include <mach/bridge-regs.h> |
14 | #include <plat/orion-gpio.h> | ||
14 | #include <plat/irq.h> | 15 | #include <plat/irq.h> |
15 | 16 | ||
16 | static int __initdata gpio0_irqs[4] = { | 17 | static int __initdata gpio0_irqs[4] = { |
diff --git a/arch/arm/mach-kirkwood/netspace_v2-setup.c b/arch/arm/mach-kirkwood/netspace_v2-setup.c index e6bba01bae38..88b0788bacae 100644 --- a/arch/arm/mach-kirkwood/netspace_v2-setup.c +++ b/arch/arm/mach-kirkwood/netspace_v2-setup.c | |||
@@ -34,7 +34,7 @@ | |||
34 | #include <asm/mach-types.h> | 34 | #include <asm/mach-types.h> |
35 | #include <asm/mach/arch.h> | 35 | #include <asm/mach/arch.h> |
36 | #include <mach/kirkwood.h> | 36 | #include <mach/kirkwood.h> |
37 | #include <mach/leds-ns2.h> | 37 | #include <linux/platform_data/leds-kirkwood-ns2.h> |
38 | #include "common.h" | 38 | #include "common.h" |
39 | #include "mpp.h" | 39 | #include "mpp.h" |
40 | #include "lacie_v2-common.h" | 40 | #include "lacie_v2-common.h" |
diff --git a/arch/arm/mach-kirkwood/netxbig_v2-setup.c b/arch/arm/mach-kirkwood/netxbig_v2-setup.c index 31ae8de34e93..a3b091470b8a 100644 --- a/arch/arm/mach-kirkwood/netxbig_v2-setup.c +++ b/arch/arm/mach-kirkwood/netxbig_v2-setup.c | |||
@@ -32,7 +32,7 @@ | |||
32 | #include <asm/mach-types.h> | 32 | #include <asm/mach-types.h> |
33 | #include <asm/mach/arch.h> | 33 | #include <asm/mach/arch.h> |
34 | #include <mach/kirkwood.h> | 34 | #include <mach/kirkwood.h> |
35 | #include <mach/leds-netxbig.h> | 35 | #include <linux/platform_data/leds-kirkwood-netxbig.h> |
36 | #include "common.h" | 36 | #include "common.h" |
37 | #include "mpp.h" | 37 | #include "mpp.h" |
38 | #include "lacie_v2-common.h" | 38 | #include "lacie_v2-common.h" |
diff --git a/arch/arm/mach-kirkwood/openrd-setup.c b/arch/arm/mach-kirkwood/openrd-setup.c index 7e99c3f340fc..134ef50d58fc 100644 --- a/arch/arm/mach-kirkwood/openrd-setup.c +++ b/arch/arm/mach-kirkwood/openrd-setup.c | |||
@@ -20,7 +20,7 @@ | |||
20 | #include <asm/mach-types.h> | 20 | #include <asm/mach-types.h> |
21 | #include <asm/mach/arch.h> | 21 | #include <asm/mach/arch.h> |
22 | #include <mach/kirkwood.h> | 22 | #include <mach/kirkwood.h> |
23 | #include <plat/mvsdio.h> | 23 | #include <linux/platform_data/mmc-mvsdio.h> |
24 | #include "common.h" | 24 | #include "common.h" |
25 | #include "mpp.h" | 25 | #include "mpp.h" |
26 | 26 | ||
diff --git a/arch/arm/mach-kirkwood/rd88f6192-nas-setup.c b/arch/arm/mach-kirkwood/rd88f6192-nas-setup.c index f742a66a7045..19072c84008f 100644 --- a/arch/arm/mach-kirkwood/rd88f6192-nas-setup.c +++ b/arch/arm/mach-kirkwood/rd88f6192-nas-setup.c | |||
@@ -19,6 +19,7 @@ | |||
19 | #include <asm/mach-types.h> | 19 | #include <asm/mach-types.h> |
20 | #include <asm/mach/arch.h> | 20 | #include <asm/mach/arch.h> |
21 | #include <mach/kirkwood.h> | 21 | #include <mach/kirkwood.h> |
22 | #include <plat/orion-gpio.h> | ||
22 | #include "common.h" | 23 | #include "common.h" |
23 | 24 | ||
24 | #define RD88F6192_GPIO_USB_VBUS 10 | 25 | #define RD88F6192_GPIO_USB_VBUS 10 |
diff --git a/arch/arm/mach-kirkwood/rd88f6281-setup.c b/arch/arm/mach-kirkwood/rd88f6281-setup.c index ef922079348b..9717101a7437 100644 --- a/arch/arm/mach-kirkwood/rd88f6281-setup.c +++ b/arch/arm/mach-kirkwood/rd88f6281-setup.c | |||
@@ -20,7 +20,7 @@ | |||
20 | #include <asm/mach-types.h> | 20 | #include <asm/mach-types.h> |
21 | #include <asm/mach/arch.h> | 21 | #include <asm/mach/arch.h> |
22 | #include <mach/kirkwood.h> | 22 | #include <mach/kirkwood.h> |
23 | #include <plat/mvsdio.h> | 23 | #include <linux/platform_data/mmc-mvsdio.h> |
24 | #include "common.h" | 24 | #include "common.h" |
25 | #include "mpp.h" | 25 | #include "mpp.h" |
26 | 26 | ||
diff --git a/arch/arm/mach-kirkwood/sheevaplug-setup.c b/arch/arm/mach-kirkwood/sheevaplug-setup.c index 4ea70e5f7137..28d0abaf4bd9 100644 --- a/arch/arm/mach-kirkwood/sheevaplug-setup.c +++ b/arch/arm/mach-kirkwood/sheevaplug-setup.c | |||
@@ -19,7 +19,7 @@ | |||
19 | #include <asm/mach-types.h> | 19 | #include <asm/mach-types.h> |
20 | #include <asm/mach/arch.h> | 20 | #include <asm/mach/arch.h> |
21 | #include <mach/kirkwood.h> | 21 | #include <mach/kirkwood.h> |
22 | #include <plat/mvsdio.h> | 22 | #include <linux/platform_data/mmc-mvsdio.h> |
23 | #include "common.h" | 23 | #include "common.h" |
24 | #include "mpp.h" | 24 | #include "mpp.h" |
25 | 25 | ||
diff --git a/arch/arm/mach-lpc32xx/Makefile.boot b/arch/arm/mach-lpc32xx/Makefile.boot index 697323b5f92d..d7392a475247 100644 --- a/arch/arm/mach-lpc32xx/Makefile.boot +++ b/arch/arm/mach-lpc32xx/Makefile.boot | |||
@@ -1,5 +1,3 @@ | |||
1 | zreladdr-y += 0x80008000 | 1 | zreladdr-y += 0x80008000 |
2 | params_phys-y := 0x80000100 | 2 | params_phys-y := 0x80000100 |
3 | initrd_phys-y := 0x82000000 | 3 | initrd_phys-y := 0x82000000 |
4 | |||
5 | dtb-$(CONFIG_ARCH_LPC32XX) += ea3250.dtb phy3250.dtb | ||
diff --git a/arch/arm/mach-mmp/aspenite.c b/arch/arm/mach-mmp/aspenite.c index 223090b1444d..e5dba9c5dc54 100644 --- a/arch/arm/mach-mmp/aspenite.c +++ b/arch/arm/mach-mmp/aspenite.c | |||
@@ -27,7 +27,7 @@ | |||
27 | #include <mach/irqs.h> | 27 | #include <mach/irqs.h> |
28 | #include <video/pxa168fb.h> | 28 | #include <video/pxa168fb.h> |
29 | #include <linux/input.h> | 29 | #include <linux/input.h> |
30 | #include <plat/pxa27x_keypad.h> | 30 | #include <linux/platform_data/keypad-pxa27x.h> |
31 | 31 | ||
32 | #include "common.h" | 32 | #include "common.h" |
33 | 33 | ||
diff --git a/arch/arm/mach-mmp/include/mach/mmp2.h b/arch/arm/mach-mmp/include/mach/mmp2.h index cba22fed2265..c4ca4d17194a 100644 --- a/arch/arm/mach-mmp/include/mach/mmp2.h +++ b/arch/arm/mach-mmp/include/mach/mmp2.h | |||
@@ -13,7 +13,7 @@ extern void mmp2_clear_pmic_int(void); | |||
13 | #include <linux/i2c.h> | 13 | #include <linux/i2c.h> |
14 | #include <linux/i2c/pxa-i2c.h> | 14 | #include <linux/i2c/pxa-i2c.h> |
15 | #include <mach/devices.h> | 15 | #include <mach/devices.h> |
16 | #include <mach/sram.h> | 16 | #include <linux/platform_data/dma-mmp_tdma.h> |
17 | 17 | ||
18 | extern struct pxa_device_desc mmp2_device_uart1; | 18 | extern struct pxa_device_desc mmp2_device_uart1; |
19 | extern struct pxa_device_desc mmp2_device_uart2; | 19 | extern struct pxa_device_desc mmp2_device_uart2; |
diff --git a/arch/arm/mach-mmp/include/mach/pxa168.h b/arch/arm/mach-mmp/include/mach/pxa168.h index 09dcd6e2b6a8..37632d964d50 100644 --- a/arch/arm/mach-mmp/include/mach/pxa168.h +++ b/arch/arm/mach-mmp/include/mach/pxa168.h | |||
@@ -11,9 +11,9 @@ extern void pxa168_clear_keypad_wakeup(void); | |||
11 | #include <linux/i2c.h> | 11 | #include <linux/i2c.h> |
12 | #include <linux/i2c/pxa-i2c.h> | 12 | #include <linux/i2c/pxa-i2c.h> |
13 | #include <mach/devices.h> | 13 | #include <mach/devices.h> |
14 | #include <plat/pxa3xx_nand.h> | 14 | #include <linux/platform_data/mtd-nand-pxa3xx.h> |
15 | #include <video/pxa168fb.h> | 15 | #include <video/pxa168fb.h> |
16 | #include <plat/pxa27x_keypad.h> | 16 | #include <linux/platform_data/keypad-pxa27x.h> |
17 | #include <mach/cputype.h> | 17 | #include <mach/cputype.h> |
18 | #include <linux/pxa168_eth.h> | 18 | #include <linux/pxa168_eth.h> |
19 | #include <linux/platform_data/mv_usb.h> | 19 | #include <linux/platform_data/mv_usb.h> |
diff --git a/arch/arm/mach-mmp/include/mach/pxa910.h b/arch/arm/mach-mmp/include/mach/pxa910.h index 793634c837ef..3b58a3b2d7df 100644 --- a/arch/arm/mach-mmp/include/mach/pxa910.h +++ b/arch/arm/mach-mmp/include/mach/pxa910.h | |||
@@ -9,7 +9,7 @@ extern void __init pxa910_init_irq(void); | |||
9 | #include <linux/i2c.h> | 9 | #include <linux/i2c.h> |
10 | #include <linux/i2c/pxa-i2c.h> | 10 | #include <linux/i2c/pxa-i2c.h> |
11 | #include <mach/devices.h> | 11 | #include <mach/devices.h> |
12 | #include <plat/pxa3xx_nand.h> | 12 | #include <linux/platform_data/mtd-nand-pxa3xx.h> |
13 | 13 | ||
14 | extern struct pxa_device_desc pxa910_device_uart1; | 14 | extern struct pxa_device_desc pxa910_device_uart1; |
15 | extern struct pxa_device_desc pxa910_device_uart2; | 15 | extern struct pxa_device_desc pxa910_device_uart2; |
diff --git a/arch/arm/mach-mmp/include/mach/sram.h b/arch/arm/mach-mmp/include/mach/sram.h deleted file mode 100644 index 239e0fc1bb1f..000000000000 --- a/arch/arm/mach-mmp/include/mach/sram.h +++ /dev/null | |||
@@ -1,35 +0,0 @@ | |||
1 | /* | ||
2 | * linux/arch/arm/mach-mmp/include/mach/sram.h | ||
3 | * | ||
4 | * SRAM Memory Management | ||
5 | * | ||
6 | * Copyright (c) 2011 Marvell Semiconductors Inc. | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License version 2 as | ||
10 | * published by the Free Software Foundation. | ||
11 | * | ||
12 | */ | ||
13 | |||
14 | #ifndef __ASM_ARCH_SRAM_H | ||
15 | #define __ASM_ARCH_SRAM_H | ||
16 | |||
17 | #include <linux/genalloc.h> | ||
18 | |||
19 | /* ARBITRARY: SRAM allocations are multiples of this 2^N size */ | ||
20 | #define SRAM_GRANULARITY 512 | ||
21 | |||
22 | enum sram_type { | ||
23 | MMP_SRAM_UNDEFINED = 0, | ||
24 | MMP_ASRAM, | ||
25 | MMP_ISRAM, | ||
26 | }; | ||
27 | |||
28 | struct sram_platdata { | ||
29 | char *pool_name; | ||
30 | int granularity; | ||
31 | }; | ||
32 | |||
33 | extern struct gen_pool *sram_get_gpool(char *pool_name); | ||
34 | |||
35 | #endif /* __ASM_ARCH_SRAM_H */ | ||
diff --git a/arch/arm/mach-mmp/sram.c b/arch/arm/mach-mmp/sram.c index 7e8a5a2e1ec7..a6c08ede4491 100644 --- a/arch/arm/mach-mmp/sram.c +++ b/arch/arm/mach-mmp/sram.c | |||
@@ -22,7 +22,7 @@ | |||
22 | #include <linux/slab.h> | 22 | #include <linux/slab.h> |
23 | #include <linux/genalloc.h> | 23 | #include <linux/genalloc.h> |
24 | 24 | ||
25 | #include <mach/sram.h> | 25 | #include <linux/platform_data/dma-mmp_tdma.h> |
26 | 26 | ||
27 | struct sram_bank_info { | 27 | struct sram_bank_info { |
28 | char *pool_name; | 28 | char *pool_name; |
diff --git a/arch/arm/mach-mmp/teton_bga.c b/arch/arm/mach-mmp/teton_bga.c index 42bef6674ecf..dd30ea74785c 100644 --- a/arch/arm/mach-mmp/teton_bga.c +++ b/arch/arm/mach-mmp/teton_bga.c | |||
@@ -17,7 +17,7 @@ | |||
17 | #include <linux/platform_device.h> | 17 | #include <linux/platform_device.h> |
18 | #include <linux/gpio.h> | 18 | #include <linux/gpio.h> |
19 | #include <linux/input.h> | 19 | #include <linux/input.h> |
20 | #include <plat/pxa27x_keypad.h> | 20 | #include <linux/platform_data/keypad-pxa27x.h> |
21 | #include <linux/i2c.h> | 21 | #include <linux/i2c.h> |
22 | 22 | ||
23 | #include <asm/mach-types.h> | 23 | #include <asm/mach-types.h> |
diff --git a/arch/arm/mach-msm/Makefile.boot b/arch/arm/mach-msm/Makefile.boot index f7d6ae9c3487..9b803a578b4d 100644 --- a/arch/arm/mach-msm/Makefile.boot +++ b/arch/arm/mach-msm/Makefile.boot | |||
@@ -1,6 +1,3 @@ | |||
1 | zreladdr-y += 0x10008000 | 1 | zreladdr-y += 0x10008000 |
2 | params_phys-y := 0x10000100 | 2 | params_phys-y := 0x10000100 |
3 | initrd_phys-y := 0x10800000 | 3 | initrd_phys-y := 0x10800000 |
4 | |||
5 | dtb-$(CONFIG_ARCH_MSM8X60) += msm8660-surf.dtb | ||
6 | dtb-$(CONFIG_ARCH_MSM8960) += msm8960-cdp.dtb | ||
diff --git a/arch/arm/mach-msm/board-dt-8660.c b/arch/arm/mach-msm/board-dt-8660.c index f77f57f39104..b5b4de2cdf9e 100644 --- a/arch/arm/mach-msm/board-dt-8660.c +++ b/arch/arm/mach-msm/board-dt-8660.c | |||
@@ -53,6 +53,7 @@ static const char *msm8x60_fluid_match[] __initdata = { | |||
53 | }; | 53 | }; |
54 | 54 | ||
55 | DT_MACHINE_START(MSM_DT, "Qualcomm MSM (Flattened Device Tree)") | 55 | DT_MACHINE_START(MSM_DT, "Qualcomm MSM (Flattened Device Tree)") |
56 | .smp = smp_ops(msm_smp_ops), | ||
56 | .map_io = msm_map_msm8x60_io, | 57 | .map_io = msm_map_msm8x60_io, |
57 | .init_irq = msm8x60_init_irq, | 58 | .init_irq = msm8x60_init_irq, |
58 | .handle_irq = gic_handle_irq, | 59 | .handle_irq = gic_handle_irq, |
diff --git a/arch/arm/mach-msm/board-dt-8960.c b/arch/arm/mach-msm/board-dt-8960.c index 8df99b8f3c92..4490edb71c17 100644 --- a/arch/arm/mach-msm/board-dt-8960.c +++ b/arch/arm/mach-msm/board-dt-8960.c | |||
@@ -40,6 +40,7 @@ static const char * const msm8960_dt_match[] __initconst = { | |||
40 | }; | 40 | }; |
41 | 41 | ||
42 | DT_MACHINE_START(MSM8960_DT, "Qualcomm MSM (Flattened Device Tree)") | 42 | DT_MACHINE_START(MSM8960_DT, "Qualcomm MSM (Flattened Device Tree)") |
43 | .smp = smp_ops(msm_smp_ops), | ||
43 | .map_io = msm_map_msm8960_io, | 44 | .map_io = msm_map_msm8960_io, |
44 | .init_irq = msm_dt_init_irq, | 45 | .init_irq = msm_dt_init_irq, |
45 | .timer = &msm_dt_timer, | 46 | .timer = &msm_dt_timer, |
diff --git a/arch/arm/mach-msm/board-qsd8x50.c b/arch/arm/mach-msm/board-qsd8x50.c index b16b71abf5f6..a344a373928b 100644 --- a/arch/arm/mach-msm/board-qsd8x50.c +++ b/arch/arm/mach-msm/board-qsd8x50.c | |||
@@ -32,7 +32,7 @@ | |||
32 | #include <mach/irqs.h> | 32 | #include <mach/irqs.h> |
33 | #include <mach/sirc.h> | 33 | #include <mach/sirc.h> |
34 | #include <mach/vreg.h> | 34 | #include <mach/vreg.h> |
35 | #include <mach/mmc.h> | 35 | #include <linux/platform_data/mmc-msm_sdcc.h> |
36 | 36 | ||
37 | #include "devices.h" | 37 | #include "devices.h" |
38 | #include "common.h" | 38 | #include "common.h" |
diff --git a/arch/arm/mach-msm/board-trout-mmc.c b/arch/arm/mach-msm/board-trout-mmc.c index 8650342b7493..3723e55819d6 100644 --- a/arch/arm/mach-msm/board-trout-mmc.c +++ b/arch/arm/mach-msm/board-trout-mmc.c | |||
@@ -15,7 +15,7 @@ | |||
15 | 15 | ||
16 | #include <mach/vreg.h> | 16 | #include <mach/vreg.h> |
17 | 17 | ||
18 | #include <mach/mmc.h> | 18 | #include <linux/platform_data/mmc-msm_sdcc.h> |
19 | 19 | ||
20 | #include "devices.h" | 20 | #include "devices.h" |
21 | 21 | ||
diff --git a/arch/arm/mach-msm/board-trout-panel.c b/arch/arm/mach-msm/board-trout-panel.c index 89bf6b426699..f9a5db6d2ced 100644 --- a/arch/arm/mach-msm/board-trout-panel.c +++ b/arch/arm/mach-msm/board-trout-panel.c | |||
@@ -14,7 +14,7 @@ | |||
14 | #include <asm/mach-types.h> | 14 | #include <asm/mach-types.h> |
15 | #include <asm/system_info.h> | 15 | #include <asm/system_info.h> |
16 | 16 | ||
17 | #include <mach/msm_fb.h> | 17 | #include <linux/platform_data/video-msm_fb.h> |
18 | #include <mach/vreg.h> | 18 | #include <mach/vreg.h> |
19 | 19 | ||
20 | #include "board-trout.h" | 20 | #include "board-trout.h" |
diff --git a/arch/arm/mach-msm/common.h b/arch/arm/mach-msm/common.h index d68e5d7854f5..633a7159d5ff 100644 --- a/arch/arm/mach-msm/common.h +++ b/arch/arm/mach-msm/common.h | |||
@@ -26,5 +26,7 @@ extern void msm_map_qsd8x50_io(void); | |||
26 | extern void __iomem *__msm_ioremap_caller(unsigned long phys_addr, size_t size, | 26 | extern void __iomem *__msm_ioremap_caller(unsigned long phys_addr, size_t size, |
27 | unsigned int mtype, void *caller); | 27 | unsigned int mtype, void *caller); |
28 | 28 | ||
29 | extern struct smp_operations msm_smp_ops; | ||
30 | extern void msm_cpu_die(unsigned int cpu); | ||
29 | 31 | ||
30 | #endif | 32 | #endif |
diff --git a/arch/arm/mach-msm/core.h b/arch/arm/mach-msm/core.h new file mode 100644 index 000000000000..a9bab53dddf4 --- /dev/null +++ b/arch/arm/mach-msm/core.h | |||
@@ -0,0 +1,2 @@ | |||
1 | extern struct smp_operations msm_smp_ops; | ||
2 | extern void msm_cpu_die(unsigned int cpu); | ||
diff --git a/arch/arm/mach-msm/devices-msm7x00.c b/arch/arm/mach-msm/devices-msm7x00.c index 993780f490ad..f66ee6ea8720 100644 --- a/arch/arm/mach-msm/devices-msm7x00.c +++ b/arch/arm/mach-msm/devices-msm7x00.c | |||
@@ -27,7 +27,7 @@ | |||
27 | 27 | ||
28 | #include "clock.h" | 28 | #include "clock.h" |
29 | #include "clock-pcom.h" | 29 | #include "clock-pcom.h" |
30 | #include <mach/mmc.h> | 30 | #include <linux/platform_data/mmc-msm_sdcc.h> |
31 | 31 | ||
32 | static struct resource resources_uart1[] = { | 32 | static struct resource resources_uart1[] = { |
33 | { | 33 | { |
diff --git a/arch/arm/mach-msm/devices-msm7x30.c b/arch/arm/mach-msm/devices-msm7x30.c index 09b4f1403824..e90ab5938c5f 100644 --- a/arch/arm/mach-msm/devices-msm7x30.c +++ b/arch/arm/mach-msm/devices-msm7x30.c | |||
@@ -31,7 +31,7 @@ | |||
31 | #include "clock-pcom.h" | 31 | #include "clock-pcom.h" |
32 | #include "clock-7x30.h" | 32 | #include "clock-7x30.h" |
33 | 33 | ||
34 | #include <mach/mmc.h> | 34 | #include <linux/platform_data/mmc-msm_sdcc.h> |
35 | 35 | ||
36 | static struct resource resources_uart2[] = { | 36 | static struct resource resources_uart2[] = { |
37 | { | 37 | { |
diff --git a/arch/arm/mach-msm/devices-qsd8x50.c b/arch/arm/mach-msm/devices-qsd8x50.c index 131633b12a34..4db61d5fe317 100644 --- a/arch/arm/mach-msm/devices-qsd8x50.c +++ b/arch/arm/mach-msm/devices-qsd8x50.c | |||
@@ -27,7 +27,7 @@ | |||
27 | 27 | ||
28 | #include <asm/mach/flash.h> | 28 | #include <asm/mach/flash.h> |
29 | 29 | ||
30 | #include <mach/mmc.h> | 30 | #include <linux/platform_data/mmc-msm_sdcc.h> |
31 | #include "clock-pcom.h" | 31 | #include "clock-pcom.h" |
32 | 32 | ||
33 | static struct resource resources_uart3[] = { | 33 | static struct resource resources_uart3[] = { |
diff --git a/arch/arm/mach-msm/hotplug.c b/arch/arm/mach-msm/hotplug.c index a446fc14221f..750446feb444 100644 --- a/arch/arm/mach-msm/hotplug.c +++ b/arch/arm/mach-msm/hotplug.c | |||
@@ -13,7 +13,7 @@ | |||
13 | #include <asm/cacheflush.h> | 13 | #include <asm/cacheflush.h> |
14 | #include <asm/smp_plat.h> | 14 | #include <asm/smp_plat.h> |
15 | 15 | ||
16 | extern volatile int pen_release; | 16 | #include "common.h" |
17 | 17 | ||
18 | static inline void cpu_enter_lowpower(void) | 18 | static inline void cpu_enter_lowpower(void) |
19 | { | 19 | { |
@@ -57,17 +57,12 @@ static inline void platform_do_lowpower(unsigned int cpu) | |||
57 | } | 57 | } |
58 | } | 58 | } |
59 | 59 | ||
60 | int platform_cpu_kill(unsigned int cpu) | ||
61 | { | ||
62 | return 1; | ||
63 | } | ||
64 | |||
65 | /* | 60 | /* |
66 | * platform-specific code to shutdown a CPU | 61 | * platform-specific code to shutdown a CPU |
67 | * | 62 | * |
68 | * Called with IRQs disabled | 63 | * Called with IRQs disabled |
69 | */ | 64 | */ |
70 | void platform_cpu_die(unsigned int cpu) | 65 | void __ref msm_cpu_die(unsigned int cpu) |
71 | { | 66 | { |
72 | /* | 67 | /* |
73 | * we're ready for shutdown now, so do it | 68 | * we're ready for shutdown now, so do it |
@@ -81,12 +76,3 @@ void platform_cpu_die(unsigned int cpu) | |||
81 | */ | 76 | */ |
82 | cpu_leave_lowpower(); | 77 | cpu_leave_lowpower(); |
83 | } | 78 | } |
84 | |||
85 | int platform_cpu_disable(unsigned int cpu) | ||
86 | { | ||
87 | /* | ||
88 | * we don't allow CPU 0 to be shutdown (it is still too special | ||
89 | * e.g. clock tick interrupts) | ||
90 | */ | ||
91 | return cpu == 0 ? -EPERM : 0; | ||
92 | } | ||
diff --git a/arch/arm/mach-msm/include/mach/board.h b/arch/arm/mach-msm/include/mach/board.h index 0a0c393d8e31..8cebedb11233 100644 --- a/arch/arm/mach-msm/include/mach/board.h +++ b/arch/arm/mach-msm/include/mach/board.h | |||
@@ -18,7 +18,7 @@ | |||
18 | #define __ASM_ARCH_MSM_BOARD_H | 18 | #define __ASM_ARCH_MSM_BOARD_H |
19 | 19 | ||
20 | #include <linux/types.h> | 20 | #include <linux/types.h> |
21 | #include <mach/mmc.h> | 21 | #include <linux/platform_data/mmc-msm_sdcc.h> |
22 | 22 | ||
23 | /* platform device data structures */ | 23 | /* platform device data structures */ |
24 | 24 | ||
diff --git a/arch/arm/mach-msm/include/mach/gpio.h b/arch/arm/mach-msm/include/mach/gpio.h deleted file mode 100644 index 40a8c178f10d..000000000000 --- a/arch/arm/mach-msm/include/mach/gpio.h +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | /* empty */ | ||
diff --git a/arch/arm/mach-msm/include/mach/mmc.h b/arch/arm/mach-msm/include/mach/mmc.h deleted file mode 100644 index ffcd9e3a6a7e..000000000000 --- a/arch/arm/mach-msm/include/mach/mmc.h +++ /dev/null | |||
@@ -1,30 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/include/asm/mach/mmc.h | ||
3 | */ | ||
4 | #ifndef ASMARM_MACH_MMC_H | ||
5 | #define ASMARM_MACH_MMC_H | ||
6 | |||
7 | #include <linux/mmc/host.h> | ||
8 | #include <linux/mmc/card.h> | ||
9 | #include <linux/mmc/sdio_func.h> | ||
10 | |||
11 | struct msm_mmc_gpio { | ||
12 | unsigned no; | ||
13 | const char *name; | ||
14 | }; | ||
15 | |||
16 | struct msm_mmc_gpio_data { | ||
17 | struct msm_mmc_gpio *gpio; | ||
18 | u8 size; | ||
19 | }; | ||
20 | |||
21 | struct msm_mmc_platform_data { | ||
22 | unsigned int ocr_mask; /* available voltages */ | ||
23 | u32 (*translate_vdd)(struct device *, unsigned int); | ||
24 | unsigned int (*status)(struct device *); | ||
25 | int (*register_status_notify)(void (*callback)(int card_present, void *dev_id), void *dev_id); | ||
26 | struct msm_mmc_gpio_data *gpio_data; | ||
27 | void (*init_card)(struct mmc_card *card); | ||
28 | }; | ||
29 | |||
30 | #endif | ||
diff --git a/arch/arm/mach-msm/include/mach/msm_fb.h b/arch/arm/mach-msm/include/mach/msm_fb.h deleted file mode 100644 index 1f4fc81b3d8f..000000000000 --- a/arch/arm/mach-msm/include/mach/msm_fb.h +++ /dev/null | |||
@@ -1,147 +0,0 @@ | |||
1 | /* arch/arm/mach-msm/include/mach/msm_fb.h | ||
2 | * | ||
3 | * Internal shared definitions for various MSM framebuffer parts. | ||
4 | * | ||
5 | * Copyright (C) 2007 Google Incorporated | ||
6 | * | ||
7 | * This software is licensed under the terms of the GNU General Public | ||
8 | * License version 2, as published by the Free Software Foundation, and | ||
9 | * may be copied, distributed, and modified under those terms. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | */ | ||
16 | |||
17 | #ifndef _MSM_FB_H_ | ||
18 | #define _MSM_FB_H_ | ||
19 | |||
20 | #include <linux/device.h> | ||
21 | |||
22 | struct mddi_info; | ||
23 | |||
24 | struct msm_fb_data { | ||
25 | int xres; /* x resolution in pixels */ | ||
26 | int yres; /* y resolution in pixels */ | ||
27 | int width; /* disply width in mm */ | ||
28 | int height; /* display height in mm */ | ||
29 | unsigned output_format; | ||
30 | }; | ||
31 | |||
32 | struct msmfb_callback { | ||
33 | void (*func)(struct msmfb_callback *); | ||
34 | }; | ||
35 | |||
36 | enum { | ||
37 | MSM_MDDI_PMDH_INTERFACE, | ||
38 | MSM_MDDI_EMDH_INTERFACE, | ||
39 | MSM_EBI2_INTERFACE, | ||
40 | }; | ||
41 | |||
42 | #define MSMFB_CAP_PARTIAL_UPDATES (1 << 0) | ||
43 | |||
44 | struct msm_panel_data { | ||
45 | /* turns off the fb memory */ | ||
46 | int (*suspend)(struct msm_panel_data *); | ||
47 | /* turns on the fb memory */ | ||
48 | int (*resume)(struct msm_panel_data *); | ||
49 | /* turns off the panel */ | ||
50 | int (*blank)(struct msm_panel_data *); | ||
51 | /* turns on the panel */ | ||
52 | int (*unblank)(struct msm_panel_data *); | ||
53 | void (*wait_vsync)(struct msm_panel_data *); | ||
54 | void (*request_vsync)(struct msm_panel_data *, struct msmfb_callback *); | ||
55 | void (*clear_vsync)(struct msm_panel_data *); | ||
56 | /* from the enum above */ | ||
57 | unsigned interface_type; | ||
58 | /* data to be passed to the fb driver */ | ||
59 | struct msm_fb_data *fb_data; | ||
60 | |||
61 | /* capabilities supported by the panel */ | ||
62 | uint32_t caps; | ||
63 | }; | ||
64 | |||
65 | struct msm_mddi_client_data { | ||
66 | void (*suspend)(struct msm_mddi_client_data *); | ||
67 | void (*resume)(struct msm_mddi_client_data *); | ||
68 | void (*activate_link)(struct msm_mddi_client_data *); | ||
69 | void (*remote_write)(struct msm_mddi_client_data *, uint32_t val, | ||
70 | uint32_t reg); | ||
71 | uint32_t (*remote_read)(struct msm_mddi_client_data *, uint32_t reg); | ||
72 | void (*auto_hibernate)(struct msm_mddi_client_data *, int); | ||
73 | /* custom data that needs to be passed from the board file to a | ||
74 | * particular client */ | ||
75 | void *private_client_data; | ||
76 | struct resource *fb_resource; | ||
77 | /* from the list above */ | ||
78 | unsigned interface_type; | ||
79 | }; | ||
80 | |||
81 | struct msm_mddi_platform_data { | ||
82 | unsigned int clk_rate; | ||
83 | void (*power_client)(struct msm_mddi_client_data *, int on); | ||
84 | |||
85 | /* fixup the mfr name, product id */ | ||
86 | void (*fixup)(uint16_t *mfr_name, uint16_t *product_id); | ||
87 | |||
88 | struct resource *fb_resource; /*optional*/ | ||
89 | /* number of clients in the list that follows */ | ||
90 | int num_clients; | ||
91 | /* array of client information of clients */ | ||
92 | struct { | ||
93 | unsigned product_id; /* mfr id in top 16 bits, product id | ||
94 | * in lower 16 bits | ||
95 | */ | ||
96 | char *name; /* the device name will be the platform | ||
97 | * device name registered for the client, | ||
98 | * it should match the name of the associated | ||
99 | * driver | ||
100 | */ | ||
101 | unsigned id; /* id for mddi client device node, will also | ||
102 | * be used as device id of panel devices, if | ||
103 | * the client device will have multiple panels | ||
104 | * space must be left here for them | ||
105 | */ | ||
106 | void *client_data; /* required private client data */ | ||
107 | unsigned int clk_rate; /* optional: if the client requires a | ||
108 | * different mddi clk rate | ||
109 | */ | ||
110 | } client_platform_data[]; | ||
111 | }; | ||
112 | |||
113 | struct mdp_blit_req; | ||
114 | struct fb_info; | ||
115 | struct mdp_device { | ||
116 | struct device dev; | ||
117 | void (*dma)(struct mdp_device *mpd, uint32_t addr, | ||
118 | uint32_t stride, uint32_t w, uint32_t h, uint32_t x, | ||
119 | uint32_t y, struct msmfb_callback *callback, int interface); | ||
120 | void (*dma_wait)(struct mdp_device *mdp); | ||
121 | int (*blit)(struct mdp_device *mdp, struct fb_info *fb, | ||
122 | struct mdp_blit_req *req); | ||
123 | void (*set_grp_disp)(struct mdp_device *mdp, uint32_t disp_id); | ||
124 | }; | ||
125 | |||
126 | struct class_interface; | ||
127 | int register_mdp_client(struct class_interface *class_intf); | ||
128 | |||
129 | /**** private client data structs go below this line ***/ | ||
130 | |||
131 | struct msm_mddi_bridge_platform_data { | ||
132 | /* from board file */ | ||
133 | int (*init)(struct msm_mddi_bridge_platform_data *, | ||
134 | struct msm_mddi_client_data *); | ||
135 | int (*uninit)(struct msm_mddi_bridge_platform_data *, | ||
136 | struct msm_mddi_client_data *); | ||
137 | /* passed to panel for use by the fb driver */ | ||
138 | int (*blank)(struct msm_mddi_bridge_platform_data *, | ||
139 | struct msm_mddi_client_data *); | ||
140 | int (*unblank)(struct msm_mddi_bridge_platform_data *, | ||
141 | struct msm_mddi_client_data *); | ||
142 | struct msm_fb_data fb_data; | ||
143 | }; | ||
144 | |||
145 | |||
146 | |||
147 | #endif | ||
diff --git a/arch/arm/mach-msm/platsmp.c b/arch/arm/mach-msm/platsmp.c index 2d791e6b4ad1..7ed69b69c87c 100644 --- a/arch/arm/mach-msm/platsmp.c +++ b/arch/arm/mach-msm/platsmp.c | |||
@@ -23,17 +23,13 @@ | |||
23 | #include <asm/smp_plat.h> | 23 | #include <asm/smp_plat.h> |
24 | 24 | ||
25 | #include "scm-boot.h" | 25 | #include "scm-boot.h" |
26 | #include "common.h" | ||
26 | 27 | ||
27 | #define VDD_SC1_ARRAY_CLAMP_GFS_CTL 0x15A0 | 28 | #define VDD_SC1_ARRAY_CLAMP_GFS_CTL 0x15A0 |
28 | #define SCSS_CPU1CORE_RESET 0xD80 | 29 | #define SCSS_CPU1CORE_RESET 0xD80 |
29 | #define SCSS_DBG_STATUS_CORE_PWRDUP 0xE64 | 30 | #define SCSS_DBG_STATUS_CORE_PWRDUP 0xE64 |
30 | 31 | ||
31 | extern void msm_secondary_startup(void); | 32 | extern void msm_secondary_startup(void); |
32 | /* | ||
33 | * control for which core is the next to come out of the secondary | ||
34 | * boot "holding pen". | ||
35 | */ | ||
36 | volatile int pen_release = -1; | ||
37 | 33 | ||
38 | static DEFINE_SPINLOCK(boot_lock); | 34 | static DEFINE_SPINLOCK(boot_lock); |
39 | 35 | ||
@@ -43,7 +39,7 @@ static inline int get_core_count(void) | |||
43 | return ((read_cpuid_id() >> 4) & 3) + 1; | 39 | return ((read_cpuid_id() >> 4) & 3) + 1; |
44 | } | 40 | } |
45 | 41 | ||
46 | void __cpuinit platform_secondary_init(unsigned int cpu) | 42 | static void __cpuinit msm_secondary_init(unsigned int cpu) |
47 | { | 43 | { |
48 | /* | 44 | /* |
49 | * if any interrupts are already enabled for the primary | 45 | * if any interrupts are already enabled for the primary |
@@ -85,7 +81,7 @@ static __cpuinit void prepare_cold_cpu(unsigned int cpu) | |||
85 | "address\n"); | 81 | "address\n"); |
86 | } | 82 | } |
87 | 83 | ||
88 | int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle) | 84 | static int __cpuinit msm_boot_secondary(unsigned int cpu, struct task_struct *idle) |
89 | { | 85 | { |
90 | unsigned long timeout; | 86 | unsigned long timeout; |
91 | static int cold_boot_done; | 87 | static int cold_boot_done; |
@@ -145,7 +141,7 @@ int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle) | |||
145 | * does not support the ARM SCU, so just set the possible cpu mask to | 141 | * does not support the ARM SCU, so just set the possible cpu mask to |
146 | * NR_CPUS. | 142 | * NR_CPUS. |
147 | */ | 143 | */ |
148 | void __init smp_init_cpus(void) | 144 | static void __init msm_smp_init_cpus(void) |
149 | { | 145 | { |
150 | unsigned int i, ncores = get_core_count(); | 146 | unsigned int i, ncores = get_core_count(); |
151 | 147 | ||
@@ -161,6 +157,16 @@ void __init smp_init_cpus(void) | |||
161 | set_smp_cross_call(gic_raise_softirq); | 157 | set_smp_cross_call(gic_raise_softirq); |
162 | } | 158 | } |
163 | 159 | ||
164 | void __init platform_smp_prepare_cpus(unsigned int max_cpus) | 160 | static void __init msm_smp_prepare_cpus(unsigned int max_cpus) |
165 | { | 161 | { |
166 | } | 162 | } |
163 | |||
164 | struct smp_operations msm_smp_ops __initdata = { | ||
165 | .smp_init_cpus = msm_smp_init_cpus, | ||
166 | .smp_prepare_cpus = msm_smp_prepare_cpus, | ||
167 | .smp_secondary_init = msm_secondary_init, | ||
168 | .smp_boot_secondary = msm_boot_secondary, | ||
169 | #ifdef CONFIG_HOTPLUG_CPU | ||
170 | .cpu_die = msm_cpu_die, | ||
171 | #endif | ||
172 | }; | ||
diff --git a/arch/arm/mach-mv78xx0/common.c b/arch/arm/mach-mv78xx0/common.c index 6b0c38735527..a6f3cd21e8c2 100644 --- a/arch/arm/mach-mv78xx0/common.c +++ b/arch/arm/mach-mv78xx0/common.c | |||
@@ -20,8 +20,8 @@ | |||
20 | #include <mach/mv78xx0.h> | 20 | #include <mach/mv78xx0.h> |
21 | #include <mach/bridge-regs.h> | 21 | #include <mach/bridge-regs.h> |
22 | #include <plat/cache-feroceon-l2.h> | 22 | #include <plat/cache-feroceon-l2.h> |
23 | #include <plat/ehci-orion.h> | 23 | #include <linux/platform_data/usb-ehci-orion.h> |
24 | #include <plat/orion_nand.h> | 24 | #include <linux/platform_data/mtd-orion_nand.h> |
25 | #include <plat/time.h> | 25 | #include <plat/time.h> |
26 | #include <plat/common.h> | 26 | #include <plat/common.h> |
27 | #include <plat/addr-map.h> | 27 | #include <plat/addr-map.h> |
diff --git a/arch/arm/mach-mv78xx0/irq.c b/arch/arm/mach-mv78xx0/irq.c index eff9a750bbe2..4d720f2aedba 100644 --- a/arch/arm/mach-mv78xx0/irq.c +++ b/arch/arm/mach-mv78xx0/irq.c | |||
@@ -11,6 +11,7 @@ | |||
11 | #include <linux/kernel.h> | 11 | #include <linux/kernel.h> |
12 | #include <linux/irq.h> | 12 | #include <linux/irq.h> |
13 | #include <mach/bridge-regs.h> | 13 | #include <mach/bridge-regs.h> |
14 | #include <plat/orion-gpio.h> | ||
14 | #include <plat/irq.h> | 15 | #include <plat/irq.h> |
15 | #include "common.h" | 16 | #include "common.h" |
16 | 17 | ||
diff --git a/arch/arm/mach-mvebu/Kconfig b/arch/arm/mach-mvebu/Kconfig index caa2c5e734fe..7b270358536e 100644 --- a/arch/arm/mach-mvebu/Kconfig +++ b/arch/arm/mach-mvebu/Kconfig | |||
@@ -1,3 +1,13 @@ | |||
1 | config ARCH_MVEBU | ||
2 | bool "Marvell SOCs with Device Tree support" if ARCH_MULTI_V7 | ||
3 | select CLKSRC_MMIO | ||
4 | select COMMON_CLK | ||
5 | select GENERIC_CLOCKEVENTS | ||
6 | select GENERIC_IRQ_CHIP | ||
7 | select IRQ_DOMAIN | ||
8 | select MULTI_IRQ_HANDLER | ||
9 | select SPARSE_IRQ | ||
10 | |||
1 | if ARCH_MVEBU | 11 | if ARCH_MVEBU |
2 | 12 | ||
3 | menu "Marvell SOC with device tree" | 13 | menu "Marvell SOC with device tree" |
diff --git a/arch/arm/mach-mvebu/Makefile b/arch/arm/mach-mvebu/Makefile index e61d2b8fdf50..6ea8998ab8f1 100644 --- a/arch/arm/mach-mvebu/Makefile +++ b/arch/arm/mach-mvebu/Makefile | |||
@@ -1,2 +1,4 @@ | |||
1 | ccflags-$(ARCH_MULTIPLATFORM) := -I$(srctree)/$(src)/include | ||
2 | |||
1 | obj-y += system-controller.o | 3 | obj-y += system-controller.o |
2 | obj-$(CONFIG_MACH_ARMADA_370_XP) += armada-370-xp.o irq-armada-370-xp.o | 4 | obj-$(CONFIG_MACH_ARMADA_370_XP) += armada-370-xp.o irq-armada-370-xp.o |
diff --git a/arch/arm/mach-mvebu/Makefile.boot b/arch/arm/mach-mvebu/Makefile.boot deleted file mode 100644 index 2579a2fc2334..000000000000 --- a/arch/arm/mach-mvebu/Makefile.boot +++ /dev/null | |||
@@ -1,3 +0,0 @@ | |||
1 | zreladdr-y := 0x00008000 | ||
2 | dtb-$(CONFIG_MACH_ARMADA_370_XP) += armada-370-db.dtb | ||
3 | dtb-$(CONFIG_MACH_ARMADA_370_XP) += armada-xp-db.dtb | ||
diff --git a/arch/arm/mach-mvebu/armada-370-xp.c b/arch/arm/mach-mvebu/armada-370-xp.c index 4ef923b032ec..b46418a8b352 100644 --- a/arch/arm/mach-mvebu/armada-370-xp.c +++ b/arch/arm/mach-mvebu/armada-370-xp.c | |||
@@ -20,7 +20,7 @@ | |||
20 | #include <asm/mach/arch.h> | 20 | #include <asm/mach/arch.h> |
21 | #include <asm/mach/map.h> | 21 | #include <asm/mach/map.h> |
22 | #include <asm/mach/time.h> | 22 | #include <asm/mach/time.h> |
23 | #include <mach/armada-370-xp.h> | 23 | #include "armada-370-xp.h" |
24 | #include "common.h" | 24 | #include "common.h" |
25 | 25 | ||
26 | static struct map_desc armada_370_xp_io_desc[] __initdata = { | 26 | static struct map_desc armada_370_xp_io_desc[] __initdata = { |
diff --git a/arch/arm/mach-mvebu/include/mach/armada-370-xp.h b/arch/arm/mach-mvebu/armada-370-xp.h index 25f0ca8d7820..25f0ca8d7820 100644 --- a/arch/arm/mach-mvebu/include/mach/armada-370-xp.h +++ b/arch/arm/mach-mvebu/armada-370-xp.h | |||
diff --git a/arch/arm/mach-mvebu/include/mach/timex.h b/arch/arm/mach-mvebu/include/mach/timex.h deleted file mode 100644 index ab324a3748f2..000000000000 --- a/arch/arm/mach-mvebu/include/mach/timex.h +++ /dev/null | |||
@@ -1,13 +0,0 @@ | |||
1 | /* | ||
2 | * Marvell Armada SoC time definitions | ||
3 | * | ||
4 | * Copyright (C) 2012 Marvell | ||
5 | * | ||
6 | * Lior Amsalem <alior@marvell.com> | ||
7 | * | ||
8 | * This file is licensed under the terms of the GNU General Public | ||
9 | * License version 2. This program is licensed "as is" without any | ||
10 | * warranty of any kind, whether express or implied. | ||
11 | */ | ||
12 | |||
13 | #define CLOCK_TICK_RATE (100 * HZ) | ||
diff --git a/arch/arm/mach-mvebu/include/mach/uncompress.h b/arch/arm/mach-mvebu/include/mach/uncompress.h deleted file mode 100644 index d6a100ccf302..000000000000 --- a/arch/arm/mach-mvebu/include/mach/uncompress.h +++ /dev/null | |||
@@ -1,43 +0,0 @@ | |||
1 | /* | ||
2 | * Marvell Armada SoC kernel uncompression UART routines | ||
3 | * | ||
4 | * Copyright (C) 2012 Marvell | ||
5 | * | ||
6 | * Lior Amsalem <alior@marvell.com> | ||
7 | * | ||
8 | * This file is licensed under the terms of the GNU General Public | ||
9 | * License version 2. This program is licensed "as is" without any | ||
10 | * warranty of any kind, whether express or implied. | ||
11 | */ | ||
12 | |||
13 | #include <mach/armada-370-xp.h> | ||
14 | |||
15 | #define UART_THR ((volatile unsigned char *)(ARMADA_370_XP_REGS_PHYS_BASE\ | ||
16 | + 0x12000)) | ||
17 | #define UART_LSR ((volatile unsigned char *)(ARMADA_370_XP_REGS_PHYS_BASE\ | ||
18 | + 0x12014)) | ||
19 | |||
20 | #define LSR_THRE 0x20 | ||
21 | |||
22 | static void putc(const char c) | ||
23 | { | ||
24 | int i; | ||
25 | |||
26 | for (i = 0; i < 0x1000; i++) { | ||
27 | /* Transmit fifo not full? */ | ||
28 | if (*UART_LSR & LSR_THRE) | ||
29 | break; | ||
30 | } | ||
31 | |||
32 | *UART_THR = c; | ||
33 | } | ||
34 | |||
35 | static void flush(void) | ||
36 | { | ||
37 | } | ||
38 | |||
39 | /* | ||
40 | * nothing to do | ||
41 | */ | ||
42 | #define arch_decomp_setup() | ||
43 | #define arch_decomp_wdog() | ||
diff --git a/arch/arm/mach-mxs/Makefile.boot b/arch/arm/mach-mxs/Makefile.boot index 8bd23a8558db..07b11fe6453f 100644 --- a/arch/arm/mach-mxs/Makefile.boot +++ b/arch/arm/mach-mxs/Makefile.boot | |||
@@ -1,11 +1 @@ | |||
1 | zreladdr-y += 0x40008000 | zreladdr-y += 0x40008000 | |
2 | |||
3 | dtb-y += imx23-evk.dtb \ | ||
4 | imx23-olinuxino.dtb \ | ||
5 | imx23-stmp378x_devb.dtb \ | ||
6 | imx28-apx4devkit.dtb \ | ||
7 | imx28-cfa10036.dtb \ | ||
8 | imx28-cfa10049.dtb \ | ||
9 | imx28-evk.dtb \ | ||
10 | imx28-m28evk.dtb \ | ||
11 | imx28-tx28.dtb \ | ||
diff --git a/arch/arm/mach-mxs/include/mach/gpio.h b/arch/arm/mach-mxs/include/mach/gpio.h deleted file mode 100644 index 40a8c178f10d..000000000000 --- a/arch/arm/mach-mxs/include/mach/gpio.h +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | /* empty */ | ||
diff --git a/arch/arm/mach-netx/include/mach/eth.h b/arch/arm/mach-netx/include/mach/eth.h deleted file mode 100644 index 88af1ac28ead..000000000000 --- a/arch/arm/mach-netx/include/mach/eth.h +++ /dev/null | |||
@@ -1,27 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-netx/include/mach/eth.h | ||
3 | * | ||
4 | * Copyright (c) 2005 Sascha Hauer <s.hauer@pengutronix.de>, Pengutronix | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 | ||
8 | * as published by the Free Software Foundation. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | * GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, write to the Free Software | ||
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
18 | */ | ||
19 | |||
20 | #ifndef ASMARM_ARCH_ETH_H | ||
21 | #define ASMARM_ARCH_ETH_H | ||
22 | |||
23 | struct netxeth_platform_data { | ||
24 | unsigned int xcno; /* number of xmac/xpec engine this eth uses */ | ||
25 | }; | ||
26 | |||
27 | #endif | ||
diff --git a/arch/arm/mach-netx/nxdb500.c b/arch/arm/mach-netx/nxdb500.c index 180ea899a48a..8b781ff7c9e9 100644 --- a/arch/arm/mach-netx/nxdb500.c +++ b/arch/arm/mach-netx/nxdb500.c | |||
@@ -30,7 +30,7 @@ | |||
30 | #include <asm/mach/arch.h> | 30 | #include <asm/mach/arch.h> |
31 | #include <asm/hardware/vic.h> | 31 | #include <asm/hardware/vic.h> |
32 | #include <mach/netx-regs.h> | 32 | #include <mach/netx-regs.h> |
33 | #include <mach/eth.h> | 33 | #include <linux/platform_data/eth-netx.h> |
34 | 34 | ||
35 | #include "generic.h" | 35 | #include "generic.h" |
36 | #include "fb.h" | 36 | #include "fb.h" |
diff --git a/arch/arm/mach-netx/nxdkn.c b/arch/arm/mach-netx/nxdkn.c index 58009e29b20e..b26dbce334f2 100644 --- a/arch/arm/mach-netx/nxdkn.c +++ b/arch/arm/mach-netx/nxdkn.c | |||
@@ -30,7 +30,7 @@ | |||
30 | #include <asm/mach/arch.h> | 30 | #include <asm/mach/arch.h> |
31 | #include <asm/hardware/vic.h> | 31 | #include <asm/hardware/vic.h> |
32 | #include <mach/netx-regs.h> | 32 | #include <mach/netx-regs.h> |
33 | #include <mach/eth.h> | 33 | #include <linux/platform_data/eth-netx.h> |
34 | 34 | ||
35 | #include "generic.h" | 35 | #include "generic.h" |
36 | 36 | ||
diff --git a/arch/arm/mach-netx/nxeb500hmi.c b/arch/arm/mach-netx/nxeb500hmi.c index 122e99826ef6..257382efafa0 100644 --- a/arch/arm/mach-netx/nxeb500hmi.c +++ b/arch/arm/mach-netx/nxeb500hmi.c | |||
@@ -30,7 +30,7 @@ | |||
30 | #include <asm/mach/arch.h> | 30 | #include <asm/mach/arch.h> |
31 | #include <asm/hardware/vic.h> | 31 | #include <asm/hardware/vic.h> |
32 | #include <mach/netx-regs.h> | 32 | #include <mach/netx-regs.h> |
33 | #include <mach/eth.h> | 33 | #include <linux/platform_data/eth-netx.h> |
34 | 34 | ||
35 | #include "generic.h" | 35 | #include "generic.h" |
36 | #include "fb.h" | 36 | #include "fb.h" |
diff --git a/arch/arm/mach-nomadik/board-nhk8815.c b/arch/arm/mach-nomadik/board-nhk8815.c index c3841a9a8fa8..92a00260d074 100644 --- a/arch/arm/mach-nomadik/board-nhk8815.c +++ b/arch/arm/mach-nomadik/board-nhk8815.c | |||
@@ -34,7 +34,7 @@ | |||
34 | #include <plat/gpio-nomadik.h> | 34 | #include <plat/gpio-nomadik.h> |
35 | #include <plat/mtu.h> | 35 | #include <plat/mtu.h> |
36 | 36 | ||
37 | #include <mach/nand.h> | 37 | #include <linux/platform_data/mtd-nomadik-nand.h> |
38 | #include <mach/fsmc.h> | 38 | #include <mach/fsmc.h> |
39 | 39 | ||
40 | #include "cpu-8815.h" | 40 | #include "cpu-8815.h" |
diff --git a/arch/arm/mach-nomadik/include/mach/gpio.h b/arch/arm/mach-nomadik/include/mach/gpio.h deleted file mode 100644 index efdde0ae0a4f..000000000000 --- a/arch/arm/mach-nomadik/include/mach/gpio.h +++ /dev/null | |||
@@ -1,4 +0,0 @@ | |||
1 | #ifndef __ASM_ARCH_GPIO_H | ||
2 | #define __ASM_ARCH_GPIO_H | ||
3 | |||
4 | #endif /* __ASM_ARCH_GPIO_H */ | ||
diff --git a/arch/arm/mach-nomadik/include/mach/nand.h b/arch/arm/mach-nomadik/include/mach/nand.h deleted file mode 100644 index c3c8254c22a5..000000000000 --- a/arch/arm/mach-nomadik/include/mach/nand.h +++ /dev/null | |||
@@ -1,16 +0,0 @@ | |||
1 | #ifndef __ASM_ARCH_NAND_H | ||
2 | #define __ASM_ARCH_NAND_H | ||
3 | |||
4 | struct nomadik_nand_platform_data { | ||
5 | struct mtd_partition *parts; | ||
6 | int nparts; | ||
7 | int options; | ||
8 | int (*init) (void); | ||
9 | int (*exit) (void); | ||
10 | }; | ||
11 | |||
12 | #define NAND_IO_DATA 0x40000000 | ||
13 | #define NAND_IO_CMD 0x40800000 | ||
14 | #define NAND_IO_ADDR 0x41000000 | ||
15 | |||
16 | #endif /* __ASM_ARCH_NAND_H */ | ||
diff --git a/arch/arm/mach-omap2/Makefile.boot b/arch/arm/mach-omap2/Makefile.boot index be0fe9226d67..b03e562acc60 100644 --- a/arch/arm/mach-omap2/Makefile.boot +++ b/arch/arm/mach-omap2/Makefile.boot | |||
@@ -1,9 +1,3 @@ | |||
1 | zreladdr-y += 0x80008000 | 1 | zreladdr-y += 0x80008000 |
2 | params_phys-y := 0x80000100 | 2 | params_phys-y := 0x80000100 |
3 | initrd_phys-y := 0x80800000 | 3 | initrd_phys-y := 0x80800000 |
4 | |||
5 | dtb-$(CONFIG_SOC_OMAP2420) += omap2420-h4.dtb | ||
6 | dtb-$(CONFIG_ARCH_OMAP3) += omap3-beagle-xm.dtb omap3-evm.dtb omap3-tobi.dtb | ||
7 | dtb-$(CONFIG_ARCH_OMAP4) += omap4-panda.dtb omap4-pandaES.dtb | ||
8 | dtb-$(CONFIG_ARCH_OMAP4) += omap4-var_som.dtb omap4-sdp.dtb | ||
9 | dtb-$(CONFIG_SOC_OMAP5) += omap5-evm.dtb | ||
diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c index 749ce9634e8e..a88809a59ea9 100644 --- a/arch/arm/mach-omap2/board-4430sdp.c +++ b/arch/arm/mach-omap2/board-4430sdp.c | |||
@@ -915,6 +915,7 @@ static void __init omap_4430sdp_init(void) | |||
915 | MACHINE_START(OMAP_4430SDP, "OMAP4430 4430SDP board") | 915 | MACHINE_START(OMAP_4430SDP, "OMAP4430 4430SDP board") |
916 | /* Maintainer: Santosh Shilimkar - Texas Instruments Inc */ | 916 | /* Maintainer: Santosh Shilimkar - Texas Instruments Inc */ |
917 | .atag_offset = 0x100, | 917 | .atag_offset = 0x100, |
918 | .smp = smp_ops(omap4_smp_ops), | ||
918 | .reserve = omap_reserve, | 919 | .reserve = omap_reserve, |
919 | .map_io = omap4_map_io, | 920 | .map_io = omap4_map_io, |
920 | .init_early = omap4430_init_early, | 921 | .init_early = omap4430_init_early, |
diff --git a/arch/arm/mach-omap2/board-generic.c b/arch/arm/mach-omap2/board-generic.c index 2ea7c577b295..601ecdfb1cf9 100644 --- a/arch/arm/mach-omap2/board-generic.c +++ b/arch/arm/mach-omap2/board-generic.c | |||
@@ -125,6 +125,7 @@ static const char *omap4_boards_compat[] __initdata = { | |||
125 | 125 | ||
126 | DT_MACHINE_START(OMAP4_DT, "Generic OMAP4 (Flattened Device Tree)") | 126 | DT_MACHINE_START(OMAP4_DT, "Generic OMAP4 (Flattened Device Tree)") |
127 | .reserve = omap_reserve, | 127 | .reserve = omap_reserve, |
128 | .smp = smp_ops(omap4_smp_ops), | ||
128 | .map_io = omap4_map_io, | 129 | .map_io = omap4_map_io, |
129 | .init_early = omap4430_init_early, | 130 | .init_early = omap4430_init_early, |
130 | .init_irq = omap_gic_of_init, | 131 | .init_irq = omap_gic_of_init, |
@@ -145,6 +146,7 @@ static const char *omap5_boards_compat[] __initdata = { | |||
145 | 146 | ||
146 | DT_MACHINE_START(OMAP5_DT, "Generic OMAP5 (Flattened Device Tree)") | 147 | DT_MACHINE_START(OMAP5_DT, "Generic OMAP5 (Flattened Device Tree)") |
147 | .reserve = omap_reserve, | 148 | .reserve = omap_reserve, |
149 | .smp = smp_ops(omap4_smp_ops), | ||
148 | .map_io = omap5_map_io, | 150 | .map_io = omap5_map_io, |
149 | .init_early = omap5_init_early, | 151 | .init_early = omap5_init_early, |
150 | .init_irq = omap_gic_of_init, | 152 | .init_irq = omap_gic_of_init, |
diff --git a/arch/arm/mach-omap2/board-omap4panda.c b/arch/arm/mach-omap2/board-omap4panda.c index 7b592d3d7797..e0dd70b9d917 100644 --- a/arch/arm/mach-omap2/board-omap4panda.c +++ b/arch/arm/mach-omap2/board-omap4panda.c | |||
@@ -524,6 +524,7 @@ static void __init omap4_panda_init(void) | |||
524 | MACHINE_START(OMAP4_PANDA, "OMAP4 Panda board") | 524 | MACHINE_START(OMAP4_PANDA, "OMAP4 Panda board") |
525 | /* Maintainer: David Anders - Texas Instruments Inc */ | 525 | /* Maintainer: David Anders - Texas Instruments Inc */ |
526 | .atag_offset = 0x100, | 526 | .atag_offset = 0x100, |
527 | .smp = smp_ops(omap4_smp_ops), | ||
527 | .reserve = omap_reserve, | 528 | .reserve = omap_reserve, |
528 | .map_io = omap4_map_io, | 529 | .map_io = omap4_map_io, |
529 | .init_early = omap4430_init_early, | 530 | .init_early = omap4430_init_early, |
diff --git a/arch/arm/mach-omap2/common.h b/arch/arm/mach-omap2/common.h index da0f5c187353..7045e4d61ac3 100644 --- a/arch/arm/mach-omap2/common.h +++ b/arch/arm/mach-omap2/common.h | |||
@@ -285,6 +285,11 @@ extern void omap_secondary_startup(void); | |||
285 | extern u32 omap_modify_auxcoreboot0(u32 set_mask, u32 clear_mask); | 285 | extern u32 omap_modify_auxcoreboot0(u32 set_mask, u32 clear_mask); |
286 | extern void omap_auxcoreboot_addr(u32 cpu_addr); | 286 | extern void omap_auxcoreboot_addr(u32 cpu_addr); |
287 | extern u32 omap_read_auxcoreboot0(void); | 287 | extern u32 omap_read_auxcoreboot0(void); |
288 | |||
289 | extern void omap4_cpu_die(unsigned int cpu); | ||
290 | |||
291 | extern struct smp_operations omap4_smp_ops; | ||
292 | |||
288 | extern void omap5_secondary_startup(void); | 293 | extern void omap5_secondary_startup(void); |
289 | #endif | 294 | #endif |
290 | 295 | ||
diff --git a/arch/arm/mach-omap2/omap-hotplug.c b/arch/arm/mach-omap2/omap-hotplug.c index 765a2aceb665..e712d1725a8b 100644 --- a/arch/arm/mach-omap2/omap-hotplug.c +++ b/arch/arm/mach-omap2/omap-hotplug.c | |||
@@ -26,16 +26,11 @@ | |||
26 | 26 | ||
27 | #include "powerdomain.h" | 27 | #include "powerdomain.h" |
28 | 28 | ||
29 | int platform_cpu_kill(unsigned int cpu) | ||
30 | { | ||
31 | return 1; | ||
32 | } | ||
33 | |||
34 | /* | 29 | /* |
35 | * platform-specific code to shutdown a CPU | 30 | * platform-specific code to shutdown a CPU |
36 | * Called with IRQs disabled | 31 | * Called with IRQs disabled |
37 | */ | 32 | */ |
38 | void __ref platform_cpu_die(unsigned int cpu) | 33 | void __ref omap4_cpu_die(unsigned int cpu) |
39 | { | 34 | { |
40 | unsigned int boot_cpu = 0; | 35 | unsigned int boot_cpu = 0; |
41 | void __iomem *base = omap_get_wakeupgen_base(); | 36 | void __iomem *base = omap_get_wakeupgen_base(); |
@@ -75,12 +70,3 @@ void __ref platform_cpu_die(unsigned int cpu) | |||
75 | pr_debug("CPU%u: spurious wakeup call\n", cpu); | 70 | pr_debug("CPU%u: spurious wakeup call\n", cpu); |
76 | } | 71 | } |
77 | } | 72 | } |
78 | |||
79 | int platform_cpu_disable(unsigned int cpu) | ||
80 | { | ||
81 | /* | ||
82 | * we don't allow CPU 0 to be shutdown (it is still too special | ||
83 | * e.g. clock tick interrupts) | ||
84 | */ | ||
85 | return cpu == 0 ? -EPERM : 0; | ||
86 | } | ||
diff --git a/arch/arm/mach-omap2/omap-smp.c b/arch/arm/mach-omap2/omap-smp.c index 06d8bc3a8886..4d05fa8a4e48 100644 --- a/arch/arm/mach-omap2/omap-smp.c +++ b/arch/arm/mach-omap2/omap-smp.c | |||
@@ -49,7 +49,7 @@ void __iomem *omap4_get_scu_base(void) | |||
49 | return scu_base; | 49 | return scu_base; |
50 | } | 50 | } |
51 | 51 | ||
52 | void __cpuinit platform_secondary_init(unsigned int cpu) | 52 | static void __cpuinit omap4_secondary_init(unsigned int cpu) |
53 | { | 53 | { |
54 | /* | 54 | /* |
55 | * Configure ACTRL and enable NS SMP bit access on CPU1 on HS device. | 55 | * Configure ACTRL and enable NS SMP bit access on CPU1 on HS device. |
@@ -77,7 +77,7 @@ void __cpuinit platform_secondary_init(unsigned int cpu) | |||
77 | spin_unlock(&boot_lock); | 77 | spin_unlock(&boot_lock); |
78 | } | 78 | } |
79 | 79 | ||
80 | int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle) | 80 | static int __cpuinit omap4_boot_secondary(unsigned int cpu, struct task_struct *idle) |
81 | { | 81 | { |
82 | static struct clockdomain *cpu1_clkdm; | 82 | static struct clockdomain *cpu1_clkdm; |
83 | static bool booted; | 83 | static bool booted; |
@@ -165,7 +165,7 @@ static void __init wakeup_secondary(void) | |||
165 | * Initialise the CPU possible map early - this describes the CPUs | 165 | * Initialise the CPU possible map early - this describes the CPUs |
166 | * which may be present or become present in the system. | 166 | * which may be present or become present in the system. |
167 | */ | 167 | */ |
168 | void __init smp_init_cpus(void) | 168 | static void __init omap4_smp_init_cpus(void) |
169 | { | 169 | { |
170 | unsigned int i = 0, ncores = 1, cpu_id; | 170 | unsigned int i = 0, ncores = 1, cpu_id; |
171 | 171 | ||
@@ -196,7 +196,7 @@ void __init smp_init_cpus(void) | |||
196 | set_smp_cross_call(gic_raise_softirq); | 196 | set_smp_cross_call(gic_raise_softirq); |
197 | } | 197 | } |
198 | 198 | ||
199 | void __init platform_smp_prepare_cpus(unsigned int max_cpus) | 199 | static void __init omap4_smp_prepare_cpus(unsigned int max_cpus) |
200 | { | 200 | { |
201 | 201 | ||
202 | /* | 202 | /* |
@@ -207,3 +207,13 @@ void __init platform_smp_prepare_cpus(unsigned int max_cpus) | |||
207 | scu_enable(scu_base); | 207 | scu_enable(scu_base); |
208 | wakeup_secondary(); | 208 | wakeup_secondary(); |
209 | } | 209 | } |
210 | |||
211 | struct smp_operations omap4_smp_ops __initdata = { | ||
212 | .smp_init_cpus = omap4_smp_init_cpus, | ||
213 | .smp_prepare_cpus = omap4_smp_prepare_cpus, | ||
214 | .smp_secondary_init = omap4_secondary_init, | ||
215 | .smp_boot_secondary = omap4_boot_secondary, | ||
216 | #ifdef CONFIG_HOTPLUG_CPU | ||
217 | .cpu_die = omap4_cpu_die, | ||
218 | #endif | ||
219 | }; | ||
diff --git a/arch/arm/mach-orion5x/common.c b/arch/arm/mach-orion5x/common.c index 2fdd4e4f559a..073c7d799068 100644 --- a/arch/arm/mach-orion5x/common.c +++ b/arch/arm/mach-orion5x/common.c | |||
@@ -30,8 +30,8 @@ | |||
30 | #include <mach/bridge-regs.h> | 30 | #include <mach/bridge-regs.h> |
31 | #include <mach/hardware.h> | 31 | #include <mach/hardware.h> |
32 | #include <mach/orion5x.h> | 32 | #include <mach/orion5x.h> |
33 | #include <plat/orion_nand.h> | 33 | #include <linux/platform_data/mtd-orion_nand.h> |
34 | #include <plat/ehci-orion.h> | 34 | #include <linux/platform_data/usb-ehci-orion.h> |
35 | #include <plat/time.h> | 35 | #include <plat/time.h> |
36 | #include <plat/common.h> | 36 | #include <plat/common.h> |
37 | #include <plat/addr-map.h> | 37 | #include <plat/addr-map.h> |
diff --git a/arch/arm/mach-orion5x/d2net-setup.c b/arch/arm/mach-orion5x/d2net-setup.c index d75dcfa0f01c..e3629c063df2 100644 --- a/arch/arm/mach-orion5x/d2net-setup.c +++ b/arch/arm/mach-orion5x/d2net-setup.c | |||
@@ -27,6 +27,7 @@ | |||
27 | #include <asm/mach/arch.h> | 27 | #include <asm/mach/arch.h> |
28 | #include <asm/mach/pci.h> | 28 | #include <asm/mach/pci.h> |
29 | #include <mach/orion5x.h> | 29 | #include <mach/orion5x.h> |
30 | #include <plat/orion-gpio.h> | ||
30 | #include "common.h" | 31 | #include "common.h" |
31 | #include "mpp.h" | 32 | #include "mpp.h" |
32 | 33 | ||
diff --git a/arch/arm/mach-orion5x/db88f5281-setup.c b/arch/arm/mach-orion5x/db88f5281-setup.c index 49a3fd630313..41fe2b1ff47c 100644 --- a/arch/arm/mach-orion5x/db88f5281-setup.c +++ b/arch/arm/mach-orion5x/db88f5281-setup.c | |||
@@ -24,7 +24,7 @@ | |||
24 | #include <asm/mach/arch.h> | 24 | #include <asm/mach/arch.h> |
25 | #include <asm/mach/pci.h> | 25 | #include <asm/mach/pci.h> |
26 | #include <mach/orion5x.h> | 26 | #include <mach/orion5x.h> |
27 | #include <plat/orion_nand.h> | 27 | #include <linux/platform_data/mtd-orion_nand.h> |
28 | #include "common.h" | 28 | #include "common.h" |
29 | #include "mpp.h" | 29 | #include "mpp.h" |
30 | 30 | ||
diff --git a/arch/arm/mach-orion5x/dns323-setup.c b/arch/arm/mach-orion5x/dns323-setup.c index d470864b4e42..0e19db69f5c4 100644 --- a/arch/arm/mach-orion5x/dns323-setup.c +++ b/arch/arm/mach-orion5x/dns323-setup.c | |||
@@ -34,6 +34,7 @@ | |||
34 | #include <asm/mach/pci.h> | 34 | #include <asm/mach/pci.h> |
35 | #include <asm/system_info.h> | 35 | #include <asm/system_info.h> |
36 | #include <mach/orion5x.h> | 36 | #include <mach/orion5x.h> |
37 | #include <plat/orion-gpio.h> | ||
37 | #include "common.h" | 38 | #include "common.h" |
38 | #include "mpp.h" | 39 | #include "mpp.h" |
39 | 40 | ||
diff --git a/arch/arm/mach-orion5x/include/mach/gpio.h b/arch/arm/mach-orion5x/include/mach/gpio.h deleted file mode 100644 index a1d0b78decb1..000000000000 --- a/arch/arm/mach-orion5x/include/mach/gpio.h +++ /dev/null | |||
@@ -1,9 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-orion5x/include/mach/gpio.h | ||
3 | * | ||
4 | * This file is licensed under the terms of the GNU General Public | ||
5 | * License version 2. This program is licensed "as is" without any | ||
6 | * warranty of any kind, whether express or implied. | ||
7 | */ | ||
8 | |||
9 | #include <plat/gpio.h> | ||
diff --git a/arch/arm/mach-orion5x/irq.c b/arch/arm/mach-orion5x/irq.c index 17da7091d310..e152641cdb0e 100644 --- a/arch/arm/mach-orion5x/irq.c +++ b/arch/arm/mach-orion5x/irq.c | |||
@@ -13,6 +13,7 @@ | |||
13 | #include <linux/kernel.h> | 13 | #include <linux/kernel.h> |
14 | #include <linux/irq.h> | 14 | #include <linux/irq.h> |
15 | #include <mach/bridge-regs.h> | 15 | #include <mach/bridge-regs.h> |
16 | #include <plat/orion-gpio.h> | ||
16 | #include <plat/irq.h> | 17 | #include <plat/irq.h> |
17 | 18 | ||
18 | static int __initdata gpio0_irqs[4] = { | 19 | static int __initdata gpio0_irqs[4] = { |
diff --git a/arch/arm/mach-orion5x/kurobox_pro-setup.c b/arch/arm/mach-orion5x/kurobox_pro-setup.c index 1e458efafb9a..f1ae10ae5bd4 100644 --- a/arch/arm/mach-orion5x/kurobox_pro-setup.c +++ b/arch/arm/mach-orion5x/kurobox_pro-setup.c | |||
@@ -24,7 +24,7 @@ | |||
24 | #include <asm/mach/arch.h> | 24 | #include <asm/mach/arch.h> |
25 | #include <asm/mach/pci.h> | 25 | #include <asm/mach/pci.h> |
26 | #include <mach/orion5x.h> | 26 | #include <mach/orion5x.h> |
27 | #include <plat/orion_nand.h> | 27 | #include <linux/platform_data/mtd-orion_nand.h> |
28 | #include "common.h" | 28 | #include "common.h" |
29 | #include "mpp.h" | 29 | #include "mpp.h" |
30 | 30 | ||
diff --git a/arch/arm/mach-orion5x/net2big-setup.c b/arch/arm/mach-orion5x/net2big-setup.c index 0180c393c711..3506f16c0bf2 100644 --- a/arch/arm/mach-orion5x/net2big-setup.c +++ b/arch/arm/mach-orion5x/net2big-setup.c | |||
@@ -25,6 +25,7 @@ | |||
25 | #include <asm/mach-types.h> | 25 | #include <asm/mach-types.h> |
26 | #include <asm/mach/arch.h> | 26 | #include <asm/mach/arch.h> |
27 | #include <mach/orion5x.h> | 27 | #include <mach/orion5x.h> |
28 | #include <plat/orion-gpio.h> | ||
28 | #include "common.h" | 29 | #include "common.h" |
29 | #include "mpp.h" | 30 | #include "mpp.h" |
30 | 31 | ||
diff --git a/arch/arm/mach-picoxcell/Kconfig b/arch/arm/mach-picoxcell/Kconfig new file mode 100644 index 000000000000..868796f8085c --- /dev/null +++ b/arch/arm/mach-picoxcell/Kconfig | |||
@@ -0,0 +1,14 @@ | |||
1 | config ARCH_PICOXCELL | ||
2 | bool "Picochip PicoXcell" if ARCH_MULTI_V6 | ||
3 | select ARCH_REQUIRE_GPIOLIB | ||
4 | select ARM_PATCH_PHYS_VIRT | ||
5 | select ARM_VIC | ||
6 | select CPU_V6K | ||
7 | select DW_APB_TIMER | ||
8 | select DW_APB_TIMER_OF | ||
9 | select GENERIC_CLOCKEVENTS | ||
10 | select GENERIC_GPIO | ||
11 | select HAVE_TCM | ||
12 | select NO_IOPORT | ||
13 | select SPARSE_IRQ | ||
14 | select USE_OF | ||
diff --git a/arch/arm/mach-picoxcell/Makefile.boot b/arch/arm/mach-picoxcell/Makefile.boot deleted file mode 100644 index b3271754e9fd..000000000000 --- a/arch/arm/mach-picoxcell/Makefile.boot +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | zreladdr-y := 0x00008000 | ||
diff --git a/arch/arm/mach-picoxcell/common.c b/arch/arm/mach-picoxcell/common.c index 8f9a0b47a7fa..f6c0849af5e9 100644 --- a/arch/arm/mach-picoxcell/common.c +++ b/arch/arm/mach-picoxcell/common.c | |||
@@ -20,14 +20,15 @@ | |||
20 | #include <asm/hardware/vic.h> | 20 | #include <asm/hardware/vic.h> |
21 | #include <asm/mach/map.h> | 21 | #include <asm/mach/map.h> |
22 | 22 | ||
23 | #include <mach/map.h> | ||
24 | #include <mach/picoxcell_soc.h> | ||
25 | |||
26 | #include "common.h" | 23 | #include "common.h" |
27 | 24 | ||
28 | #define WDT_CTRL_REG_EN_MASK (1 << 0) | 25 | #define PHYS_TO_IO(x) (((x) & 0x00ffffff) | 0xfe000000) |
29 | #define WDT_CTRL_REG_OFFS (0x00) | 26 | #define PICOXCELL_PERIPH_BASE 0x80000000 |
30 | #define WDT_TIMEOUT_REG_OFFS (0x04) | 27 | #define PICOXCELL_PERIPH_LENGTH SZ_4M |
28 | |||
29 | #define WDT_CTRL_REG_EN_MASK (1 << 0) | ||
30 | #define WDT_CTRL_REG_OFFS (0x00) | ||
31 | #define WDT_TIMEOUT_REG_OFFS (0x04) | ||
31 | static void __iomem *wdt_regs; | 32 | static void __iomem *wdt_regs; |
32 | 33 | ||
33 | /* | 34 | /* |
diff --git a/arch/arm/mach-picoxcell/include/mach/gpio.h b/arch/arm/mach-picoxcell/include/mach/gpio.h deleted file mode 100644 index 40a8c178f10d..000000000000 --- a/arch/arm/mach-picoxcell/include/mach/gpio.h +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | /* empty */ | ||
diff --git a/arch/arm/mach-picoxcell/include/mach/hardware.h b/arch/arm/mach-picoxcell/include/mach/hardware.h deleted file mode 100644 index 70ff58192ec9..000000000000 --- a/arch/arm/mach-picoxcell/include/mach/hardware.h +++ /dev/null | |||
@@ -1,21 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (c) 2011 Picochip Ltd., Jamie Iles | ||
3 | * | ||
4 | * This file contains the hardware definitions of the picoXcell SoC devices. | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | */ | ||
16 | #ifndef __ASM_ARCH_HARDWARE_H | ||
17 | #define __ASM_ARCH_HARDWARE_H | ||
18 | |||
19 | #include <mach/picoxcell_soc.h> | ||
20 | |||
21 | #endif | ||
diff --git a/arch/arm/mach-picoxcell/include/mach/map.h b/arch/arm/mach-picoxcell/include/mach/map.h deleted file mode 100644 index c06afad218bb..000000000000 --- a/arch/arm/mach-picoxcell/include/mach/map.h +++ /dev/null | |||
@@ -1,25 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (c) 2011 Picochip Ltd., Jamie Iles | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | * GNU General Public License for more details. | ||
13 | */ | ||
14 | #ifndef __PICOXCELL_MAP_H__ | ||
15 | #define __PICOXCELL_MAP_H__ | ||
16 | |||
17 | #define PHYS_TO_IO(x) (((x) & 0x00ffffff) | 0xfe000000) | ||
18 | |||
19 | #ifdef __ASSEMBLY__ | ||
20 | #define IO_ADDRESS(x) PHYS_TO_IO((x)) | ||
21 | #else | ||
22 | #define IO_ADDRESS(x) (void __iomem __force *)(PHYS_TO_IO((x))) | ||
23 | #endif | ||
24 | |||
25 | #endif /* __PICOXCELL_MAP_H__ */ | ||
diff --git a/arch/arm/mach-picoxcell/include/mach/picoxcell_soc.h b/arch/arm/mach-picoxcell/include/mach/picoxcell_soc.h deleted file mode 100644 index 5566fc88ddbc..000000000000 --- a/arch/arm/mach-picoxcell/include/mach/picoxcell_soc.h +++ /dev/null | |||
@@ -1,25 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (c) 2011 Picochip Ltd., Jamie Iles | ||
3 | * | ||
4 | * This file contains the hardware definitions of the picoXcell SoC devices. | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | */ | ||
16 | #ifndef __PICOXCELL_SOC_H__ | ||
17 | #define __PICOXCELL_SOC_H__ | ||
18 | |||
19 | #define PICOXCELL_UART1_BASE 0x80230000 | ||
20 | #define PICOXCELL_PERIPH_BASE 0x80000000 | ||
21 | #define PICOXCELL_PERIPH_LENGTH SZ_4M | ||
22 | #define PICOXCELL_VIC0_BASE 0x80060000 | ||
23 | #define PICOXCELL_VIC1_BASE 0x80064000 | ||
24 | |||
25 | #endif /* __PICOXCELL_SOC_H__ */ | ||
diff --git a/arch/arm/mach-picoxcell/include/mach/timex.h b/arch/arm/mach-picoxcell/include/mach/timex.h deleted file mode 100644 index 6c540a69f405..000000000000 --- a/arch/arm/mach-picoxcell/include/mach/timex.h +++ /dev/null | |||
@@ -1,25 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (c) 2011 Picochip Ltd., Jamie Iles | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | * GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program; if not, write to the Free Software | ||
16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
17 | */ | ||
18 | #ifndef __TIMEX_H__ | ||
19 | #define __TIMEX_H__ | ||
20 | |||
21 | /* Bogus value to allow the kernel to compile. */ | ||
22 | #define CLOCK_TICK_RATE 1000000 | ||
23 | |||
24 | #endif /* __TIMEX_H__ */ | ||
25 | |||
diff --git a/arch/arm/mach-picoxcell/include/mach/uncompress.h b/arch/arm/mach-picoxcell/include/mach/uncompress.h deleted file mode 100644 index b60b19d1d739..000000000000 --- a/arch/arm/mach-picoxcell/include/mach/uncompress.h +++ /dev/null | |||
@@ -1,21 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (c) 2011 Picochip Ltd., Jamie Iles | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | * GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program; if not, write to the Free Software | ||
16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
17 | */ | ||
18 | #define putc(c) | ||
19 | #define flush() | ||
20 | #define arch_decomp_setup() | ||
21 | #define arch_decomp_wdog() | ||
diff --git a/arch/arm/mach-prima2/Makefile.boot b/arch/arm/mach-prima2/Makefile.boot index 98167da874c9..c77a4883a4ee 100644 --- a/arch/arm/mach-prima2/Makefile.boot +++ b/arch/arm/mach-prima2/Makefile.boot | |||
@@ -1,5 +1,3 @@ | |||
1 | zreladdr-y += 0x00008000 | 1 | zreladdr-y += 0x00008000 |
2 | params_phys-y := 0x00000100 | 2 | params_phys-y := 0x00000100 |
3 | initrd_phys-y := 0x00800000 | 3 | initrd_phys-y := 0x00800000 |
4 | |||
5 | dtb-$(CONFIG_ARCH_PRIMA2) += prima2-evb.dtb | ||
diff --git a/arch/arm/mach-pxa/am200epd.c b/arch/arm/mach-pxa/am200epd.c index ccdac4b6a469..ffa6d811aad8 100644 --- a/arch/arm/mach-pxa/am200epd.c +++ b/arch/arm/mach-pxa/am200epd.c | |||
@@ -32,7 +32,7 @@ | |||
32 | 32 | ||
33 | #include <mach/pxa25x.h> | 33 | #include <mach/pxa25x.h> |
34 | #include <mach/gumstix.h> | 34 | #include <mach/gumstix.h> |
35 | #include <mach/pxafb.h> | 35 | #include <linux/platform_data/video-pxafb.h> |
36 | 36 | ||
37 | #include "generic.h" | 37 | #include "generic.h" |
38 | 38 | ||
diff --git a/arch/arm/mach-pxa/am300epd.c b/arch/arm/mach-pxa/am300epd.c index 76c4b9494031..3dfec1ec462d 100644 --- a/arch/arm/mach-pxa/am300epd.c +++ b/arch/arm/mach-pxa/am300epd.c | |||
@@ -30,7 +30,7 @@ | |||
30 | 30 | ||
31 | #include <mach/gumstix.h> | 31 | #include <mach/gumstix.h> |
32 | #include <mach/mfp-pxa25x.h> | 32 | #include <mach/mfp-pxa25x.h> |
33 | #include <mach/pxafb.h> | 33 | #include <linux/platform_data/video-pxafb.h> |
34 | 34 | ||
35 | #include "generic.h" | 35 | #include "generic.h" |
36 | 36 | ||
diff --git a/arch/arm/mach-pxa/balloon3.c b/arch/arm/mach-pxa/balloon3.c index 9244493dbcb7..208229342514 100644 --- a/arch/arm/mach-pxa/balloon3.c +++ b/arch/arm/mach-pxa/balloon3.c | |||
@@ -45,12 +45,12 @@ | |||
45 | #include <mach/pxa27x.h> | 45 | #include <mach/pxa27x.h> |
46 | #include <mach/balloon3.h> | 46 | #include <mach/balloon3.h> |
47 | #include <mach/audio.h> | 47 | #include <mach/audio.h> |
48 | #include <mach/pxafb.h> | 48 | #include <linux/platform_data/video-pxafb.h> |
49 | #include <mach/mmc.h> | 49 | #include <linux/platform_data/mmc-pxamci.h> |
50 | #include <mach/udc.h> | 50 | #include <mach/udc.h> |
51 | #include <mach/pxa27x-udc.h> | 51 | #include <mach/pxa27x-udc.h> |
52 | #include <mach/irda.h> | 52 | #include <linux/platform_data/irda-pxaficp.h> |
53 | #include <mach/ohci.h> | 53 | #include <linux/platform_data/usb-ohci-pxa27x.h> |
54 | 54 | ||
55 | #include "generic.h" | 55 | #include "generic.h" |
56 | #include "devices.h" | 56 | #include "devices.h" |
diff --git a/arch/arm/mach-pxa/cm-x270.c b/arch/arm/mach-pxa/cm-x270.c index 431ef56700c4..2503db9e3253 100644 --- a/arch/arm/mach-pxa/cm-x270.c +++ b/arch/arm/mach-pxa/cm-x270.c | |||
@@ -22,8 +22,8 @@ | |||
22 | #include <linux/spi/libertas_spi.h> | 22 | #include <linux/spi/libertas_spi.h> |
23 | 23 | ||
24 | #include <mach/pxa27x.h> | 24 | #include <mach/pxa27x.h> |
25 | #include <mach/ohci.h> | 25 | #include <linux/platform_data/usb-ohci-pxa27x.h> |
26 | #include <mach/mmc.h> | 26 | #include <linux/platform_data/mmc-pxamci.h> |
27 | 27 | ||
28 | #include "generic.h" | 28 | #include "generic.h" |
29 | 29 | ||
diff --git a/arch/arm/mach-pxa/cm-x2xx.c b/arch/arm/mach-pxa/cm-x2xx.c index 8fa4ad27edf3..fc3afc7cd366 100644 --- a/arch/arm/mach-pxa/cm-x2xx.c +++ b/arch/arm/mach-pxa/cm-x2xx.c | |||
@@ -24,7 +24,7 @@ | |||
24 | #include <mach/pxa25x.h> | 24 | #include <mach/pxa25x.h> |
25 | #include <mach/pxa27x.h> | 25 | #include <mach/pxa27x.h> |
26 | #include <mach/audio.h> | 26 | #include <mach/audio.h> |
27 | #include <mach/pxafb.h> | 27 | #include <linux/platform_data/video-pxafb.h> |
28 | #include <mach/smemc.h> | 28 | #include <mach/smemc.h> |
29 | 29 | ||
30 | #include <asm/hardware/it8152.h> | 30 | #include <asm/hardware/it8152.h> |
diff --git a/arch/arm/mach-pxa/cm-x300.c b/arch/arm/mach-pxa/cm-x300.c index 3e4e9fe2d462..cc2b23afcaaf 100644 --- a/arch/arm/mach-pxa/cm-x300.c +++ b/arch/arm/mach-pxa/cm-x300.c | |||
@@ -48,12 +48,12 @@ | |||
48 | 48 | ||
49 | #include <mach/pxa300.h> | 49 | #include <mach/pxa300.h> |
50 | #include <mach/pxa27x-udc.h> | 50 | #include <mach/pxa27x-udc.h> |
51 | #include <mach/pxafb.h> | 51 | #include <linux/platform_data/video-pxafb.h> |
52 | #include <mach/mmc.h> | 52 | #include <linux/platform_data/mmc-pxamci.h> |
53 | #include <mach/ohci.h> | 53 | #include <linux/platform_data/usb-ohci-pxa27x.h> |
54 | #include <plat/pxa3xx_nand.h> | 54 | #include <linux/platform_data/mtd-nand-pxa3xx.h> |
55 | #include <mach/audio.h> | 55 | #include <mach/audio.h> |
56 | #include <mach/pxa3xx-u2d.h> | 56 | #include <linux/platform_data/usb-pxa3xx-ulpi.h> |
57 | 57 | ||
58 | #include <asm/mach/map.h> | 58 | #include <asm/mach/map.h> |
59 | 59 | ||
diff --git a/arch/arm/mach-pxa/colibri-evalboard.c b/arch/arm/mach-pxa/colibri-evalboard.c index d28e802e2448..8404b24240ea 100644 --- a/arch/arm/mach-pxa/colibri-evalboard.c +++ b/arch/arm/mach-pxa/colibri-evalboard.c | |||
@@ -23,8 +23,8 @@ | |||
23 | 23 | ||
24 | #include <mach/pxa27x.h> | 24 | #include <mach/pxa27x.h> |
25 | #include <mach/colibri.h> | 25 | #include <mach/colibri.h> |
26 | #include <mach/mmc.h> | 26 | #include <linux/platform_data/mmc-pxamci.h> |
27 | #include <mach/ohci.h> | 27 | #include <linux/platform_data/usb-ohci-pxa27x.h> |
28 | #include <mach/pxa27x-udc.h> | 28 | #include <mach/pxa27x-udc.h> |
29 | 29 | ||
30 | #include "generic.h" | 30 | #include "generic.h" |
diff --git a/arch/arm/mach-pxa/colibri-pxa270-income.c b/arch/arm/mach-pxa/colibri-pxa270-income.c index 248804bb2c9d..2d4a7b4d5d78 100644 --- a/arch/arm/mach-pxa/colibri-pxa270-income.c +++ b/arch/arm/mach-pxa/colibri-pxa270-income.c | |||
@@ -27,11 +27,11 @@ | |||
27 | #include <asm/mach-types.h> | 27 | #include <asm/mach-types.h> |
28 | 28 | ||
29 | #include <mach/hardware.h> | 29 | #include <mach/hardware.h> |
30 | #include <mach/mmc.h> | 30 | #include <linux/platform_data/mmc-pxamci.h> |
31 | #include <mach/ohci.h> | 31 | #include <linux/platform_data/usb-ohci-pxa27x.h> |
32 | #include <mach/pxa27x.h> | 32 | #include <mach/pxa27x.h> |
33 | #include <mach/pxa27x-udc.h> | 33 | #include <mach/pxa27x-udc.h> |
34 | #include <mach/pxafb.h> | 34 | #include <linux/platform_data/video-pxafb.h> |
35 | 35 | ||
36 | #include "devices.h" | 36 | #include "devices.h" |
37 | #include "generic.h" | 37 | #include "generic.h" |
diff --git a/arch/arm/mach-pxa/colibri-pxa300.c b/arch/arm/mach-pxa/colibri-pxa300.c index bb6def8ec979..a9c9c163dd95 100644 --- a/arch/arm/mach-pxa/colibri-pxa300.c +++ b/arch/arm/mach-pxa/colibri-pxa300.c | |||
@@ -24,8 +24,8 @@ | |||
24 | 24 | ||
25 | #include <mach/pxa300.h> | 25 | #include <mach/pxa300.h> |
26 | #include <mach/colibri.h> | 26 | #include <mach/colibri.h> |
27 | #include <mach/ohci.h> | 27 | #include <linux/platform_data/usb-ohci-pxa27x.h> |
28 | #include <mach/pxafb.h> | 28 | #include <linux/platform_data/video-pxafb.h> |
29 | #include <mach/audio.h> | 29 | #include <mach/audio.h> |
30 | 30 | ||
31 | #include "generic.h" | 31 | #include "generic.h" |
diff --git a/arch/arm/mach-pxa/colibri-pxa320.c b/arch/arm/mach-pxa/colibri-pxa320.c index d88e7b37f1da..25515cd7e68f 100644 --- a/arch/arm/mach-pxa/colibri-pxa320.c +++ b/arch/arm/mach-pxa/colibri-pxa320.c | |||
@@ -25,8 +25,8 @@ | |||
25 | 25 | ||
26 | #include <mach/pxa320.h> | 26 | #include <mach/pxa320.h> |
27 | #include <mach/colibri.h> | 27 | #include <mach/colibri.h> |
28 | #include <mach/pxafb.h> | 28 | #include <linux/platform_data/video-pxafb.h> |
29 | #include <mach/ohci.h> | 29 | #include <linux/platform_data/usb-ohci-pxa27x.h> |
30 | #include <mach/audio.h> | 30 | #include <mach/audio.h> |
31 | #include <mach/pxa27x-udc.h> | 31 | #include <mach/pxa27x-udc.h> |
32 | #include <mach/udc.h> | 32 | #include <mach/udc.h> |
diff --git a/arch/arm/mach-pxa/colibri-pxa3xx.c b/arch/arm/mach-pxa/colibri-pxa3xx.c index 68cc75fac219..8240291ab8cf 100644 --- a/arch/arm/mach-pxa/colibri-pxa3xx.c +++ b/arch/arm/mach-pxa/colibri-pxa3xx.c | |||
@@ -24,9 +24,9 @@ | |||
24 | #include <mach/pxa3xx-regs.h> | 24 | #include <mach/pxa3xx-regs.h> |
25 | #include <mach/mfp-pxa300.h> | 25 | #include <mach/mfp-pxa300.h> |
26 | #include <mach/colibri.h> | 26 | #include <mach/colibri.h> |
27 | #include <mach/mmc.h> | 27 | #include <linux/platform_data/mmc-pxamci.h> |
28 | #include <mach/pxafb.h> | 28 | #include <linux/platform_data/video-pxafb.h> |
29 | #include <plat/pxa3xx_nand.h> | 29 | #include <linux/platform_data/mtd-nand-pxa3xx.h> |
30 | 30 | ||
31 | #include "generic.h" | 31 | #include "generic.h" |
32 | #include "devices.h" | 32 | #include "devices.h" |
diff --git a/arch/arm/mach-pxa/corgi.c b/arch/arm/mach-pxa/corgi.c index c1fe32db4755..7c83f52c549c 100644 --- a/arch/arm/mach-pxa/corgi.c +++ b/arch/arm/mach-pxa/corgi.c | |||
@@ -46,8 +46,8 @@ | |||
46 | #include <asm/mach/irq.h> | 46 | #include <asm/mach/irq.h> |
47 | 47 | ||
48 | #include <mach/pxa25x.h> | 48 | #include <mach/pxa25x.h> |
49 | #include <mach/irda.h> | 49 | #include <linux/platform_data/irda-pxaficp.h> |
50 | #include <mach/mmc.h> | 50 | #include <linux/platform_data/mmc-pxamci.h> |
51 | #include <mach/udc.h> | 51 | #include <mach/udc.h> |
52 | #include <mach/corgi.h> | 52 | #include <mach/corgi.h> |
53 | #include <mach/sharpsl_pm.h> | 53 | #include <mach/sharpsl_pm.h> |
diff --git a/arch/arm/mach-pxa/csb726.c b/arch/arm/mach-pxa/csb726.c index 67f0de37f46e..7039f44b3647 100644 --- a/arch/arm/mach-pxa/csb726.c +++ b/arch/arm/mach-pxa/csb726.c | |||
@@ -23,8 +23,8 @@ | |||
23 | #include <asm/mach/arch.h> | 23 | #include <asm/mach/arch.h> |
24 | #include <mach/csb726.h> | 24 | #include <mach/csb726.h> |
25 | #include <mach/pxa27x.h> | 25 | #include <mach/pxa27x.h> |
26 | #include <mach/mmc.h> | 26 | #include <linux/platform_data/mmc-pxamci.h> |
27 | #include <mach/ohci.h> | 27 | #include <linux/platform_data/usb-ohci-pxa27x.h> |
28 | #include <mach/audio.h> | 28 | #include <mach/audio.h> |
29 | #include <mach/smemc.h> | 29 | #include <mach/smemc.h> |
30 | 30 | ||
diff --git a/arch/arm/mach-pxa/devices.c b/arch/arm/mach-pxa/devices.c index c1f3b1279d97..ddaa04de8e22 100644 --- a/arch/arm/mach-pxa/devices.c +++ b/arch/arm/mach-pxa/devices.c | |||
@@ -7,17 +7,17 @@ | |||
7 | #include <linux/i2c/pxa-i2c.h> | 7 | #include <linux/i2c/pxa-i2c.h> |
8 | 8 | ||
9 | #include <mach/udc.h> | 9 | #include <mach/udc.h> |
10 | #include <mach/pxa3xx-u2d.h> | 10 | #include <linux/platform_data/usb-pxa3xx-ulpi.h> |
11 | #include <mach/pxafb.h> | 11 | #include <linux/platform_data/video-pxafb.h> |
12 | #include <mach/mmc.h> | 12 | #include <linux/platform_data/mmc-pxamci.h> |
13 | #include <mach/irda.h> | 13 | #include <linux/platform_data/irda-pxaficp.h> |
14 | #include <mach/irqs.h> | 14 | #include <mach/irqs.h> |
15 | #include <mach/ohci.h> | 15 | #include <linux/platform_data/usb-ohci-pxa27x.h> |
16 | #include <plat/pxa27x_keypad.h> | 16 | #include <linux/platform_data/keypad-pxa27x.h> |
17 | #include <mach/camera.h> | 17 | #include <linux/platform_data/camera-pxa.h> |
18 | #include <mach/audio.h> | 18 | #include <mach/audio.h> |
19 | #include <mach/hardware.h> | 19 | #include <mach/hardware.h> |
20 | #include <plat/pxa3xx_nand.h> | 20 | #include <linux/platform_data/mtd-nand-pxa3xx.h> |
21 | 21 | ||
22 | #include "devices.h" | 22 | #include "devices.h" |
23 | #include "generic.h" | 23 | #include "generic.h" |
@@ -383,9 +383,24 @@ struct platform_device pxa_device_asoc_platform = { | |||
383 | 383 | ||
384 | static u64 pxaficp_dmamask = ~(u32)0; | 384 | static u64 pxaficp_dmamask = ~(u32)0; |
385 | 385 | ||
386 | static struct resource pxa_ir_resources[] = { | ||
387 | [0] = { | ||
388 | .start = IRQ_STUART, | ||
389 | .end = IRQ_STUART, | ||
390 | .flags = IORESOURCE_IRQ, | ||
391 | }, | ||
392 | [1] = { | ||
393 | .start = IRQ_ICP, | ||
394 | .end = IRQ_ICP, | ||
395 | .flags = IORESOURCE_IRQ, | ||
396 | }, | ||
397 | }; | ||
398 | |||
386 | struct platform_device pxa_device_ficp = { | 399 | struct platform_device pxa_device_ficp = { |
387 | .name = "pxa2xx-ir", | 400 | .name = "pxa2xx-ir", |
388 | .id = -1, | 401 | .id = -1, |
402 | .num_resources = ARRAY_SIZE(pxa_ir_resources), | ||
403 | .resource = pxa_ir_resources, | ||
389 | .dev = { | 404 | .dev = { |
390 | .dma_mask = &pxaficp_dmamask, | 405 | .dma_mask = &pxaficp_dmamask, |
391 | .coherent_dma_mask = 0xffffffff, | 406 | .coherent_dma_mask = 0xffffffff, |
diff --git a/arch/arm/mach-pxa/em-x270.c b/arch/arm/mach-pxa/em-x270.c index 97f82ad341bf..1b6411439ec8 100644 --- a/arch/arm/mach-pxa/em-x270.c +++ b/arch/arm/mach-pxa/em-x270.c | |||
@@ -42,11 +42,11 @@ | |||
42 | #include <mach/pxa27x.h> | 42 | #include <mach/pxa27x.h> |
43 | #include <mach/pxa27x-udc.h> | 43 | #include <mach/pxa27x-udc.h> |
44 | #include <mach/audio.h> | 44 | #include <mach/audio.h> |
45 | #include <mach/pxafb.h> | 45 | #include <linux/platform_data/video-pxafb.h> |
46 | #include <mach/ohci.h> | 46 | #include <linux/platform_data/usb-ohci-pxa27x.h> |
47 | #include <mach/mmc.h> | 47 | #include <linux/platform_data/mmc-pxamci.h> |
48 | #include <plat/pxa27x_keypad.h> | 48 | #include <linux/platform_data/keypad-pxa27x.h> |
49 | #include <mach/camera.h> | 49 | #include <linux/platform_data/camera-pxa.h> |
50 | 50 | ||
51 | #include "generic.h" | 51 | #include "generic.h" |
52 | #include "devices.h" | 52 | #include "devices.h" |
diff --git a/arch/arm/mach-pxa/eseries.c b/arch/arm/mach-pxa/eseries.c index 4cb2391a782e..be2ee9bf5c6e 100644 --- a/arch/arm/mach-pxa/eseries.c +++ b/arch/arm/mach-pxa/eseries.c | |||
@@ -32,9 +32,9 @@ | |||
32 | #include <mach/eseries-gpio.h> | 32 | #include <mach/eseries-gpio.h> |
33 | #include <mach/eseries-irq.h> | 33 | #include <mach/eseries-irq.h> |
34 | #include <mach/audio.h> | 34 | #include <mach/audio.h> |
35 | #include <mach/pxafb.h> | 35 | #include <linux/platform_data/video-pxafb.h> |
36 | #include <mach/udc.h> | 36 | #include <mach/udc.h> |
37 | #include <mach/irda.h> | 37 | #include <linux/platform_data/irda-pxaficp.h> |
38 | 38 | ||
39 | #include "devices.h" | 39 | #include "devices.h" |
40 | #include "generic.h" | 40 | #include "generic.h" |
diff --git a/arch/arm/mach-pxa/ezx.c b/arch/arm/mach-pxa/ezx.c index 15ab2533667d..dc58fa0edb66 100644 --- a/arch/arm/mach-pxa/ezx.c +++ b/arch/arm/mach-pxa/ezx.c | |||
@@ -29,11 +29,11 @@ | |||
29 | #include <asm/mach/arch.h> | 29 | #include <asm/mach/arch.h> |
30 | 30 | ||
31 | #include <mach/pxa27x.h> | 31 | #include <mach/pxa27x.h> |
32 | #include <mach/pxafb.h> | 32 | #include <linux/platform_data/video-pxafb.h> |
33 | #include <mach/ohci.h> | 33 | #include <linux/platform_data/usb-ohci-pxa27x.h> |
34 | #include <mach/hardware.h> | 34 | #include <mach/hardware.h> |
35 | #include <plat/pxa27x_keypad.h> | 35 | #include <linux/platform_data/keypad-pxa27x.h> |
36 | #include <mach/camera.h> | 36 | #include <linux/platform_data/camera-pxa.h> |
37 | 37 | ||
38 | #include "devices.h" | 38 | #include "devices.h" |
39 | #include "generic.h" | 39 | #include "generic.h" |
diff --git a/arch/arm/mach-pxa/gumstix.c b/arch/arm/mach-pxa/gumstix.c index e529a35a44ce..60755a6bb1c6 100644 --- a/arch/arm/mach-pxa/gumstix.c +++ b/arch/arm/mach-pxa/gumstix.c | |||
@@ -41,7 +41,7 @@ | |||
41 | #include <asm/mach/flash.h> | 41 | #include <asm/mach/flash.h> |
42 | 42 | ||
43 | #include <mach/pxa25x.h> | 43 | #include <mach/pxa25x.h> |
44 | #include <mach/mmc.h> | 44 | #include <linux/platform_data/mmc-pxamci.h> |
45 | #include <mach/udc.h> | 45 | #include <mach/udc.h> |
46 | #include <mach/gumstix.h> | 46 | #include <mach/gumstix.h> |
47 | 47 | ||
diff --git a/arch/arm/mach-pxa/hx4700.c b/arch/arm/mach-pxa/hx4700.c index e6311988add2..5ecbd17b5641 100644 --- a/arch/arm/mach-pxa/hx4700.c +++ b/arch/arm/mach-pxa/hx4700.c | |||
@@ -45,7 +45,7 @@ | |||
45 | 45 | ||
46 | #include <mach/pxa27x.h> | 46 | #include <mach/pxa27x.h> |
47 | #include <mach/hx4700.h> | 47 | #include <mach/hx4700.h> |
48 | #include <mach/irda.h> | 48 | #include <linux/platform_data/irda-pxaficp.h> |
49 | 49 | ||
50 | #include <sound/ak4641.h> | 50 | #include <sound/ak4641.h> |
51 | #include <video/platform_lcd.h> | 51 | #include <video/platform_lcd.h> |
diff --git a/arch/arm/mach-pxa/idp.c b/arch/arm/mach-pxa/idp.c index ae1e9977603e..64507cdd2e8f 100644 --- a/arch/arm/mach-pxa/idp.c +++ b/arch/arm/mach-pxa/idp.c | |||
@@ -33,9 +33,9 @@ | |||
33 | 33 | ||
34 | #include <mach/pxa25x.h> | 34 | #include <mach/pxa25x.h> |
35 | #include <mach/idp.h> | 35 | #include <mach/idp.h> |
36 | #include <mach/pxafb.h> | 36 | #include <linux/platform_data/video-pxafb.h> |
37 | #include <mach/bitfield.h> | 37 | #include <mach/bitfield.h> |
38 | #include <mach/mmc.h> | 38 | #include <linux/platform_data/mmc-pxamci.h> |
39 | 39 | ||
40 | #include "generic.h" | 40 | #include "generic.h" |
41 | #include "devices.h" | 41 | #include "devices.h" |
diff --git a/arch/arm/mach-pxa/include/mach/arcom-pcmcia.h b/arch/arm/mach-pxa/include/mach/arcom-pcmcia.h deleted file mode 100644 index d428be4db44c..000000000000 --- a/arch/arm/mach-pxa/include/mach/arcom-pcmcia.h +++ /dev/null | |||
@@ -1,11 +0,0 @@ | |||
1 | #ifndef __ARCOM_PCMCIA_H | ||
2 | #define __ARCOM_PCMCIA_H | ||
3 | |||
4 | struct arcom_pcmcia_pdata { | ||
5 | int cd_gpio; | ||
6 | int rdy_gpio; | ||
7 | int pwr_gpio; | ||
8 | void (*reset)(int state); | ||
9 | }; | ||
10 | |||
11 | #endif | ||
diff --git a/arch/arm/mach-pxa/include/mach/camera.h b/arch/arm/mach-pxa/include/mach/camera.h deleted file mode 100644 index 6709b1cd7c77..000000000000 --- a/arch/arm/mach-pxa/include/mach/camera.h +++ /dev/null | |||
@@ -1,44 +0,0 @@ | |||
1 | /* | ||
2 | camera.h - PXA camera driver header file | ||
3 | |||
4 | Copyright (C) 2003, Intel Corporation | ||
5 | Copyright (C) 2008, Guennadi Liakhovetski <kernel@pengutronix.de> | ||
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 as published by | ||
9 | the Free Software Foundation; either version 2 of the License, or | ||
10 | (at your option) any later version. | ||
11 | |||
12 | This program is distributed in the hope that it will be useful, | ||
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | GNU General Public License for more details. | ||
16 | |||
17 | You should have received a copy of the GNU General Public License | ||
18 | along with this program; if not, write to the Free Software | ||
19 | Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||
20 | */ | ||
21 | |||
22 | #ifndef __ASM_ARCH_CAMERA_H_ | ||
23 | #define __ASM_ARCH_CAMERA_H_ | ||
24 | |||
25 | #define PXA_CAMERA_MASTER 1 | ||
26 | #define PXA_CAMERA_DATAWIDTH_4 2 | ||
27 | #define PXA_CAMERA_DATAWIDTH_5 4 | ||
28 | #define PXA_CAMERA_DATAWIDTH_8 8 | ||
29 | #define PXA_CAMERA_DATAWIDTH_9 0x10 | ||
30 | #define PXA_CAMERA_DATAWIDTH_10 0x20 | ||
31 | #define PXA_CAMERA_PCLK_EN 0x40 | ||
32 | #define PXA_CAMERA_MCLK_EN 0x80 | ||
33 | #define PXA_CAMERA_PCP 0x100 | ||
34 | #define PXA_CAMERA_HSP 0x200 | ||
35 | #define PXA_CAMERA_VSP 0x400 | ||
36 | |||
37 | struct pxacamera_platform_data { | ||
38 | unsigned long flags; | ||
39 | unsigned long mclk_10khz; | ||
40 | }; | ||
41 | |||
42 | extern void pxa_set_camera_info(struct pxacamera_platform_data *); | ||
43 | |||
44 | #endif /* __ASM_ARCH_CAMERA_H_ */ | ||
diff --git a/arch/arm/mach-pxa/include/mach/irda.h b/arch/arm/mach-pxa/include/mach/irda.h deleted file mode 100644 index 3cd41f77dda4..000000000000 --- a/arch/arm/mach-pxa/include/mach/irda.h +++ /dev/null | |||
@@ -1,25 +0,0 @@ | |||
1 | #ifndef ASMARM_ARCH_IRDA_H | ||
2 | #define ASMARM_ARCH_IRDA_H | ||
3 | |||
4 | /* board specific transceiver capabilities */ | ||
5 | |||
6 | #define IR_OFF 1 | ||
7 | #define IR_SIRMODE 2 | ||
8 | #define IR_FIRMODE 4 | ||
9 | |||
10 | struct pxaficp_platform_data { | ||
11 | int transceiver_cap; | ||
12 | void (*transceiver_mode)(struct device *dev, int mode); | ||
13 | int (*startup)(struct device *dev); | ||
14 | void (*shutdown)(struct device *dev); | ||
15 | int gpio_pwdown; /* powerdown GPIO for the IrDA chip */ | ||
16 | bool gpio_pwdown_inverted; /* gpio_pwdown is inverted */ | ||
17 | }; | ||
18 | |||
19 | extern void pxa_set_ficp_info(struct pxaficp_platform_data *info); | ||
20 | |||
21 | #if defined(CONFIG_PXA25x) || defined(CONFIG_PXA27x) | ||
22 | void pxa2xx_transceiver_mode(struct device *dev, int mode); | ||
23 | #endif | ||
24 | |||
25 | #endif | ||
diff --git a/arch/arm/mach-pxa/include/mach/mmc.h b/arch/arm/mach-pxa/include/mach/mmc.h deleted file mode 100644 index 9eb515bb799d..000000000000 --- a/arch/arm/mach-pxa/include/mach/mmc.h +++ /dev/null | |||
@@ -1,28 +0,0 @@ | |||
1 | #ifndef ASMARM_ARCH_MMC_H | ||
2 | #define ASMARM_ARCH_MMC_H | ||
3 | |||
4 | #include <linux/mmc/host.h> | ||
5 | #include <linux/interrupt.h> | ||
6 | |||
7 | struct device; | ||
8 | struct mmc_host; | ||
9 | |||
10 | struct pxamci_platform_data { | ||
11 | unsigned int ocr_mask; /* available voltages */ | ||
12 | unsigned long detect_delay_ms; /* delay in millisecond before detecting cards after interrupt */ | ||
13 | int (*init)(struct device *, irq_handler_t , void *); | ||
14 | int (*get_ro)(struct device *); | ||
15 | void (*setpower)(struct device *, unsigned int); | ||
16 | void (*exit)(struct device *, void *); | ||
17 | int gpio_card_detect; /* gpio detecting card insertion */ | ||
18 | int gpio_card_ro; /* gpio detecting read only toggle */ | ||
19 | bool gpio_card_ro_invert; /* gpio ro is inverted */ | ||
20 | int gpio_power; /* gpio powering up MMC bus */ | ||
21 | bool gpio_power_invert; /* gpio power is inverted */ | ||
22 | }; | ||
23 | |||
24 | extern void pxa_set_mci_info(struct pxamci_platform_data *info); | ||
25 | extern void pxa3xx_set_mci2_info(struct pxamci_platform_data *info); | ||
26 | extern void pxa3xx_set_mci3_info(struct pxamci_platform_data *info); | ||
27 | |||
28 | #endif | ||
diff --git a/arch/arm/mach-pxa/include/mach/ohci.h b/arch/arm/mach-pxa/include/mach/ohci.h deleted file mode 100644 index 95b6e2a6e514..000000000000 --- a/arch/arm/mach-pxa/include/mach/ohci.h +++ /dev/null | |||
@@ -1,36 +0,0 @@ | |||
1 | #ifndef ASMARM_ARCH_OHCI_H | ||
2 | #define ASMARM_ARCH_OHCI_H | ||
3 | |||
4 | struct device; | ||
5 | |||
6 | struct pxaohci_platform_data { | ||
7 | int (*init)(struct device *); | ||
8 | void (*exit)(struct device *); | ||
9 | |||
10 | unsigned long flags; | ||
11 | #define ENABLE_PORT1 (1 << 0) | ||
12 | #define ENABLE_PORT2 (1 << 1) | ||
13 | #define ENABLE_PORT3 (1 << 2) | ||
14 | #define ENABLE_PORT_ALL (ENABLE_PORT1 | ENABLE_PORT2 | ENABLE_PORT3) | ||
15 | |||
16 | #define POWER_SENSE_LOW (1 << 3) | ||
17 | #define POWER_CONTROL_LOW (1 << 4) | ||
18 | #define NO_OC_PROTECTION (1 << 5) | ||
19 | #define OC_MODE_GLOBAL (0 << 6) | ||
20 | #define OC_MODE_PERPORT (1 << 6) | ||
21 | |||
22 | int power_on_delay; /* Power On to Power Good time - in ms | ||
23 | * HCD must wait for this duration before | ||
24 | * accessing a powered on port | ||
25 | */ | ||
26 | int port_mode; | ||
27 | #define PMM_NPS_MODE 1 | ||
28 | #define PMM_GLOBAL_MODE 2 | ||
29 | #define PMM_PERPORT_MODE 3 | ||
30 | |||
31 | int power_budget; | ||
32 | }; | ||
33 | |||
34 | extern void pxa_set_ohci_info(struct pxaohci_platform_data *info); | ||
35 | |||
36 | #endif | ||
diff --git a/arch/arm/mach-pxa/include/mach/palmasoc.h b/arch/arm/mach-pxa/include/mach/palmasoc.h deleted file mode 100644 index 58afb30d5298..000000000000 --- a/arch/arm/mach-pxa/include/mach/palmasoc.h +++ /dev/null | |||
@@ -1,8 +0,0 @@ | |||
1 | #ifndef _INCLUDE_PALMASOC_H_ | ||
2 | #define _INCLUDE_PALMASOC_H_ | ||
3 | |||
4 | struct palm27x_asoc_info { | ||
5 | int jack_gpio; | ||
6 | }; | ||
7 | |||
8 | #endif | ||
diff --git a/arch/arm/mach-pxa/include/mach/pata_pxa.h b/arch/arm/mach-pxa/include/mach/pata_pxa.h deleted file mode 100644 index 6cf7df1d5830..000000000000 --- a/arch/arm/mach-pxa/include/mach/pata_pxa.h +++ /dev/null | |||
@@ -1,33 +0,0 @@ | |||
1 | /* | ||
2 | * Generic PXA PATA driver | ||
3 | * | ||
4 | * Copyright (C) 2010 Marek Vasut <marek.vasut@gmail.com> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2, or (at your option) | ||
9 | * any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License | ||
17 | * along with this program; see the file COPYING. If not, write to | ||
18 | * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. | ||
19 | */ | ||
20 | |||
21 | #ifndef __MACH_PATA_PXA_H__ | ||
22 | #define __MACH_PATA_PXA_H__ | ||
23 | |||
24 | struct pata_pxa_pdata { | ||
25 | /* PXA DMA DREQ<0:2> pin */ | ||
26 | uint32_t dma_dreq; | ||
27 | /* Register shift */ | ||
28 | uint32_t reg_shift; | ||
29 | /* IRQ flags */ | ||
30 | uint32_t irq_flags; | ||
31 | }; | ||
32 | |||
33 | #endif /* __MACH_PATA_PXA_H__ */ | ||
diff --git a/arch/arm/mach-pxa/include/mach/pxa3xx-u2d.h b/arch/arm/mach-pxa/include/mach/pxa3xx-u2d.h deleted file mode 100644 index 9d82cb65ea56..000000000000 --- a/arch/arm/mach-pxa/include/mach/pxa3xx-u2d.h +++ /dev/null | |||
@@ -1,35 +0,0 @@ | |||
1 | /* | ||
2 | * PXA3xx U2D header | ||
3 | * | ||
4 | * Copyright (C) 2010 CompuLab Ltd. | ||
5 | * | ||
6 | * Igor Grinberg <grinberg@compulab.co.il> | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License version 2 as | ||
10 | * published by the Free Software Foundation. | ||
11 | */ | ||
12 | #ifndef __PXA310_U2D__ | ||
13 | #define __PXA310_U2D__ | ||
14 | |||
15 | #include <linux/usb/ulpi.h> | ||
16 | |||
17 | struct pxa3xx_u2d_platform_data { | ||
18 | |||
19 | #define ULPI_SER_6PIN (1 << 0) | ||
20 | #define ULPI_SER_3PIN (1 << 1) | ||
21 | unsigned int ulpi_mode; | ||
22 | |||
23 | int (*init)(struct device *); | ||
24 | void (*exit)(struct device *); | ||
25 | }; | ||
26 | |||
27 | |||
28 | /* Start PXA3xx U2D host */ | ||
29 | int pxa3xx_u2d_start_hc(struct usb_bus *host); | ||
30 | /* Stop PXA3xx U2D host */ | ||
31 | void pxa3xx_u2d_stop_hc(struct usb_bus *host); | ||
32 | |||
33 | extern void pxa3xx_set_u2d_info(struct pxa3xx_u2d_platform_data *info); | ||
34 | |||
35 | #endif /* __PXA310_U2D__ */ | ||
diff --git a/arch/arm/mach-pxa/include/mach/pxa930_rotary.h b/arch/arm/mach-pxa/include/mach/pxa930_rotary.h deleted file mode 100644 index 053587caffdd..000000000000 --- a/arch/arm/mach-pxa/include/mach/pxa930_rotary.h +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | #ifndef __ASM_ARCH_PXA930_ROTARY_H | ||
2 | #define __ASM_ARCH_PXA930_ROTARY_H | ||
3 | |||
4 | /* NOTE: | ||
5 | * | ||
6 | * rotary can be either interpreted as a ralative input event (e.g. | ||
7 | * REL_WHEEL or REL_HWHEEL) or a specific key event (e.g. UP/DOWN | ||
8 | * or LEFT/RIGHT), depending on if up_key & down_key are assigned | ||
9 | * or rel_code is assigned a non-zero value. When all are non-zero, | ||
10 | * up_key and down_key will be preferred. | ||
11 | */ | ||
12 | struct pxa930_rotary_platform_data { | ||
13 | int up_key; | ||
14 | int down_key; | ||
15 | int rel_code; | ||
16 | }; | ||
17 | |||
18 | void __init pxa930_set_rotarykey_info(struct pxa930_rotary_platform_data *info); | ||
19 | |||
20 | #endif /* __ASM_ARCH_PXA930_ROTARY_H */ | ||
diff --git a/arch/arm/mach-pxa/include/mach/pxa930_trkball.h b/arch/arm/mach-pxa/include/mach/pxa930_trkball.h deleted file mode 100644 index 5e0789bc4729..000000000000 --- a/arch/arm/mach-pxa/include/mach/pxa930_trkball.h +++ /dev/null | |||
@@ -1,10 +0,0 @@ | |||
1 | #ifndef __ASM_ARCH_PXA930_TRKBALL_H | ||
2 | #define __ASM_ARCH_PXA930_TRKBALL_H | ||
3 | |||
4 | struct pxa930_trkball_platform_data { | ||
5 | int x_filter; | ||
6 | int y_filter; | ||
7 | }; | ||
8 | |||
9 | #endif /* __ASM_ARCH_PXA930_TRKBALL_H */ | ||
10 | |||
diff --git a/arch/arm/mach-pxa/include/mach/pxafb.h b/arch/arm/mach-pxa/include/mach/pxafb.h deleted file mode 100644 index 486b4c519ae2..000000000000 --- a/arch/arm/mach-pxa/include/mach/pxafb.h +++ /dev/null | |||
@@ -1,175 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-pxa/include/mach/pxafb.h | ||
3 | * | ||
4 | * Support for the xscale frame buffer. | ||
5 | * | ||
6 | * Author: Jean-Frederic Clere | ||
7 | * Created: Sep 22, 2003 | ||
8 | * Copyright: jfclere@sinix.net | ||
9 | * | ||
10 | * This program is free software; you can redistribute it and/or modify | ||
11 | * it under the terms of the GNU General Public License version 2 as | ||
12 | * published by the Free Software Foundation. | ||
13 | */ | ||
14 | |||
15 | #include <linux/fb.h> | ||
16 | #include <mach/regs-lcd.h> | ||
17 | |||
18 | /* | ||
19 | * Supported LCD connections | ||
20 | * | ||
21 | * bits 0 - 3: for LCD panel type: | ||
22 | * | ||
23 | * STN - for passive matrix | ||
24 | * DSTN - for dual scan passive matrix | ||
25 | * TFT - for active matrix | ||
26 | * | ||
27 | * bits 4 - 9 : for bus width | ||
28 | * bits 10-17 : for AC Bias Pin Frequency | ||
29 | * bit 18 : for output enable polarity | ||
30 | * bit 19 : for pixel clock edge | ||
31 | * bit 20 : for output pixel format when base is RGBT16 | ||
32 | */ | ||
33 | #define LCD_CONN_TYPE(_x) ((_x) & 0x0f) | ||
34 | #define LCD_CONN_WIDTH(_x) (((_x) >> 4) & 0x1f) | ||
35 | |||
36 | #define LCD_TYPE_MASK 0xf | ||
37 | #define LCD_TYPE_UNKNOWN 0 | ||
38 | #define LCD_TYPE_MONO_STN 1 | ||
39 | #define LCD_TYPE_MONO_DSTN 2 | ||
40 | #define LCD_TYPE_COLOR_STN 3 | ||
41 | #define LCD_TYPE_COLOR_DSTN 4 | ||
42 | #define LCD_TYPE_COLOR_TFT 5 | ||
43 | #define LCD_TYPE_SMART_PANEL 6 | ||
44 | #define LCD_TYPE_MAX 7 | ||
45 | |||
46 | #define LCD_MONO_STN_4BPP ((4 << 4) | LCD_TYPE_MONO_STN) | ||
47 | #define LCD_MONO_STN_8BPP ((8 << 4) | LCD_TYPE_MONO_STN) | ||
48 | #define LCD_MONO_DSTN_8BPP ((8 << 4) | LCD_TYPE_MONO_DSTN) | ||
49 | #define LCD_COLOR_STN_8BPP ((8 << 4) | LCD_TYPE_COLOR_STN) | ||
50 | #define LCD_COLOR_DSTN_16BPP ((16 << 4) | LCD_TYPE_COLOR_DSTN) | ||
51 | #define LCD_COLOR_TFT_8BPP ((8 << 4) | LCD_TYPE_COLOR_TFT) | ||
52 | #define LCD_COLOR_TFT_16BPP ((16 << 4) | LCD_TYPE_COLOR_TFT) | ||
53 | #define LCD_COLOR_TFT_18BPP ((18 << 4) | LCD_TYPE_COLOR_TFT) | ||
54 | #define LCD_SMART_PANEL_8BPP ((8 << 4) | LCD_TYPE_SMART_PANEL) | ||
55 | #define LCD_SMART_PANEL_16BPP ((16 << 4) | LCD_TYPE_SMART_PANEL) | ||
56 | #define LCD_SMART_PANEL_18BPP ((18 << 4) | LCD_TYPE_SMART_PANEL) | ||
57 | |||
58 | #define LCD_AC_BIAS_FREQ(x) (((x) & 0xff) << 10) | ||
59 | #define LCD_BIAS_ACTIVE_HIGH (0 << 18) | ||
60 | #define LCD_BIAS_ACTIVE_LOW (1 << 18) | ||
61 | #define LCD_PCLK_EDGE_RISE (0 << 19) | ||
62 | #define LCD_PCLK_EDGE_FALL (1 << 19) | ||
63 | #define LCD_ALTERNATE_MAPPING (1 << 20) | ||
64 | |||
65 | /* | ||
66 | * This structure describes the machine which we are running on. | ||
67 | * It is set in linux/arch/arm/mach-pxa/machine_name.c and used in the probe routine | ||
68 | * of linux/drivers/video/pxafb.c | ||
69 | */ | ||
70 | struct pxafb_mode_info { | ||
71 | u_long pixclock; | ||
72 | |||
73 | u_short xres; | ||
74 | u_short yres; | ||
75 | |||
76 | u_char bpp; | ||
77 | u_int cmap_greyscale:1, | ||
78 | depth:8, | ||
79 | transparency:1, | ||
80 | unused:22; | ||
81 | |||
82 | /* Parallel Mode Timing */ | ||
83 | u_char hsync_len; | ||
84 | u_char left_margin; | ||
85 | u_char right_margin; | ||
86 | |||
87 | u_char vsync_len; | ||
88 | u_char upper_margin; | ||
89 | u_char lower_margin; | ||
90 | u_char sync; | ||
91 | |||
92 | /* Smart Panel Mode Timing - see PXA27x DM 7.4.15.0.3 for details | ||
93 | * Note: | ||
94 | * 1. all parameters in nanosecond (ns) | ||
95 | * 2. a0cs{rd,wr}_set_hld are controlled by the same register bits | ||
96 | * in pxa27x and pxa3xx, initialize them to the same value or | ||
97 | * the larger one will be used | ||
98 | * 3. same to {rd,wr}_pulse_width | ||
99 | * | ||
100 | * 4. LCD_PCLK_EDGE_{RISE,FALL} controls the L_PCLK_WR polarity | ||
101 | * 5. sync & FB_SYNC_HOR_HIGH_ACT controls the L_LCLK_A0 | ||
102 | * 6. sync & FB_SYNC_VERT_HIGH_ACT controls the L_LCLK_RD | ||
103 | */ | ||
104 | unsigned a0csrd_set_hld; /* A0 and CS Setup/Hold Time before/after L_FCLK_RD */ | ||
105 | unsigned a0cswr_set_hld; /* A0 and CS Setup/Hold Time before/after L_PCLK_WR */ | ||
106 | unsigned wr_pulse_width; /* L_PCLK_WR pulse width */ | ||
107 | unsigned rd_pulse_width; /* L_FCLK_RD pulse width */ | ||
108 | unsigned cmd_inh_time; /* Command Inhibit time between two writes */ | ||
109 | unsigned op_hold_time; /* Output Hold time from L_FCLK_RD negation */ | ||
110 | }; | ||
111 | |||
112 | struct pxafb_mach_info { | ||
113 | struct pxafb_mode_info *modes; | ||
114 | unsigned int num_modes; | ||
115 | |||
116 | unsigned int lcd_conn; | ||
117 | unsigned long video_mem_size; | ||
118 | |||
119 | u_int fixed_modes:1, | ||
120 | cmap_inverse:1, | ||
121 | cmap_static:1, | ||
122 | acceleration_enabled:1, | ||
123 | unused:28; | ||
124 | |||
125 | /* The following should be defined in LCCR0 | ||
126 | * LCCR0_Act or LCCR0_Pas Active or Passive | ||
127 | * LCCR0_Sngl or LCCR0_Dual Single/Dual panel | ||
128 | * LCCR0_Mono or LCCR0_Color Mono/Color | ||
129 | * LCCR0_4PixMono or LCCR0_8PixMono (in mono single mode) | ||
130 | * LCCR0_DMADel(Tcpu) (optional) DMA request delay | ||
131 | * | ||
132 | * The following should not be defined in LCCR0: | ||
133 | * LCCR0_OUM, LCCR0_BM, LCCR0_QDM, LCCR0_DIS, LCCR0_EFM | ||
134 | * LCCR0_IUM, LCCR0_SFM, LCCR0_LDM, LCCR0_ENB | ||
135 | */ | ||
136 | u_int lccr0; | ||
137 | /* The following should be defined in LCCR3 | ||
138 | * LCCR3_OutEnH or LCCR3_OutEnL Output enable polarity | ||
139 | * LCCR3_PixRsEdg or LCCR3_PixFlEdg Pixel clock edge type | ||
140 | * LCCR3_Acb(X) AB Bias pin frequency | ||
141 | * LCCR3_DPC (optional) Double Pixel Clock mode (untested) | ||
142 | * | ||
143 | * The following should not be defined in LCCR3 | ||
144 | * LCCR3_HSP, LCCR3_VSP, LCCR0_Pcd(x), LCCR3_Bpp | ||
145 | */ | ||
146 | u_int lccr3; | ||
147 | /* The following should be defined in LCCR4 | ||
148 | * LCCR4_PAL_FOR_0 or LCCR4_PAL_FOR_1 or LCCR4_PAL_FOR_2 | ||
149 | * | ||
150 | * All other bits in LCCR4 should be left alone. | ||
151 | */ | ||
152 | u_int lccr4; | ||
153 | void (*pxafb_backlight_power)(int); | ||
154 | void (*pxafb_lcd_power)(int, struct fb_var_screeninfo *); | ||
155 | void (*smart_update)(struct fb_info *); | ||
156 | }; | ||
157 | |||
158 | void pxa_set_fb_info(struct device *, struct pxafb_mach_info *); | ||
159 | unsigned long pxafb_get_hsync_time(struct device *dev); | ||
160 | |||
161 | #ifdef CONFIG_FB_PXA_SMARTPANEL | ||
162 | extern int pxafb_smart_queue(struct fb_info *info, uint16_t *cmds, int); | ||
163 | extern int pxafb_smart_flush(struct fb_info *info); | ||
164 | #else | ||
165 | static inline int pxafb_smart_queue(struct fb_info *info, | ||
166 | uint16_t *cmds, int n) | ||
167 | { | ||
168 | return 0; | ||
169 | } | ||
170 | |||
171 | static inline int pxafb_smart_flush(struct fb_info *info) | ||
172 | { | ||
173 | return 0; | ||
174 | } | ||
175 | #endif | ||
diff --git a/arch/arm/mach-pxa/littleton.c b/arch/arm/mach-pxa/littleton.c index 1fb86edb857c..402874f9021f 100644 --- a/arch/arm/mach-pxa/littleton.c +++ b/arch/arm/mach-pxa/littleton.c | |||
@@ -42,11 +42,11 @@ | |||
42 | #include <asm/mach/irq.h> | 42 | #include <asm/mach/irq.h> |
43 | 43 | ||
44 | #include <mach/pxa300.h> | 44 | #include <mach/pxa300.h> |
45 | #include <mach/pxafb.h> | 45 | #include <linux/platform_data/video-pxafb.h> |
46 | #include <mach/mmc.h> | 46 | #include <linux/platform_data/mmc-pxamci.h> |
47 | #include <plat/pxa27x_keypad.h> | 47 | #include <linux/platform_data/keypad-pxa27x.h> |
48 | #include <mach/littleton.h> | 48 | #include <mach/littleton.h> |
49 | #include <plat/pxa3xx_nand.h> | 49 | #include <linux/platform_data/mtd-nand-pxa3xx.h> |
50 | 50 | ||
51 | #include "generic.h" | 51 | #include "generic.h" |
52 | 52 | ||
diff --git a/arch/arm/mach-pxa/lpd270.c b/arch/arm/mach-pxa/lpd270.c index cee9ce2fc0b5..1a63eaa89867 100644 --- a/arch/arm/mach-pxa/lpd270.c +++ b/arch/arm/mach-pxa/lpd270.c | |||
@@ -41,10 +41,10 @@ | |||
41 | #include <mach/pxa27x.h> | 41 | #include <mach/pxa27x.h> |
42 | #include <mach/lpd270.h> | 42 | #include <mach/lpd270.h> |
43 | #include <mach/audio.h> | 43 | #include <mach/audio.h> |
44 | #include <mach/pxafb.h> | 44 | #include <linux/platform_data/video-pxafb.h> |
45 | #include <mach/mmc.h> | 45 | #include <linux/platform_data/mmc-pxamci.h> |
46 | #include <mach/irda.h> | 46 | #include <linux/platform_data/irda-pxaficp.h> |
47 | #include <mach/ohci.h> | 47 | #include <linux/platform_data/usb-ohci-pxa27x.h> |
48 | #include <mach/smemc.h> | 48 | #include <mach/smemc.h> |
49 | 49 | ||
50 | #include "generic.h" | 50 | #include "generic.h" |
diff --git a/arch/arm/mach-pxa/lubbock.c b/arch/arm/mach-pxa/lubbock.c index 3c48035afd6b..553056d9a3c5 100644 --- a/arch/arm/mach-pxa/lubbock.c +++ b/arch/arm/mach-pxa/lubbock.c | |||
@@ -49,9 +49,9 @@ | |||
49 | #include <mach/audio.h> | 49 | #include <mach/audio.h> |
50 | #include <mach/lubbock.h> | 50 | #include <mach/lubbock.h> |
51 | #include <mach/udc.h> | 51 | #include <mach/udc.h> |
52 | #include <mach/irda.h> | 52 | #include <linux/platform_data/irda-pxaficp.h> |
53 | #include <mach/pxafb.h> | 53 | #include <linux/platform_data/video-pxafb.h> |
54 | #include <mach/mmc.h> | 54 | #include <linux/platform_data/mmc-pxamci.h> |
55 | #include <mach/pm.h> | 55 | #include <mach/pm.h> |
56 | #include <mach/smemc.h> | 56 | #include <mach/smemc.h> |
57 | 57 | ||
diff --git a/arch/arm/mach-pxa/magician.c b/arch/arm/mach-pxa/magician.c index 39561dcf65f2..f7922404d941 100644 --- a/arch/arm/mach-pxa/magician.c +++ b/arch/arm/mach-pxa/magician.c | |||
@@ -38,10 +38,10 @@ | |||
38 | 38 | ||
39 | #include <mach/pxa27x.h> | 39 | #include <mach/pxa27x.h> |
40 | #include <mach/magician.h> | 40 | #include <mach/magician.h> |
41 | #include <mach/pxafb.h> | 41 | #include <linux/platform_data/video-pxafb.h> |
42 | #include <mach/mmc.h> | 42 | #include <linux/platform_data/mmc-pxamci.h> |
43 | #include <mach/irda.h> | 43 | #include <linux/platform_data/irda-pxaficp.h> |
44 | #include <mach/ohci.h> | 44 | #include <linux/platform_data/usb-ohci-pxa27x.h> |
45 | 45 | ||
46 | #include "devices.h" | 46 | #include "devices.h" |
47 | #include "generic.h" | 47 | #include "generic.h" |
diff --git a/arch/arm/mach-pxa/mainstone.c b/arch/arm/mach-pxa/mainstone.c index bdc6c335830a..f27a61ee7ac7 100644 --- a/arch/arm/mach-pxa/mainstone.c +++ b/arch/arm/mach-pxa/mainstone.c | |||
@@ -47,11 +47,11 @@ | |||
47 | #include <mach/pxa27x.h> | 47 | #include <mach/pxa27x.h> |
48 | #include <mach/mainstone.h> | 48 | #include <mach/mainstone.h> |
49 | #include <mach/audio.h> | 49 | #include <mach/audio.h> |
50 | #include <mach/pxafb.h> | 50 | #include <linux/platform_data/video-pxafb.h> |
51 | #include <mach/mmc.h> | 51 | #include <linux/platform_data/mmc-pxamci.h> |
52 | #include <mach/irda.h> | 52 | #include <linux/platform_data/irda-pxaficp.h> |
53 | #include <mach/ohci.h> | 53 | #include <linux/platform_data/usb-ohci-pxa27x.h> |
54 | #include <plat/pxa27x_keypad.h> | 54 | #include <linux/platform_data/keypad-pxa27x.h> |
55 | #include <mach/smemc.h> | 55 | #include <mach/smemc.h> |
56 | 56 | ||
57 | #include "generic.h" | 57 | #include "generic.h" |
diff --git a/arch/arm/mach-pxa/mioa701.c b/arch/arm/mach-pxa/mioa701.c index bf99022b021f..2831308dba68 100644 --- a/arch/arm/mach-pxa/mioa701.c +++ b/arch/arm/mach-pxa/mioa701.c | |||
@@ -46,12 +46,12 @@ | |||
46 | 46 | ||
47 | #include <mach/pxa27x.h> | 47 | #include <mach/pxa27x.h> |
48 | #include <mach/regs-rtc.h> | 48 | #include <mach/regs-rtc.h> |
49 | #include <plat/pxa27x_keypad.h> | 49 | #include <linux/platform_data/keypad-pxa27x.h> |
50 | #include <mach/pxafb.h> | 50 | #include <linux/platform_data/video-pxafb.h> |
51 | #include <mach/mmc.h> | 51 | #include <linux/platform_data/mmc-pxamci.h> |
52 | #include <mach/udc.h> | 52 | #include <mach/udc.h> |
53 | #include <mach/pxa27x-udc.h> | 53 | #include <mach/pxa27x-udc.h> |
54 | #include <mach/camera.h> | 54 | #include <linux/platform_data/camera-pxa.h> |
55 | #include <mach/audio.h> | 55 | #include <mach/audio.h> |
56 | #include <mach/smemc.h> | 56 | #include <mach/smemc.h> |
57 | #include <media/soc_camera.h> | 57 | #include <media/soc_camera.h> |
diff --git a/arch/arm/mach-pxa/mxm8x10.c b/arch/arm/mach-pxa/mxm8x10.c index 83570a79e7d2..d04ed4961e60 100644 --- a/arch/arm/mach-pxa/mxm8x10.c +++ b/arch/arm/mach-pxa/mxm8x10.c | |||
@@ -24,11 +24,11 @@ | |||
24 | #include <linux/gpio.h> | 24 | #include <linux/gpio.h> |
25 | #include <linux/i2c/pxa-i2c.h> | 25 | #include <linux/i2c/pxa-i2c.h> |
26 | 26 | ||
27 | #include <plat/pxa3xx_nand.h> | 27 | #include <linux/platform_data/mtd-nand-pxa3xx.h> |
28 | 28 | ||
29 | #include <mach/pxafb.h> | 29 | #include <linux/platform_data/video-pxafb.h> |
30 | #include <mach/mmc.h> | 30 | #include <linux/platform_data/mmc-pxamci.h> |
31 | #include <mach/ohci.h> | 31 | #include <linux/platform_data/usb-ohci-pxa27x.h> |
32 | #include <mach/pxa320.h> | 32 | #include <mach/pxa320.h> |
33 | 33 | ||
34 | #include <mach/mxm8x10.h> | 34 | #include <mach/mxm8x10.h> |
diff --git a/arch/arm/mach-pxa/palm27x.c b/arch/arm/mach-pxa/palm27x.c index dad71cfa34c8..17d4c53017ca 100644 --- a/arch/arm/mach-pxa/palm27x.c +++ b/arch/arm/mach-pxa/palm27x.c | |||
@@ -29,11 +29,11 @@ | |||
29 | 29 | ||
30 | #include <mach/pxa27x.h> | 30 | #include <mach/pxa27x.h> |
31 | #include <mach/audio.h> | 31 | #include <mach/audio.h> |
32 | #include <mach/mmc.h> | 32 | #include <linux/platform_data/mmc-pxamci.h> |
33 | #include <mach/pxafb.h> | 33 | #include <linux/platform_data/video-pxafb.h> |
34 | #include <mach/irda.h> | 34 | #include <linux/platform_data/irda-pxaficp.h> |
35 | #include <mach/udc.h> | 35 | #include <mach/udc.h> |
36 | #include <mach/palmasoc.h> | 36 | #include <linux/platform_data/asoc-palm27x.h> |
37 | #include <mach/palm27x.h> | 37 | #include <mach/palm27x.h> |
38 | 38 | ||
39 | #include "generic.h" | 39 | #include "generic.h" |
diff --git a/arch/arm/mach-pxa/palmld.c b/arch/arm/mach-pxa/palmld.c index 31e0433d83ba..8bcc96e3b0db 100644 --- a/arch/arm/mach-pxa/palmld.c +++ b/arch/arm/mach-pxa/palmld.c | |||
@@ -35,11 +35,11 @@ | |||
35 | #include <mach/pxa27x.h> | 35 | #include <mach/pxa27x.h> |
36 | #include <mach/audio.h> | 36 | #include <mach/audio.h> |
37 | #include <mach/palmld.h> | 37 | #include <mach/palmld.h> |
38 | #include <mach/mmc.h> | 38 | #include <linux/platform_data/mmc-pxamci.h> |
39 | #include <mach/pxafb.h> | 39 | #include <linux/platform_data/video-pxafb.h> |
40 | #include <mach/irda.h> | 40 | #include <linux/platform_data/irda-pxaficp.h> |
41 | #include <plat/pxa27x_keypad.h> | 41 | #include <linux/platform_data/keypad-pxa27x.h> |
42 | #include <mach/palmasoc.h> | 42 | #include <linux/platform_data/asoc-palm27x.h> |
43 | #include <mach/palm27x.h> | 43 | #include <mach/palm27x.h> |
44 | 44 | ||
45 | #include "generic.h" | 45 | #include "generic.h" |
diff --git a/arch/arm/mach-pxa/palmt5.c b/arch/arm/mach-pxa/palmt5.c index 0f6bd4fcfa3b..5ca7b904a30e 100644 --- a/arch/arm/mach-pxa/palmt5.c +++ b/arch/arm/mach-pxa/palmt5.c | |||
@@ -36,12 +36,12 @@ | |||
36 | #include <mach/pxa27x.h> | 36 | #include <mach/pxa27x.h> |
37 | #include <mach/audio.h> | 37 | #include <mach/audio.h> |
38 | #include <mach/palmt5.h> | 38 | #include <mach/palmt5.h> |
39 | #include <mach/mmc.h> | 39 | #include <linux/platform_data/mmc-pxamci.h> |
40 | #include <mach/pxafb.h> | 40 | #include <linux/platform_data/video-pxafb.h> |
41 | #include <mach/irda.h> | 41 | #include <linux/platform_data/irda-pxaficp.h> |
42 | #include <plat/pxa27x_keypad.h> | 42 | #include <linux/platform_data/keypad-pxa27x.h> |
43 | #include <mach/udc.h> | 43 | #include <mach/udc.h> |
44 | #include <mach/palmasoc.h> | 44 | #include <linux/platform_data/asoc-palm27x.h> |
45 | #include <mach/palm27x.h> | 45 | #include <mach/palm27x.h> |
46 | 46 | ||
47 | #include "generic.h" | 47 | #include "generic.h" |
diff --git a/arch/arm/mach-pxa/palmtc.c b/arch/arm/mach-pxa/palmtc.c index e2d97eed07a7..ca924cfedfc0 100644 --- a/arch/arm/mach-pxa/palmtc.c +++ b/arch/arm/mach-pxa/palmtc.c | |||
@@ -34,9 +34,9 @@ | |||
34 | #include <mach/pxa25x.h> | 34 | #include <mach/pxa25x.h> |
35 | #include <mach/audio.h> | 35 | #include <mach/audio.h> |
36 | #include <mach/palmtc.h> | 36 | #include <mach/palmtc.h> |
37 | #include <mach/mmc.h> | 37 | #include <linux/platform_data/mmc-pxamci.h> |
38 | #include <mach/pxafb.h> | 38 | #include <linux/platform_data/video-pxafb.h> |
39 | #include <mach/irda.h> | 39 | #include <linux/platform_data/irda-pxaficp.h> |
40 | #include <mach/udc.h> | 40 | #include <mach/udc.h> |
41 | 41 | ||
42 | #include "generic.h" | 42 | #include "generic.h" |
diff --git a/arch/arm/mach-pxa/palmte2.c b/arch/arm/mach-pxa/palmte2.c index c054827c567f..997e6da9a9c4 100644 --- a/arch/arm/mach-pxa/palmte2.c +++ b/arch/arm/mach-pxa/palmte2.c | |||
@@ -34,11 +34,11 @@ | |||
34 | #include <mach/pxa25x.h> | 34 | #include <mach/pxa25x.h> |
35 | #include <mach/audio.h> | 35 | #include <mach/audio.h> |
36 | #include <mach/palmte2.h> | 36 | #include <mach/palmte2.h> |
37 | #include <mach/mmc.h> | 37 | #include <linux/platform_data/mmc-pxamci.h> |
38 | #include <mach/pxafb.h> | 38 | #include <linux/platform_data/video-pxafb.h> |
39 | #include <mach/irda.h> | 39 | #include <linux/platform_data/irda-pxaficp.h> |
40 | #include <mach/udc.h> | 40 | #include <mach/udc.h> |
41 | #include <mach/palmasoc.h> | 41 | #include <linux/platform_data/asoc-palm27x.h> |
42 | 42 | ||
43 | #include "generic.h" | 43 | #include "generic.h" |
44 | #include "devices.h" | 44 | #include "devices.h" |
diff --git a/arch/arm/mach-pxa/palmtreo.c b/arch/arm/mach-pxa/palmtreo.c index fbdebee39a53..3f3c48f2f7ce 100644 --- a/arch/arm/mach-pxa/palmtreo.c +++ b/arch/arm/mach-pxa/palmtreo.c | |||
@@ -35,15 +35,15 @@ | |||
35 | #include <mach/pxa27x-udc.h> | 35 | #include <mach/pxa27x-udc.h> |
36 | #include <mach/audio.h> | 36 | #include <mach/audio.h> |
37 | #include <mach/palmtreo.h> | 37 | #include <mach/palmtreo.h> |
38 | #include <mach/mmc.h> | 38 | #include <linux/platform_data/mmc-pxamci.h> |
39 | #include <mach/pxafb.h> | 39 | #include <linux/platform_data/video-pxafb.h> |
40 | #include <mach/irda.h> | 40 | #include <linux/platform_data/irda-pxaficp.h> |
41 | #include <plat/pxa27x_keypad.h> | 41 | #include <linux/platform_data/keypad-pxa27x.h> |
42 | #include <mach/udc.h> | 42 | #include <mach/udc.h> |
43 | #include <mach/ohci.h> | 43 | #include <linux/platform_data/usb-ohci-pxa27x.h> |
44 | #include <mach/pxa2xx-regs.h> | 44 | #include <mach/pxa2xx-regs.h> |
45 | #include <mach/palmasoc.h> | 45 | #include <linux/platform_data/asoc-palm27x.h> |
46 | #include <mach/camera.h> | 46 | #include <linux/platform_data/camera-pxa.h> |
47 | #include <mach/palm27x.h> | 47 | #include <mach/palm27x.h> |
48 | 48 | ||
49 | #include <sound/pxa2xx-lib.h> | 49 | #include <sound/pxa2xx-lib.h> |
diff --git a/arch/arm/mach-pxa/palmtx.c b/arch/arm/mach-pxa/palmtx.c index 0da35dccfd89..8b4366628a12 100644 --- a/arch/arm/mach-pxa/palmtx.c +++ b/arch/arm/mach-pxa/palmtx.c | |||
@@ -40,12 +40,12 @@ | |||
40 | #include <mach/pxa27x.h> | 40 | #include <mach/pxa27x.h> |
41 | #include <mach/audio.h> | 41 | #include <mach/audio.h> |
42 | #include <mach/palmtx.h> | 42 | #include <mach/palmtx.h> |
43 | #include <mach/mmc.h> | 43 | #include <linux/platform_data/mmc-pxamci.h> |
44 | #include <mach/pxafb.h> | 44 | #include <linux/platform_data/video-pxafb.h> |
45 | #include <mach/irda.h> | 45 | #include <linux/platform_data/irda-pxaficp.h> |
46 | #include <plat/pxa27x_keypad.h> | 46 | #include <linux/platform_data/keypad-pxa27x.h> |
47 | #include <mach/udc.h> | 47 | #include <mach/udc.h> |
48 | #include <mach/palmasoc.h> | 48 | #include <linux/platform_data/asoc-palm27x.h> |
49 | #include <mach/palm27x.h> | 49 | #include <mach/palm27x.h> |
50 | 50 | ||
51 | #include "generic.h" | 51 | #include "generic.h" |
diff --git a/arch/arm/mach-pxa/palmz72.c b/arch/arm/mach-pxa/palmz72.c index a97b59965bb9..8cdd4f58e253 100644 --- a/arch/arm/mach-pxa/palmz72.c +++ b/arch/arm/mach-pxa/palmz72.c | |||
@@ -40,16 +40,16 @@ | |||
40 | #include <mach/pxa27x.h> | 40 | #include <mach/pxa27x.h> |
41 | #include <mach/audio.h> | 41 | #include <mach/audio.h> |
42 | #include <mach/palmz72.h> | 42 | #include <mach/palmz72.h> |
43 | #include <mach/mmc.h> | 43 | #include <linux/platform_data/mmc-pxamci.h> |
44 | #include <mach/pxafb.h> | 44 | #include <linux/platform_data/video-pxafb.h> |
45 | #include <mach/irda.h> | 45 | #include <linux/platform_data/irda-pxaficp.h> |
46 | #include <plat/pxa27x_keypad.h> | 46 | #include <linux/platform_data/keypad-pxa27x.h> |
47 | #include <mach/udc.h> | 47 | #include <mach/udc.h> |
48 | #include <mach/palmasoc.h> | 48 | #include <linux/platform_data/asoc-palm27x.h> |
49 | #include <mach/palm27x.h> | 49 | #include <mach/palm27x.h> |
50 | 50 | ||
51 | #include <mach/pm.h> | 51 | #include <mach/pm.h> |
52 | #include <mach/camera.h> | 52 | #include <linux/platform_data/camera-pxa.h> |
53 | 53 | ||
54 | #include <media/soc_camera.h> | 54 | #include <media/soc_camera.h> |
55 | 55 | ||
diff --git a/arch/arm/mach-pxa/pcm990-baseboard.c b/arch/arm/mach-pxa/pcm990-baseboard.c index cb723e84bc27..113c57a03565 100644 --- a/arch/arm/mach-pxa/pcm990-baseboard.c +++ b/arch/arm/mach-pxa/pcm990-baseboard.c | |||
@@ -28,14 +28,14 @@ | |||
28 | 28 | ||
29 | #include <media/soc_camera.h> | 29 | #include <media/soc_camera.h> |
30 | 30 | ||
31 | #include <mach/camera.h> | 31 | #include <linux/platform_data/camera-pxa.h> |
32 | #include <asm/mach/map.h> | 32 | #include <asm/mach/map.h> |
33 | #include <mach/pxa27x.h> | 33 | #include <mach/pxa27x.h> |
34 | #include <mach/audio.h> | 34 | #include <mach/audio.h> |
35 | #include <mach/mmc.h> | 35 | #include <linux/platform_data/mmc-pxamci.h> |
36 | #include <mach/ohci.h> | 36 | #include <linux/platform_data/usb-ohci-pxa27x.h> |
37 | #include <mach/pcm990_baseboard.h> | 37 | #include <mach/pcm990_baseboard.h> |
38 | #include <mach/pxafb.h> | 38 | #include <linux/platform_data/video-pxafb.h> |
39 | 39 | ||
40 | #include "devices.h" | 40 | #include "devices.h" |
41 | #include "generic.h" | 41 | #include "generic.h" |
diff --git a/arch/arm/mach-pxa/poodle.c b/arch/arm/mach-pxa/poodle.c index 89d98c832189..2910bb935c75 100644 --- a/arch/arm/mach-pxa/poodle.c +++ b/arch/arm/mach-pxa/poodle.c | |||
@@ -40,11 +40,11 @@ | |||
40 | #include <asm/mach/irq.h> | 40 | #include <asm/mach/irq.h> |
41 | 41 | ||
42 | #include <mach/pxa25x.h> | 42 | #include <mach/pxa25x.h> |
43 | #include <mach/mmc.h> | 43 | #include <linux/platform_data/mmc-pxamci.h> |
44 | #include <mach/udc.h> | 44 | #include <mach/udc.h> |
45 | #include <mach/irda.h> | 45 | #include <linux/platform_data/irda-pxaficp.h> |
46 | #include <mach/poodle.h> | 46 | #include <mach/poodle.h> |
47 | #include <mach/pxafb.h> | 47 | #include <linux/platform_data/video-pxafb.h> |
48 | 48 | ||
49 | #include <asm/hardware/scoop.h> | 49 | #include <asm/hardware/scoop.h> |
50 | #include <asm/hardware/locomo.h> | 50 | #include <asm/hardware/locomo.h> |
diff --git a/arch/arm/mach-pxa/pxa27x.c b/arch/arm/mach-pxa/pxa27x.c index 4726c246dcdc..8047ee0effc5 100644 --- a/arch/arm/mach-pxa/pxa27x.c +++ b/arch/arm/mach-pxa/pxa27x.c | |||
@@ -30,7 +30,7 @@ | |||
30 | #include <mach/irqs.h> | 30 | #include <mach/irqs.h> |
31 | #include <mach/pxa27x.h> | 31 | #include <mach/pxa27x.h> |
32 | #include <mach/reset.h> | 32 | #include <mach/reset.h> |
33 | #include <mach/ohci.h> | 33 | #include <linux/platform_data/usb-ohci-pxa27x.h> |
34 | #include <mach/pm.h> | 34 | #include <mach/pm.h> |
35 | #include <mach/dma.h> | 35 | #include <mach/dma.h> |
36 | #include <mach/smemc.h> | 36 | #include <mach/smemc.h> |
diff --git a/arch/arm/mach-pxa/pxa2xx.c b/arch/arm/mach-pxa/pxa2xx.c index f8ec85450c42..447dcbb22f6f 100644 --- a/arch/arm/mach-pxa/pxa2xx.c +++ b/arch/arm/mach-pxa/pxa2xx.c | |||
@@ -19,7 +19,7 @@ | |||
19 | #include <mach/pxa2xx-regs.h> | 19 | #include <mach/pxa2xx-regs.h> |
20 | #include <mach/mfp-pxa25x.h> | 20 | #include <mach/mfp-pxa25x.h> |
21 | #include <mach/reset.h> | 21 | #include <mach/reset.h> |
22 | #include <mach/irda.h> | 22 | #include <linux/platform_data/irda-pxaficp.h> |
23 | 23 | ||
24 | void pxa2xx_clear_reset_status(unsigned int mask) | 24 | void pxa2xx_clear_reset_status(unsigned int mask) |
25 | { | 25 | { |
diff --git a/arch/arm/mach-pxa/pxa3xx-ulpi.c b/arch/arm/mach-pxa/pxa3xx-ulpi.c index 5ead6d480c6d..7dbe3ccf1993 100644 --- a/arch/arm/mach-pxa/pxa3xx-ulpi.c +++ b/arch/arm/mach-pxa/pxa3xx-ulpi.c | |||
@@ -27,7 +27,7 @@ | |||
27 | 27 | ||
28 | #include <mach/hardware.h> | 28 | #include <mach/hardware.h> |
29 | #include <mach/regs-u2d.h> | 29 | #include <mach/regs-u2d.h> |
30 | #include <mach/pxa3xx-u2d.h> | 30 | #include <linux/platform_data/usb-pxa3xx-ulpi.h> |
31 | 31 | ||
32 | struct pxa3xx_u2d_ulpi { | 32 | struct pxa3xx_u2d_ulpi { |
33 | struct clk *clk; | 33 | struct clk *clk; |
diff --git a/arch/arm/mach-pxa/pxa3xx.c b/arch/arm/mach-pxa/pxa3xx.c index ff9c9574ec3e..656a1bb16d14 100644 --- a/arch/arm/mach-pxa/pxa3xx.c +++ b/arch/arm/mach-pxa/pxa3xx.c | |||
@@ -28,7 +28,7 @@ | |||
28 | #include <mach/hardware.h> | 28 | #include <mach/hardware.h> |
29 | #include <mach/pxa3xx-regs.h> | 29 | #include <mach/pxa3xx-regs.h> |
30 | #include <mach/reset.h> | 30 | #include <mach/reset.h> |
31 | #include <mach/ohci.h> | 31 | #include <linux/platform_data/usb-ohci-pxa27x.h> |
32 | #include <mach/pm.h> | 32 | #include <mach/pm.h> |
33 | #include <mach/dma.h> | 33 | #include <mach/dma.h> |
34 | #include <mach/smemc.h> | 34 | #include <mach/smemc.h> |
diff --git a/arch/arm/mach-pxa/raumfeld.c b/arch/arm/mach-pxa/raumfeld.c index d89d87ae144c..25b08bfa997b 100644 --- a/arch/arm/mach-pxa/raumfeld.c +++ b/arch/arm/mach-pxa/raumfeld.c | |||
@@ -49,10 +49,10 @@ | |||
49 | #include <asm/mach/arch.h> | 49 | #include <asm/mach/arch.h> |
50 | 50 | ||
51 | #include <mach/pxa300.h> | 51 | #include <mach/pxa300.h> |
52 | #include <mach/ohci.h> | 52 | #include <linux/platform_data/usb-ohci-pxa27x.h> |
53 | #include <mach/pxafb.h> | 53 | #include <linux/platform_data/video-pxafb.h> |
54 | #include <mach/mmc.h> | 54 | #include <linux/platform_data/mmc-pxamci.h> |
55 | #include <plat/pxa3xx_nand.h> | 55 | #include <linux/platform_data/mtd-nand-pxa3xx.h> |
56 | 56 | ||
57 | #include "generic.h" | 57 | #include "generic.h" |
58 | #include "devices.h" | 58 | #include "devices.h" |
diff --git a/arch/arm/mach-pxa/saar.c b/arch/arm/mach-pxa/saar.c index 86c95a5d8533..08d87a5d2639 100644 --- a/arch/arm/mach-pxa/saar.c +++ b/arch/arm/mach-pxa/saar.c | |||
@@ -32,7 +32,7 @@ | |||
32 | #include <asm/mach/flash.h> | 32 | #include <asm/mach/flash.h> |
33 | 33 | ||
34 | #include <mach/pxa930.h> | 34 | #include <mach/pxa930.h> |
35 | #include <mach/pxafb.h> | 35 | #include <linux/platform_data/video-pxafb.h> |
36 | 36 | ||
37 | #include "devices.h" | 37 | #include "devices.h" |
38 | #include "generic.h" | 38 | #include "generic.h" |
diff --git a/arch/arm/mach-pxa/sharpsl_pm.c b/arch/arm/mach-pxa/sharpsl_pm.c index bdf4cb88ca0a..9a154bad1984 100644 --- a/arch/arm/mach-pxa/sharpsl_pm.c +++ b/arch/arm/mach-pxa/sharpsl_pm.c | |||
@@ -879,7 +879,7 @@ static const struct platform_suspend_ops sharpsl_pm_ops = { | |||
879 | 879 | ||
880 | static int __devinit sharpsl_pm_probe(struct platform_device *pdev) | 880 | static int __devinit sharpsl_pm_probe(struct platform_device *pdev) |
881 | { | 881 | { |
882 | int ret; | 882 | int ret, irq; |
883 | 883 | ||
884 | if (!pdev->dev.platform_data) | 884 | if (!pdev->dev.platform_data) |
885 | return -EINVAL; | 885 | return -EINVAL; |
@@ -907,24 +907,28 @@ static int __devinit sharpsl_pm_probe(struct platform_device *pdev) | |||
907 | gpio_direction_input(sharpsl_pm.machinfo->gpio_batlock); | 907 | gpio_direction_input(sharpsl_pm.machinfo->gpio_batlock); |
908 | 908 | ||
909 | /* Register interrupt handlers */ | 909 | /* Register interrupt handlers */ |
910 | if (request_irq(PXA_GPIO_TO_IRQ(sharpsl_pm.machinfo->gpio_acin), sharpsl_ac_isr, IRQF_DISABLED | IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING, "AC Input Detect", sharpsl_ac_isr)) { | 910 | irq = gpio_to_irq(sharpsl_pm.machinfo->gpio_acin); |
911 | dev_err(sharpsl_pm.dev, "Could not get irq %d.\n", PXA_GPIO_TO_IRQ(sharpsl_pm.machinfo->gpio_acin)); | 911 | if (request_irq(irq, sharpsl_ac_isr, IRQF_DISABLED | IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING, "AC Input Detect", sharpsl_ac_isr)) { |
912 | dev_err(sharpsl_pm.dev, "Could not get irq %d.\n", irq); | ||
912 | } | 913 | } |
913 | 914 | ||
914 | if (request_irq(PXA_GPIO_TO_IRQ(sharpsl_pm.machinfo->gpio_batlock), sharpsl_fatal_isr, IRQF_DISABLED | IRQF_TRIGGER_FALLING, "Battery Cover", sharpsl_fatal_isr)) { | 915 | irq = gpio_to_irq(sharpsl_pm.machinfo->gpio_batlock); |
915 | dev_err(sharpsl_pm.dev, "Could not get irq %d.\n", PXA_GPIO_TO_IRQ(sharpsl_pm.machinfo->gpio_batlock)); | 916 | if (request_irq(irq, sharpsl_fatal_isr, IRQF_DISABLED | IRQF_TRIGGER_FALLING, "Battery Cover", sharpsl_fatal_isr)) { |
917 | dev_err(sharpsl_pm.dev, "Could not get irq %d.\n", irq); | ||
916 | } | 918 | } |
917 | 919 | ||
918 | if (sharpsl_pm.machinfo->gpio_fatal) { | 920 | if (sharpsl_pm.machinfo->gpio_fatal) { |
919 | if (request_irq(PXA_GPIO_TO_IRQ(sharpsl_pm.machinfo->gpio_fatal), sharpsl_fatal_isr, IRQF_DISABLED | IRQF_TRIGGER_FALLING, "Fatal Battery", sharpsl_fatal_isr)) { | 921 | irq = gpio_to_irq(sharpsl_pm.machinfo->gpio_fatal); |
920 | dev_err(sharpsl_pm.dev, "Could not get irq %d.\n", PXA_GPIO_TO_IRQ(sharpsl_pm.machinfo->gpio_fatal)); | 922 | if (request_irq(irq, sharpsl_fatal_isr, IRQF_DISABLED | IRQF_TRIGGER_FALLING, "Fatal Battery", sharpsl_fatal_isr)) { |
923 | dev_err(sharpsl_pm.dev, "Could not get irq %d.\n", irq); | ||
921 | } | 924 | } |
922 | } | 925 | } |
923 | 926 | ||
924 | if (sharpsl_pm.machinfo->batfull_irq) { | 927 | if (sharpsl_pm.machinfo->batfull_irq) { |
925 | /* Register interrupt handler. */ | 928 | /* Register interrupt handler. */ |
926 | if (request_irq(PXA_GPIO_TO_IRQ(sharpsl_pm.machinfo->gpio_batfull), sharpsl_chrg_full_isr, IRQF_DISABLED | IRQF_TRIGGER_RISING, "CO", sharpsl_chrg_full_isr)) { | 929 | irq = gpio_to_irq(sharpsl_pm.machinfo->gpio_batfull); |
927 | dev_err(sharpsl_pm.dev, "Could not get irq %d.\n", PXA_GPIO_TO_IRQ(sharpsl_pm.machinfo->gpio_batfull)); | 930 | if (request_irq(irq, sharpsl_chrg_full_isr, IRQF_DISABLED | IRQF_TRIGGER_RISING, "CO", sharpsl_chrg_full_isr)) { |
931 | dev_err(sharpsl_pm.dev, "Could not get irq %d.\n", irq); | ||
928 | } | 932 | } |
929 | } | 933 | } |
930 | 934 | ||
@@ -953,14 +957,14 @@ static int sharpsl_pm_remove(struct platform_device *pdev) | |||
953 | 957 | ||
954 | led_trigger_unregister_simple(sharpsl_charge_led_trigger); | 958 | led_trigger_unregister_simple(sharpsl_charge_led_trigger); |
955 | 959 | ||
956 | free_irq(PXA_GPIO_TO_IRQ(sharpsl_pm.machinfo->gpio_acin), sharpsl_ac_isr); | 960 | free_irq(gpio_to_irq(sharpsl_pm.machinfo->gpio_acin), sharpsl_ac_isr); |
957 | free_irq(PXA_GPIO_TO_IRQ(sharpsl_pm.machinfo->gpio_batlock), sharpsl_fatal_isr); | 961 | free_irq(gpio_to_irq(sharpsl_pm.machinfo->gpio_batlock), sharpsl_fatal_isr); |
958 | 962 | ||
959 | if (sharpsl_pm.machinfo->gpio_fatal) | 963 | if (sharpsl_pm.machinfo->gpio_fatal) |
960 | free_irq(PXA_GPIO_TO_IRQ(sharpsl_pm.machinfo->gpio_fatal), sharpsl_fatal_isr); | 964 | free_irq(gpio_to_irq(sharpsl_pm.machinfo->gpio_fatal), sharpsl_fatal_isr); |
961 | 965 | ||
962 | if (sharpsl_pm.machinfo->batfull_irq) | 966 | if (sharpsl_pm.machinfo->batfull_irq) |
963 | free_irq(PXA_GPIO_TO_IRQ(sharpsl_pm.machinfo->gpio_batfull), sharpsl_chrg_full_isr); | 967 | free_irq(gpio_to_irq(sharpsl_pm.machinfo->gpio_batfull), sharpsl_chrg_full_isr); |
964 | 968 | ||
965 | gpio_free(sharpsl_pm.machinfo->gpio_batlock); | 969 | gpio_free(sharpsl_pm.machinfo->gpio_batlock); |
966 | gpio_free(sharpsl_pm.machinfo->gpio_batfull); | 970 | gpio_free(sharpsl_pm.machinfo->gpio_batfull); |
diff --git a/arch/arm/mach-pxa/spitz.c b/arch/arm/mach-pxa/spitz.c index 363d91b44ecb..2073f0e6db0d 100644 --- a/arch/arm/mach-pxa/spitz.c +++ b/arch/arm/mach-pxa/spitz.c | |||
@@ -41,10 +41,10 @@ | |||
41 | #include <mach/pxa27x.h> | 41 | #include <mach/pxa27x.h> |
42 | #include <mach/pxa27x-udc.h> | 42 | #include <mach/pxa27x-udc.h> |
43 | #include <mach/reset.h> | 43 | #include <mach/reset.h> |
44 | #include <mach/irda.h> | 44 | #include <linux/platform_data/irda-pxaficp.h> |
45 | #include <mach/mmc.h> | 45 | #include <linux/platform_data/mmc-pxamci.h> |
46 | #include <mach/ohci.h> | 46 | #include <linux/platform_data/usb-ohci-pxa27x.h> |
47 | #include <mach/pxafb.h> | 47 | #include <linux/platform_data/video-pxafb.h> |
48 | #include <mach/spitz.h> | 48 | #include <mach/spitz.h> |
49 | #include <mach/sharpsl_pm.h> | 49 | #include <mach/sharpsl_pm.h> |
50 | #include <mach/smemc.h> | 50 | #include <mach/smemc.h> |
diff --git a/arch/arm/mach-pxa/stargate2.c b/arch/arm/mach-pxa/stargate2.c index 0701ca79e7d3..456560b5aad4 100644 --- a/arch/arm/mach-pxa/stargate2.c +++ b/arch/arm/mach-pxa/stargate2.c | |||
@@ -44,7 +44,7 @@ | |||
44 | #include <asm/mach/flash.h> | 44 | #include <asm/mach/flash.h> |
45 | 45 | ||
46 | #include <mach/pxa27x.h> | 46 | #include <mach/pxa27x.h> |
47 | #include <mach/mmc.h> | 47 | #include <linux/platform_data/mmc-pxamci.h> |
48 | #include <mach/udc.h> | 48 | #include <mach/udc.h> |
49 | #include <mach/pxa27x-udc.h> | 49 | #include <mach/pxa27x-udc.h> |
50 | #include <mach/smemc.h> | 50 | #include <mach/smemc.h> |
diff --git a/arch/arm/mach-pxa/tavorevb.c b/arch/arm/mach-pxa/tavorevb.c index 736bfdc50ee6..1a25f8a7b0ce 100644 --- a/arch/arm/mach-pxa/tavorevb.c +++ b/arch/arm/mach-pxa/tavorevb.c | |||
@@ -24,8 +24,8 @@ | |||
24 | #include <asm/mach/arch.h> | 24 | #include <asm/mach/arch.h> |
25 | 25 | ||
26 | #include <mach/pxa930.h> | 26 | #include <mach/pxa930.h> |
27 | #include <mach/pxafb.h> | 27 | #include <linux/platform_data/video-pxafb.h> |
28 | #include <plat/pxa27x_keypad.h> | 28 | #include <linux/platform_data/keypad-pxa27x.h> |
29 | 29 | ||
30 | #include "devices.h" | 30 | #include "devices.h" |
31 | #include "generic.h" | 31 | #include "generic.h" |
diff --git a/arch/arm/mach-pxa/tosa.c b/arch/arm/mach-pxa/tosa.c index 4d4eb60bad1e..233629edf7ee 100644 --- a/arch/arm/mach-pxa/tosa.c +++ b/arch/arm/mach-pxa/tosa.c | |||
@@ -42,8 +42,8 @@ | |||
42 | 42 | ||
43 | #include <mach/pxa25x.h> | 43 | #include <mach/pxa25x.h> |
44 | #include <mach/reset.h> | 44 | #include <mach/reset.h> |
45 | #include <mach/irda.h> | 45 | #include <linux/platform_data/irda-pxaficp.h> |
46 | #include <mach/mmc.h> | 46 | #include <linux/platform_data/mmc-pxamci.h> |
47 | #include <mach/udc.h> | 47 | #include <mach/udc.h> |
48 | #include <mach/tosa_bt.h> | 48 | #include <mach/tosa_bt.h> |
49 | #include <mach/audio.h> | 49 | #include <mach/audio.h> |
diff --git a/arch/arm/mach-pxa/trizeps4.c b/arch/arm/mach-pxa/trizeps4.c index 166dd32cc1d3..fbbcbed4d1d4 100644 --- a/arch/arm/mach-pxa/trizeps4.c +++ b/arch/arm/mach-pxa/trizeps4.c | |||
@@ -43,10 +43,10 @@ | |||
43 | #include <mach/pxa27x.h> | 43 | #include <mach/pxa27x.h> |
44 | #include <mach/trizeps4.h> | 44 | #include <mach/trizeps4.h> |
45 | #include <mach/audio.h> | 45 | #include <mach/audio.h> |
46 | #include <mach/pxafb.h> | 46 | #include <linux/platform_data/video-pxafb.h> |
47 | #include <mach/mmc.h> | 47 | #include <linux/platform_data/mmc-pxamci.h> |
48 | #include <mach/irda.h> | 48 | #include <linux/platform_data/irda-pxaficp.h> |
49 | #include <mach/ohci.h> | 49 | #include <linux/platform_data/usb-ohci-pxa27x.h> |
50 | #include <mach/smemc.h> | 50 | #include <mach/smemc.h> |
51 | 51 | ||
52 | #include "generic.h" | 52 | #include "generic.h" |
diff --git a/arch/arm/mach-pxa/viper.c b/arch/arm/mach-pxa/viper.c index 130379fb9d0f..392412ce4dac 100644 --- a/arch/arm/mach-pxa/viper.c +++ b/arch/arm/mach-pxa/viper.c | |||
@@ -48,9 +48,9 @@ | |||
48 | 48 | ||
49 | #include <mach/pxa25x.h> | 49 | #include <mach/pxa25x.h> |
50 | #include <mach/audio.h> | 50 | #include <mach/audio.h> |
51 | #include <mach/pxafb.h> | 51 | #include <linux/platform_data/video-pxafb.h> |
52 | #include <mach/regs-uart.h> | 52 | #include <mach/regs-uart.h> |
53 | #include <mach/arcom-pcmcia.h> | 53 | #include <linux/platform_data/pcmcia-pxa2xx_viper.h> |
54 | #include <mach/viper.h> | 54 | #include <mach/viper.h> |
55 | 55 | ||
56 | #include <asm/setup.h> | 56 | #include <asm/setup.h> |
diff --git a/arch/arm/mach-pxa/vpac270.c b/arch/arm/mach-pxa/vpac270.c index e1740acd15f1..491b6c9a2a9b 100644 --- a/arch/arm/mach-pxa/vpac270.c +++ b/arch/arm/mach-pxa/vpac270.c | |||
@@ -33,12 +33,12 @@ | |||
33 | #include <mach/pxa27x.h> | 33 | #include <mach/pxa27x.h> |
34 | #include <mach/audio.h> | 34 | #include <mach/audio.h> |
35 | #include <mach/vpac270.h> | 35 | #include <mach/vpac270.h> |
36 | #include <mach/mmc.h> | 36 | #include <linux/platform_data/mmc-pxamci.h> |
37 | #include <mach/pxafb.h> | 37 | #include <linux/platform_data/video-pxafb.h> |
38 | #include <mach/ohci.h> | 38 | #include <linux/platform_data/usb-ohci-pxa27x.h> |
39 | #include <mach/pxa27x-udc.h> | 39 | #include <mach/pxa27x-udc.h> |
40 | #include <mach/udc.h> | 40 | #include <mach/udc.h> |
41 | #include <mach/pata_pxa.h> | 41 | #include <linux/platform_data/ata-pxa.h> |
42 | 42 | ||
43 | #include "generic.h" | 43 | #include "generic.h" |
44 | #include "devices.h" | 44 | #include "devices.h" |
diff --git a/arch/arm/mach-pxa/z2.c b/arch/arm/mach-pxa/z2.c index b9320cb8a11f..97529face7aa 100644 --- a/arch/arm/mach-pxa/z2.c +++ b/arch/arm/mach-pxa/z2.c | |||
@@ -37,9 +37,9 @@ | |||
37 | #include <mach/pxa27x.h> | 37 | #include <mach/pxa27x.h> |
38 | #include <mach/mfp-pxa27x.h> | 38 | #include <mach/mfp-pxa27x.h> |
39 | #include <mach/z2.h> | 39 | #include <mach/z2.h> |
40 | #include <mach/pxafb.h> | 40 | #include <linux/platform_data/video-pxafb.h> |
41 | #include <mach/mmc.h> | 41 | #include <linux/platform_data/mmc-pxamci.h> |
42 | #include <plat/pxa27x_keypad.h> | 42 | #include <linux/platform_data/keypad-pxa27x.h> |
43 | #include <mach/pm.h> | 43 | #include <mach/pm.h> |
44 | 44 | ||
45 | #include "generic.h" | 45 | #include "generic.h" |
diff --git a/arch/arm/mach-pxa/zeus.c b/arch/arm/mach-pxa/zeus.c index af3d4f7646d7..abd3aa145083 100644 --- a/arch/arm/mach-pxa/zeus.c +++ b/arch/arm/mach-pxa/zeus.c | |||
@@ -38,14 +38,14 @@ | |||
38 | 38 | ||
39 | #include <mach/pxa27x.h> | 39 | #include <mach/pxa27x.h> |
40 | #include <mach/regs-uart.h> | 40 | #include <mach/regs-uart.h> |
41 | #include <mach/ohci.h> | 41 | #include <linux/platform_data/usb-ohci-pxa27x.h> |
42 | #include <mach/mmc.h> | 42 | #include <linux/platform_data/mmc-pxamci.h> |
43 | #include <mach/pxa27x-udc.h> | 43 | #include <mach/pxa27x-udc.h> |
44 | #include <mach/udc.h> | 44 | #include <mach/udc.h> |
45 | #include <mach/pxafb.h> | 45 | #include <linux/platform_data/video-pxafb.h> |
46 | #include <mach/pm.h> | 46 | #include <mach/pm.h> |
47 | #include <mach/audio.h> | 47 | #include <mach/audio.h> |
48 | #include <mach/arcom-pcmcia.h> | 48 | #include <linux/platform_data/pcmcia-pxa2xx_viper.h> |
49 | #include <mach/zeus.h> | 49 | #include <mach/zeus.h> |
50 | #include <mach/smemc.h> | 50 | #include <mach/smemc.h> |
51 | 51 | ||
diff --git a/arch/arm/mach-pxa/zylonite.c b/arch/arm/mach-pxa/zylonite.c index 98eec80623e3..226279fac9d4 100644 --- a/arch/arm/mach-pxa/zylonite.c +++ b/arch/arm/mach-pxa/zylonite.c | |||
@@ -26,12 +26,12 @@ | |||
26 | #include <asm/mach/arch.h> | 26 | #include <asm/mach/arch.h> |
27 | #include <mach/pxa3xx.h> | 27 | #include <mach/pxa3xx.h> |
28 | #include <mach/audio.h> | 28 | #include <mach/audio.h> |
29 | #include <mach/pxafb.h> | 29 | #include <linux/platform_data/video-pxafb.h> |
30 | #include <mach/zylonite.h> | 30 | #include <mach/zylonite.h> |
31 | #include <mach/mmc.h> | 31 | #include <linux/platform_data/mmc-pxamci.h> |
32 | #include <mach/ohci.h> | 32 | #include <linux/platform_data/usb-ohci-pxa27x.h> |
33 | #include <plat/pxa27x_keypad.h> | 33 | #include <linux/platform_data/keypad-pxa27x.h> |
34 | #include <plat/pxa3xx_nand.h> | 34 | #include <linux/platform_data/mtd-nand-pxa3xx.h> |
35 | 35 | ||
36 | #include "devices.h" | 36 | #include "devices.h" |
37 | #include "generic.h" | 37 | #include "generic.h" |
diff --git a/arch/arm/mach-realview/core.h b/arch/arm/mach-realview/core.h index f2141ae5a7de..602ca5ec52c5 100644 --- a/arch/arm/mach-realview/core.h +++ b/arch/arm/mach-realview/core.h | |||
@@ -54,4 +54,7 @@ extern void realview_init_early(void); | |||
54 | extern void realview_fixup(struct tag *tags, char **from, | 54 | extern void realview_fixup(struct tag *tags, char **from, |
55 | struct meminfo *meminfo); | 55 | struct meminfo *meminfo); |
56 | 56 | ||
57 | extern struct smp_operations realview_smp_ops; | ||
58 | extern void realview_cpu_die(unsigned int cpu); | ||
59 | |||
57 | #endif | 60 | #endif |
diff --git a/arch/arm/mach-realview/hotplug.c b/arch/arm/mach-realview/hotplug.c index 57d9efba2956..53818e5cd3ad 100644 --- a/arch/arm/mach-realview/hotplug.c +++ b/arch/arm/mach-realview/hotplug.c | |||
@@ -16,8 +16,6 @@ | |||
16 | #include <asm/cp15.h> | 16 | #include <asm/cp15.h> |
17 | #include <asm/smp_plat.h> | 17 | #include <asm/smp_plat.h> |
18 | 18 | ||
19 | extern volatile int pen_release; | ||
20 | |||
21 | static inline void cpu_enter_lowpower(void) | 19 | static inline void cpu_enter_lowpower(void) |
22 | { | 20 | { |
23 | unsigned int v; | 21 | unsigned int v; |
@@ -89,17 +87,12 @@ static inline void platform_do_lowpower(unsigned int cpu, int *spurious) | |||
89 | } | 87 | } |
90 | } | 88 | } |
91 | 89 | ||
92 | int platform_cpu_kill(unsigned int cpu) | ||
93 | { | ||
94 | return 1; | ||
95 | } | ||
96 | |||
97 | /* | 90 | /* |
98 | * platform-specific code to shutdown a CPU | 91 | * platform-specific code to shutdown a CPU |
99 | * | 92 | * |
100 | * Called with IRQs disabled | 93 | * Called with IRQs disabled |
101 | */ | 94 | */ |
102 | void platform_cpu_die(unsigned int cpu) | 95 | void __ref realview_cpu_die(unsigned int cpu) |
103 | { | 96 | { |
104 | int spurious = 0; | 97 | int spurious = 0; |
105 | 98 | ||
@@ -118,12 +111,3 @@ void platform_cpu_die(unsigned int cpu) | |||
118 | if (spurious) | 111 | if (spurious) |
119 | pr_warn("CPU%u: %u spurious wakeup calls\n", cpu, spurious); | 112 | pr_warn("CPU%u: %u spurious wakeup calls\n", cpu, spurious); |
120 | } | 113 | } |
121 | |||
122 | int platform_cpu_disable(unsigned int cpu) | ||
123 | { | ||
124 | /* | ||
125 | * we don't allow CPU 0 to be shutdown (it is still too special | ||
126 | * e.g. clock tick interrupts) | ||
127 | */ | ||
128 | return cpu == 0 ? -EPERM : 0; | ||
129 | } | ||
diff --git a/arch/arm/mach-realview/include/mach/gpio.h b/arch/arm/mach-realview/include/mach/gpio.h deleted file mode 100644 index 40a8c178f10d..000000000000 --- a/arch/arm/mach-realview/include/mach/gpio.h +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | /* empty */ | ||
diff --git a/arch/arm/mach-realview/platsmp.c b/arch/arm/mach-realview/platsmp.c index 17c878ddbc70..300f7064465d 100644 --- a/arch/arm/mach-realview/platsmp.c +++ b/arch/arm/mach-realview/platsmp.c | |||
@@ -22,9 +22,9 @@ | |||
22 | #include <mach/board-pb11mp.h> | 22 | #include <mach/board-pb11mp.h> |
23 | #include <mach/board-pbx.h> | 23 | #include <mach/board-pbx.h> |
24 | 24 | ||
25 | #include "core.h" | 25 | #include <plat/platsmp.h> |
26 | 26 | ||
27 | extern void versatile_secondary_startup(void); | 27 | #include "core.h" |
28 | 28 | ||
29 | static void __iomem *scu_base_addr(void) | 29 | static void __iomem *scu_base_addr(void) |
30 | { | 30 | { |
@@ -43,7 +43,7 @@ static void __iomem *scu_base_addr(void) | |||
43 | * Initialise the CPU possible map early - this describes the CPUs | 43 | * Initialise the CPU possible map early - this describes the CPUs |
44 | * which may be present or become present in the system. | 44 | * which may be present or become present in the system. |
45 | */ | 45 | */ |
46 | void __init smp_init_cpus(void) | 46 | static void __init realview_smp_init_cpus(void) |
47 | { | 47 | { |
48 | void __iomem *scu_base = scu_base_addr(); | 48 | void __iomem *scu_base = scu_base_addr(); |
49 | unsigned int i, ncores; | 49 | unsigned int i, ncores; |
@@ -63,7 +63,7 @@ void __init smp_init_cpus(void) | |||
63 | set_smp_cross_call(gic_raise_softirq); | 63 | set_smp_cross_call(gic_raise_softirq); |
64 | } | 64 | } |
65 | 65 | ||
66 | void __init platform_smp_prepare_cpus(unsigned int max_cpus) | 66 | static void __init realview_smp_prepare_cpus(unsigned int max_cpus) |
67 | { | 67 | { |
68 | 68 | ||
69 | scu_enable(scu_base_addr()); | 69 | scu_enable(scu_base_addr()); |
@@ -77,3 +77,13 @@ void __init platform_smp_prepare_cpus(unsigned int max_cpus) | |||
77 | __raw_writel(virt_to_phys(versatile_secondary_startup), | 77 | __raw_writel(virt_to_phys(versatile_secondary_startup), |
78 | __io_address(REALVIEW_SYS_FLAGSSET)); | 78 | __io_address(REALVIEW_SYS_FLAGSSET)); |
79 | } | 79 | } |
80 | |||
81 | struct smp_operations realview_smp_ops __initdata = { | ||
82 | .smp_init_cpus = realview_smp_init_cpus, | ||
83 | .smp_prepare_cpus = realview_smp_prepare_cpus, | ||
84 | .smp_secondary_init = versatile_secondary_init, | ||
85 | .smp_boot_secondary = versatile_boot_secondary, | ||
86 | #ifdef CONFIG_HOTPLUG_CPU | ||
87 | .cpu_die = realview_cpu_die, | ||
88 | #endif | ||
89 | }; | ||
diff --git a/arch/arm/mach-realview/realview_pb11mp.c b/arch/arm/mach-realview/realview_pb11mp.c index ec4fcd9a7e9c..7ed53d75350f 100644 --- a/arch/arm/mach-realview/realview_pb11mp.c +++ b/arch/arm/mach-realview/realview_pb11mp.c | |||
@@ -362,6 +362,7 @@ static void __init realview_pb11mp_init(void) | |||
362 | MACHINE_START(REALVIEW_PB11MP, "ARM-RealView PB11MPCore") | 362 | MACHINE_START(REALVIEW_PB11MP, "ARM-RealView PB11MPCore") |
363 | /* Maintainer: ARM Ltd/Deep Blue Solutions Ltd */ | 363 | /* Maintainer: ARM Ltd/Deep Blue Solutions Ltd */ |
364 | .atag_offset = 0x100, | 364 | .atag_offset = 0x100, |
365 | .smp = smp_ops(realview_smp_ops), | ||
365 | .fixup = realview_fixup, | 366 | .fixup = realview_fixup, |
366 | .map_io = realview_pb11mp_map_io, | 367 | .map_io = realview_pb11mp_map_io, |
367 | .init_early = realview_init_early, | 368 | .init_early = realview_init_early, |
diff --git a/arch/arm/mach-realview/realview_pbx.c b/arch/arm/mach-realview/realview_pbx.c index 17954a327e1b..4f486f05108a 100644 --- a/arch/arm/mach-realview/realview_pbx.c +++ b/arch/arm/mach-realview/realview_pbx.c | |||
@@ -399,6 +399,7 @@ static void __init realview_pbx_init(void) | |||
399 | MACHINE_START(REALVIEW_PBX, "ARM-RealView PBX") | 399 | MACHINE_START(REALVIEW_PBX, "ARM-RealView PBX") |
400 | /* Maintainer: ARM Ltd/Deep Blue Solutions Ltd */ | 400 | /* Maintainer: ARM Ltd/Deep Blue Solutions Ltd */ |
401 | .atag_offset = 0x100, | 401 | .atag_offset = 0x100, |
402 | .smp = smp_ops(realview_smp_ops), | ||
402 | .fixup = realview_pbx_fixup, | 403 | .fixup = realview_pbx_fixup, |
403 | .map_io = realview_pbx_map_io, | 404 | .map_io = realview_pbx_map_io, |
404 | .init_early = realview_init_early, | 405 | .init_early = realview_init_early, |
diff --git a/arch/arm/mach-s3c24xx/common-smdk.c b/arch/arm/mach-s3c24xx/common-smdk.c index 87e75a250d5e..3b2cf6db3634 100644 --- a/arch/arm/mach-s3c24xx/common-smdk.c +++ b/arch/arm/mach-s3c24xx/common-smdk.c | |||
@@ -37,9 +37,9 @@ | |||
37 | #include <asm/irq.h> | 37 | #include <asm/irq.h> |
38 | 38 | ||
39 | #include <mach/regs-gpio.h> | 39 | #include <mach/regs-gpio.h> |
40 | #include <mach/leds-gpio.h> | 40 | #include <linux/platform_data/leds-s3c24xx.h> |
41 | 41 | ||
42 | #include <plat/nand.h> | 42 | #include <linux/platform_data/mtd-nand-s3c2410.h> |
43 | 43 | ||
44 | #include <plat/common-smdk.h> | 44 | #include <plat/common-smdk.h> |
45 | #include <plat/gpio-cfg.h> | 45 | #include <plat/gpio-cfg.h> |
diff --git a/arch/arm/mach-s3c24xx/include/mach/leds-gpio.h b/arch/arm/mach-s3c24xx/include/mach/leds-gpio.h deleted file mode 100644 index d8a7672519b6..000000000000 --- a/arch/arm/mach-s3c24xx/include/mach/leds-gpio.h +++ /dev/null | |||
@@ -1,28 +0,0 @@ | |||
1 | /* arch/arm/mach-s3c2410/include/mach/leds-gpio.h | ||
2 | * | ||
3 | * Copyright (c) 2006 Simtec Electronics | ||
4 | * http://armlinux.simtec.co.uk/ | ||
5 | * Ben Dooks <ben@simtec.co.uk> | ||
6 | * | ||
7 | * S3C24XX - LEDs GPIO connector | ||
8 | * | ||
9 | * This program is free software; you can redistribute it and/or modify | ||
10 | * it under the terms of the GNU General Public License version 2 as | ||
11 | * published by the Free Software Foundation. | ||
12 | */ | ||
13 | |||
14 | #ifndef __ASM_ARCH_LEDSGPIO_H | ||
15 | #define __ASM_ARCH_LEDSGPIO_H "leds-gpio.h" | ||
16 | |||
17 | #define S3C24XX_LEDF_ACTLOW (1<<0) /* LED is on when GPIO low */ | ||
18 | #define S3C24XX_LEDF_TRISTATE (1<<1) /* tristate to turn off */ | ||
19 | |||
20 | struct s3c24xx_led_platdata { | ||
21 | unsigned int gpio; | ||
22 | unsigned int flags; | ||
23 | |||
24 | char *name; | ||
25 | char *def_trigger; | ||
26 | }; | ||
27 | |||
28 | #endif /* __ASM_ARCH_LEDSGPIO_H */ | ||
diff --git a/arch/arm/mach-s3c24xx/mach-amlm5900.c b/arch/arm/mach-s3c24xx/mach-amlm5900.c index ea2c4b003d58..f4ad99c1e476 100644 --- a/arch/arm/mach-s3c24xx/mach-amlm5900.c +++ b/arch/arm/mach-s3c24xx/mach-amlm5900.c | |||
@@ -53,7 +53,7 @@ | |||
53 | #include <mach/regs-lcd.h> | 53 | #include <mach/regs-lcd.h> |
54 | #include <mach/regs-gpio.h> | 54 | #include <mach/regs-gpio.h> |
55 | 55 | ||
56 | #include <plat/iic.h> | 56 | #include <linux/platform_data/i2c-s3c2410.h> |
57 | #include <plat/devs.h> | 57 | #include <plat/devs.h> |
58 | #include <plat/cpu.h> | 58 | #include <plat/cpu.h> |
59 | #include <plat/gpio-cfg.h> | 59 | #include <plat/gpio-cfg.h> |
diff --git a/arch/arm/mach-s3c24xx/mach-anubis.c b/arch/arm/mach-s3c24xx/mach-anubis.c index 0c7ed7a2b0cd..1ee8c4638743 100644 --- a/arch/arm/mach-s3c24xx/mach-anubis.c +++ b/arch/arm/mach-s3c24xx/mach-anubis.c | |||
@@ -40,8 +40,8 @@ | |||
40 | #include <mach/regs-gpio.h> | 40 | #include <mach/regs-gpio.h> |
41 | #include <mach/regs-mem.h> | 41 | #include <mach/regs-mem.h> |
42 | #include <mach/regs-lcd.h> | 42 | #include <mach/regs-lcd.h> |
43 | #include <plat/nand.h> | 43 | #include <linux/platform_data/mtd-nand-s3c2410.h> |
44 | #include <plat/iic.h> | 44 | #include <linux/platform_data/i2c-s3c2410.h> |
45 | 45 | ||
46 | #include <linux/mtd/mtd.h> | 46 | #include <linux/mtd/mtd.h> |
47 | #include <linux/mtd/nand.h> | 47 | #include <linux/mtd/nand.h> |
@@ -53,7 +53,7 @@ | |||
53 | #include <plat/clock.h> | 53 | #include <plat/clock.h> |
54 | #include <plat/devs.h> | 54 | #include <plat/devs.h> |
55 | #include <plat/cpu.h> | 55 | #include <plat/cpu.h> |
56 | #include <plat/audio-simtec.h> | 56 | #include <linux/platform_data/asoc-s3c24xx_simtec.h> |
57 | 57 | ||
58 | #include "simtec.h" | 58 | #include "simtec.h" |
59 | #include "common.h" | 59 | #include "common.h" |
diff --git a/arch/arm/mach-s3c24xx/mach-at2440evb.c b/arch/arm/mach-s3c24xx/mach-at2440evb.c index 7a05abf1270b..00381fe5de32 100644 --- a/arch/arm/mach-s3c24xx/mach-at2440evb.c +++ b/arch/arm/mach-s3c24xx/mach-at2440evb.c | |||
@@ -36,8 +36,8 @@ | |||
36 | #include <mach/regs-gpio.h> | 36 | #include <mach/regs-gpio.h> |
37 | #include <mach/regs-mem.h> | 37 | #include <mach/regs-mem.h> |
38 | #include <mach/regs-lcd.h> | 38 | #include <mach/regs-lcd.h> |
39 | #include <plat/nand.h> | 39 | #include <linux/platform_data/mtd-nand-s3c2410.h> |
40 | #include <plat/iic.h> | 40 | #include <linux/platform_data/i2c-s3c2410.h> |
41 | 41 | ||
42 | #include <linux/mtd/mtd.h> | 42 | #include <linux/mtd/mtd.h> |
43 | #include <linux/mtd/nand.h> | 43 | #include <linux/mtd/nand.h> |
@@ -47,7 +47,7 @@ | |||
47 | #include <plat/clock.h> | 47 | #include <plat/clock.h> |
48 | #include <plat/devs.h> | 48 | #include <plat/devs.h> |
49 | #include <plat/cpu.h> | 49 | #include <plat/cpu.h> |
50 | #include <plat/mci.h> | 50 | #include <linux/platform_data/mmc-s3cmci.h> |
51 | 51 | ||
52 | #include "common.h" | 52 | #include "common.h" |
53 | 53 | ||
diff --git a/arch/arm/mach-s3c24xx/mach-bast.c b/arch/arm/mach-s3c24xx/mach-bast.c index 1cf1720682d3..6a30ce7e4aa7 100644 --- a/arch/arm/mach-s3c24xx/mach-bast.c +++ b/arch/arm/mach-s3c24xx/mach-bast.c | |||
@@ -45,9 +45,9 @@ | |||
45 | #include <mach/regs-mem.h> | 45 | #include <mach/regs-mem.h> |
46 | #include <mach/regs-lcd.h> | 46 | #include <mach/regs-lcd.h> |
47 | 47 | ||
48 | #include <plat/hwmon.h> | 48 | #include <linux/platform_data/hwmon-s3c.h> |
49 | #include <plat/nand.h> | 49 | #include <linux/platform_data/mtd-nand-s3c2410.h> |
50 | #include <plat/iic.h> | 50 | #include <linux/platform_data/i2c-s3c2410.h> |
51 | #include <mach/fb.h> | 51 | #include <mach/fb.h> |
52 | 52 | ||
53 | #include <linux/mtd/mtd.h> | 53 | #include <linux/mtd/mtd.h> |
@@ -62,7 +62,7 @@ | |||
62 | #include <plat/cpu.h> | 62 | #include <plat/cpu.h> |
63 | #include <plat/cpu-freq.h> | 63 | #include <plat/cpu-freq.h> |
64 | #include <plat/gpio-cfg.h> | 64 | #include <plat/gpio-cfg.h> |
65 | #include <plat/audio-simtec.h> | 65 | #include <linux/platform_data/asoc-s3c24xx_simtec.h> |
66 | 66 | ||
67 | #include "simtec.h" | 67 | #include "simtec.h" |
68 | #include "common.h" | 68 | #include "common.h" |
diff --git a/arch/arm/mach-s3c24xx/mach-gta02.c b/arch/arm/mach-s3c24xx/mach-gta02.c index 92e1f93a6bca..4a963467b7ee 100644 --- a/arch/arm/mach-s3c24xx/mach-gta02.c +++ b/arch/arm/mach-s3c24xx/mach-gta02.c | |||
@@ -73,21 +73,21 @@ | |||
73 | #include <mach/regs-gpio.h> | 73 | #include <mach/regs-gpio.h> |
74 | #include <mach/fb.h> | 74 | #include <mach/fb.h> |
75 | 75 | ||
76 | #include <plat/usb-control.h> | 76 | #include <linux/platform_data/usb-ohci-s3c2410.h> |
77 | #include <mach/regs-mem.h> | 77 | #include <mach/regs-mem.h> |
78 | #include <mach/hardware.h> | 78 | #include <mach/hardware.h> |
79 | 79 | ||
80 | #include <mach/gta02.h> | 80 | #include <mach/gta02.h> |
81 | 81 | ||
82 | #include <plat/regs-serial.h> | 82 | #include <plat/regs-serial.h> |
83 | #include <plat/nand.h> | 83 | #include <linux/platform_data/mtd-nand-s3c2410.h> |
84 | #include <plat/devs.h> | 84 | #include <plat/devs.h> |
85 | #include <plat/cpu.h> | 85 | #include <plat/cpu.h> |
86 | #include <plat/pm.h> | 86 | #include <plat/pm.h> |
87 | #include <plat/udc.h> | 87 | #include <linux/platform_data/usb-s3c2410_udc.h> |
88 | #include <plat/gpio-cfg.h> | 88 | #include <plat/gpio-cfg.h> |
89 | #include <plat/iic.h> | 89 | #include <linux/platform_data/i2c-s3c2410.h> |
90 | #include <plat/ts.h> | 90 | #include <linux/platform_data/touchscreen-s3c2410.h> |
91 | 91 | ||
92 | #include "common.h" | 92 | #include "common.h" |
93 | 93 | ||
diff --git a/arch/arm/mach-s3c24xx/mach-h1940.c b/arch/arm/mach-s3c24xx/mach-h1940.c index 7e15cc430688..63aaf076f611 100644 --- a/arch/arm/mach-s3c24xx/mach-h1940.c +++ b/arch/arm/mach-s3c24xx/mach-h1940.c | |||
@@ -56,8 +56,8 @@ | |||
56 | #include <mach/h1940.h> | 56 | #include <mach/h1940.h> |
57 | #include <mach/h1940-latch.h> | 57 | #include <mach/h1940-latch.h> |
58 | #include <mach/fb.h> | 58 | #include <mach/fb.h> |
59 | #include <plat/udc.h> | 59 | #include <linux/platform_data/usb-s3c2410_udc.h> |
60 | #include <plat/iic.h> | 60 | #include <linux/platform_data/i2c-s3c2410.h> |
61 | 61 | ||
62 | #include <plat/gpio-cfg.h> | 62 | #include <plat/gpio-cfg.h> |
63 | #include <plat/clock.h> | 63 | #include <plat/clock.h> |
@@ -65,8 +65,8 @@ | |||
65 | #include <plat/cpu.h> | 65 | #include <plat/cpu.h> |
66 | #include <plat/pll.h> | 66 | #include <plat/pll.h> |
67 | #include <plat/pm.h> | 67 | #include <plat/pm.h> |
68 | #include <plat/mci.h> | 68 | #include <linux/platform_data/mmc-s3cmci.h> |
69 | #include <plat/ts.h> | 69 | #include <linux/platform_data/touchscreen-s3c2410.h> |
70 | 70 | ||
71 | #include <sound/uda1380.h> | 71 | #include <sound/uda1380.h> |
72 | 72 | ||
diff --git a/arch/arm/mach-s3c24xx/mach-jive.c b/arch/arm/mach-s3c24xx/mach-jive.c index 471334715c37..c9954e26b492 100644 --- a/arch/arm/mach-s3c24xx/mach-jive.c +++ b/arch/arm/mach-s3c24xx/mach-jive.c | |||
@@ -32,8 +32,8 @@ | |||
32 | #include <asm/mach/irq.h> | 32 | #include <asm/mach/irq.h> |
33 | 33 | ||
34 | #include <plat/regs-serial.h> | 34 | #include <plat/regs-serial.h> |
35 | #include <plat/nand.h> | 35 | #include <linux/platform_data/mtd-nand-s3c2410.h> |
36 | #include <plat/iic.h> | 36 | #include <linux/platform_data/i2c-s3c2410.h> |
37 | 37 | ||
38 | #include <mach/regs-power.h> | 38 | #include <mach/regs-power.h> |
39 | #include <mach/regs-gpio.h> | 39 | #include <mach/regs-gpio.h> |
@@ -54,7 +54,7 @@ | |||
54 | #include <plat/devs.h> | 54 | #include <plat/devs.h> |
55 | #include <plat/cpu.h> | 55 | #include <plat/cpu.h> |
56 | #include <plat/pm.h> | 56 | #include <plat/pm.h> |
57 | #include <plat/udc.h> | 57 | #include <linux/platform_data/usb-s3c2410_udc.h> |
58 | 58 | ||
59 | static struct map_desc jive_iodesc[] __initdata = { | 59 | static struct map_desc jive_iodesc[] __initdata = { |
60 | }; | 60 | }; |
diff --git a/arch/arm/mach-s3c24xx/mach-mini2440.c b/arch/arm/mach-s3c24xx/mach-mini2440.c index 734bbfe5ea22..393c0f1ac11a 100644 --- a/arch/arm/mach-s3c24xx/mach-mini2440.c +++ b/arch/arm/mach-s3c24xx/mach-mini2440.c | |||
@@ -39,14 +39,14 @@ | |||
39 | 39 | ||
40 | #include <plat/regs-serial.h> | 40 | #include <plat/regs-serial.h> |
41 | #include <mach/regs-gpio.h> | 41 | #include <mach/regs-gpio.h> |
42 | #include <mach/leds-gpio.h> | 42 | #include <linux/platform_data/leds-s3c24xx.h> |
43 | #include <mach/regs-mem.h> | 43 | #include <mach/regs-mem.h> |
44 | #include <mach/regs-lcd.h> | 44 | #include <mach/regs-lcd.h> |
45 | #include <mach/irqs.h> | 45 | #include <mach/irqs.h> |
46 | #include <plat/nand.h> | 46 | #include <linux/platform_data/mtd-nand-s3c2410.h> |
47 | #include <plat/iic.h> | 47 | #include <linux/platform_data/i2c-s3c2410.h> |
48 | #include <plat/mci.h> | 48 | #include <linux/platform_data/mmc-s3cmci.h> |
49 | #include <plat/udc.h> | 49 | #include <linux/platform_data/usb-s3c2410_udc.h> |
50 | 50 | ||
51 | #include <linux/mtd/mtd.h> | 51 | #include <linux/mtd/mtd.h> |
52 | #include <linux/mtd/nand.h> | 52 | #include <linux/mtd/nand.h> |
diff --git a/arch/arm/mach-s3c24xx/mach-n30.c b/arch/arm/mach-s3c24xx/mach-n30.c index 383d00ca8f60..c53a9bfe1417 100644 --- a/arch/arm/mach-s3c24xx/mach-n30.c +++ b/arch/arm/mach-s3c24xx/mach-n30.c | |||
@@ -33,7 +33,7 @@ | |||
33 | #include <asm/mach-types.h> | 33 | #include <asm/mach-types.h> |
34 | 34 | ||
35 | #include <mach/fb.h> | 35 | #include <mach/fb.h> |
36 | #include <mach/leds-gpio.h> | 36 | #include <linux/platform_data/leds-s3c24xx.h> |
37 | #include <mach/regs-gpio.h> | 37 | #include <mach/regs-gpio.h> |
38 | #include <mach/regs-lcd.h> | 38 | #include <mach/regs-lcd.h> |
39 | 39 | ||
@@ -41,15 +41,15 @@ | |||
41 | #include <asm/mach/irq.h> | 41 | #include <asm/mach/irq.h> |
42 | #include <asm/mach/map.h> | 42 | #include <asm/mach/map.h> |
43 | 43 | ||
44 | #include <plat/iic.h> | 44 | #include <linux/platform_data/i2c-s3c2410.h> |
45 | #include <plat/regs-serial.h> | 45 | #include <plat/regs-serial.h> |
46 | 46 | ||
47 | #include <plat/clock.h> | 47 | #include <plat/clock.h> |
48 | #include <plat/cpu.h> | 48 | #include <plat/cpu.h> |
49 | #include <plat/devs.h> | 49 | #include <plat/devs.h> |
50 | #include <plat/mci.h> | 50 | #include <linux/platform_data/mmc-s3cmci.h> |
51 | #include <plat/s3c2410.h> | 51 | #include <plat/s3c2410.h> |
52 | #include <plat/udc.h> | 52 | #include <linux/platform_data/usb-s3c2410_udc.h> |
53 | 53 | ||
54 | #include "common.h" | 54 | #include "common.h" |
55 | 55 | ||
diff --git a/arch/arm/mach-s3c24xx/mach-nexcoder.c b/arch/arm/mach-s3c24xx/mach-nexcoder.c index a71a551094ef..a2b92b0898e2 100644 --- a/arch/arm/mach-s3c24xx/mach-nexcoder.c +++ b/arch/arm/mach-s3c24xx/mach-nexcoder.c | |||
@@ -38,7 +38,7 @@ | |||
38 | //#include <asm/debug-ll.h> | 38 | //#include <asm/debug-ll.h> |
39 | #include <mach/regs-gpio.h> | 39 | #include <mach/regs-gpio.h> |
40 | #include <plat/regs-serial.h> | 40 | #include <plat/regs-serial.h> |
41 | #include <plat/iic.h> | 41 | #include <linux/platform_data/i2c-s3c2410.h> |
42 | 42 | ||
43 | #include <plat/gpio-cfg.h> | 43 | #include <plat/gpio-cfg.h> |
44 | #include <plat/s3c2410.h> | 44 | #include <plat/s3c2410.h> |
diff --git a/arch/arm/mach-s3c24xx/mach-osiris.c b/arch/arm/mach-s3c24xx/mach-osiris.c index c0fb3c1bc548..bb36d832bd3d 100644 --- a/arch/arm/mach-s3c24xx/mach-osiris.c +++ b/arch/arm/mach-s3c24xx/mach-osiris.c | |||
@@ -41,8 +41,8 @@ | |||
41 | #include <mach/regs-gpio.h> | 41 | #include <mach/regs-gpio.h> |
42 | #include <mach/regs-mem.h> | 42 | #include <mach/regs-mem.h> |
43 | #include <mach/regs-lcd.h> | 43 | #include <mach/regs-lcd.h> |
44 | #include <plat/nand.h> | 44 | #include <linux/platform_data/mtd-nand-s3c2410.h> |
45 | #include <plat/iic.h> | 45 | #include <linux/platform_data/i2c-s3c2410.h> |
46 | 46 | ||
47 | #include <linux/mtd/mtd.h> | 47 | #include <linux/mtd/mtd.h> |
48 | #include <linux/mtd/nand.h> | 48 | #include <linux/mtd/nand.h> |
diff --git a/arch/arm/mach-s3c24xx/mach-otom.c b/arch/arm/mach-s3c24xx/mach-otom.c index bc4b6efb3b27..bca39f0232b3 100644 --- a/arch/arm/mach-s3c24xx/mach-otom.c +++ b/arch/arm/mach-s3c24xx/mach-otom.c | |||
@@ -35,7 +35,7 @@ | |||
35 | #include <plat/s3c2410.h> | 35 | #include <plat/s3c2410.h> |
36 | #include <plat/clock.h> | 36 | #include <plat/clock.h> |
37 | #include <plat/devs.h> | 37 | #include <plat/devs.h> |
38 | #include <plat/iic.h> | 38 | #include <linux/platform_data/i2c-s3c2410.h> |
39 | #include <plat/cpu.h> | 39 | #include <plat/cpu.h> |
40 | 40 | ||
41 | #include "common.h" | 41 | #include "common.h" |
diff --git a/arch/arm/mach-s3c24xx/mach-qt2410.c b/arch/arm/mach-s3c24xx/mach-qt2410.c index 678bbca2b5e5..7b6ba13d7285 100644 --- a/arch/arm/mach-s3c24xx/mach-qt2410.c +++ b/arch/arm/mach-s3c24xx/mach-qt2410.c | |||
@@ -47,13 +47,13 @@ | |||
47 | #include <asm/irq.h> | 47 | #include <asm/irq.h> |
48 | #include <asm/mach-types.h> | 48 | #include <asm/mach-types.h> |
49 | 49 | ||
50 | #include <mach/leds-gpio.h> | 50 | #include <linux/platform_data/leds-s3c24xx.h> |
51 | #include <mach/regs-lcd.h> | 51 | #include <mach/regs-lcd.h> |
52 | #include <plat/regs-serial.h> | 52 | #include <plat/regs-serial.h> |
53 | #include <mach/fb.h> | 53 | #include <mach/fb.h> |
54 | #include <plat/nand.h> | 54 | #include <linux/platform_data/mtd-nand-s3c2410.h> |
55 | #include <plat/udc.h> | 55 | #include <linux/platform_data/usb-s3c2410_udc.h> |
56 | #include <plat/iic.h> | 56 | #include <linux/platform_data/i2c-s3c2410.h> |
57 | 57 | ||
58 | #include <plat/common-smdk.h> | 58 | #include <plat/common-smdk.h> |
59 | #include <plat/gpio-cfg.h> | 59 | #include <plat/gpio-cfg.h> |
diff --git a/arch/arm/mach-s3c24xx/mach-rx1950.c b/arch/arm/mach-s3c24xx/mach-rx1950.c index 7ee73f27f207..379fde521d37 100644 --- a/arch/arm/mach-s3c24xx/mach-rx1950.c +++ b/arch/arm/mach-s3c24xx/mach-rx1950.c | |||
@@ -49,15 +49,15 @@ | |||
49 | #include <plat/clock.h> | 49 | #include <plat/clock.h> |
50 | #include <plat/regs-serial.h> | 50 | #include <plat/regs-serial.h> |
51 | #include <plat/regs-iic.h> | 51 | #include <plat/regs-iic.h> |
52 | #include <plat/mci.h> | 52 | #include <linux/platform_data/mmc-s3cmci.h> |
53 | #include <plat/udc.h> | 53 | #include <linux/platform_data/usb-s3c2410_udc.h> |
54 | #include <plat/nand.h> | 54 | #include <linux/platform_data/mtd-nand-s3c2410.h> |
55 | #include <plat/iic.h> | 55 | #include <linux/platform_data/i2c-s3c2410.h> |
56 | #include <plat/devs.h> | 56 | #include <plat/devs.h> |
57 | #include <plat/cpu.h> | 57 | #include <plat/cpu.h> |
58 | #include <plat/pm.h> | 58 | #include <plat/pm.h> |
59 | #include <plat/irq.h> | 59 | #include <plat/irq.h> |
60 | #include <plat/ts.h> | 60 | #include <linux/platform_data/touchscreen-s3c2410.h> |
61 | 61 | ||
62 | #include <sound/uda1380.h> | 62 | #include <sound/uda1380.h> |
63 | 63 | ||
diff --git a/arch/arm/mach-s3c24xx/mach-rx3715.c b/arch/arm/mach-s3c24xx/mach-rx3715.c index 56af35447598..dacbb9a2122a 100644 --- a/arch/arm/mach-s3c24xx/mach-rx3715.c +++ b/arch/arm/mach-s3c24xx/mach-rx3715.c | |||
@@ -43,7 +43,7 @@ | |||
43 | #include <mach/regs-lcd.h> | 43 | #include <mach/regs-lcd.h> |
44 | 44 | ||
45 | #include <mach/h1940.h> | 45 | #include <mach/h1940.h> |
46 | #include <plat/nand.h> | 46 | #include <linux/platform_data/mtd-nand-s3c2410.h> |
47 | #include <mach/fb.h> | 47 | #include <mach/fb.h> |
48 | 48 | ||
49 | #include <plat/clock.h> | 49 | #include <plat/clock.h> |
diff --git a/arch/arm/mach-s3c24xx/mach-smdk2410.c b/arch/arm/mach-s3c24xx/mach-smdk2410.c index bdc27e772876..82796b97cb04 100644 --- a/arch/arm/mach-s3c24xx/mach-smdk2410.c +++ b/arch/arm/mach-s3c24xx/mach-smdk2410.c | |||
@@ -47,7 +47,7 @@ | |||
47 | #include <asm/mach-types.h> | 47 | #include <asm/mach-types.h> |
48 | 48 | ||
49 | #include <plat/regs-serial.h> | 49 | #include <plat/regs-serial.h> |
50 | #include <plat/iic.h> | 50 | #include <linux/platform_data/i2c-s3c2410.h> |
51 | 51 | ||
52 | #include <plat/devs.h> | 52 | #include <plat/devs.h> |
53 | #include <plat/cpu.h> | 53 | #include <plat/cpu.h> |
diff --git a/arch/arm/mach-s3c24xx/mach-smdk2413.c b/arch/arm/mach-s3c24xx/mach-smdk2413.c index b11451b853d8..ce99fd8bbbc5 100644 --- a/arch/arm/mach-s3c24xx/mach-smdk2413.c +++ b/arch/arm/mach-s3c24xx/mach-smdk2413.c | |||
@@ -38,8 +38,8 @@ | |||
38 | #include <mach/regs-lcd.h> | 38 | #include <mach/regs-lcd.h> |
39 | 39 | ||
40 | #include <mach/idle.h> | 40 | #include <mach/idle.h> |
41 | #include <plat/udc.h> | 41 | #include <linux/platform_data/usb-s3c2410_udc.h> |
42 | #include <plat/iic.h> | 42 | #include <linux/platform_data/i2c-s3c2410.h> |
43 | #include <mach/fb.h> | 43 | #include <mach/fb.h> |
44 | 44 | ||
45 | #include <plat/s3c2410.h> | 45 | #include <plat/s3c2410.h> |
diff --git a/arch/arm/mach-s3c24xx/mach-smdk2416.c b/arch/arm/mach-s3c24xx/mach-smdk2416.c index c3100a044fbe..db2787aa1e5e 100644 --- a/arch/arm/mach-s3c24xx/mach-smdk2416.c +++ b/arch/arm/mach-s3c24xx/mach-smdk2416.c | |||
@@ -39,17 +39,17 @@ | |||
39 | #include <mach/regs-s3c2443-clock.h> | 39 | #include <mach/regs-s3c2443-clock.h> |
40 | 40 | ||
41 | #include <mach/idle.h> | 41 | #include <mach/idle.h> |
42 | #include <mach/leds-gpio.h> | 42 | #include <linux/platform_data/leds-s3c24xx.h> |
43 | #include <plat/iic.h> | 43 | #include <linux/platform_data/i2c-s3c2410.h> |
44 | 44 | ||
45 | #include <plat/s3c2416.h> | 45 | #include <plat/s3c2416.h> |
46 | #include <plat/gpio-cfg.h> | 46 | #include <plat/gpio-cfg.h> |
47 | #include <plat/clock.h> | 47 | #include <plat/clock.h> |
48 | #include <plat/devs.h> | 48 | #include <plat/devs.h> |
49 | #include <plat/cpu.h> | 49 | #include <plat/cpu.h> |
50 | #include <plat/nand.h> | 50 | #include <linux/platform_data/mtd-nand-s3c2410.h> |
51 | #include <plat/sdhci.h> | 51 | #include <plat/sdhci.h> |
52 | #include <plat/udc.h> | 52 | #include <linux/platform_data/usb-s3c2410_udc.h> |
53 | #include <linux/platform_data/s3c-hsudc.h> | 53 | #include <linux/platform_data/s3c-hsudc.h> |
54 | 54 | ||
55 | #include <plat/regs-fb-v4.h> | 55 | #include <plat/regs-fb-v4.h> |
diff --git a/arch/arm/mach-s3c24xx/mach-smdk2440.c b/arch/arm/mach-s3c24xx/mach-smdk2440.c index 83a1036d7dcb..b7ff882c6ce6 100644 --- a/arch/arm/mach-s3c24xx/mach-smdk2440.c +++ b/arch/arm/mach-s3c24xx/mach-smdk2440.c | |||
@@ -37,7 +37,7 @@ | |||
37 | 37 | ||
38 | #include <mach/idle.h> | 38 | #include <mach/idle.h> |
39 | #include <mach/fb.h> | 39 | #include <mach/fb.h> |
40 | #include <plat/iic.h> | 40 | #include <linux/platform_data/i2c-s3c2410.h> |
41 | 41 | ||
42 | #include <plat/s3c2410.h> | 42 | #include <plat/s3c2410.h> |
43 | #include <plat/s3c244x.h> | 43 | #include <plat/s3c244x.h> |
diff --git a/arch/arm/mach-s3c24xx/mach-smdk2443.c b/arch/arm/mach-s3c24xx/mach-smdk2443.c index 209236956222..2568656f046f 100644 --- a/arch/arm/mach-s3c24xx/mach-smdk2443.c +++ b/arch/arm/mach-s3c24xx/mach-smdk2443.c | |||
@@ -37,7 +37,7 @@ | |||
37 | 37 | ||
38 | #include <mach/idle.h> | 38 | #include <mach/idle.h> |
39 | #include <mach/fb.h> | 39 | #include <mach/fb.h> |
40 | #include <plat/iic.h> | 40 | #include <linux/platform_data/i2c-s3c2410.h> |
41 | 41 | ||
42 | #include <plat/s3c2410.h> | 42 | #include <plat/s3c2410.h> |
43 | #include <plat/s3c2443.h> | 43 | #include <plat/s3c2443.h> |
diff --git a/arch/arm/mach-s3c24xx/mach-tct_hammer.c b/arch/arm/mach-s3c24xx/mach-tct_hammer.c index fe990289ee7d..495bf5cf52e9 100644 --- a/arch/arm/mach-s3c24xx/mach-tct_hammer.c +++ b/arch/arm/mach-s3c24xx/mach-tct_hammer.c | |||
@@ -45,7 +45,7 @@ | |||
45 | #include <asm/mach-types.h> | 45 | #include <asm/mach-types.h> |
46 | 46 | ||
47 | #include <plat/regs-serial.h> | 47 | #include <plat/regs-serial.h> |
48 | #include <plat/iic.h> | 48 | #include <linux/platform_data/i2c-s3c2410.h> |
49 | #include <plat/devs.h> | 49 | #include <plat/devs.h> |
50 | #include <plat/cpu.h> | 50 | #include <plat/cpu.h> |
51 | 51 | ||
diff --git a/arch/arm/mach-s3c24xx/mach-vr1000.c b/arch/arm/mach-s3c24xx/mach-vr1000.c index bd5f189f0424..14d5b12e388c 100644 --- a/arch/arm/mach-s3c24xx/mach-vr1000.c +++ b/arch/arm/mach-s3c24xx/mach-vr1000.c | |||
@@ -43,13 +43,13 @@ | |||
43 | 43 | ||
44 | #include <plat/regs-serial.h> | 44 | #include <plat/regs-serial.h> |
45 | #include <mach/regs-gpio.h> | 45 | #include <mach/regs-gpio.h> |
46 | #include <mach/leds-gpio.h> | 46 | #include <linux/platform_data/leds-s3c24xx.h> |
47 | 47 | ||
48 | #include <plat/clock.h> | 48 | #include <plat/clock.h> |
49 | #include <plat/devs.h> | 49 | #include <plat/devs.h> |
50 | #include <plat/cpu.h> | 50 | #include <plat/cpu.h> |
51 | #include <plat/iic.h> | 51 | #include <linux/platform_data/i2c-s3c2410.h> |
52 | #include <plat/audio-simtec.h> | 52 | #include <linux/platform_data/asoc-s3c24xx_simtec.h> |
53 | 53 | ||
54 | #include "simtec.h" | 54 | #include "simtec.h" |
55 | #include "common.h" | 55 | #include "common.h" |
diff --git a/arch/arm/mach-s3c24xx/mach-vstms.c b/arch/arm/mach-s3c24xx/mach-vstms.c index 94bfaa1fb148..f1d44ae11833 100644 --- a/arch/arm/mach-s3c24xx/mach-vstms.c +++ b/arch/arm/mach-s3c24xx/mach-vstms.c | |||
@@ -39,8 +39,8 @@ | |||
39 | #include <mach/idle.h> | 39 | #include <mach/idle.h> |
40 | #include <mach/fb.h> | 40 | #include <mach/fb.h> |
41 | 41 | ||
42 | #include <plat/iic.h> | 42 | #include <linux/platform_data/i2c-s3c2410.h> |
43 | #include <plat/nand.h> | 43 | #include <linux/platform_data/mtd-nand-s3c2410.h> |
44 | 44 | ||
45 | #include <plat/s3c2410.h> | 45 | #include <plat/s3c2410.h> |
46 | #include <plat/s3c2412.h> | 46 | #include <plat/s3c2412.h> |
diff --git a/arch/arm/mach-s3c24xx/setup-i2c.c b/arch/arm/mach-s3c24xx/setup-i2c.c index 9e90a7cbd1d6..7b4f33332d19 100644 --- a/arch/arm/mach-s3c24xx/setup-i2c.c +++ b/arch/arm/mach-s3c24xx/setup-i2c.c | |||
@@ -16,7 +16,7 @@ | |||
16 | struct platform_device; | 16 | struct platform_device; |
17 | 17 | ||
18 | #include <plat/gpio-cfg.h> | 18 | #include <plat/gpio-cfg.h> |
19 | #include <plat/iic.h> | 19 | #include <linux/platform_data/i2c-s3c2410.h> |
20 | #include <mach/hardware.h> | 20 | #include <mach/hardware.h> |
21 | #include <mach/regs-gpio.h> | 21 | #include <mach/regs-gpio.h> |
22 | 22 | ||
diff --git a/arch/arm/mach-s3c24xx/simtec-audio.c b/arch/arm/mach-s3c24xx/simtec-audio.c index 11881c9a38c0..fd0ef05763a9 100644 --- a/arch/arm/mach-s3c24xx/simtec-audio.c +++ b/arch/arm/mach-s3c24xx/simtec-audio.c | |||
@@ -24,7 +24,7 @@ | |||
24 | #include <mach/hardware.h> | 24 | #include <mach/hardware.h> |
25 | #include <mach/regs-gpio.h> | 25 | #include <mach/regs-gpio.h> |
26 | 26 | ||
27 | #include <plat/audio-simtec.h> | 27 | #include <linux/platform_data/asoc-s3c24xx_simtec.h> |
28 | #include <plat/devs.h> | 28 | #include <plat/devs.h> |
29 | 29 | ||
30 | #include "simtec.h" | 30 | #include "simtec.h" |
diff --git a/arch/arm/mach-s3c24xx/simtec-usb.c b/arch/arm/mach-s3c24xx/simtec-usb.c index d91c1a725139..17f8356177c1 100644 --- a/arch/arm/mach-s3c24xx/simtec-usb.c +++ b/arch/arm/mach-s3c24xx/simtec-usb.c | |||
@@ -34,7 +34,7 @@ | |||
34 | #include <mach/hardware.h> | 34 | #include <mach/hardware.h> |
35 | #include <asm/irq.h> | 35 | #include <asm/irq.h> |
36 | 36 | ||
37 | #include <plat/usb-control.h> | 37 | #include <linux/platform_data/usb-ohci-s3c2410.h> |
38 | #include <plat/devs.h> | 38 | #include <plat/devs.h> |
39 | 39 | ||
40 | #include "simtec.h" | 40 | #include "simtec.h" |
diff --git a/arch/arm/mach-s3c64xx/dev-audio.c b/arch/arm/mach-s3c64xx/dev-audio.c index 124fd5d63006..35f3e07eaccc 100644 --- a/arch/arm/mach-s3c64xx/dev-audio.c +++ b/arch/arm/mach-s3c64xx/dev-audio.c | |||
@@ -20,7 +20,7 @@ | |||
20 | #include <mach/dma.h> | 20 | #include <mach/dma.h> |
21 | 21 | ||
22 | #include <plat/devs.h> | 22 | #include <plat/devs.h> |
23 | #include <plat/audio.h> | 23 | #include <linux/platform_data/asoc-s3c.h> |
24 | #include <plat/gpio-cfg.h> | 24 | #include <plat/gpio-cfg.h> |
25 | 25 | ||
26 | static const char *rclksrc[] = { | 26 | static const char *rclksrc[] = { |
diff --git a/arch/arm/mach-s3c64xx/mach-anw6410.c b/arch/arm/mach-s3c64xx/mach-anw6410.c index ffa29ddfdfce..15c58dfc4584 100644 --- a/arch/arm/mach-s3c64xx/mach-anw6410.c +++ b/arch/arm/mach-s3c64xx/mach-anw6410.c | |||
@@ -42,7 +42,7 @@ | |||
42 | #include <asm/mach-types.h> | 42 | #include <asm/mach-types.h> |
43 | 43 | ||
44 | #include <plat/regs-serial.h> | 44 | #include <plat/regs-serial.h> |
45 | #include <plat/iic.h> | 45 | #include <linux/platform_data/i2c-s3c2410.h> |
46 | #include <plat/fb.h> | 46 | #include <plat/fb.h> |
47 | #include <plat/regs-fb-v4.h> | 47 | #include <plat/regs-fb-v4.h> |
48 | 48 | ||
diff --git a/arch/arm/mach-s3c64xx/mach-crag6410-module.c b/arch/arm/mach-s3c64xx/mach-crag6410-module.c index 7f4f9ebee25d..4e3fe57674c8 100644 --- a/arch/arm/mach-s3c64xx/mach-crag6410-module.c +++ b/arch/arm/mach-s3c64xx/mach-crag6410-module.c | |||
@@ -25,7 +25,7 @@ | |||
25 | #include <sound/wm8962.h> | 25 | #include <sound/wm8962.h> |
26 | #include <sound/wm9081.h> | 26 | #include <sound/wm9081.h> |
27 | 27 | ||
28 | #include <plat/s3c64xx-spi.h> | 28 | #include <linux/platform_data/spi-s3c64xx.h> |
29 | 29 | ||
30 | #include <mach/crag6410.h> | 30 | #include <mach/crag6410.h> |
31 | 31 | ||
diff --git a/arch/arm/mach-s3c64xx/mach-crag6410.c b/arch/arm/mach-s3c64xx/mach-crag6410.c index a095f7f6009d..8b4d46706645 100644 --- a/arch/arm/mach-s3c64xx/mach-crag6410.c +++ b/arch/arm/mach-s3c64xx/mach-crag6410.c | |||
@@ -61,14 +61,14 @@ | |||
61 | #include <plat/fb.h> | 61 | #include <plat/fb.h> |
62 | #include <plat/sdhci.h> | 62 | #include <plat/sdhci.h> |
63 | #include <plat/gpio-cfg.h> | 63 | #include <plat/gpio-cfg.h> |
64 | #include <plat/s3c64xx-spi.h> | 64 | #include <linux/platform_data/spi-s3c64xx.h> |
65 | 65 | ||
66 | #include <plat/keypad.h> | 66 | #include <plat/keypad.h> |
67 | #include <plat/clock.h> | 67 | #include <plat/clock.h> |
68 | #include <plat/devs.h> | 68 | #include <plat/devs.h> |
69 | #include <plat/cpu.h> | 69 | #include <plat/cpu.h> |
70 | #include <plat/adc.h> | 70 | #include <plat/adc.h> |
71 | #include <plat/iic.h> | 71 | #include <linux/platform_data/i2c-s3c2410.h> |
72 | #include <plat/pm.h> | 72 | #include <plat/pm.h> |
73 | 73 | ||
74 | #include "common.h" | 74 | #include "common.h" |
diff --git a/arch/arm/mach-s3c64xx/mach-hmt.c b/arch/arm/mach-s3c64xx/mach-hmt.c index 689088162f77..02222b32b7d3 100644 --- a/arch/arm/mach-s3c64xx/mach-hmt.c +++ b/arch/arm/mach-s3c64xx/mach-hmt.c | |||
@@ -34,9 +34,9 @@ | |||
34 | #include <asm/mach-types.h> | 34 | #include <asm/mach-types.h> |
35 | 35 | ||
36 | #include <plat/regs-serial.h> | 36 | #include <plat/regs-serial.h> |
37 | #include <plat/iic.h> | 37 | #include <linux/platform_data/i2c-s3c2410.h> |
38 | #include <plat/fb.h> | 38 | #include <plat/fb.h> |
39 | #include <plat/nand.h> | 39 | #include <linux/platform_data/mtd-nand-s3c2410.h> |
40 | 40 | ||
41 | #include <plat/clock.h> | 41 | #include <plat/clock.h> |
42 | #include <plat/devs.h> | 42 | #include <plat/devs.h> |
diff --git a/arch/arm/mach-s3c64xx/mach-mini6410.c b/arch/arm/mach-s3c64xx/mach-mini6410.c index 5539a255a704..09311cc40115 100644 --- a/arch/arm/mach-s3c64xx/mach-mini6410.c +++ b/arch/arm/mach-s3c64xx/mach-mini6410.c | |||
@@ -38,9 +38,9 @@ | |||
38 | #include <plat/cpu.h> | 38 | #include <plat/cpu.h> |
39 | #include <plat/devs.h> | 39 | #include <plat/devs.h> |
40 | #include <plat/fb.h> | 40 | #include <plat/fb.h> |
41 | #include <plat/nand.h> | 41 | #include <linux/platform_data/mtd-nand-s3c2410.h> |
42 | #include <plat/regs-serial.h> | 42 | #include <plat/regs-serial.h> |
43 | #include <plat/ts.h> | 43 | #include <linux/platform_data/touchscreen-s3c2410.h> |
44 | #include <plat/regs-fb-v4.h> | 44 | #include <plat/regs-fb-v4.h> |
45 | 45 | ||
46 | #include <video/platform_lcd.h> | 46 | #include <video/platform_lcd.h> |
diff --git a/arch/arm/mach-s3c64xx/mach-ncp.c b/arch/arm/mach-s3c64xx/mach-ncp.c index cad2e05eddf7..46ee88d16815 100644 --- a/arch/arm/mach-s3c64xx/mach-ncp.c +++ b/arch/arm/mach-s3c64xx/mach-ncp.c | |||
@@ -37,7 +37,7 @@ | |||
37 | #include <asm/mach-types.h> | 37 | #include <asm/mach-types.h> |
38 | 38 | ||
39 | #include <plat/regs-serial.h> | 39 | #include <plat/regs-serial.h> |
40 | #include <plat/iic.h> | 40 | #include <linux/platform_data/i2c-s3c2410.h> |
41 | #include <plat/fb.h> | 41 | #include <plat/fb.h> |
42 | 42 | ||
43 | #include <plat/clock.h> | 43 | #include <plat/clock.h> |
diff --git a/arch/arm/mach-s3c64xx/mach-real6410.c b/arch/arm/mach-s3c64xx/mach-real6410.c index 326b21604bc3..6daca203e72b 100644 --- a/arch/arm/mach-s3c64xx/mach-real6410.c +++ b/arch/arm/mach-s3c64xx/mach-real6410.c | |||
@@ -39,9 +39,9 @@ | |||
39 | #include <plat/cpu.h> | 39 | #include <plat/cpu.h> |
40 | #include <plat/devs.h> | 40 | #include <plat/devs.h> |
41 | #include <plat/fb.h> | 41 | #include <plat/fb.h> |
42 | #include <plat/nand.h> | 42 | #include <linux/platform_data/mtd-nand-s3c2410.h> |
43 | #include <plat/regs-serial.h> | 43 | #include <plat/regs-serial.h> |
44 | #include <plat/ts.h> | 44 | #include <linux/platform_data/touchscreen-s3c2410.h> |
45 | #include <plat/regs-fb-v4.h> | 45 | #include <plat/regs-fb-v4.h> |
46 | 46 | ||
47 | #include <video/platform_lcd.h> | 47 | #include <video/platform_lcd.h> |
diff --git a/arch/arm/mach-s3c64xx/mach-smartq.c b/arch/arm/mach-s3c64xx/mach-smartq.c index ceeb1de40376..c6d7390939ae 100644 --- a/arch/arm/mach-s3c64xx/mach-smartq.c +++ b/arch/arm/mach-s3c64xx/mach-smartq.c | |||
@@ -30,13 +30,13 @@ | |||
30 | #include <plat/clock.h> | 30 | #include <plat/clock.h> |
31 | #include <plat/cpu.h> | 31 | #include <plat/cpu.h> |
32 | #include <plat/devs.h> | 32 | #include <plat/devs.h> |
33 | #include <plat/iic.h> | 33 | #include <linux/platform_data/i2c-s3c2410.h> |
34 | #include <plat/gpio-cfg.h> | 34 | #include <plat/gpio-cfg.h> |
35 | #include <plat/hwmon.h> | 35 | #include <linux/platform_data/hwmon-s3c.h> |
36 | #include <plat/regs-serial.h> | 36 | #include <plat/regs-serial.h> |
37 | #include <plat/usb-control.h> | 37 | #include <linux/platform_data/usb-ohci-s3c2410.h> |
38 | #include <plat/sdhci.h> | 38 | #include <plat/sdhci.h> |
39 | #include <plat/ts.h> | 39 | #include <linux/platform_data/touchscreen-s3c2410.h> |
40 | 40 | ||
41 | #include <video/platform_lcd.h> | 41 | #include <video/platform_lcd.h> |
42 | 42 | ||
diff --git a/arch/arm/mach-s3c64xx/mach-smdk6400.c b/arch/arm/mach-s3c64xx/mach-smdk6400.c index b0f4525c66bd..a928fae5694e 100644 --- a/arch/arm/mach-s3c64xx/mach-smdk6400.c +++ b/arch/arm/mach-s3c64xx/mach-smdk6400.c | |||
@@ -35,7 +35,7 @@ | |||
35 | #include <plat/clock.h> | 35 | #include <plat/clock.h> |
36 | #include <plat/devs.h> | 36 | #include <plat/devs.h> |
37 | #include <plat/cpu.h> | 37 | #include <plat/cpu.h> |
38 | #include <plat/iic.h> | 38 | #include <linux/platform_data/i2c-s3c2410.h> |
39 | 39 | ||
40 | #include "common.h" | 40 | #include "common.h" |
41 | 41 | ||
diff --git a/arch/arm/mach-s3c64xx/mach-smdk6410.c b/arch/arm/mach-s3c64xx/mach-smdk6410.c index 0fe4f1503f4f..2547a8846472 100644 --- a/arch/arm/mach-s3c64xx/mach-smdk6410.c +++ b/arch/arm/mach-s3c64xx/mach-smdk6410.c | |||
@@ -60,8 +60,8 @@ | |||
60 | #include <mach/regs-gpio.h> | 60 | #include <mach/regs-gpio.h> |
61 | #include <mach/regs-sys.h> | 61 | #include <mach/regs-sys.h> |
62 | #include <mach/regs-srom.h> | 62 | #include <mach/regs-srom.h> |
63 | #include <plat/ata.h> | 63 | #include <linux/platform_data/ata-samsung_cf.h> |
64 | #include <plat/iic.h> | 64 | #include <linux/platform_data/i2c-s3c2410.h> |
65 | #include <plat/fb.h> | 65 | #include <plat/fb.h> |
66 | #include <plat/gpio-cfg.h> | 66 | #include <plat/gpio-cfg.h> |
67 | 67 | ||
@@ -69,7 +69,7 @@ | |||
69 | #include <plat/devs.h> | 69 | #include <plat/devs.h> |
70 | #include <plat/cpu.h> | 70 | #include <plat/cpu.h> |
71 | #include <plat/adc.h> | 71 | #include <plat/adc.h> |
72 | #include <plat/ts.h> | 72 | #include <linux/platform_data/touchscreen-s3c2410.h> |
73 | #include <plat/keypad.h> | 73 | #include <plat/keypad.h> |
74 | #include <plat/backlight.h> | 74 | #include <plat/backlight.h> |
75 | #include <plat/regs-fb-v4.h> | 75 | #include <plat/regs-fb-v4.h> |
diff --git a/arch/arm/mach-s3c64xx/setup-i2c0.c b/arch/arm/mach-s3c64xx/setup-i2c0.c index 241af94a9e70..40666ba8d607 100644 --- a/arch/arm/mach-s3c64xx/setup-i2c0.c +++ b/arch/arm/mach-s3c64xx/setup-i2c0.c | |||
@@ -18,7 +18,7 @@ | |||
18 | 18 | ||
19 | struct platform_device; /* don't need the contents */ | 19 | struct platform_device; /* don't need the contents */ |
20 | 20 | ||
21 | #include <plat/iic.h> | 21 | #include <linux/platform_data/i2c-s3c2410.h> |
22 | #include <plat/gpio-cfg.h> | 22 | #include <plat/gpio-cfg.h> |
23 | 23 | ||
24 | void s3c_i2c0_cfg_gpio(struct platform_device *dev) | 24 | void s3c_i2c0_cfg_gpio(struct platform_device *dev) |
diff --git a/arch/arm/mach-s3c64xx/setup-i2c1.c b/arch/arm/mach-s3c64xx/setup-i2c1.c index 3d13a961986d..3fdb24c4e62a 100644 --- a/arch/arm/mach-s3c64xx/setup-i2c1.c +++ b/arch/arm/mach-s3c64xx/setup-i2c1.c | |||
@@ -18,7 +18,7 @@ | |||
18 | 18 | ||
19 | struct platform_device; /* don't need the contents */ | 19 | struct platform_device; /* don't need the contents */ |
20 | 20 | ||
21 | #include <plat/iic.h> | 21 | #include <linux/platform_data/i2c-s3c2410.h> |
22 | #include <plat/gpio-cfg.h> | 22 | #include <plat/gpio-cfg.h> |
23 | 23 | ||
24 | void s3c_i2c1_cfg_gpio(struct platform_device *dev) | 24 | void s3c_i2c1_cfg_gpio(struct platform_device *dev) |
diff --git a/arch/arm/mach-s3c64xx/setup-ide.c b/arch/arm/mach-s3c64xx/setup-ide.c index 41b425602d88..648d8b85bf6b 100644 --- a/arch/arm/mach-s3c64xx/setup-ide.c +++ b/arch/arm/mach-s3c64xx/setup-ide.c | |||
@@ -17,7 +17,7 @@ | |||
17 | #include <mach/map.h> | 17 | #include <mach/map.h> |
18 | #include <mach/regs-clock.h> | 18 | #include <mach/regs-clock.h> |
19 | #include <plat/gpio-cfg.h> | 19 | #include <plat/gpio-cfg.h> |
20 | #include <plat/ata.h> | 20 | #include <linux/platform_data/ata-samsung_cf.h> |
21 | 21 | ||
22 | void s3c64xx_ide_setup_gpio(void) | 22 | void s3c64xx_ide_setup_gpio(void) |
23 | { | 23 | { |
diff --git a/arch/arm/mach-s5p64x0/dev-audio.c b/arch/arm/mach-s5p64x0/dev-audio.c index 91113ddc51da..a0d6edfd23a0 100644 --- a/arch/arm/mach-s5p64x0/dev-audio.c +++ b/arch/arm/mach-s5p64x0/dev-audio.c | |||
@@ -13,7 +13,7 @@ | |||
13 | #include <linux/gpio.h> | 13 | #include <linux/gpio.h> |
14 | 14 | ||
15 | #include <plat/gpio-cfg.h> | 15 | #include <plat/gpio-cfg.h> |
16 | #include <plat/audio.h> | 16 | #include <linux/platform_data/asoc-s3c.h> |
17 | 17 | ||
18 | #include <mach/map.h> | 18 | #include <mach/map.h> |
19 | #include <mach/dma.h> | 19 | #include <mach/dma.h> |
diff --git a/arch/arm/mach-s5p64x0/mach-smdk6440.c b/arch/arm/mach-s5p64x0/mach-smdk6440.c index 92fefad505cc..dea78a848244 100644 --- a/arch/arm/mach-s5p64x0/mach-smdk6440.c +++ b/arch/arm/mach-s5p64x0/mach-smdk6440.c | |||
@@ -45,10 +45,10 @@ | |||
45 | #include <plat/clock.h> | 45 | #include <plat/clock.h> |
46 | #include <plat/devs.h> | 46 | #include <plat/devs.h> |
47 | #include <plat/cpu.h> | 47 | #include <plat/cpu.h> |
48 | #include <plat/iic.h> | 48 | #include <linux/platform_data/i2c-s3c2410.h> |
49 | #include <plat/pll.h> | 49 | #include <plat/pll.h> |
50 | #include <plat/adc.h> | 50 | #include <plat/adc.h> |
51 | #include <plat/ts.h> | 51 | #include <linux/platform_data/touchscreen-s3c2410.h> |
52 | #include <plat/s5p-time.h> | 52 | #include <plat/s5p-time.h> |
53 | #include <plat/backlight.h> | 53 | #include <plat/backlight.h> |
54 | #include <plat/fb.h> | 54 | #include <plat/fb.h> |
diff --git a/arch/arm/mach-s5p64x0/mach-smdk6450.c b/arch/arm/mach-s5p64x0/mach-smdk6450.c index e2335ecf6eae..6f14fc729b8f 100644 --- a/arch/arm/mach-s5p64x0/mach-smdk6450.c +++ b/arch/arm/mach-s5p64x0/mach-smdk6450.c | |||
@@ -45,10 +45,10 @@ | |||
45 | #include <plat/clock.h> | 45 | #include <plat/clock.h> |
46 | #include <plat/devs.h> | 46 | #include <plat/devs.h> |
47 | #include <plat/cpu.h> | 47 | #include <plat/cpu.h> |
48 | #include <plat/iic.h> | 48 | #include <linux/platform_data/i2c-s3c2410.h> |
49 | #include <plat/pll.h> | 49 | #include <plat/pll.h> |
50 | #include <plat/adc.h> | 50 | #include <plat/adc.h> |
51 | #include <plat/ts.h> | 51 | #include <linux/platform_data/touchscreen-s3c2410.h> |
52 | #include <plat/s5p-time.h> | 52 | #include <plat/s5p-time.h> |
53 | #include <plat/backlight.h> | 53 | #include <plat/backlight.h> |
54 | #include <plat/fb.h> | 54 | #include <plat/fb.h> |
diff --git a/arch/arm/mach-s5p64x0/setup-i2c0.c b/arch/arm/mach-s5p64x0/setup-i2c0.c index 46b463917c54..a32edc545e6c 100644 --- a/arch/arm/mach-s5p64x0/setup-i2c0.c +++ b/arch/arm/mach-s5p64x0/setup-i2c0.c | |||
@@ -19,7 +19,7 @@ | |||
19 | struct platform_device; /* don't need the contents */ | 19 | struct platform_device; /* don't need the contents */ |
20 | 20 | ||
21 | #include <plat/gpio-cfg.h> | 21 | #include <plat/gpio-cfg.h> |
22 | #include <plat/iic.h> | 22 | #include <linux/platform_data/i2c-s3c2410.h> |
23 | 23 | ||
24 | #include <mach/i2c.h> | 24 | #include <mach/i2c.h> |
25 | 25 | ||
diff --git a/arch/arm/mach-s5p64x0/setup-i2c1.c b/arch/arm/mach-s5p64x0/setup-i2c1.c index 6ad3b986021c..ca2c5c7f8aa6 100644 --- a/arch/arm/mach-s5p64x0/setup-i2c1.c +++ b/arch/arm/mach-s5p64x0/setup-i2c1.c | |||
@@ -19,7 +19,7 @@ | |||
19 | struct platform_device; /* don't need the contents */ | 19 | struct platform_device; /* don't need the contents */ |
20 | 20 | ||
21 | #include <plat/gpio-cfg.h> | 21 | #include <plat/gpio-cfg.h> |
22 | #include <plat/iic.h> | 22 | #include <linux/platform_data/i2c-s3c2410.h> |
23 | 23 | ||
24 | #include <mach/i2c.h> | 24 | #include <mach/i2c.h> |
25 | 25 | ||
diff --git a/arch/arm/mach-s5pc100/dev-audio.c b/arch/arm/mach-s5pc100/dev-audio.c index 9d4bde3f1110..1cc252cef268 100644 --- a/arch/arm/mach-s5pc100/dev-audio.c +++ b/arch/arm/mach-s5pc100/dev-audio.c | |||
@@ -13,7 +13,7 @@ | |||
13 | #include <linux/gpio.h> | 13 | #include <linux/gpio.h> |
14 | 14 | ||
15 | #include <plat/gpio-cfg.h> | 15 | #include <plat/gpio-cfg.h> |
16 | #include <plat/audio.h> | 16 | #include <linux/platform_data/asoc-s3c.h> |
17 | 17 | ||
18 | #include <mach/map.h> | 18 | #include <mach/map.h> |
19 | #include <mach/dma.h> | 19 | #include <mach/dma.h> |
diff --git a/arch/arm/mach-s5pc100/mach-smdkc100.c b/arch/arm/mach-s5pc100/mach-smdkc100.c index 0c3ae38d27ca..5d2c0934928b 100644 --- a/arch/arm/mach-s5pc100/mach-smdkc100.c +++ b/arch/arm/mach-s5pc100/mach-smdkc100.c | |||
@@ -44,12 +44,12 @@ | |||
44 | #include <plat/devs.h> | 44 | #include <plat/devs.h> |
45 | #include <plat/cpu.h> | 45 | #include <plat/cpu.h> |
46 | #include <plat/fb.h> | 46 | #include <plat/fb.h> |
47 | #include <plat/iic.h> | 47 | #include <linux/platform_data/i2c-s3c2410.h> |
48 | #include <plat/ata.h> | 48 | #include <linux/platform_data/ata-samsung_cf.h> |
49 | #include <plat/adc.h> | 49 | #include <plat/adc.h> |
50 | #include <plat/keypad.h> | 50 | #include <plat/keypad.h> |
51 | #include <plat/ts.h> | 51 | #include <linux/platform_data/touchscreen-s3c2410.h> |
52 | #include <plat/audio.h> | 52 | #include <linux/platform_data/asoc-s3c.h> |
53 | #include <plat/backlight.h> | 53 | #include <plat/backlight.h> |
54 | #include <plat/regs-fb-v4.h> | 54 | #include <plat/regs-fb-v4.h> |
55 | 55 | ||
diff --git a/arch/arm/mach-s5pc100/setup-i2c0.c b/arch/arm/mach-s5pc100/setup-i2c0.c index eaef7a3bda49..89a6a769d622 100644 --- a/arch/arm/mach-s5pc100/setup-i2c0.c +++ b/arch/arm/mach-s5pc100/setup-i2c0.c | |||
@@ -18,7 +18,7 @@ | |||
18 | struct platform_device; /* don't need the contents */ | 18 | struct platform_device; /* don't need the contents */ |
19 | 19 | ||
20 | #include <linux/gpio.h> | 20 | #include <linux/gpio.h> |
21 | #include <plat/iic.h> | 21 | #include <linux/platform_data/i2c-s3c2410.h> |
22 | #include <plat/gpio-cfg.h> | 22 | #include <plat/gpio-cfg.h> |
23 | 23 | ||
24 | void s3c_i2c0_cfg_gpio(struct platform_device *dev) | 24 | void s3c_i2c0_cfg_gpio(struct platform_device *dev) |
diff --git a/arch/arm/mach-s5pc100/setup-i2c1.c b/arch/arm/mach-s5pc100/setup-i2c1.c index aaff74a90dee..faa667ef02cb 100644 --- a/arch/arm/mach-s5pc100/setup-i2c1.c +++ b/arch/arm/mach-s5pc100/setup-i2c1.c | |||
@@ -18,7 +18,7 @@ | |||
18 | struct platform_device; /* don't need the contents */ | 18 | struct platform_device; /* don't need the contents */ |
19 | 19 | ||
20 | #include <linux/gpio.h> | 20 | #include <linux/gpio.h> |
21 | #include <plat/iic.h> | 21 | #include <linux/platform_data/i2c-s3c2410.h> |
22 | #include <plat/gpio-cfg.h> | 22 | #include <plat/gpio-cfg.h> |
23 | 23 | ||
24 | void s3c_i2c1_cfg_gpio(struct platform_device *dev) | 24 | void s3c_i2c1_cfg_gpio(struct platform_device *dev) |
diff --git a/arch/arm/mach-s5pv210/dev-audio.c b/arch/arm/mach-s5pv210/dev-audio.c index 8367749c3eec..0a5480bbcbd5 100644 --- a/arch/arm/mach-s5pv210/dev-audio.c +++ b/arch/arm/mach-s5pv210/dev-audio.c | |||
@@ -13,7 +13,7 @@ | |||
13 | #include <linux/gpio.h> | 13 | #include <linux/gpio.h> |
14 | 14 | ||
15 | #include <plat/gpio-cfg.h> | 15 | #include <plat/gpio-cfg.h> |
16 | #include <plat/audio.h> | 16 | #include <linux/platform_data/asoc-s3c.h> |
17 | 17 | ||
18 | #include <mach/map.h> | 18 | #include <mach/map.h> |
19 | #include <mach/dma.h> | 19 | #include <mach/dma.h> |
diff --git a/arch/arm/mach-s5pv210/mach-goni.c b/arch/arm/mach-s5pv210/mach-goni.c index 822a55950685..00f1e47d490a 100644 --- a/arch/arm/mach-s5pv210/mach-goni.c +++ b/arch/arm/mach-s5pv210/mach-goni.c | |||
@@ -43,7 +43,7 @@ | |||
43 | #include <plat/devs.h> | 43 | #include <plat/devs.h> |
44 | #include <plat/cpu.h> | 44 | #include <plat/cpu.h> |
45 | #include <plat/fb.h> | 45 | #include <plat/fb.h> |
46 | #include <plat/iic.h> | 46 | #include <linux/platform_data/i2c-s3c2410.h> |
47 | #include <plat/keypad.h> | 47 | #include <plat/keypad.h> |
48 | #include <plat/sdhci.h> | 48 | #include <plat/sdhci.h> |
49 | #include <plat/clock.h> | 49 | #include <plat/clock.h> |
diff --git a/arch/arm/mach-s5pv210/mach-smdkc110.c b/arch/arm/mach-s5pv210/mach-smdkc110.c index dfc29236321c..d9c99fcc1aa7 100644 --- a/arch/arm/mach-s5pv210/mach-smdkc110.c +++ b/arch/arm/mach-s5pv210/mach-smdkc110.c | |||
@@ -27,8 +27,8 @@ | |||
27 | #include <plat/regs-serial.h> | 27 | #include <plat/regs-serial.h> |
28 | #include <plat/devs.h> | 28 | #include <plat/devs.h> |
29 | #include <plat/cpu.h> | 29 | #include <plat/cpu.h> |
30 | #include <plat/ata.h> | 30 | #include <linux/platform_data/ata-samsung_cf.h> |
31 | #include <plat/iic.h> | 31 | #include <linux/platform_data/i2c-s3c2410.h> |
32 | #include <plat/pm.h> | 32 | #include <plat/pm.h> |
33 | #include <plat/s5p-time.h> | 33 | #include <plat/s5p-time.h> |
34 | #include <plat/mfc.h> | 34 | #include <plat/mfc.h> |
diff --git a/arch/arm/mach-s5pv210/mach-smdkv210.c b/arch/arm/mach-s5pv210/mach-smdkv210.c index 918b23d71fdf..7d6fab420508 100644 --- a/arch/arm/mach-s5pv210/mach-smdkv210.c +++ b/arch/arm/mach-s5pv210/mach-smdkv210.c | |||
@@ -38,9 +38,9 @@ | |||
38 | #include <plat/devs.h> | 38 | #include <plat/devs.h> |
39 | #include <plat/cpu.h> | 39 | #include <plat/cpu.h> |
40 | #include <plat/adc.h> | 40 | #include <plat/adc.h> |
41 | #include <plat/ts.h> | 41 | #include <linux/platform_data/touchscreen-s3c2410.h> |
42 | #include <plat/ata.h> | 42 | #include <linux/platform_data/ata-samsung_cf.h> |
43 | #include <plat/iic.h> | 43 | #include <linux/platform_data/i2c-s3c2410.h> |
44 | #include <plat/keypad.h> | 44 | #include <plat/keypad.h> |
45 | #include <plat/pm.h> | 45 | #include <plat/pm.h> |
46 | #include <plat/fb.h> | 46 | #include <plat/fb.h> |
diff --git a/arch/arm/mach-s5pv210/mach-torbreck.c b/arch/arm/mach-s5pv210/mach-torbreck.c index 74e99bc0dc9b..18785cb5e1ef 100644 --- a/arch/arm/mach-s5pv210/mach-torbreck.c +++ b/arch/arm/mach-s5pv210/mach-torbreck.c | |||
@@ -26,7 +26,7 @@ | |||
26 | #include <plat/regs-serial.h> | 26 | #include <plat/regs-serial.h> |
27 | #include <plat/devs.h> | 27 | #include <plat/devs.h> |
28 | #include <plat/cpu.h> | 28 | #include <plat/cpu.h> |
29 | #include <plat/iic.h> | 29 | #include <linux/platform_data/i2c-s3c2410.h> |
30 | #include <plat/s5p-time.h> | 30 | #include <plat/s5p-time.h> |
31 | 31 | ||
32 | #include "common.h" | 32 | #include "common.h" |
diff --git a/arch/arm/mach-s5pv210/setup-i2c0.c b/arch/arm/mach-s5pv210/setup-i2c0.c index 0f1cc3a1c1e8..4a15849766c0 100644 --- a/arch/arm/mach-s5pv210/setup-i2c0.c +++ b/arch/arm/mach-s5pv210/setup-i2c0.c | |||
@@ -18,7 +18,7 @@ | |||
18 | 18 | ||
19 | struct platform_device; /* don't need the contents */ | 19 | struct platform_device; /* don't need the contents */ |
20 | 20 | ||
21 | #include <plat/iic.h> | 21 | #include <linux/platform_data/i2c-s3c2410.h> |
22 | #include <plat/gpio-cfg.h> | 22 | #include <plat/gpio-cfg.h> |
23 | 23 | ||
24 | void s3c_i2c0_cfg_gpio(struct platform_device *dev) | 24 | void s3c_i2c0_cfg_gpio(struct platform_device *dev) |
diff --git a/arch/arm/mach-s5pv210/setup-i2c1.c b/arch/arm/mach-s5pv210/setup-i2c1.c index f61365a34c56..4777f6b97a92 100644 --- a/arch/arm/mach-s5pv210/setup-i2c1.c +++ b/arch/arm/mach-s5pv210/setup-i2c1.c | |||
@@ -18,7 +18,7 @@ | |||
18 | 18 | ||
19 | struct platform_device; /* don't need the contents */ | 19 | struct platform_device; /* don't need the contents */ |
20 | 20 | ||
21 | #include <plat/iic.h> | 21 | #include <linux/platform_data/i2c-s3c2410.h> |
22 | #include <plat/gpio-cfg.h> | 22 | #include <plat/gpio-cfg.h> |
23 | 23 | ||
24 | void s3c_i2c1_cfg_gpio(struct platform_device *dev) | 24 | void s3c_i2c1_cfg_gpio(struct platform_device *dev) |
diff --git a/arch/arm/mach-s5pv210/setup-i2c2.c b/arch/arm/mach-s5pv210/setup-i2c2.c index 2f91b5cefbc6..bbce6c74b915 100644 --- a/arch/arm/mach-s5pv210/setup-i2c2.c +++ b/arch/arm/mach-s5pv210/setup-i2c2.c | |||
@@ -18,7 +18,7 @@ | |||
18 | 18 | ||
19 | struct platform_device; /* don't need the contents */ | 19 | struct platform_device; /* don't need the contents */ |
20 | 20 | ||
21 | #include <plat/iic.h> | 21 | #include <linux/platform_data/i2c-s3c2410.h> |
22 | #include <plat/gpio-cfg.h> | 22 | #include <plat/gpio-cfg.h> |
23 | 23 | ||
24 | void s3c_i2c2_cfg_gpio(struct platform_device *dev) | 24 | void s3c_i2c2_cfg_gpio(struct platform_device *dev) |
diff --git a/arch/arm/mach-sa1100/assabet.c b/arch/arm/mach-sa1100/assabet.c index 1710ed1a0ac0..e1ccda6128eb 100644 --- a/arch/arm/mach-sa1100/assabet.c +++ b/arch/arm/mach-sa1100/assabet.c | |||
@@ -39,7 +39,7 @@ | |||
39 | #include <asm/mach/map.h> | 39 | #include <asm/mach/map.h> |
40 | #include <asm/mach/serial_sa1100.h> | 40 | #include <asm/mach/serial_sa1100.h> |
41 | #include <mach/assabet.h> | 41 | #include <mach/assabet.h> |
42 | #include <mach/mcp.h> | 42 | #include <linux/platform_data/mfd-mcp-sa11x0.h> |
43 | #include <mach/irqs.h> | 43 | #include <mach/irqs.h> |
44 | 44 | ||
45 | #include "generic.h" | 45 | #include "generic.h" |
diff --git a/arch/arm/mach-sa1100/cerf.c b/arch/arm/mach-sa1100/cerf.c index 5240f104a3cd..ad0eb08ea077 100644 --- a/arch/arm/mach-sa1100/cerf.c +++ b/arch/arm/mach-sa1100/cerf.c | |||
@@ -30,7 +30,7 @@ | |||
30 | #include <asm/mach/serial_sa1100.h> | 30 | #include <asm/mach/serial_sa1100.h> |
31 | 31 | ||
32 | #include <mach/cerf.h> | 32 | #include <mach/cerf.h> |
33 | #include <mach/mcp.h> | 33 | #include <linux/platform_data/mfd-mcp-sa11x0.h> |
34 | #include <mach/irqs.h> | 34 | #include <mach/irqs.h> |
35 | #include "generic.h" | 35 | #include "generic.h" |
36 | 36 | ||
diff --git a/arch/arm/mach-sa1100/collie.c b/arch/arm/mach-sa1100/collie.c index ea5cff38745c..170cb6107f68 100644 --- a/arch/arm/mach-sa1100/collie.c +++ b/arch/arm/mach-sa1100/collie.c | |||
@@ -45,7 +45,7 @@ | |||
45 | #include <asm/hardware/scoop.h> | 45 | #include <asm/hardware/scoop.h> |
46 | #include <asm/mach/sharpsl_param.h> | 46 | #include <asm/mach/sharpsl_param.h> |
47 | #include <asm/hardware/locomo.h> | 47 | #include <asm/hardware/locomo.h> |
48 | #include <mach/mcp.h> | 48 | #include <linux/platform_data/mfd-mcp-sa11x0.h> |
49 | #include <mach/irqs.h> | 49 | #include <mach/irqs.h> |
50 | 50 | ||
51 | #include "generic.h" | 51 | #include "generic.h" |
diff --git a/arch/arm/mach-sa1100/include/mach/mcp.h b/arch/arm/mach-sa1100/include/mach/mcp.h deleted file mode 100644 index 4b2860ae3828..000000000000 --- a/arch/arm/mach-sa1100/include/mach/mcp.h +++ /dev/null | |||
@@ -1,22 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-sa1100/include/mach/mcp.h | ||
3 | * | ||
4 | * Copyright (C) 2005 Russell King. | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | */ | ||
10 | #ifndef __ASM_ARM_ARCH_MCP_H | ||
11 | #define __ASM_ARM_ARCH_MCP_H | ||
12 | |||
13 | #include <linux/types.h> | ||
14 | |||
15 | struct mcp_plat_data { | ||
16 | u32 mccr0; | ||
17 | u32 mccr1; | ||
18 | unsigned int sclk_rate; | ||
19 | void *codec_pdata; | ||
20 | }; | ||
21 | |||
22 | #endif | ||
diff --git a/arch/arm/mach-sa1100/lart.c b/arch/arm/mach-sa1100/lart.c index b2ce04bf4c9b..3048b17e84c5 100644 --- a/arch/arm/mach-sa1100/lart.c +++ b/arch/arm/mach-sa1100/lart.c | |||
@@ -19,7 +19,7 @@ | |||
19 | #include <asm/mach/arch.h> | 19 | #include <asm/mach/arch.h> |
20 | #include <asm/mach/map.h> | 20 | #include <asm/mach/map.h> |
21 | #include <asm/mach/serial_sa1100.h> | 21 | #include <asm/mach/serial_sa1100.h> |
22 | #include <mach/mcp.h> | 22 | #include <linux/platform_data/mfd-mcp-sa11x0.h> |
23 | #include <mach/irqs.h> | 23 | #include <mach/irqs.h> |
24 | 24 | ||
25 | #include "generic.h" | 25 | #include "generic.h" |
diff --git a/arch/arm/mach-sa1100/shannon.c b/arch/arm/mach-sa1100/shannon.c index 5d33fc3108ef..ff6b7b35bca9 100644 --- a/arch/arm/mach-sa1100/shannon.c +++ b/arch/arm/mach-sa1100/shannon.c | |||
@@ -19,7 +19,7 @@ | |||
19 | #include <asm/mach/flash.h> | 19 | #include <asm/mach/flash.h> |
20 | #include <asm/mach/map.h> | 20 | #include <asm/mach/map.h> |
21 | #include <asm/mach/serial_sa1100.h> | 21 | #include <asm/mach/serial_sa1100.h> |
22 | #include <mach/mcp.h> | 22 | #include <linux/platform_data/mfd-mcp-sa11x0.h> |
23 | #include <mach/shannon.h> | 23 | #include <mach/shannon.h> |
24 | #include <mach/irqs.h> | 24 | #include <mach/irqs.h> |
25 | 25 | ||
diff --git a/arch/arm/mach-sa1100/simpad.c b/arch/arm/mach-sa1100/simpad.c index 6ca92d0d32b2..71790e581d93 100644 --- a/arch/arm/mach-sa1100/simpad.c +++ b/arch/arm/mach-sa1100/simpad.c | |||
@@ -24,7 +24,7 @@ | |||
24 | #include <asm/mach/flash.h> | 24 | #include <asm/mach/flash.h> |
25 | #include <asm/mach/map.h> | 25 | #include <asm/mach/map.h> |
26 | #include <asm/mach/serial_sa1100.h> | 26 | #include <asm/mach/serial_sa1100.h> |
27 | #include <mach/mcp.h> | 27 | #include <linux/platform_data/mfd-mcp-sa11x0.h> |
28 | #include <mach/simpad.h> | 28 | #include <mach/simpad.h> |
29 | #include <mach/irqs.h> | 29 | #include <mach/irqs.h> |
30 | 30 | ||
diff --git a/arch/arm/mach-shmobile/Makefile.boot b/arch/arm/mach-shmobile/Makefile.boot index 5e410192ffb8..498efd99338d 100644 --- a/arch/arm/mach-shmobile/Makefile.boot +++ b/arch/arm/mach-shmobile/Makefile.boot | |||
@@ -7,7 +7,3 @@ __ZRELADDR := $(shell /bin/bash -c 'printf "0x%08x" \ | |||
7 | # | 7 | # |
8 | #params_phys-y (Instead: Pass atags pointer in r2) | 8 | #params_phys-y (Instead: Pass atags pointer in r2) |
9 | #initrd_phys-y (Instead: Use compiled-in initramfs) | 9 | #initrd_phys-y (Instead: Use compiled-in initramfs) |
10 | |||
11 | dtb-$(CONFIG_MACH_KZM9G) += sh73a0-kzm9g.dtb | ||
12 | dtb-$(CONFIG_MACH_KZM9D) += emev2-kzm9d.dtb | ||
13 | dtb-$(CONFIG_MACH_ARMADILLO800EVA) += r8a7740-armadillo800eva.dtb | ||
diff --git a/arch/arm/mach-shmobile/board-ag5evm.c b/arch/arm/mach-shmobile/board-ag5evm.c index cfc3b5c43ba8..25eb88a923e6 100644 --- a/arch/arm/mach-shmobile/board-ag5evm.c +++ b/arch/arm/mach-shmobile/board-ag5evm.c | |||
@@ -649,6 +649,7 @@ static void __init ag5evm_init(void) | |||
649 | } | 649 | } |
650 | 650 | ||
651 | MACHINE_START(AG5EVM, "ag5evm") | 651 | MACHINE_START(AG5EVM, "ag5evm") |
652 | .smp = smp_ops(sh73a0_smp_ops), | ||
652 | .map_io = sh73a0_map_io, | 653 | .map_io = sh73a0_map_io, |
653 | .init_early = sh73a0_add_early_devices, | 654 | .init_early = sh73a0_add_early_devices, |
654 | .nr_irqs = NR_IRQS_LEGACY, | 655 | .nr_irqs = NR_IRQS_LEGACY, |
diff --git a/arch/arm/mach-shmobile/board-ap4evb.c b/arch/arm/mach-shmobile/board-ap4evb.c index 1089ee5472eb..bc3b5da59e25 100644 --- a/arch/arm/mach-shmobile/board-ap4evb.c +++ b/arch/arm/mach-shmobile/board-ap4evb.c | |||
@@ -66,6 +66,8 @@ | |||
66 | #include <asm/mach/arch.h> | 66 | #include <asm/mach/arch.h> |
67 | #include <asm/setup.h> | 67 | #include <asm/setup.h> |
68 | 68 | ||
69 | #include "sh-gpio.h" | ||
70 | |||
69 | /* | 71 | /* |
70 | * Address Interface BusWidth note | 72 | * Address Interface BusWidth note |
71 | * ------------------------------------------------------------------ | 73 | * ------------------------------------------------------------------ |
diff --git a/arch/arm/mach-shmobile/board-armadillo800eva.c b/arch/arm/mach-shmobile/board-armadillo800eva.c index 9615a78d30b2..c6593d394273 100644 --- a/arch/arm/mach-shmobile/board-armadillo800eva.c +++ b/arch/arm/mach-shmobile/board-armadillo800eva.c | |||
@@ -55,6 +55,8 @@ | |||
55 | #include <sound/sh_fsi.h> | 55 | #include <sound/sh_fsi.h> |
56 | #include <sound/simple_card.h> | 56 | #include <sound/simple_card.h> |
57 | 57 | ||
58 | #include "sh-gpio.h" | ||
59 | |||
58 | /* | 60 | /* |
59 | * CON1 Camera Module | 61 | * CON1 Camera Module |
60 | * CON2 Extension Bus | 62 | * CON2 Extension Bus |
diff --git a/arch/arm/mach-shmobile/board-g4evm.c b/arch/arm/mach-shmobile/board-g4evm.c index 22d689322533..35c126caa4d8 100644 --- a/arch/arm/mach-shmobile/board-g4evm.c +++ b/arch/arm/mach-shmobile/board-g4evm.c | |||
@@ -42,6 +42,8 @@ | |||
42 | #include <asm/mach-types.h> | 42 | #include <asm/mach-types.h> |
43 | #include <asm/mach/arch.h> | 43 | #include <asm/mach/arch.h> |
44 | 44 | ||
45 | #include "sh-gpio.h" | ||
46 | |||
45 | /* | 47 | /* |
46 | * SDHI | 48 | * SDHI |
47 | * | 49 | * |
diff --git a/arch/arm/mach-shmobile/board-kota2.c b/arch/arm/mach-shmobile/board-kota2.c index 21dbe54304d5..bf88f9a8b7ac 100644 --- a/arch/arm/mach-shmobile/board-kota2.c +++ b/arch/arm/mach-shmobile/board-kota2.c | |||
@@ -545,6 +545,7 @@ static void __init kota2_init(void) | |||
545 | } | 545 | } |
546 | 546 | ||
547 | MACHINE_START(KOTA2, "kota2") | 547 | MACHINE_START(KOTA2, "kota2") |
548 | .smp = smp_ops(sh73a0_smp_ops), | ||
548 | .map_io = sh73a0_map_io, | 549 | .map_io = sh73a0_map_io, |
549 | .init_early = sh73a0_add_early_devices, | 550 | .init_early = sh73a0_add_early_devices, |
550 | .nr_irqs = NR_IRQS_LEGACY, | 551 | .nr_irqs = NR_IRQS_LEGACY, |
diff --git a/arch/arm/mach-shmobile/board-kzm9d.c b/arch/arm/mach-shmobile/board-kzm9d.c index 2c986eaae7b4..b52bc0d1273f 100644 --- a/arch/arm/mach-shmobile/board-kzm9d.c +++ b/arch/arm/mach-shmobile/board-kzm9d.c | |||
@@ -84,6 +84,7 @@ static const char *kzm9d_boards_compat_dt[] __initdata = { | |||
84 | }; | 84 | }; |
85 | 85 | ||
86 | DT_MACHINE_START(KZM9D_DT, "kzm9d") | 86 | DT_MACHINE_START(KZM9D_DT, "kzm9d") |
87 | .smp = smp_ops(emev2_smp_ops), | ||
87 | .map_io = emev2_map_io, | 88 | .map_io = emev2_map_io, |
88 | .init_early = emev2_add_early_devices, | 89 | .init_early = emev2_add_early_devices, |
89 | .nr_irqs = NR_IRQS_LEGACY, | 90 | .nr_irqs = NR_IRQS_LEGACY, |
diff --git a/arch/arm/mach-shmobile/board-kzm9g.c b/arch/arm/mach-shmobile/board-kzm9g.c index 1a413f07c8c4..773a2b95a4e0 100644 --- a/arch/arm/mach-shmobile/board-kzm9g.c +++ b/arch/arm/mach-shmobile/board-kzm9g.c | |||
@@ -776,6 +776,7 @@ static const char *kzm9g_boards_compat_dt[] __initdata = { | |||
776 | }; | 776 | }; |
777 | 777 | ||
778 | DT_MACHINE_START(KZM9G_DT, "kzm9g") | 778 | DT_MACHINE_START(KZM9G_DT, "kzm9g") |
779 | .smp = smp_ops(sh73a0_smp_ops), | ||
779 | .map_io = sh73a0_map_io, | 780 | .map_io = sh73a0_map_io, |
780 | .init_early = sh73a0_add_early_devices, | 781 | .init_early = sh73a0_add_early_devices, |
781 | .nr_irqs = NR_IRQS_LEGACY, | 782 | .nr_irqs = NR_IRQS_LEGACY, |
diff --git a/arch/arm/mach-shmobile/board-mackerel.c b/arch/arm/mach-shmobile/board-mackerel.c index 0dce90ee6cf2..62783b5d8813 100644 --- a/arch/arm/mach-shmobile/board-mackerel.c +++ b/arch/arm/mach-shmobile/board-mackerel.c | |||
@@ -64,6 +64,8 @@ | |||
64 | #include <asm/mach/arch.h> | 64 | #include <asm/mach/arch.h> |
65 | #include <asm/mach-types.h> | 65 | #include <asm/mach-types.h> |
66 | 66 | ||
67 | #include "sh-gpio.h" | ||
68 | |||
67 | /* | 69 | /* |
68 | * Address Interface BusWidth note | 70 | * Address Interface BusWidth note |
69 | * ------------------------------------------------------------------ | 71 | * ------------------------------------------------------------------ |
diff --git a/arch/arm/mach-shmobile/board-marzen.c b/arch/arm/mach-shmobile/board-marzen.c index 4834bdd849cf..b8a7525a4e2f 100644 --- a/arch/arm/mach-shmobile/board-marzen.c +++ b/arch/arm/mach-shmobile/board-marzen.c | |||
@@ -168,6 +168,7 @@ static void __init marzen_init(void) | |||
168 | } | 168 | } |
169 | 169 | ||
170 | MACHINE_START(MARZEN, "marzen") | 170 | MACHINE_START(MARZEN, "marzen") |
171 | .smp = smp_ops(r8a7779_smp_ops), | ||
171 | .map_io = r8a7779_map_io, | 172 | .map_io = r8a7779_map_io, |
172 | .init_early = r8a7779_add_early_devices, | 173 | .init_early = r8a7779_add_early_devices, |
173 | .nr_irqs = NR_IRQS_LEGACY, | 174 | .nr_irqs = NR_IRQS_LEGACY, |
diff --git a/arch/arm/mach-shmobile/hotplug.c b/arch/arm/mach-shmobile/hotplug.c index 828d22f3af57..b09a0bdbf813 100644 --- a/arch/arm/mach-shmobile/hotplug.c +++ b/arch/arm/mach-shmobile/hotplug.c | |||
@@ -14,30 +14,16 @@ | |||
14 | #include <linux/smp.h> | 14 | #include <linux/smp.h> |
15 | #include <linux/cpumask.h> | 15 | #include <linux/cpumask.h> |
16 | #include <linux/delay.h> | 16 | #include <linux/delay.h> |
17 | #include <linux/of.h> | ||
17 | #include <mach/common.h> | 18 | #include <mach/common.h> |
19 | #include <mach/r8a7779.h> | ||
20 | #include <mach/emev2.h> | ||
18 | #include <asm/cacheflush.h> | 21 | #include <asm/cacheflush.h> |
22 | #include <asm/mach-types.h> | ||
19 | 23 | ||
20 | static cpumask_t dead_cpus; | 24 | static cpumask_t dead_cpus; |
21 | 25 | ||
22 | int platform_cpu_kill(unsigned int cpu) | 26 | void shmobile_cpu_die(unsigned int cpu) |
23 | { | ||
24 | int k; | ||
25 | |||
26 | /* this function is running on another CPU than the offline target, | ||
27 | * here we need wait for shutdown code in platform_cpu_die() to | ||
28 | * finish before asking SoC-specific code to power off the CPU core. | ||
29 | */ | ||
30 | for (k = 0; k < 1000; k++) { | ||
31 | if (cpumask_test_cpu(cpu, &dead_cpus)) | ||
32 | return shmobile_platform_cpu_kill(cpu); | ||
33 | |||
34 | mdelay(1); | ||
35 | } | ||
36 | |||
37 | return 0; | ||
38 | } | ||
39 | |||
40 | void platform_cpu_die(unsigned int cpu) | ||
41 | { | 27 | { |
42 | /* hardware shutdown code running on the CPU that is being offlined */ | 28 | /* hardware shutdown code running on the CPU that is being offlined */ |
43 | flush_cache_all(); | 29 | flush_cache_all(); |
@@ -60,7 +46,7 @@ void platform_cpu_die(unsigned int cpu) | |||
60 | } | 46 | } |
61 | } | 47 | } |
62 | 48 | ||
63 | int platform_cpu_disable(unsigned int cpu) | 49 | int shmobile_cpu_disable(unsigned int cpu) |
64 | { | 50 | { |
65 | cpumask_clear_cpu(cpu, &dead_cpus); | 51 | cpumask_clear_cpu(cpu, &dead_cpus); |
66 | /* | 52 | /* |
@@ -69,3 +55,8 @@ int platform_cpu_disable(unsigned int cpu) | |||
69 | */ | 55 | */ |
70 | return cpu == 0 ? -EPERM : 0; | 56 | return cpu == 0 ? -EPERM : 0; |
71 | } | 57 | } |
58 | |||
59 | int shmobile_cpu_is_dead(unsigned int cpu) | ||
60 | { | ||
61 | return cpumask_test_cpu(cpu, &dead_cpus); | ||
62 | } | ||
diff --git a/arch/arm/mach-shmobile/include/mach/common.h b/arch/arm/mach-shmobile/include/mach/common.h index 45e61dada030..f80f9c549393 100644 --- a/arch/arm/mach-shmobile/include/mach/common.h +++ b/arch/arm/mach-shmobile/include/mach/common.h | |||
@@ -4,11 +4,10 @@ | |||
4 | extern void shmobile_earlytimer_init(void); | 4 | extern void shmobile_earlytimer_init(void); |
5 | extern struct sys_timer shmobile_timer; | 5 | extern struct sys_timer shmobile_timer; |
6 | extern void shmobile_setup_delay(unsigned int max_cpu_core_mhz, | 6 | extern void shmobile_setup_delay(unsigned int max_cpu_core_mhz, |
7 | unsigned int mult, unsigned int div); | 7 | unsigned int mult, unsigned int div); |
8 | struct twd_local_timer; | 8 | struct twd_local_timer; |
9 | extern void shmobile_setup_console(void); | 9 | extern void shmobile_setup_console(void); |
10 | extern void shmobile_secondary_vector(void); | 10 | extern void shmobile_secondary_vector(void); |
11 | extern int shmobile_platform_cpu_kill(unsigned int cpu); | ||
12 | struct clk; | 11 | struct clk; |
13 | extern int shmobile_clk_init(void); | 12 | extern int shmobile_clk_init(void); |
14 | extern void shmobile_handle_irq_intc(struct pt_regs *); | 13 | extern void shmobile_handle_irq_intc(struct pt_regs *); |
@@ -58,11 +57,6 @@ extern struct clk sh73a0_extal2_clk; | |||
58 | extern struct clk sh73a0_extcki_clk; | 57 | extern struct clk sh73a0_extcki_clk; |
59 | extern struct clk sh73a0_extalr_clk; | 58 | extern struct clk sh73a0_extalr_clk; |
60 | 59 | ||
61 | extern unsigned int sh73a0_get_core_count(void); | ||
62 | extern void sh73a0_secondary_init(unsigned int cpu); | ||
63 | extern int sh73a0_boot_secondary(unsigned int cpu); | ||
64 | extern void sh73a0_smp_prepare_cpus(void); | ||
65 | |||
66 | extern void r8a7740_init_irq(void); | 60 | extern void r8a7740_init_irq(void); |
67 | extern void r8a7740_map_io(void); | 61 | extern void r8a7740_map_io(void); |
68 | extern void r8a7740_add_early_devices(void); | 62 | extern void r8a7740_add_early_devices(void); |
@@ -79,11 +73,6 @@ extern void r8a7779_pinmux_init(void); | |||
79 | extern void r8a7779_pm_init(void); | 73 | extern void r8a7779_pm_init(void); |
80 | extern void r8a7740_meram_workaround(void); | 74 | extern void r8a7740_meram_workaround(void); |
81 | 75 | ||
82 | extern unsigned int r8a7779_get_core_count(void); | ||
83 | extern int r8a7779_platform_cpu_kill(unsigned int cpu); | ||
84 | extern void r8a7779_secondary_init(unsigned int cpu); | ||
85 | extern int r8a7779_boot_secondary(unsigned int cpu); | ||
86 | extern void r8a7779_smp_prepare_cpus(void); | ||
87 | extern void r8a7779_register_twd(void); | 76 | extern void r8a7779_register_twd(void); |
88 | 77 | ||
89 | extern void shmobile_init_late(void); | 78 | extern void shmobile_init_late(void); |
@@ -100,4 +89,15 @@ int shmobile_cpuidle_init(void); | |||
100 | static inline int shmobile_cpuidle_init(void) { return 0; } | 89 | static inline int shmobile_cpuidle_init(void) { return 0; } |
101 | #endif | 90 | #endif |
102 | 91 | ||
92 | extern void shmobile_cpu_die(unsigned int cpu); | ||
93 | extern int shmobile_cpu_disable(unsigned int cpu); | ||
94 | |||
95 | #ifdef CONFIG_HOTPLUG_CPU | ||
96 | extern int shmobile_cpu_is_dead(unsigned int cpu); | ||
97 | #else | ||
98 | static inline int shmobile_cpu_is_dead(unsigned int cpu) { return 1; } | ||
99 | #endif | ||
100 | |||
101 | extern void shmobile_smp_init_cpus(unsigned int ncores); | ||
102 | |||
103 | #endif /* __ARCH_MACH_COMMON_H */ | 103 | #endif /* __ARCH_MACH_COMMON_H */ |
diff --git a/arch/arm/mach-shmobile/include/mach/emev2.h b/arch/arm/mach-shmobile/include/mach/emev2.h index e6b0c1bf4b7e..ac3751705cab 100644 --- a/arch/arm/mach-shmobile/include/mach/emev2.h +++ b/arch/arm/mach-shmobile/include/mach/emev2.h | |||
@@ -7,13 +7,10 @@ extern void emev2_add_early_devices(void); | |||
7 | extern void emev2_add_standard_devices(void); | 7 | extern void emev2_add_standard_devices(void); |
8 | extern void emev2_clock_init(void); | 8 | extern void emev2_clock_init(void); |
9 | extern void emev2_set_boot_vector(unsigned long value); | 9 | extern void emev2_set_boot_vector(unsigned long value); |
10 | extern unsigned int emev2_get_core_count(void); | ||
11 | extern int emev2_platform_cpu_kill(unsigned int cpu); | ||
12 | extern void emev2_secondary_init(unsigned int cpu); | ||
13 | extern int emev2_boot_secondary(unsigned int cpu); | ||
14 | extern void emev2_smp_prepare_cpus(void); | ||
15 | 10 | ||
16 | #define EMEV2_GPIO_BASE 200 | 11 | #define EMEV2_GPIO_BASE 200 |
17 | #define EMEV2_GPIO_IRQ(n) (EMEV2_GPIO_BASE + (n)) | 12 | #define EMEV2_GPIO_IRQ(n) (EMEV2_GPIO_BASE + (n)) |
18 | 13 | ||
14 | extern struct smp_operations emev2_smp_ops; | ||
15 | |||
19 | #endif /* __ASM_EMEV2_H__ */ | 16 | #endif /* __ASM_EMEV2_H__ */ |
diff --git a/arch/arm/mach-shmobile/include/mach/r8a7779.h b/arch/arm/mach-shmobile/include/mach/r8a7779.h index b07ad318eb2e..f504c5e81b47 100644 --- a/arch/arm/mach-shmobile/include/mach/r8a7779.h +++ b/arch/arm/mach-shmobile/include/mach/r8a7779.h | |||
@@ -360,4 +360,6 @@ extern void r8a7779_add_device_to_domain(struct r8a7779_pm_domain *r8a7779_pd, | |||
360 | #define r8a7779_add_device_to_domain(pd, pdev) do { } while (0) | 360 | #define r8a7779_add_device_to_domain(pd, pdev) do { } while (0) |
361 | #endif /* CONFIG_PM */ | 361 | #endif /* CONFIG_PM */ |
362 | 362 | ||
363 | extern struct smp_operations r8a7779_smp_ops; | ||
364 | |||
363 | #endif /* __ASM_R8A7779_H__ */ | 365 | #endif /* __ASM_R8A7779_H__ */ |
diff --git a/arch/arm/mach-shmobile/include/mach/sh73a0.h b/arch/arm/mach-shmobile/include/mach/sh73a0.h index fe950f25d793..606d31d02a4e 100644 --- a/arch/arm/mach-shmobile/include/mach/sh73a0.h +++ b/arch/arm/mach-shmobile/include/mach/sh73a0.h | |||
@@ -557,4 +557,6 @@ enum { | |||
557 | #define SH73A0_PINT0_IRQ(irq) ((irq) + 700) | 557 | #define SH73A0_PINT0_IRQ(irq) ((irq) + 700) |
558 | #define SH73A0_PINT1_IRQ(irq) ((irq) + 732) | 558 | #define SH73A0_PINT1_IRQ(irq) ((irq) + 732) |
559 | 559 | ||
560 | extern struct smp_operations sh73a0_smp_ops; | ||
561 | |||
560 | #endif /* __ASM_SH73A0_H__ */ | 562 | #endif /* __ASM_SH73A0_H__ */ |
diff --git a/arch/arm/mach-shmobile/pfc-r8a7740.c b/arch/arm/mach-shmobile/pfc-r8a7740.c index ce9e7fa5cc8a..134d1b9a8821 100644 --- a/arch/arm/mach-shmobile/pfc-r8a7740.c +++ b/arch/arm/mach-shmobile/pfc-r8a7740.c | |||
@@ -20,7 +20,7 @@ | |||
20 | */ | 20 | */ |
21 | #include <linux/init.h> | 21 | #include <linux/init.h> |
22 | #include <linux/kernel.h> | 22 | #include <linux/kernel.h> |
23 | #include <linux/gpio.h> | 23 | #include <linux/sh_pfc.h> |
24 | #include <mach/r8a7740.h> | 24 | #include <mach/r8a7740.h> |
25 | #include <mach/irqs.h> | 25 | #include <mach/irqs.h> |
26 | 26 | ||
diff --git a/arch/arm/mach-shmobile/pfc-r8a7779.c b/arch/arm/mach-shmobile/pfc-r8a7779.c index d14c9b048077..cbc26ba2a0a2 100644 --- a/arch/arm/mach-shmobile/pfc-r8a7779.c +++ b/arch/arm/mach-shmobile/pfc-r8a7779.c | |||
@@ -19,7 +19,7 @@ | |||
19 | */ | 19 | */ |
20 | #include <linux/init.h> | 20 | #include <linux/init.h> |
21 | #include <linux/kernel.h> | 21 | #include <linux/kernel.h> |
22 | #include <linux/gpio.h> | 22 | #include <linux/sh_pfc.h> |
23 | #include <linux/ioport.h> | 23 | #include <linux/ioport.h> |
24 | #include <mach/r8a7779.h> | 24 | #include <mach/r8a7779.h> |
25 | 25 | ||
diff --git a/arch/arm/mach-shmobile/pfc-sh7367.c b/arch/arm/mach-shmobile/pfc-sh7367.c index e6e524654e67..c0c137f39052 100644 --- a/arch/arm/mach-shmobile/pfc-sh7367.c +++ b/arch/arm/mach-shmobile/pfc-sh7367.c | |||
@@ -18,7 +18,7 @@ | |||
18 | */ | 18 | */ |
19 | #include <linux/init.h> | 19 | #include <linux/init.h> |
20 | #include <linux/kernel.h> | 20 | #include <linux/kernel.h> |
21 | #include <linux/gpio.h> | 21 | #include <linux/sh_pfc.h> |
22 | #include <mach/sh7367.h> | 22 | #include <mach/sh7367.h> |
23 | 23 | ||
24 | #define CPU_ALL_PORT(fn, pfx, sfx) \ | 24 | #define CPU_ALL_PORT(fn, pfx, sfx) \ |
diff --git a/arch/arm/mach-shmobile/pfc-sh7372.c b/arch/arm/mach-shmobile/pfc-sh7372.c index 336093f9210a..7a1525fd6ada 100644 --- a/arch/arm/mach-shmobile/pfc-sh7372.c +++ b/arch/arm/mach-shmobile/pfc-sh7372.c | |||
@@ -22,7 +22,7 @@ | |||
22 | */ | 22 | */ |
23 | #include <linux/init.h> | 23 | #include <linux/init.h> |
24 | #include <linux/kernel.h> | 24 | #include <linux/kernel.h> |
25 | #include <linux/gpio.h> | 25 | #include <linux/sh_pfc.h> |
26 | #include <mach/irqs.h> | 26 | #include <mach/irqs.h> |
27 | #include <mach/sh7372.h> | 27 | #include <mach/sh7372.h> |
28 | 28 | ||
diff --git a/arch/arm/mach-shmobile/pfc-sh7377.c b/arch/arm/mach-shmobile/pfc-sh7377.c index 2f10511946ad..f3117f67fa25 100644 --- a/arch/arm/mach-shmobile/pfc-sh7377.c +++ b/arch/arm/mach-shmobile/pfc-sh7377.c | |||
@@ -19,7 +19,7 @@ | |||
19 | */ | 19 | */ |
20 | #include <linux/init.h> | 20 | #include <linux/init.h> |
21 | #include <linux/kernel.h> | 21 | #include <linux/kernel.h> |
22 | #include <linux/gpio.h> | 22 | #include <linux/sh_pfc.h> |
23 | #include <mach/sh7377.h> | 23 | #include <mach/sh7377.h> |
24 | 24 | ||
25 | #define CPU_ALL_PORT(fn, pfx, sfx) \ | 25 | #define CPU_ALL_PORT(fn, pfx, sfx) \ |
diff --git a/arch/arm/mach-shmobile/pfc-sh73a0.c b/arch/arm/mach-shmobile/pfc-sh73a0.c index 4a547b803268..b442f9d8c716 100644 --- a/arch/arm/mach-shmobile/pfc-sh73a0.c +++ b/arch/arm/mach-shmobile/pfc-sh73a0.c | |||
@@ -20,7 +20,7 @@ | |||
20 | */ | 20 | */ |
21 | #include <linux/init.h> | 21 | #include <linux/init.h> |
22 | #include <linux/kernel.h> | 22 | #include <linux/kernel.h> |
23 | #include <linux/gpio.h> | 23 | #include <linux/sh_pfc.h> |
24 | #include <mach/sh73a0.h> | 24 | #include <mach/sh73a0.h> |
25 | #include <mach/irqs.h> | 25 | #include <mach/irqs.h> |
26 | 26 | ||
diff --git a/arch/arm/mach-shmobile/platsmp.c b/arch/arm/mach-shmobile/platsmp.c index fde0d23121dc..ed8d2351915e 100644 --- a/arch/arm/mach-shmobile/platsmp.c +++ b/arch/arm/mach-shmobile/platsmp.c | |||
@@ -11,100 +11,11 @@ | |||
11 | * published by the Free Software Foundation. | 11 | * published by the Free Software Foundation. |
12 | */ | 12 | */ |
13 | #include <linux/init.h> | 13 | #include <linux/init.h> |
14 | #include <linux/errno.h> | ||
15 | #include <linux/delay.h> | ||
16 | #include <linux/device.h> | ||
17 | #include <linux/smp.h> | 14 | #include <linux/smp.h> |
18 | #include <linux/io.h> | ||
19 | #include <linux/of.h> | ||
20 | #include <asm/hardware/gic.h> | 15 | #include <asm/hardware/gic.h> |
21 | #include <asm/mach-types.h> | ||
22 | #include <mach/common.h> | ||
23 | #include <mach/emev2.h> | ||
24 | 16 | ||
25 | #ifdef CONFIG_ARCH_SH73A0 | 17 | void __init shmobile_smp_init_cpus(unsigned int ncores) |
26 | #define is_sh73a0() (machine_is_ag5evm() || machine_is_kota2() || \ | ||
27 | of_machine_is_compatible("renesas,sh73a0")) | ||
28 | #else | ||
29 | #define is_sh73a0() (0) | ||
30 | #endif | ||
31 | |||
32 | #define is_r8a7779() machine_is_marzen() | ||
33 | |||
34 | #ifdef CONFIG_ARCH_EMEV2 | ||
35 | #define is_emev2() of_machine_is_compatible("renesas,emev2") | ||
36 | #else | ||
37 | #define is_emev2() (0) | ||
38 | #endif | ||
39 | |||
40 | static unsigned int __init shmobile_smp_get_core_count(void) | ||
41 | { | ||
42 | if (is_sh73a0()) | ||
43 | return sh73a0_get_core_count(); | ||
44 | |||
45 | if (is_r8a7779()) | ||
46 | return r8a7779_get_core_count(); | ||
47 | |||
48 | if (is_emev2()) | ||
49 | return emev2_get_core_count(); | ||
50 | |||
51 | return 1; | ||
52 | } | ||
53 | |||
54 | static void __init shmobile_smp_prepare_cpus(void) | ||
55 | { | ||
56 | if (is_sh73a0()) | ||
57 | sh73a0_smp_prepare_cpus(); | ||
58 | |||
59 | if (is_r8a7779()) | ||
60 | r8a7779_smp_prepare_cpus(); | ||
61 | |||
62 | if (is_emev2()) | ||
63 | emev2_smp_prepare_cpus(); | ||
64 | } | ||
65 | |||
66 | int shmobile_platform_cpu_kill(unsigned int cpu) | ||
67 | { | ||
68 | if (is_r8a7779()) | ||
69 | return r8a7779_platform_cpu_kill(cpu); | ||
70 | |||
71 | if (is_emev2()) | ||
72 | return emev2_platform_cpu_kill(cpu); | ||
73 | |||
74 | return 1; | ||
75 | } | ||
76 | |||
77 | void __cpuinit platform_secondary_init(unsigned int cpu) | ||
78 | { | 18 | { |
79 | trace_hardirqs_off(); | ||
80 | |||
81 | if (is_sh73a0()) | ||
82 | sh73a0_secondary_init(cpu); | ||
83 | |||
84 | if (is_r8a7779()) | ||
85 | r8a7779_secondary_init(cpu); | ||
86 | |||
87 | if (is_emev2()) | ||
88 | emev2_secondary_init(cpu); | ||
89 | } | ||
90 | |||
91 | int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle) | ||
92 | { | ||
93 | if (is_sh73a0()) | ||
94 | return sh73a0_boot_secondary(cpu); | ||
95 | |||
96 | if (is_r8a7779()) | ||
97 | return r8a7779_boot_secondary(cpu); | ||
98 | |||
99 | if (is_emev2()) | ||
100 | return emev2_boot_secondary(cpu); | ||
101 | |||
102 | return -ENOSYS; | ||
103 | } | ||
104 | |||
105 | void __init smp_init_cpus(void) | ||
106 | { | ||
107 | unsigned int ncores = shmobile_smp_get_core_count(); | ||
108 | unsigned int i; | 19 | unsigned int i; |
109 | 20 | ||
110 | if (ncores > nr_cpu_ids) { | 21 | if (ncores > nr_cpu_ids) { |
@@ -118,8 +29,3 @@ void __init smp_init_cpus(void) | |||
118 | 29 | ||
119 | set_smp_cross_call(gic_raise_softirq); | 30 | set_smp_cross_call(gic_raise_softirq); |
120 | } | 31 | } |
121 | |||
122 | void __init platform_smp_prepare_cpus(unsigned int max_cpus) | ||
123 | { | ||
124 | shmobile_smp_prepare_cpus(); | ||
125 | } | ||
diff --git a/arch/arm/mach-shmobile/setup-emev2.c b/arch/arm/mach-shmobile/setup-emev2.c index 61446f30e397..a47beeb18283 100644 --- a/arch/arm/mach-shmobile/setup-emev2.c +++ b/arch/arm/mach-shmobile/setup-emev2.c | |||
@@ -461,6 +461,7 @@ void __init emev2_init_irq_dt(void) | |||
461 | } | 461 | } |
462 | 462 | ||
463 | DT_MACHINE_START(EMEV2_DT, "Generic Emma Mobile EV2 (Flattened Device Tree)") | 463 | DT_MACHINE_START(EMEV2_DT, "Generic Emma Mobile EV2 (Flattened Device Tree)") |
464 | .smp = smp_ops(emev2_smp_ops), | ||
464 | .init_early = emev2_init_delay, | 465 | .init_early = emev2_init_delay, |
465 | .nr_irqs = NR_IRQS_LEGACY, | 466 | .nr_irqs = NR_IRQS_LEGACY, |
466 | .init_irq = emev2_init_irq_dt, | 467 | .init_irq = emev2_init_irq_dt, |
diff --git a/arch/arm/mach-shmobile/include/mach/gpio.h b/arch/arm/mach-shmobile/sh-gpio.h index 90a92b2c1c52..e834763ac2a5 100644 --- a/arch/arm/mach-shmobile/include/mach/gpio.h +++ b/arch/arm/mach-shmobile/sh-gpio.h | |||
@@ -12,22 +12,8 @@ | |||
12 | 12 | ||
13 | #include <linux/kernel.h> | 13 | #include <linux/kernel.h> |
14 | #include <linux/errno.h> | 14 | #include <linux/errno.h> |
15 | #include <linux/sh_pfc.h> | ||
16 | #include <linux/io.h> | 15 | #include <linux/io.h> |
17 | 16 | ||
18 | #ifdef CONFIG_GPIOLIB | ||
19 | |||
20 | static inline int irq_to_gpio(unsigned int irq) | ||
21 | { | ||
22 | return -ENOSYS; | ||
23 | } | ||
24 | |||
25 | #else | ||
26 | |||
27 | #define __ARM_GPIOLIB_COMPLEX | ||
28 | |||
29 | #endif /* CONFIG_GPIOLIB */ | ||
30 | |||
31 | /* | 17 | /* |
32 | * FIXME !! | 18 | * FIXME !! |
33 | * | 19 | * |
diff --git a/arch/arm/mach-shmobile/smp-emev2.c b/arch/arm/mach-shmobile/smp-emev2.c index 6a35c4a31e6c..f978c5d0e1ae 100644 --- a/arch/arm/mach-shmobile/smp-emev2.c +++ b/arch/arm/mach-shmobile/smp-emev2.c | |||
@@ -50,7 +50,7 @@ static void modify_scu_cpu_psr(unsigned long set, unsigned long clr) | |||
50 | 50 | ||
51 | } | 51 | } |
52 | 52 | ||
53 | unsigned int __init emev2_get_core_count(void) | 53 | static unsigned int __init emev2_get_core_count(void) |
54 | { | 54 | { |
55 | if (!scu_base) { | 55 | if (!scu_base) { |
56 | scu_base = ioremap(EMEV2_SCU_BASE, PAGE_SIZE); | 56 | scu_base = ioremap(EMEV2_SCU_BASE, PAGE_SIZE); |
@@ -62,17 +62,35 @@ unsigned int __init emev2_get_core_count(void) | |||
62 | return scu_base ? scu_get_core_count(scu_base) : 1; | 62 | return scu_base ? scu_get_core_count(scu_base) : 1; |
63 | } | 63 | } |
64 | 64 | ||
65 | int emev2_platform_cpu_kill(unsigned int cpu) | 65 | static int emev2_platform_cpu_kill(unsigned int cpu) |
66 | { | 66 | { |
67 | return 0; /* not supported yet */ | 67 | return 0; /* not supported yet */ |
68 | } | 68 | } |
69 | 69 | ||
70 | void __cpuinit emev2_secondary_init(unsigned int cpu) | 70 | static int __maybe_unused emev2_cpu_kill(unsigned int cpu) |
71 | { | ||
72 | int k; | ||
73 | |||
74 | /* this function is running on another CPU than the offline target, | ||
75 | * here we need wait for shutdown code in platform_cpu_die() to | ||
76 | * finish before asking SoC-specific code to power off the CPU core. | ||
77 | */ | ||
78 | for (k = 0; k < 1000; k++) { | ||
79 | if (shmobile_cpu_is_dead(cpu)) | ||
80 | return emev2_platform_cpu_kill(cpu); | ||
81 | mdelay(1); | ||
82 | } | ||
83 | |||
84 | return 0; | ||
85 | } | ||
86 | |||
87 | |||
88 | static void __cpuinit emev2_secondary_init(unsigned int cpu) | ||
71 | { | 89 | { |
72 | gic_secondary_init(0); | 90 | gic_secondary_init(0); |
73 | } | 91 | } |
74 | 92 | ||
75 | int __cpuinit emev2_boot_secondary(unsigned int cpu) | 93 | static int __cpuinit emev2_boot_secondary(unsigned int cpu, struct task_struct *idle) |
76 | { | 94 | { |
77 | cpu = cpu_logical_map(cpu); | 95 | cpu = cpu_logical_map(cpu); |
78 | 96 | ||
@@ -86,7 +104,7 @@ int __cpuinit emev2_boot_secondary(unsigned int cpu) | |||
86 | return 0; | 104 | return 0; |
87 | } | 105 | } |
88 | 106 | ||
89 | void __init emev2_smp_prepare_cpus(void) | 107 | static void __init emev2_smp_prepare_cpus(unsigned int max_cpus) |
90 | { | 108 | { |
91 | int cpu = cpu_logical_map(0); | 109 | int cpu = cpu_logical_map(0); |
92 | 110 | ||
@@ -95,3 +113,22 @@ void __init emev2_smp_prepare_cpus(void) | |||
95 | /* enable cache coherency on CPU0 */ | 113 | /* enable cache coherency on CPU0 */ |
96 | modify_scu_cpu_psr(0, 3 << (cpu * 8)); | 114 | modify_scu_cpu_psr(0, 3 << (cpu * 8)); |
97 | } | 115 | } |
116 | |||
117 | static void __init emev2_smp_init_cpus(void) | ||
118 | { | ||
119 | unsigned int ncores = emev2_get_core_count(); | ||
120 | |||
121 | shmobile_smp_init_cpus(ncores); | ||
122 | } | ||
123 | |||
124 | struct smp_operations emev2_smp_ops __initdata = { | ||
125 | .smp_init_cpus = emev2_smp_init_cpus, | ||
126 | .smp_prepare_cpus = emev2_smp_prepare_cpus, | ||
127 | .smp_secondary_init = emev2_secondary_init, | ||
128 | .smp_boot_secondary = emev2_boot_secondary, | ||
129 | #ifdef CONFIG_HOTPLUG_CPU | ||
130 | .cpu_kill = emev2_cpu_kill, | ||
131 | .cpu_die = shmobile_cpu_die, | ||
132 | .cpu_disable = shmobile_cpu_disable, | ||
133 | #endif | ||
134 | }; | ||
diff --git a/arch/arm/mach-shmobile/smp-r8a7779.c b/arch/arm/mach-shmobile/smp-r8a7779.c index 6d1d0238cbf7..2ce6af9a6a37 100644 --- a/arch/arm/mach-shmobile/smp-r8a7779.c +++ b/arch/arm/mach-shmobile/smp-r8a7779.c | |||
@@ -87,14 +87,14 @@ static void modify_scu_cpu_psr(unsigned long set, unsigned long clr) | |||
87 | __raw_writel(tmp, scu_base + 8); | 87 | __raw_writel(tmp, scu_base + 8); |
88 | } | 88 | } |
89 | 89 | ||
90 | unsigned int __init r8a7779_get_core_count(void) | 90 | static unsigned int __init r8a7779_get_core_count(void) |
91 | { | 91 | { |
92 | void __iomem *scu_base = scu_base_addr(); | 92 | void __iomem *scu_base = scu_base_addr(); |
93 | 93 | ||
94 | return scu_get_core_count(scu_base); | 94 | return scu_get_core_count(scu_base); |
95 | } | 95 | } |
96 | 96 | ||
97 | int r8a7779_platform_cpu_kill(unsigned int cpu) | 97 | static int r8a7779_platform_cpu_kill(unsigned int cpu) |
98 | { | 98 | { |
99 | struct r8a7779_pm_ch *ch = NULL; | 99 | struct r8a7779_pm_ch *ch = NULL; |
100 | int ret = -EIO; | 100 | int ret = -EIO; |
@@ -113,12 +113,31 @@ int r8a7779_platform_cpu_kill(unsigned int cpu) | |||
113 | return ret ? ret : 1; | 113 | return ret ? ret : 1; |
114 | } | 114 | } |
115 | 115 | ||
116 | void __cpuinit r8a7779_secondary_init(unsigned int cpu) | 116 | static int __maybe_unused r8a7779_cpu_kill(unsigned int cpu) |
117 | { | ||
118 | int k; | ||
119 | |||
120 | /* this function is running on another CPU than the offline target, | ||
121 | * here we need wait for shutdown code in platform_cpu_die() to | ||
122 | * finish before asking SoC-specific code to power off the CPU core. | ||
123 | */ | ||
124 | for (k = 0; k < 1000; k++) { | ||
125 | if (shmobile_cpu_is_dead(cpu)) | ||
126 | return r8a7779_platform_cpu_kill(cpu); | ||
127 | |||
128 | mdelay(1); | ||
129 | } | ||
130 | |||
131 | return 0; | ||
132 | } | ||
133 | |||
134 | |||
135 | static void __cpuinit r8a7779_secondary_init(unsigned int cpu) | ||
117 | { | 136 | { |
118 | gic_secondary_init(0); | 137 | gic_secondary_init(0); |
119 | } | 138 | } |
120 | 139 | ||
121 | int __cpuinit r8a7779_boot_secondary(unsigned int cpu) | 140 | static int __cpuinit r8a7779_boot_secondary(unsigned int cpu, struct task_struct *idle) |
122 | { | 141 | { |
123 | struct r8a7779_pm_ch *ch = NULL; | 142 | struct r8a7779_pm_ch *ch = NULL; |
124 | int ret = -EIO; | 143 | int ret = -EIO; |
@@ -137,7 +156,7 @@ int __cpuinit r8a7779_boot_secondary(unsigned int cpu) | |||
137 | return ret; | 156 | return ret; |
138 | } | 157 | } |
139 | 158 | ||
140 | void __init r8a7779_smp_prepare_cpus(void) | 159 | static void __init r8a7779_smp_prepare_cpus(unsigned int max_cpus) |
141 | { | 160 | { |
142 | int cpu = cpu_logical_map(0); | 161 | int cpu = cpu_logical_map(0); |
143 | 162 | ||
@@ -156,3 +175,22 @@ void __init r8a7779_smp_prepare_cpus(void) | |||
156 | r8a7779_platform_cpu_kill(2); | 175 | r8a7779_platform_cpu_kill(2); |
157 | r8a7779_platform_cpu_kill(3); | 176 | r8a7779_platform_cpu_kill(3); |
158 | } | 177 | } |
178 | |||
179 | static void __init r8a7779_smp_init_cpus(void) | ||
180 | { | ||
181 | unsigned int ncores = r8a7779_get_core_count(); | ||
182 | |||
183 | shmobile_smp_init_cpus(ncores); | ||
184 | } | ||
185 | |||
186 | struct smp_operations r8a7779_smp_ops __initdata = { | ||
187 | .smp_init_cpus = r8a7779_smp_init_cpus, | ||
188 | .smp_prepare_cpus = r8a7779_smp_prepare_cpus, | ||
189 | .smp_secondary_init = r8a7779_secondary_init, | ||
190 | .smp_boot_secondary = r8a7779_boot_secondary, | ||
191 | #ifdef CONFIG_HOTPLUG_CPU | ||
192 | .cpu_kill = r8a7779_cpu_kill, | ||
193 | .cpu_die = shmobile_cpu_die, | ||
194 | .cpu_disable = shmobile_cpu_disable, | ||
195 | #endif | ||
196 | }; | ||
diff --git a/arch/arm/mach-shmobile/smp-sh73a0.c b/arch/arm/mach-shmobile/smp-sh73a0.c index e36c41c4ab40..624f00f70abf 100644 --- a/arch/arm/mach-shmobile/smp-sh73a0.c +++ b/arch/arm/mach-shmobile/smp-sh73a0.c | |||
@@ -22,8 +22,10 @@ | |||
22 | #include <linux/smp.h> | 22 | #include <linux/smp.h> |
23 | #include <linux/spinlock.h> | 23 | #include <linux/spinlock.h> |
24 | #include <linux/io.h> | 24 | #include <linux/io.h> |
25 | #include <linux/delay.h> | ||
25 | #include <mach/common.h> | 26 | #include <mach/common.h> |
26 | #include <asm/smp_plat.h> | 27 | #include <asm/smp_plat.h> |
28 | #include <mach/sh73a0.h> | ||
27 | #include <asm/smp_scu.h> | 29 | #include <asm/smp_scu.h> |
28 | #include <asm/smp_twd.h> | 30 | #include <asm/smp_twd.h> |
29 | #include <asm/hardware/gic.h> | 31 | #include <asm/hardware/gic.h> |
@@ -64,19 +66,19 @@ static void modify_scu_cpu_psr(unsigned long set, unsigned long clr) | |||
64 | __raw_writel(tmp, scu_base + 8); | 66 | __raw_writel(tmp, scu_base + 8); |
65 | } | 67 | } |
66 | 68 | ||
67 | unsigned int __init sh73a0_get_core_count(void) | 69 | static unsigned int __init sh73a0_get_core_count(void) |
68 | { | 70 | { |
69 | void __iomem *scu_base = scu_base_addr(); | 71 | void __iomem *scu_base = scu_base_addr(); |
70 | 72 | ||
71 | return scu_get_core_count(scu_base); | 73 | return scu_get_core_count(scu_base); |
72 | } | 74 | } |
73 | 75 | ||
74 | void __cpuinit sh73a0_secondary_init(unsigned int cpu) | 76 | static void __cpuinit sh73a0_secondary_init(unsigned int cpu) |
75 | { | 77 | { |
76 | gic_secondary_init(0); | 78 | gic_secondary_init(0); |
77 | } | 79 | } |
78 | 80 | ||
79 | int __cpuinit sh73a0_boot_secondary(unsigned int cpu) | 81 | static int __cpuinit sh73a0_boot_secondary(unsigned int cpu, struct task_struct *idle) |
80 | { | 82 | { |
81 | cpu = cpu_logical_map(cpu); | 83 | cpu = cpu_logical_map(cpu); |
82 | 84 | ||
@@ -91,7 +93,7 @@ int __cpuinit sh73a0_boot_secondary(unsigned int cpu) | |||
91 | return 0; | 93 | return 0; |
92 | } | 94 | } |
93 | 95 | ||
94 | void __init sh73a0_smp_prepare_cpus(void) | 96 | static void __init sh73a0_smp_prepare_cpus(unsigned int max_cpus) |
95 | { | 97 | { |
96 | int cpu = cpu_logical_map(0); | 98 | int cpu = cpu_logical_map(0); |
97 | 99 | ||
@@ -104,3 +106,41 @@ void __init sh73a0_smp_prepare_cpus(void) | |||
104 | /* enable cache coherency on CPU0 */ | 106 | /* enable cache coherency on CPU0 */ |
105 | modify_scu_cpu_psr(0, 3 << (cpu * 8)); | 107 | modify_scu_cpu_psr(0, 3 << (cpu * 8)); |
106 | } | 108 | } |
109 | |||
110 | static void __init sh73a0_smp_init_cpus(void) | ||
111 | { | ||
112 | unsigned int ncores = sh73a0_get_core_count(); | ||
113 | |||
114 | shmobile_smp_init_cpus(ncores); | ||
115 | } | ||
116 | |||
117 | static int __maybe_unused sh73a0_cpu_kill(unsigned int cpu) | ||
118 | { | ||
119 | int k; | ||
120 | |||
121 | /* this function is running on another CPU than the offline target, | ||
122 | * here we need wait for shutdown code in platform_cpu_die() to | ||
123 | * finish before asking SoC-specific code to power off the CPU core. | ||
124 | */ | ||
125 | for (k = 0; k < 1000; k++) { | ||
126 | if (shmobile_cpu_is_dead(cpu)) | ||
127 | return 1; | ||
128 | |||
129 | mdelay(1); | ||
130 | } | ||
131 | |||
132 | return 0; | ||
133 | } | ||
134 | |||
135 | |||
136 | struct smp_operations sh73a0_smp_ops __initdata = { | ||
137 | .smp_init_cpus = sh73a0_smp_init_cpus, | ||
138 | .smp_prepare_cpus = sh73a0_smp_prepare_cpus, | ||
139 | .smp_secondary_init = sh73a0_secondary_init, | ||
140 | .smp_boot_secondary = sh73a0_boot_secondary, | ||
141 | #ifdef CONFIG_HOTPLUG_CPU | ||
142 | .cpu_kill = sh73a0_cpu_kill, | ||
143 | .cpu_die = shmobile_cpu_die, | ||
144 | .cpu_disable = shmobile_cpu_disable, | ||
145 | #endif | ||
146 | }; | ||
diff --git a/arch/arm/mach-socfpga/Kconfig b/arch/arm/mach-socfpga/Kconfig new file mode 100644 index 000000000000..803a3281feb5 --- /dev/null +++ b/arch/arm/mach-socfpga/Kconfig | |||
@@ -0,0 +1,16 @@ | |||
1 | config ARCH_SOCFPGA | ||
2 | bool "Altera SOCFPGA family" if ARCH_MULTI_V7 | ||
3 | select ARCH_WANT_OPTIONAL_GPIOLIB | ||
4 | select ARM_AMBA | ||
5 | select ARM_GIC | ||
6 | select CACHE_L2X0 | ||
7 | select CLKDEV_LOOKUP | ||
8 | select COMMON_CLK | ||
9 | select CPU_V7 | ||
10 | select DW_APB_TIMER | ||
11 | select DW_APB_TIMER_OF | ||
12 | select GENERIC_CLOCKEVENTS | ||
13 | select GPIO_PL061 if GPIOLIB | ||
14 | select HAVE_ARM_SCU | ||
15 | select SPARSE_IRQ | ||
16 | select USE_OF | ||
diff --git a/arch/arm/mach-socfpga/Makefile.boot b/arch/arm/mach-socfpga/Makefile.boot deleted file mode 100644 index dae9661a7689..000000000000 --- a/arch/arm/mach-socfpga/Makefile.boot +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | zreladdr-y := 0x00008000 | ||
diff --git a/arch/arm/mach-socfpga/include/mach/timex.h b/arch/arm/mach-socfpga/include/mach/timex.h deleted file mode 100644 index 43df4354e461..000000000000 --- a/arch/arm/mach-socfpga/include/mach/timex.h +++ /dev/null | |||
@@ -1,19 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2003 ARM Limited | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | * GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program; if not, write to the Free Software | ||
16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
17 | */ | ||
18 | |||
19 | #define CLOCK_TICK_RATE (50000000 / 16) | ||
diff --git a/arch/arm/mach-socfpga/include/mach/uncompress.h b/arch/arm/mach-socfpga/include/mach/uncompress.h deleted file mode 100644 index bbe20e696325..000000000000 --- a/arch/arm/mach-socfpga/include/mach/uncompress.h +++ /dev/null | |||
@@ -1,9 +0,0 @@ | |||
1 | #ifndef __MACH_UNCOMPRESS_H | ||
2 | #define __MACH_UNCOMPRESS_H | ||
3 | |||
4 | #define putc(c) | ||
5 | #define flush() | ||
6 | #define arch_decomp_setup() | ||
7 | #define arch_decomp_wdog() | ||
8 | |||
9 | #endif | ||
diff --git a/arch/arm/mach-spear13xx/Makefile.boot b/arch/arm/mach-spear13xx/Makefile.boot index 403efd7e6d27..4674a4c221db 100644 --- a/arch/arm/mach-spear13xx/Makefile.boot +++ b/arch/arm/mach-spear13xx/Makefile.boot | |||
@@ -1,6 +1,3 @@ | |||
1 | zreladdr-y += 0x00008000 | 1 | zreladdr-y += 0x00008000 |
2 | params_phys-y := 0x00000100 | 2 | params_phys-y := 0x00000100 |
3 | initrd_phys-y := 0x00800000 | 3 | initrd_phys-y := 0x00800000 |
4 | |||
5 | dtb-$(CONFIG_MACH_SPEAR1310) += spear1310-evb.dtb | ||
6 | dtb-$(CONFIG_MACH_SPEAR1340) += spear1340-evb.dtb | ||
diff --git a/arch/arm/mach-spear13xx/hotplug.c b/arch/arm/mach-spear13xx/hotplug.c index 5c6867b46d09..a7d2dd11a4f2 100644 --- a/arch/arm/mach-spear13xx/hotplug.c +++ b/arch/arm/mach-spear13xx/hotplug.c | |||
@@ -17,8 +17,6 @@ | |||
17 | #include <asm/cp15.h> | 17 | #include <asm/cp15.h> |
18 | #include <asm/smp_plat.h> | 18 | #include <asm/smp_plat.h> |
19 | 19 | ||
20 | extern volatile int pen_release; | ||
21 | |||
22 | static inline void cpu_enter_lowpower(void) | 20 | static inline void cpu_enter_lowpower(void) |
23 | { | 21 | { |
24 | unsigned int v; | 22 | unsigned int v; |
@@ -56,7 +54,7 @@ static inline void cpu_leave_lowpower(void) | |||
56 | : "cc"); | 54 | : "cc"); |
57 | } | 55 | } |
58 | 56 | ||
59 | static inline void platform_do_lowpower(unsigned int cpu, int *spurious) | 57 | static inline void spear13xx_do_lowpower(unsigned int cpu, int *spurious) |
60 | { | 58 | { |
61 | for (;;) { | 59 | for (;;) { |
62 | wfi(); | 60 | wfi(); |
@@ -79,17 +77,12 @@ static inline void platform_do_lowpower(unsigned int cpu, int *spurious) | |||
79 | } | 77 | } |
80 | } | 78 | } |
81 | 79 | ||
82 | int platform_cpu_kill(unsigned int cpu) | ||
83 | { | ||
84 | return 1; | ||
85 | } | ||
86 | |||
87 | /* | 80 | /* |
88 | * platform-specific code to shutdown a CPU | 81 | * platform-specific code to shutdown a CPU |
89 | * | 82 | * |
90 | * Called with IRQs disabled | 83 | * Called with IRQs disabled |
91 | */ | 84 | */ |
92 | void __cpuinit platform_cpu_die(unsigned int cpu) | 85 | void __ref spear13xx_cpu_die(unsigned int cpu) |
93 | { | 86 | { |
94 | int spurious = 0; | 87 | int spurious = 0; |
95 | 88 | ||
@@ -97,7 +90,7 @@ void __cpuinit platform_cpu_die(unsigned int cpu) | |||
97 | * we're ready for shutdown now, so do it | 90 | * we're ready for shutdown now, so do it |
98 | */ | 91 | */ |
99 | cpu_enter_lowpower(); | 92 | cpu_enter_lowpower(); |
100 | platform_do_lowpower(cpu, &spurious); | 93 | spear13xx_do_lowpower(cpu, &spurious); |
101 | 94 | ||
102 | /* | 95 | /* |
103 | * bring this CPU back into the world of cache | 96 | * bring this CPU back into the world of cache |
@@ -108,12 +101,3 @@ void __cpuinit platform_cpu_die(unsigned int cpu) | |||
108 | if (spurious) | 101 | if (spurious) |
109 | pr_warn("CPU%u: %u spurious wakeup calls\n", cpu, spurious); | 102 | pr_warn("CPU%u: %u spurious wakeup calls\n", cpu, spurious); |
110 | } | 103 | } |
111 | |||
112 | int platform_cpu_disable(unsigned int cpu) | ||
113 | { | ||
114 | /* | ||
115 | * we don't allow CPU 0 to be shutdown (it is still too special | ||
116 | * e.g. clock tick interrupts) | ||
117 | */ | ||
118 | return cpu == 0 ? -EPERM : 0; | ||
119 | } | ||
diff --git a/arch/arm/mach-spear13xx/include/mach/generic.h b/arch/arm/mach-spear13xx/include/mach/generic.h index dac57fd0cdfd..c33f4d9361bd 100644 --- a/arch/arm/mach-spear13xx/include/mach/generic.h +++ b/arch/arm/mach-spear13xx/include/mach/generic.h | |||
@@ -33,6 +33,9 @@ void __init spear13xx_l2x0_init(void); | |||
33 | bool dw_dma_filter(struct dma_chan *chan, void *slave); | 33 | bool dw_dma_filter(struct dma_chan *chan, void *slave); |
34 | void spear_restart(char, const char *); | 34 | void spear_restart(char, const char *); |
35 | void spear13xx_secondary_startup(void); | 35 | void spear13xx_secondary_startup(void); |
36 | void __cpuinit spear13xx_cpu_die(unsigned int cpu); | ||
37 | |||
38 | extern struct smp_operations spear13xx_smp_ops; | ||
36 | 39 | ||
37 | #ifdef CONFIG_MACH_SPEAR1310 | 40 | #ifdef CONFIG_MACH_SPEAR1310 |
38 | void __init spear1310_clk_init(void); | 41 | void __init spear1310_clk_init(void); |
diff --git a/arch/arm/mach-spear13xx/include/mach/gpio.h b/arch/arm/mach-spear13xx/include/mach/gpio.h deleted file mode 100644 index 85f176311f63..000000000000 --- a/arch/arm/mach-spear13xx/include/mach/gpio.h +++ /dev/null | |||
@@ -1,19 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-spear13xx/include/mach/gpio.h | ||
3 | * | ||
4 | * GPIO macros for SPEAr13xx machine family | ||
5 | * | ||
6 | * Copyright (C) 2012 ST Microelectronics | ||
7 | * Viresh Kumar <viresh.linux@gmail.com> | ||
8 | * | ||
9 | * This file is licensed under the terms of the GNU General Public | ||
10 | * License version 2. This program is licensed "as is" without any | ||
11 | * warranty of any kind, whether express or implied. | ||
12 | */ | ||
13 | |||
14 | #ifndef __MACH_GPIO_H | ||
15 | #define __MACH_GPIO_H | ||
16 | |||
17 | #include <plat/gpio.h> | ||
18 | |||
19 | #endif /* __MACH_GPIO_H */ | ||
diff --git a/arch/arm/mach-spear13xx/platsmp.c b/arch/arm/mach-spear13xx/platsmp.c index f5d07f2663d7..2eaa3fa7b432 100644 --- a/arch/arm/mach-spear13xx/platsmp.c +++ b/arch/arm/mach-spear13xx/platsmp.c | |||
@@ -19,18 +19,13 @@ | |||
19 | #include <asm/hardware/gic.h> | 19 | #include <asm/hardware/gic.h> |
20 | #include <asm/smp_scu.h> | 20 | #include <asm/smp_scu.h> |
21 | #include <mach/spear.h> | 21 | #include <mach/spear.h> |
22 | #include <mach/generic.h> | ||
22 | 23 | ||
23 | /* | ||
24 | * control for which core is the next to come out of the secondary | ||
25 | * boot "holding pen" | ||
26 | */ | ||
27 | volatile int __cpuinitdata pen_release = -1; | ||
28 | static DEFINE_SPINLOCK(boot_lock); | 24 | static DEFINE_SPINLOCK(boot_lock); |
29 | 25 | ||
30 | static void __iomem *scu_base = IOMEM(VA_SCU_BASE); | 26 | static void __iomem *scu_base = IOMEM(VA_SCU_BASE); |
31 | extern void spear13xx_secondary_startup(void); | ||
32 | 27 | ||
33 | void __cpuinit platform_secondary_init(unsigned int cpu) | 28 | static void __cpuinit spear13xx_secondary_init(unsigned int cpu) |
34 | { | 29 | { |
35 | /* | 30 | /* |
36 | * if any interrupts are already enabled for the primary | 31 | * if any interrupts are already enabled for the primary |
@@ -53,7 +48,7 @@ void __cpuinit platform_secondary_init(unsigned int cpu) | |||
53 | spin_unlock(&boot_lock); | 48 | spin_unlock(&boot_lock); |
54 | } | 49 | } |
55 | 50 | ||
56 | int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle) | 51 | static int __cpuinit spear13xx_boot_secondary(unsigned int cpu, struct task_struct *idle) |
57 | { | 52 | { |
58 | unsigned long timeout; | 53 | unsigned long timeout; |
59 | 54 | ||
@@ -97,7 +92,7 @@ int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle) | |||
97 | * Initialise the CPU possible map early - this describes the CPUs | 92 | * Initialise the CPU possible map early - this describes the CPUs |
98 | * which may be present or become present in the system. | 93 | * which may be present or become present in the system. |
99 | */ | 94 | */ |
100 | void __init smp_init_cpus(void) | 95 | static void __init spear13xx_smp_init_cpus(void) |
101 | { | 96 | { |
102 | unsigned int i, ncores = scu_get_core_count(scu_base); | 97 | unsigned int i, ncores = scu_get_core_count(scu_base); |
103 | 98 | ||
@@ -113,7 +108,7 @@ void __init smp_init_cpus(void) | |||
113 | set_smp_cross_call(gic_raise_softirq); | 108 | set_smp_cross_call(gic_raise_softirq); |
114 | } | 109 | } |
115 | 110 | ||
116 | void __init platform_smp_prepare_cpus(unsigned int max_cpus) | 111 | static void __init spear13xx_smp_prepare_cpus(unsigned int max_cpus) |
117 | { | 112 | { |
118 | 113 | ||
119 | scu_enable(scu_base); | 114 | scu_enable(scu_base); |
@@ -125,3 +120,13 @@ void __init platform_smp_prepare_cpus(unsigned int max_cpus) | |||
125 | */ | 120 | */ |
126 | __raw_writel(virt_to_phys(spear13xx_secondary_startup), SYS_LOCATION); | 121 | __raw_writel(virt_to_phys(spear13xx_secondary_startup), SYS_LOCATION); |
127 | } | 122 | } |
123 | |||
124 | struct smp_operations spear13xx_smp_ops __initdata = { | ||
125 | .smp_init_cpus = spear13xx_smp_init_cpus, | ||
126 | .smp_prepare_cpus = spear13xx_smp_prepare_cpus, | ||
127 | .smp_secondary_init = spear13xx_secondary_init, | ||
128 | .smp_boot_secondary = spear13xx_boot_secondary, | ||
129 | #ifdef CONFIG_HOTPLUG_CPU | ||
130 | .cpu_die = spear13xx_cpu_die, | ||
131 | #endif | ||
132 | }; | ||
diff --git a/arch/arm/mach-spear13xx/spear1310.c b/arch/arm/mach-spear13xx/spear1310.c index 732d29bc7330..9fbbfc5650aa 100644 --- a/arch/arm/mach-spear13xx/spear1310.c +++ b/arch/arm/mach-spear13xx/spear1310.c | |||
@@ -78,6 +78,7 @@ static void __init spear1310_map_io(void) | |||
78 | } | 78 | } |
79 | 79 | ||
80 | DT_MACHINE_START(SPEAR1310_DT, "ST SPEAr1310 SoC with Flattened Device Tree") | 80 | DT_MACHINE_START(SPEAR1310_DT, "ST SPEAr1310 SoC with Flattened Device Tree") |
81 | .smp = smp_ops(spear13xx_smp_ops), | ||
81 | .map_io = spear1310_map_io, | 82 | .map_io = spear1310_map_io, |
82 | .init_irq = spear13xx_dt_init_irq, | 83 | .init_irq = spear13xx_dt_init_irq, |
83 | .handle_irq = gic_handle_irq, | 84 | .handle_irq = gic_handle_irq, |
diff --git a/arch/arm/mach-spear13xx/spear1340.c b/arch/arm/mach-spear13xx/spear1340.c index 81e4ed76ad06..081014fb314a 100644 --- a/arch/arm/mach-spear13xx/spear1340.c +++ b/arch/arm/mach-spear13xx/spear1340.c | |||
@@ -182,6 +182,7 @@ static const char * const spear1340_dt_board_compat[] = { | |||
182 | }; | 182 | }; |
183 | 183 | ||
184 | DT_MACHINE_START(SPEAR1340_DT, "ST SPEAr1340 SoC with Flattened Device Tree") | 184 | DT_MACHINE_START(SPEAR1340_DT, "ST SPEAr1340 SoC with Flattened Device Tree") |
185 | .smp = smp_ops(spear13xx_smp_ops), | ||
185 | .map_io = spear13xx_map_io, | 186 | .map_io = spear13xx_map_io, |
186 | .init_irq = spear13xx_dt_init_irq, | 187 | .init_irq = spear13xx_dt_init_irq, |
187 | .handle_irq = gic_handle_irq, | 188 | .handle_irq = gic_handle_irq, |
diff --git a/arch/arm/mach-spear3xx/Makefile.boot b/arch/arm/mach-spear3xx/Makefile.boot index d93e2177e6ec..4674a4c221db 100644 --- a/arch/arm/mach-spear3xx/Makefile.boot +++ b/arch/arm/mach-spear3xx/Makefile.boot | |||
@@ -1,7 +1,3 @@ | |||
1 | zreladdr-y += 0x00008000 | 1 | zreladdr-y += 0x00008000 |
2 | params_phys-y := 0x00000100 | 2 | params_phys-y := 0x00000100 |
3 | initrd_phys-y := 0x00800000 | 3 | initrd_phys-y := 0x00800000 |
4 | |||
5 | dtb-$(CONFIG_MACH_SPEAR300) += spear300-evb.dtb | ||
6 | dtb-$(CONFIG_MACH_SPEAR310) += spear310-evb.dtb | ||
7 | dtb-$(CONFIG_MACH_SPEAR320) += spear320-evb.dtb | ||
diff --git a/arch/arm/mach-spear3xx/include/mach/gpio.h b/arch/arm/mach-spear3xx/include/mach/gpio.h deleted file mode 100644 index 2ac74c6db7f1..000000000000 --- a/arch/arm/mach-spear3xx/include/mach/gpio.h +++ /dev/null | |||
@@ -1,19 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-spear3xx/include/mach/gpio.h | ||
3 | * | ||
4 | * GPIO macros for SPEAr3xx machine family | ||
5 | * | ||
6 | * Copyright (C) 2009 ST Microelectronics | ||
7 | * Viresh Kumar<viresh.linux@gmail.com> | ||
8 | * | ||
9 | * This file is licensed under the terms of the GNU General Public | ||
10 | * License version 2. This program is licensed "as is" without any | ||
11 | * warranty of any kind, whether express or implied. | ||
12 | */ | ||
13 | |||
14 | #ifndef __MACH_GPIO_H | ||
15 | #define __MACH_GPIO_H | ||
16 | |||
17 | #include <plat/gpio.h> | ||
18 | |||
19 | #endif /* __MACH_GPIO_H */ | ||
diff --git a/arch/arm/mach-spear6xx/Makefile.boot b/arch/arm/mach-spear6xx/Makefile.boot index af493da37ab6..4674a4c221db 100644 --- a/arch/arm/mach-spear6xx/Makefile.boot +++ b/arch/arm/mach-spear6xx/Makefile.boot | |||
@@ -1,5 +1,3 @@ | |||
1 | zreladdr-y += 0x00008000 | 1 | zreladdr-y += 0x00008000 |
2 | params_phys-y := 0x00000100 | 2 | params_phys-y := 0x00000100 |
3 | initrd_phys-y := 0x00800000 | 3 | initrd_phys-y := 0x00800000 |
4 | |||
5 | dtb-$(CONFIG_BOARD_SPEAR600_DT) += spear600-evb.dtb | ||
diff --git a/arch/arm/mach-spear6xx/include/mach/gpio.h b/arch/arm/mach-spear6xx/include/mach/gpio.h deleted file mode 100644 index d42cefc0356d..000000000000 --- a/arch/arm/mach-spear6xx/include/mach/gpio.h +++ /dev/null | |||
@@ -1,19 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-spear6xx/include/mach/gpio.h | ||
3 | * | ||
4 | * GPIO macros for SPEAr6xx machine family | ||
5 | * | ||
6 | * Copyright (C) 2009 ST Microelectronics | ||
7 | * Viresh Kumar <viresh.linux@gmail.com> | ||
8 | * | ||
9 | * This file is licensed under the terms of the GNU General Public | ||
10 | * License version 2. This program is licensed "as is" without any | ||
11 | * warranty of any kind, whether express or implied. | ||
12 | */ | ||
13 | |||
14 | #ifndef __MACH_GPIO_H | ||
15 | #define __MACH_GPIO_H | ||
16 | |||
17 | #include <plat/gpio.h> | ||
18 | |||
19 | #endif /* __MACH_GPIO_H */ | ||
diff --git a/arch/arm/mach-tegra/Makefile.boot b/arch/arm/mach-tegra/Makefile.boot index 54c16aade475..29433816233c 100644 --- a/arch/arm/mach-tegra/Makefile.boot +++ b/arch/arm/mach-tegra/Makefile.boot | |||
@@ -1,15 +1,3 @@ | |||
1 | zreladdr-$(CONFIG_ARCH_TEGRA_2x_SOC) += 0x00008000 | 1 | zreladdr-$(CONFIG_ARCH_TEGRA_2x_SOC) += 0x00008000 |
2 | params_phys-$(CONFIG_ARCH_TEGRA_2x_SOC) := 0x00000100 | 2 | params_phys-$(CONFIG_ARCH_TEGRA_2x_SOC) := 0x00000100 |
3 | initrd_phys-$(CONFIG_ARCH_TEGRA_2x_SOC) := 0x00800000 | 3 | initrd_phys-$(CONFIG_ARCH_TEGRA_2x_SOC) := 0x00800000 |
4 | |||
5 | dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-harmony.dtb | ||
6 | dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-medcom-wide.dtb | ||
7 | dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-paz00.dtb | ||
8 | dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-plutux.dtb | ||
9 | dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-seaboard.dtb | ||
10 | dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-tec.dtb | ||
11 | dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-trimslice.dtb | ||
12 | dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-ventana.dtb | ||
13 | dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-whistler.dtb | ||
14 | dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += tegra30-cardhu-a02.dtb | ||
15 | dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += tegra30-cardhu-a04.dtb | ||
diff --git a/arch/arm/mach-tegra/board-dt-tegra20.c b/arch/arm/mach-tegra/board-dt-tegra20.c index c3394443675e..57e235f4ac74 100644 --- a/arch/arm/mach-tegra/board-dt-tegra20.c +++ b/arch/arm/mach-tegra/board-dt-tegra20.c | |||
@@ -45,6 +45,7 @@ | |||
45 | 45 | ||
46 | #include "board.h" | 46 | #include "board.h" |
47 | #include "clock.h" | 47 | #include "clock.h" |
48 | #include "common.h" | ||
48 | 49 | ||
49 | struct tegra_ehci_platform_data tegra_ehci1_pdata = { | 50 | struct tegra_ehci_platform_data tegra_ehci1_pdata = { |
50 | .operating_mode = TEGRA_USB_OTG, | 51 | .operating_mode = TEGRA_USB_OTG, |
@@ -177,6 +178,7 @@ static const char *tegra20_dt_board_compat[] = { | |||
177 | 178 | ||
178 | DT_MACHINE_START(TEGRA_DT, "nVidia Tegra20 (Flattened Device Tree)") | 179 | DT_MACHINE_START(TEGRA_DT, "nVidia Tegra20 (Flattened Device Tree)") |
179 | .map_io = tegra_map_common_io, | 180 | .map_io = tegra_map_common_io, |
181 | .smp = smp_ops(tegra_smp_ops), | ||
180 | .init_early = tegra20_init_early, | 182 | .init_early = tegra20_init_early, |
181 | .init_irq = tegra_dt_init_irq, | 183 | .init_irq = tegra_dt_init_irq, |
182 | .handle_irq = gic_handle_irq, | 184 | .handle_irq = gic_handle_irq, |
diff --git a/arch/arm/mach-tegra/board-dt-tegra30.c b/arch/arm/mach-tegra/board-dt-tegra30.c index 53bf60f11580..e4a676d4ddf7 100644 --- a/arch/arm/mach-tegra/board-dt-tegra30.c +++ b/arch/arm/mach-tegra/board-dt-tegra30.c | |||
@@ -37,6 +37,7 @@ | |||
37 | 37 | ||
38 | #include "board.h" | 38 | #include "board.h" |
39 | #include "clock.h" | 39 | #include "clock.h" |
40 | #include "common.h" | ||
40 | 41 | ||
41 | struct of_dev_auxdata tegra30_auxdata_lookup[] __initdata = { | 42 | struct of_dev_auxdata tegra30_auxdata_lookup[] __initdata = { |
42 | OF_DEV_AUXDATA("nvidia,tegra20-sdhci", 0x78000000, "sdhci-tegra.0", NULL), | 43 | OF_DEV_AUXDATA("nvidia,tegra20-sdhci", 0x78000000, "sdhci-tegra.0", NULL), |
@@ -83,6 +84,7 @@ static const char *tegra30_dt_board_compat[] = { | |||
83 | }; | 84 | }; |
84 | 85 | ||
85 | DT_MACHINE_START(TEGRA30_DT, "NVIDIA Tegra30 (Flattened Device Tree)") | 86 | DT_MACHINE_START(TEGRA30_DT, "NVIDIA Tegra30 (Flattened Device Tree)") |
87 | .smp = smp_ops(tegra_smp_ops), | ||
86 | .map_io = tegra_map_common_io, | 88 | .map_io = tegra_map_common_io, |
87 | .init_early = tegra30_init_early, | 89 | .init_early = tegra30_init_early, |
88 | .init_irq = tegra_dt_init_irq, | 90 | .init_irq = tegra_dt_init_irq, |
diff --git a/arch/arm/mach-tegra/board-paz00.c b/arch/arm/mach-tegra/board-paz00.c index 59305516fadb..740e16f64728 100644 --- a/arch/arm/mach-tegra/board-paz00.c +++ b/arch/arm/mach-tegra/board-paz00.c | |||
@@ -19,7 +19,7 @@ | |||
19 | 19 | ||
20 | #include <linux/platform_device.h> | 20 | #include <linux/platform_device.h> |
21 | #include <linux/rfkill-gpio.h> | 21 | #include <linux/rfkill-gpio.h> |
22 | 22 | #include "board.h" | |
23 | #include "board-paz00.h" | 23 | #include "board-paz00.h" |
24 | 24 | ||
25 | static struct rfkill_gpio_platform_data wifi_rfkill_platform_data = { | 25 | static struct rfkill_gpio_platform_data wifi_rfkill_platform_data = { |
diff --git a/arch/arm/mach-tegra/common.c b/arch/arm/mach-tegra/common.c index 0560538bf598..0b0a5f556d34 100644 --- a/arch/arm/mach-tegra/common.c +++ b/arch/arm/mach-tegra/common.c | |||
@@ -31,6 +31,7 @@ | |||
31 | 31 | ||
32 | #include "board.h" | 32 | #include "board.h" |
33 | #include "clock.h" | 33 | #include "clock.h" |
34 | #include "common.h" | ||
34 | #include "fuse.h" | 35 | #include "fuse.h" |
35 | #include "pmc.h" | 36 | #include "pmc.h" |
36 | #include "apbio.h" | 37 | #include "apbio.h" |
diff --git a/arch/arm/mach-tegra/common.h b/arch/arm/mach-tegra/common.h new file mode 100644 index 000000000000..02f71b4f1e51 --- /dev/null +++ b/arch/arm/mach-tegra/common.h | |||
@@ -0,0 +1,4 @@ | |||
1 | extern struct smp_operations tegra_smp_ops; | ||
2 | |||
3 | extern void tegra_cpu_die(unsigned int cpu); | ||
4 | extern int tegra_cpu_disable(unsigned int cpu); | ||
diff --git a/arch/arm/mach-tegra/hotplug.c b/arch/arm/mach-tegra/hotplug.c index d02a35476135..dca5141a2c31 100644 --- a/arch/arm/mach-tegra/hotplug.c +++ b/arch/arm/mach-tegra/hotplug.c | |||
@@ -19,17 +19,12 @@ | |||
19 | 19 | ||
20 | static void (*tegra_hotplug_shutdown)(void); | 20 | static void (*tegra_hotplug_shutdown)(void); |
21 | 21 | ||
22 | int platform_cpu_kill(unsigned int cpu) | ||
23 | { | ||
24 | return 1; | ||
25 | } | ||
26 | |||
27 | /* | 22 | /* |
28 | * platform-specific code to shutdown a CPU | 23 | * platform-specific code to shutdown a CPU |
29 | * | 24 | * |
30 | * Called with IRQs disabled | 25 | * Called with IRQs disabled |
31 | */ | 26 | */ |
32 | void platform_cpu_die(unsigned int cpu) | 27 | void __ref tegra_cpu_die(unsigned int cpu) |
33 | { | 28 | { |
34 | cpu = cpu_logical_map(cpu); | 29 | cpu = cpu_logical_map(cpu); |
35 | 30 | ||
@@ -47,7 +42,7 @@ void platform_cpu_die(unsigned int cpu) | |||
47 | BUG(); | 42 | BUG(); |
48 | } | 43 | } |
49 | 44 | ||
50 | int platform_cpu_disable(unsigned int cpu) | 45 | int tegra_cpu_disable(unsigned int cpu) |
51 | { | 46 | { |
52 | /* | 47 | /* |
53 | * we don't allow CPU 0 to be shutdown (it is still too special | 48 | * we don't allow CPU 0 to be shutdown (it is still too special |
diff --git a/arch/arm/mach-tegra/include/mach/gpio.h b/arch/arm/mach-tegra/include/mach/gpio.h deleted file mode 100644 index 40a8c178f10d..000000000000 --- a/arch/arm/mach-tegra/include/mach/gpio.h +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | /* empty */ | ||
diff --git a/arch/arm/mach-tegra/include/mach/sdhci.h b/arch/arm/mach-tegra/include/mach/sdhci.h deleted file mode 100644 index 4231bc7b8652..000000000000 --- a/arch/arm/mach-tegra/include/mach/sdhci.h +++ /dev/null | |||
@@ -1,30 +0,0 @@ | |||
1 | /* | ||
2 | * include/asm-arm/arch-tegra/include/mach/sdhci.h | ||
3 | * | ||
4 | * Copyright (C) 2009 Palm, Inc. | ||
5 | * Author: Yvonne Yip <y@palm.com> | ||
6 | * | ||
7 | * This software is licensed under the terms of the GNU General Public | ||
8 | * License version 2, as published by the Free Software Foundation, and | ||
9 | * may be copied, distributed, and modified under those terms. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | */ | ||
17 | #ifndef __ASM_ARM_ARCH_TEGRA_SDHCI_H | ||
18 | #define __ASM_ARM_ARCH_TEGRA_SDHCI_H | ||
19 | |||
20 | #include <linux/mmc/host.h> | ||
21 | |||
22 | struct tegra_sdhci_platform_data { | ||
23 | int cd_gpio; | ||
24 | int wp_gpio; | ||
25 | int power_gpio; | ||
26 | int is_8bit; | ||
27 | int pm_flags; | ||
28 | }; | ||
29 | |||
30 | #endif | ||
diff --git a/arch/arm/mach-tegra/platsmp.c b/arch/arm/mach-tegra/platsmp.c index 96ed1718eef0..81cb26591acf 100644 --- a/arch/arm/mach-tegra/platsmp.c +++ b/arch/arm/mach-tegra/platsmp.c | |||
@@ -33,6 +33,8 @@ | |||
33 | #include "reset.h" | 33 | #include "reset.h" |
34 | #include "tegra_cpu_car.h" | 34 | #include "tegra_cpu_car.h" |
35 | 35 | ||
36 | #include "common.h" | ||
37 | |||
36 | extern void tegra_secondary_startup(void); | 38 | extern void tegra_secondary_startup(void); |
37 | 39 | ||
38 | static void __iomem *scu_base = IO_ADDRESS(TEGRA_ARM_PERIF_BASE); | 40 | static void __iomem *scu_base = IO_ADDRESS(TEGRA_ARM_PERIF_BASE); |
@@ -40,7 +42,7 @@ static void __iomem *scu_base = IO_ADDRESS(TEGRA_ARM_PERIF_BASE); | |||
40 | #define EVP_CPU_RESET_VECTOR \ | 42 | #define EVP_CPU_RESET_VECTOR \ |
41 | (IO_ADDRESS(TEGRA_EXCEPTION_VECTORS_BASE) + 0x100) | 43 | (IO_ADDRESS(TEGRA_EXCEPTION_VECTORS_BASE) + 0x100) |
42 | 44 | ||
43 | void __cpuinit platform_secondary_init(unsigned int cpu) | 45 | static void __cpuinit tegra_secondary_init(unsigned int cpu) |
44 | { | 46 | { |
45 | /* | 47 | /* |
46 | * if any interrupts are already enabled for the primary | 48 | * if any interrupts are already enabled for the primary |
@@ -100,7 +102,7 @@ static int tegra30_power_up_cpu(unsigned int cpu) | |||
100 | return 0; | 102 | return 0; |
101 | } | 103 | } |
102 | 104 | ||
103 | int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle) | 105 | static int __cpuinit tegra_boot_secondary(unsigned int cpu, struct task_struct *idle) |
104 | { | 106 | { |
105 | int status; | 107 | int status; |
106 | 108 | ||
@@ -146,7 +148,7 @@ done: | |||
146 | * Initialise the CPU possible map early - this describes the CPUs | 148 | * Initialise the CPU possible map early - this describes the CPUs |
147 | * which may be present or become present in the system. | 149 | * which may be present or become present in the system. |
148 | */ | 150 | */ |
149 | void __init smp_init_cpus(void) | 151 | static void __init tegra_smp_init_cpus(void) |
150 | { | 152 | { |
151 | unsigned int i, ncores = scu_get_core_count(scu_base); | 153 | unsigned int i, ncores = scu_get_core_count(scu_base); |
152 | 154 | ||
@@ -162,8 +164,19 @@ void __init smp_init_cpus(void) | |||
162 | set_smp_cross_call(gic_raise_softirq); | 164 | set_smp_cross_call(gic_raise_softirq); |
163 | } | 165 | } |
164 | 166 | ||
165 | void __init platform_smp_prepare_cpus(unsigned int max_cpus) | 167 | static void __init tegra_smp_prepare_cpus(unsigned int max_cpus) |
166 | { | 168 | { |
167 | tegra_cpu_reset_handler_init(); | 169 | tegra_cpu_reset_handler_init(); |
168 | scu_enable(scu_base); | 170 | scu_enable(scu_base); |
169 | } | 171 | } |
172 | |||
173 | struct smp_operations tegra_smp_ops __initdata = { | ||
174 | .smp_init_cpus = tegra_smp_init_cpus, | ||
175 | .smp_prepare_cpus = tegra_smp_prepare_cpus, | ||
176 | .smp_secondary_init = tegra_secondary_init, | ||
177 | .smp_boot_secondary = tegra_boot_secondary, | ||
178 | #ifdef CONFIG_HOTPLUG_CPU | ||
179 | .cpu_die = tegra_cpu_die, | ||
180 | .cpu_disable = tegra_cpu_disable, | ||
181 | #endif | ||
182 | }; | ||
diff --git a/arch/arm/mach-u300/include/mach/gpio.h b/arch/arm/mach-u300/include/mach/gpio.h deleted file mode 100644 index 40a8c178f10d..000000000000 --- a/arch/arm/mach-u300/include/mach/gpio.h +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | /* empty */ | ||
diff --git a/arch/arm/mach-ux500/Makefile.boot b/arch/arm/mach-ux500/Makefile.boot index dd5cd00e2554..760a0efe7580 100644 --- a/arch/arm/mach-ux500/Makefile.boot +++ b/arch/arm/mach-ux500/Makefile.boot | |||
@@ -1,5 +1,3 @@ | |||
1 | zreladdr-y += 0x00008000 | 1 | zreladdr-y += 0x00008000 |
2 | params_phys-y := 0x00000100 | 2 | params_phys-y := 0x00000100 |
3 | initrd_phys-y := 0x00800000 | 3 | initrd_phys-y := 0x00800000 |
4 | |||
5 | dtb-$(CONFIG_MACH_SNOWBALL) += snowball.dtb | ||
diff --git a/arch/arm/mach-ux500/board-mop500.c b/arch/arm/mach-ux500/board-mop500.c index 074791306c99..416d436111f2 100644 --- a/arch/arm/mach-ux500/board-mop500.c +++ b/arch/arm/mach-ux500/board-mop500.c | |||
@@ -49,7 +49,7 @@ | |||
49 | #include <mach/setup.h> | 49 | #include <mach/setup.h> |
50 | #include <mach/devices.h> | 50 | #include <mach/devices.h> |
51 | #include <mach/irqs.h> | 51 | #include <mach/irqs.h> |
52 | #include <mach/crypto-ux500.h> | 52 | #include <linux/platform_data/crypto-ux500.h> |
53 | 53 | ||
54 | #include "ste-dma40-db8500.h" | 54 | #include "ste-dma40-db8500.h" |
55 | #include "devices-db8500.h" | 55 | #include "devices-db8500.h" |
@@ -691,6 +691,7 @@ static void __init hrefv60_init_machine(void) | |||
691 | MACHINE_START(U8500, "ST-Ericsson MOP500 platform") | 691 | MACHINE_START(U8500, "ST-Ericsson MOP500 platform") |
692 | /* Maintainer: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com> */ | 692 | /* Maintainer: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com> */ |
693 | .atag_offset = 0x100, | 693 | .atag_offset = 0x100, |
694 | .smp = smp_ops(ux500_smp_ops), | ||
694 | .map_io = u8500_map_io, | 695 | .map_io = u8500_map_io, |
695 | .init_irq = ux500_init_irq, | 696 | .init_irq = ux500_init_irq, |
696 | /* we re-use nomadik timer here */ | 697 | /* we re-use nomadik timer here */ |
@@ -702,6 +703,7 @@ MACHINE_END | |||
702 | 703 | ||
703 | MACHINE_START(HREFV60, "ST-Ericsson U8500 Platform HREFv60+") | 704 | MACHINE_START(HREFV60, "ST-Ericsson U8500 Platform HREFv60+") |
704 | .atag_offset = 0x100, | 705 | .atag_offset = 0x100, |
706 | .smp = smp_ops(ux500_smp_ops), | ||
705 | .map_io = u8500_map_io, | 707 | .map_io = u8500_map_io, |
706 | .init_irq = ux500_init_irq, | 708 | .init_irq = ux500_init_irq, |
707 | .timer = &ux500_timer, | 709 | .timer = &ux500_timer, |
@@ -712,6 +714,7 @@ MACHINE_END | |||
712 | 714 | ||
713 | MACHINE_START(SNOWBALL, "Calao Systems Snowball platform") | 715 | MACHINE_START(SNOWBALL, "Calao Systems Snowball platform") |
714 | .atag_offset = 0x100, | 716 | .atag_offset = 0x100, |
717 | .smp = smp_ops(ux500_smp_ops), | ||
715 | .map_io = u8500_map_io, | 718 | .map_io = u8500_map_io, |
716 | .init_irq = ux500_init_irq, | 719 | .init_irq = ux500_init_irq, |
717 | /* we re-use nomadik timer here */ | 720 | /* we re-use nomadik timer here */ |
@@ -839,6 +842,7 @@ static const char * u8500_dt_board_compat[] = { | |||
839 | 842 | ||
840 | 843 | ||
841 | DT_MACHINE_START(U8500_DT, "ST-Ericsson U8500 platform (Device Tree Support)") | 844 | DT_MACHINE_START(U8500_DT, "ST-Ericsson U8500 platform (Device Tree Support)") |
845 | .smp = smp_ops(ux500_smp_ops), | ||
842 | .map_io = u8500_map_io, | 846 | .map_io = u8500_map_io, |
843 | .init_irq = ux500_init_irq, | 847 | .init_irq = ux500_init_irq, |
844 | /* we re-use nomadik timer here */ | 848 | /* we re-use nomadik timer here */ |
diff --git a/arch/arm/mach-ux500/cpu-db8500.c b/arch/arm/mach-ux500/cpu-db8500.c index 27a397f5a42c..bcdfe6b1d453 100644 --- a/arch/arm/mach-ux500/cpu-db8500.c +++ b/arch/arm/mach-ux500/cpu-db8500.c | |||
@@ -24,7 +24,7 @@ | |||
24 | #include <mach/hardware.h> | 24 | #include <mach/hardware.h> |
25 | #include <mach/setup.h> | 25 | #include <mach/setup.h> |
26 | #include <mach/devices.h> | 26 | #include <mach/devices.h> |
27 | #include <mach/usb.h> | 27 | #include <linux/platform_data/usb-musb-ux500.h> |
28 | #include <mach/db8500-regs.h> | 28 | #include <mach/db8500-regs.h> |
29 | 29 | ||
30 | #include "devices-db8500.h" | 30 | #include "devices-db8500.h" |
diff --git a/arch/arm/mach-ux500/devices-common.h b/arch/arm/mach-ux500/devices-common.h index ecdd8386cffb..7fbf0ba336e1 100644 --- a/arch/arm/mach-ux500/devices-common.h +++ b/arch/arm/mach-ux500/devices-common.h | |||
@@ -13,7 +13,7 @@ | |||
13 | #include <linux/sys_soc.h> | 13 | #include <linux/sys_soc.h> |
14 | #include <linux/amba/bus.h> | 14 | #include <linux/amba/bus.h> |
15 | #include <linux/platform_data/i2c-nomadik.h> | 15 | #include <linux/platform_data/i2c-nomadik.h> |
16 | #include <mach/crypto-ux500.h> | 16 | #include <linux/platform_data/crypto-ux500.h> |
17 | 17 | ||
18 | struct spi_master_cntlr; | 18 | struct spi_master_cntlr; |
19 | 19 | ||
diff --git a/arch/arm/mach-ux500/hotplug.c b/arch/arm/mach-ux500/hotplug.c index c76f0f456f04..2f6af259015d 100644 --- a/arch/arm/mach-ux500/hotplug.c +++ b/arch/arm/mach-ux500/hotplug.c | |||
@@ -15,13 +15,18 @@ | |||
15 | #include <asm/cacheflush.h> | 15 | #include <asm/cacheflush.h> |
16 | #include <asm/smp_plat.h> | 16 | #include <asm/smp_plat.h> |
17 | 17 | ||
18 | extern volatile int pen_release; | 18 | #include <mach/setup.h> |
19 | 19 | ||
20 | static inline void platform_do_lowpower(unsigned int cpu) | 20 | /* |
21 | * platform-specific code to shutdown a CPU | ||
22 | * | ||
23 | * Called with IRQs disabled | ||
24 | */ | ||
25 | void __ref ux500_cpu_die(unsigned int cpu) | ||
21 | { | 26 | { |
22 | flush_cache_all(); | 27 | flush_cache_all(); |
23 | 28 | ||
24 | /* we put the platform to just WFI */ | 29 | /* directly enter low power state, skipping secure registers */ |
25 | for (;;) { | 30 | for (;;) { |
26 | __asm__ __volatile__("dsb\n\t" "wfi\n\t" | 31 | __asm__ __volatile__("dsb\n\t" "wfi\n\t" |
27 | : : : "memory"); | 32 | : : : "memory"); |
@@ -33,28 +38,3 @@ static inline void platform_do_lowpower(unsigned int cpu) | |||
33 | } | 38 | } |
34 | } | 39 | } |
35 | } | 40 | } |
36 | |||
37 | int platform_cpu_kill(unsigned int cpu) | ||
38 | { | ||
39 | return 1; | ||
40 | } | ||
41 | |||
42 | /* | ||
43 | * platform-specific code to shutdown a CPU | ||
44 | * | ||
45 | * Called with IRQs disabled | ||
46 | */ | ||
47 | void platform_cpu_die(unsigned int cpu) | ||
48 | { | ||
49 | /* directly enter low power state, skipping secure registers */ | ||
50 | platform_do_lowpower(cpu); | ||
51 | } | ||
52 | |||
53 | int platform_cpu_disable(unsigned int cpu) | ||
54 | { | ||
55 | /* | ||
56 | * we don't allow CPU 0 to be shutdown (it is still too special | ||
57 | * e.g. clock tick interrupts) | ||
58 | */ | ||
59 | return cpu == 0 ? -EPERM : 0; | ||
60 | } | ||
diff --git a/arch/arm/mach-ux500/include/mach/crypto-ux500.h b/arch/arm/mach-ux500/include/mach/crypto-ux500.h deleted file mode 100644 index 5b2d0817e26a..000000000000 --- a/arch/arm/mach-ux500/include/mach/crypto-ux500.h +++ /dev/null | |||
@@ -1,22 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) ST-Ericsson SA 2011 | ||
3 | * | ||
4 | * Author: Joakim Bech <joakim.xx.bech@stericsson.com> for ST-Ericsson | ||
5 | * License terms: GNU General Public License (GPL) version 2 | ||
6 | */ | ||
7 | #ifndef _CRYPTO_UX500_H | ||
8 | #define _CRYPTO_UX500_H | ||
9 | #include <linux/dmaengine.h> | ||
10 | #include <plat/ste_dma40.h> | ||
11 | |||
12 | struct hash_platform_data { | ||
13 | void *mem_to_engine; | ||
14 | bool (*dma_filter)(struct dma_chan *chan, void *filter_param); | ||
15 | }; | ||
16 | |||
17 | struct cryp_platform_data { | ||
18 | struct stedma40_chan_cfg mem_to_engine; | ||
19 | struct stedma40_chan_cfg engine_to_mem; | ||
20 | }; | ||
21 | |||
22 | #endif | ||
diff --git a/arch/arm/mach-ux500/include/mach/gpio.h b/arch/arm/mach-ux500/include/mach/gpio.h deleted file mode 100644 index c01ef66537f3..000000000000 --- a/arch/arm/mach-ux500/include/mach/gpio.h +++ /dev/null | |||
@@ -1,5 +0,0 @@ | |||
1 | #ifndef __ASM_ARCH_GPIO_H | ||
2 | #define __ASM_ARCH_GPIO_H | ||
3 | |||
4 | |||
5 | #endif /* __ASM_ARCH_GPIO_H */ | ||
diff --git a/arch/arm/mach-ux500/include/mach/setup.h b/arch/arm/mach-ux500/include/mach/setup.h index 7914e5eaa9c7..6be4c4d2ab88 100644 --- a/arch/arm/mach-ux500/include/mach/setup.h +++ b/arch/arm/mach-ux500/include/mach/setup.h | |||
@@ -45,4 +45,7 @@ extern struct sys_timer ux500_timer; | |||
45 | .type = MT_MEMORY, \ | 45 | .type = MT_MEMORY, \ |
46 | } | 46 | } |
47 | 47 | ||
48 | extern struct smp_operations ux500_smp_ops; | ||
49 | extern void ux500_cpu_die(unsigned int cpu); | ||
50 | |||
48 | #endif /* __ASM_ARCH_SETUP_H */ | 51 | #endif /* __ASM_ARCH_SETUP_H */ |
diff --git a/arch/arm/mach-ux500/include/mach/usb.h b/arch/arm/mach-ux500/include/mach/usb.h deleted file mode 100644 index 4c1cc50a595a..000000000000 --- a/arch/arm/mach-ux500/include/mach/usb.h +++ /dev/null | |||
@@ -1,25 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) ST-Ericsson SA 2011 | ||
3 | * | ||
4 | * Author: Mian Yousaf Kaukab <mian.yousaf.kaukab@stericsson.com> | ||
5 | * License terms: GNU General Public License (GPL) version 2 | ||
6 | */ | ||
7 | #ifndef __ASM_ARCH_USB_H | ||
8 | #define __ASM_ARCH_USB_H | ||
9 | |||
10 | #include <linux/dmaengine.h> | ||
11 | |||
12 | #define UX500_MUSB_DMA_NUM_RX_CHANNELS 8 | ||
13 | #define UX500_MUSB_DMA_NUM_TX_CHANNELS 8 | ||
14 | |||
15 | struct ux500_musb_board_data { | ||
16 | void **dma_rx_param_array; | ||
17 | void **dma_tx_param_array; | ||
18 | u32 num_rx_channels; | ||
19 | u32 num_tx_channels; | ||
20 | bool (*dma_filter)(struct dma_chan *chan, void *filter_param); | ||
21 | }; | ||
22 | |||
23 | void ux500_add_usb(struct device *parent, resource_size_t base, | ||
24 | int irq, int *dma_rx_cfg, int *dma_tx_cfg); | ||
25 | #endif | ||
diff --git a/arch/arm/mach-ux500/platsmp.c b/arch/arm/mach-ux500/platsmp.c index a5dda68444db..3db7782f3afb 100644 --- a/arch/arm/mach-ux500/platsmp.c +++ b/arch/arm/mach-ux500/platsmp.c | |||
@@ -28,12 +28,6 @@ | |||
28 | extern void u8500_secondary_startup(void); | 28 | extern void u8500_secondary_startup(void); |
29 | 29 | ||
30 | /* | 30 | /* |
31 | * control for which core is the next to come out of the secondary | ||
32 | * boot "holding pen" | ||
33 | */ | ||
34 | volatile int pen_release = -1; | ||
35 | |||
36 | /* | ||
37 | * Write pen_release in a way that is guaranteed to be visible to all | 31 | * Write pen_release in a way that is guaranteed to be visible to all |
38 | * observers, irrespective of whether they're taking part in coherency | 32 | * observers, irrespective of whether they're taking part in coherency |
39 | * or not. This is necessary for the hotplug code to work reliably. | 33 | * or not. This is necessary for the hotplug code to work reliably. |
@@ -58,7 +52,7 @@ static void __iomem *scu_base_addr(void) | |||
58 | 52 | ||
59 | static DEFINE_SPINLOCK(boot_lock); | 53 | static DEFINE_SPINLOCK(boot_lock); |
60 | 54 | ||
61 | void __cpuinit platform_secondary_init(unsigned int cpu) | 55 | static void __cpuinit ux500_secondary_init(unsigned int cpu) |
62 | { | 56 | { |
63 | /* | 57 | /* |
64 | * if any interrupts are already enabled for the primary | 58 | * if any interrupts are already enabled for the primary |
@@ -80,7 +74,7 @@ void __cpuinit platform_secondary_init(unsigned int cpu) | |||
80 | spin_unlock(&boot_lock); | 74 | spin_unlock(&boot_lock); |
81 | } | 75 | } |
82 | 76 | ||
83 | int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle) | 77 | static int __cpuinit ux500_boot_secondary(unsigned int cpu, struct task_struct *idle) |
84 | { | 78 | { |
85 | unsigned long timeout; | 79 | unsigned long timeout; |
86 | 80 | ||
@@ -145,7 +139,7 @@ static void __init wakeup_secondary(void) | |||
145 | * Initialise the CPU possible map early - this describes the CPUs | 139 | * Initialise the CPU possible map early - this describes the CPUs |
146 | * which may be present or become present in the system. | 140 | * which may be present or become present in the system. |
147 | */ | 141 | */ |
148 | void __init smp_init_cpus(void) | 142 | static void __init ux500_smp_init_cpus(void) |
149 | { | 143 | { |
150 | void __iomem *scu_base = scu_base_addr(); | 144 | void __iomem *scu_base = scu_base_addr(); |
151 | unsigned int i, ncores; | 145 | unsigned int i, ncores; |
@@ -165,9 +159,19 @@ void __init smp_init_cpus(void) | |||
165 | set_smp_cross_call(gic_raise_softirq); | 159 | set_smp_cross_call(gic_raise_softirq); |
166 | } | 160 | } |
167 | 161 | ||
168 | void __init platform_smp_prepare_cpus(unsigned int max_cpus) | 162 | static void __init ux500_smp_prepare_cpus(unsigned int max_cpus) |
169 | { | 163 | { |
170 | 164 | ||
171 | scu_enable(scu_base_addr()); | 165 | scu_enable(scu_base_addr()); |
172 | wakeup_secondary(); | 166 | wakeup_secondary(); |
173 | } | 167 | } |
168 | |||
169 | struct smp_operations ux500_smp_ops __initdata = { | ||
170 | .smp_init_cpus = ux500_smp_init_cpus, | ||
171 | .smp_prepare_cpus = ux500_smp_prepare_cpus, | ||
172 | .smp_secondary_init = ux500_secondary_init, | ||
173 | .smp_boot_secondary = ux500_boot_secondary, | ||
174 | #ifdef CONFIG_HOTPLUG_CPU | ||
175 | .cpu_die = ux500_cpu_die, | ||
176 | #endif | ||
177 | }; | ||
diff --git a/arch/arm/mach-ux500/usb.c b/arch/arm/mach-ux500/usb.c index a74af389bc63..145482e74418 100644 --- a/arch/arm/mach-ux500/usb.c +++ b/arch/arm/mach-ux500/usb.c | |||
@@ -10,7 +10,7 @@ | |||
10 | 10 | ||
11 | #include <plat/ste_dma40.h> | 11 | #include <plat/ste_dma40.h> |
12 | #include <mach/hardware.h> | 12 | #include <mach/hardware.h> |
13 | #include <mach/usb.h> | 13 | #include <linux/platform_data/usb-musb-ux500.h> |
14 | 14 | ||
15 | #define MUSB_DMA40_RX_CH { \ | 15 | #define MUSB_DMA40_RX_CH { \ |
16 | .mode = STEDMA40_MODE_LOGICAL, \ | 16 | .mode = STEDMA40_MODE_LOGICAL, \ |
diff --git a/arch/arm/mach-versatile/include/mach/gpio.h b/arch/arm/mach-versatile/include/mach/gpio.h deleted file mode 100644 index 40a8c178f10d..000000000000 --- a/arch/arm/mach-versatile/include/mach/gpio.h +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | /* empty */ | ||
diff --git a/arch/arm/mach-vexpress/Kconfig b/arch/arm/mach-vexpress/Kconfig index fc3730f01650..c95296066203 100644 --- a/arch/arm/mach-vexpress/Kconfig +++ b/arch/arm/mach-vexpress/Kconfig | |||
@@ -1,38 +1,23 @@ | |||
1 | menu "Versatile Express platform type" | 1 | config ARCH_VEXPRESS |
2 | depends on ARCH_VEXPRESS | 2 | bool "ARM Ltd. Versatile Express family" if ARCH_MULTI_V7 |
3 | 3 | select ARCH_WANT_OPTIONAL_GPIOLIB | |
4 | config ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA | 4 | select ARM_AMBA |
5 | bool "Enable A5 and A9 only errata work-arounds" | ||
6 | default y | ||
7 | select ARM_ERRATA_720789 | ||
8 | select ARM_ERRATA_751472 | ||
9 | select PL310_ERRATA_753970 if CACHE_PL310 | ||
10 | help | ||
11 | Provides common dependencies for Versatile Express platforms | ||
12 | based on Cortex-A5 and Cortex-A9 processors. In order to | ||
13 | build a working kernel, you must also enable relevant core | ||
14 | tile support or Flattened Device Tree based support options. | ||
15 | |||
16 | config ARCH_VEXPRESS_CA9X4 | ||
17 | bool "Versatile Express Cortex-A9x4 tile" | ||
18 | select ARM_GIC | ||
19 | select CPU_V7 | ||
20 | select HAVE_SMP | ||
21 | select MIGHT_HAVE_CACHE_L2X0 | ||
22 | |||
23 | config ARCH_VEXPRESS_DT | ||
24 | bool "Device Tree support for Versatile Express platforms" | ||
25 | select ARM_GIC | 5 | select ARM_GIC |
26 | select ARM_PATCH_PHYS_VIRT | 6 | select ARM_TIMER_SP804 |
27 | select AUTO_ZRELADDR | 7 | select CLKDEV_LOOKUP |
8 | select COMMON_CLK | ||
28 | select CPU_V7 | 9 | select CPU_V7 |
10 | select GENERIC_CLOCKEVENTS | ||
11 | select HAVE_CLK | ||
12 | select HAVE_PATA_PLATFORM | ||
29 | select HAVE_SMP | 13 | select HAVE_SMP |
14 | select ICST | ||
30 | select MIGHT_HAVE_CACHE_L2X0 | 15 | select MIGHT_HAVE_CACHE_L2X0 |
31 | select USE_OF | 16 | select NO_IOPORT |
17 | select PLAT_VERSATILE | ||
18 | select PLAT_VERSATILE_CLCD | ||
19 | select REGULATOR_FIXED_VOLTAGE if REGULATOR | ||
32 | help | 20 | help |
33 | New Versatile Express platforms require Flattened Device Tree to | ||
34 | be passed to the kernel. | ||
35 | |||
36 | This option enables support for systems using Cortex processor based | 21 | This option enables support for systems using Cortex processor based |
37 | ARM core and logic (FPGA) tiles on the Versatile Express motherboard, | 22 | ARM core and logic (FPGA) tiles on the Versatile Express motherboard, |
38 | for example: | 23 | for example: |
@@ -48,7 +33,22 @@ config ARCH_VEXPRESS_DT | |||
48 | platforms. The traditional (ATAGs) boot method is not usable on | 33 | platforms. The traditional (ATAGs) boot method is not usable on |
49 | these boards with this option. | 34 | these boards with this option. |
50 | 35 | ||
51 | If your bootloader supports Flattened Device Tree based booting, | 36 | menu "Versatile Express platform type" |
52 | say Y here. | 37 | depends on ARCH_VEXPRESS |
38 | |||
39 | config ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA | ||
40 | bool "Enable A5 and A9 only errata work-arounds" | ||
41 | default y | ||
42 | select ARM_ERRATA_720789 | ||
43 | select ARM_ERRATA_751472 | ||
44 | select PL310_ERRATA_753970 if CACHE_PL310 | ||
45 | help | ||
46 | Provides common dependencies for Versatile Express platforms | ||
47 | based on Cortex-A5 and Cortex-A9 processors. In order to | ||
48 | build a working kernel, you must also enable relevant core | ||
49 | tile support or Flattened Device Tree based support options. | ||
50 | |||
51 | config ARCH_VEXPRESS_CA9X4 | ||
52 | bool "Versatile Express Cortex-A9x4 tile" | ||
53 | 53 | ||
54 | endmenu | 54 | endmenu |
diff --git a/arch/arm/mach-vexpress/Makefile b/arch/arm/mach-vexpress/Makefile index 90551b9780ab..42703e8b4d3b 100644 --- a/arch/arm/mach-vexpress/Makefile +++ b/arch/arm/mach-vexpress/Makefile | |||
@@ -1,6 +1,8 @@ | |||
1 | # | 1 | # |
2 | # Makefile for the linux kernel. | 2 | # Makefile for the linux kernel. |
3 | # | 3 | # |
4 | ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/$(src)/include \ | ||
5 | -I$(srctree)/arch/arm/plat-versatile/include | ||
4 | 6 | ||
5 | obj-y := v2m.o | 7 | obj-y := v2m.o |
6 | obj-$(CONFIG_ARCH_VEXPRESS_CA9X4) += ct-ca9x4.o | 8 | obj-$(CONFIG_ARCH_VEXPRESS_CA9X4) += ct-ca9x4.o |
diff --git a/arch/arm/mach-vexpress/Makefile.boot b/arch/arm/mach-vexpress/Makefile.boot deleted file mode 100644 index 318d308dfb93..000000000000 --- a/arch/arm/mach-vexpress/Makefile.boot +++ /dev/null | |||
@@ -1,10 +0,0 @@ | |||
1 | # Those numbers are used only by the non-DT V2P-CA9 platform | ||
2 | # The DT-enabled ones require CONFIG_AUTO_ZRELADDR=y | ||
3 | zreladdr-y += 0x60008000 | ||
4 | params_phys-y := 0x60000100 | ||
5 | initrd_phys-y := 0x60800000 | ||
6 | |||
7 | dtb-$(CONFIG_ARCH_VEXPRESS_DT) += vexpress-v2p-ca5s.dtb \ | ||
8 | vexpress-v2p-ca9.dtb \ | ||
9 | vexpress-v2p-ca15-tc1.dtb \ | ||
10 | vexpress-v2p-ca15_a7.dtb | ||
diff --git a/arch/arm/mach-vexpress/core.h b/arch/arm/mach-vexpress/core.h index a3a4980770bd..f134cd4a85f1 100644 --- a/arch/arm/mach-vexpress/core.h +++ b/arch/arm/mach-vexpress/core.h | |||
@@ -5,3 +5,7 @@ | |||
5 | #define V2T_PERIPH 0xf8200000 | 5 | #define V2T_PERIPH 0xf8200000 |
6 | 6 | ||
7 | void vexpress_dt_smp_map_io(void); | 7 | void vexpress_dt_smp_map_io(void); |
8 | |||
9 | extern struct smp_operations vexpress_smp_ops; | ||
10 | |||
11 | extern void vexpress_cpu_die(unsigned int cpu); | ||
diff --git a/arch/arm/mach-vexpress/ct-ca9x4.c b/arch/arm/mach-vexpress/ct-ca9x4.c index e4073a60a864..4f471fa3e3c5 100644 --- a/arch/arm/mach-vexpress/ct-ca9x4.c +++ b/arch/arm/mach-vexpress/ct-ca9x4.c | |||
@@ -26,6 +26,7 @@ | |||
26 | #include "core.h" | 26 | #include "core.h" |
27 | 27 | ||
28 | #include <mach/motherboard.h> | 28 | #include <mach/motherboard.h> |
29 | #include <mach/irqs.h> | ||
29 | 30 | ||
30 | #include <plat/clcd.h> | 31 | #include <plat/clcd.h> |
31 | 32 | ||
diff --git a/arch/arm/mach-vexpress/hotplug.c b/arch/arm/mach-vexpress/hotplug.c index c504a72b94d6..a141b98d84fe 100644 --- a/arch/arm/mach-vexpress/hotplug.c +++ b/arch/arm/mach-vexpress/hotplug.c | |||
@@ -16,8 +16,6 @@ | |||
16 | #include <asm/smp_plat.h> | 16 | #include <asm/smp_plat.h> |
17 | #include <asm/cp15.h> | 17 | #include <asm/cp15.h> |
18 | 18 | ||
19 | extern volatile int pen_release; | ||
20 | |||
21 | static inline void cpu_enter_lowpower(void) | 19 | static inline void cpu_enter_lowpower(void) |
22 | { | 20 | { |
23 | unsigned int v; | 21 | unsigned int v; |
@@ -84,17 +82,12 @@ static inline void platform_do_lowpower(unsigned int cpu, int *spurious) | |||
84 | } | 82 | } |
85 | } | 83 | } |
86 | 84 | ||
87 | int platform_cpu_kill(unsigned int cpu) | ||
88 | { | ||
89 | return 1; | ||
90 | } | ||
91 | |||
92 | /* | 85 | /* |
93 | * platform-specific code to shutdown a CPU | 86 | * platform-specific code to shutdown a CPU |
94 | * | 87 | * |
95 | * Called with IRQs disabled | 88 | * Called with IRQs disabled |
96 | */ | 89 | */ |
97 | void platform_cpu_die(unsigned int cpu) | 90 | void __ref vexpress_cpu_die(unsigned int cpu) |
98 | { | 91 | { |
99 | int spurious = 0; | 92 | int spurious = 0; |
100 | 93 | ||
@@ -113,12 +106,3 @@ void platform_cpu_die(unsigned int cpu) | |||
113 | if (spurious) | 106 | if (spurious) |
114 | pr_warn("CPU%u: %u spurious wakeup calls\n", cpu, spurious); | 107 | pr_warn("CPU%u: %u spurious wakeup calls\n", cpu, spurious); |
115 | } | 108 | } |
116 | |||
117 | int platform_cpu_disable(unsigned int cpu) | ||
118 | { | ||
119 | /* | ||
120 | * we don't allow CPU 0 to be shutdown (it is still too special | ||
121 | * e.g. clock tick interrupts) | ||
122 | */ | ||
123 | return cpu == 0 ? -EPERM : 0; | ||
124 | } | ||
diff --git a/arch/arm/mach-vexpress/include/mach/gpio.h b/arch/arm/mach-vexpress/include/mach/gpio.h deleted file mode 100644 index 40a8c178f10d..000000000000 --- a/arch/arm/mach-vexpress/include/mach/gpio.h +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | /* empty */ | ||
diff --git a/arch/arm/mach-vexpress/include/mach/irqs.h b/arch/arm/mach-vexpress/include/mach/irqs.h index 4b10ee7657a6..f8f7f782eb55 100644 --- a/arch/arm/mach-vexpress/include/mach/irqs.h +++ b/arch/arm/mach-vexpress/include/mach/irqs.h | |||
@@ -1,4 +1,6 @@ | |||
1 | #define IRQ_LOCALTIMER 29 | 1 | #define IRQ_LOCALTIMER 29 |
2 | #define IRQ_LOCALWDOG 30 | 2 | #define IRQ_LOCALWDOG 30 |
3 | 3 | ||
4 | #ifndef CONFIG_SPARSE_IRQ | ||
4 | #define NR_IRQS 256 | 5 | #define NR_IRQS 256 |
6 | #endif | ||
diff --git a/arch/arm/mach-vexpress/include/mach/timex.h b/arch/arm/mach-vexpress/include/mach/timex.h deleted file mode 100644 index 00029bacd43c..000000000000 --- a/arch/arm/mach-vexpress/include/mach/timex.h +++ /dev/null | |||
@@ -1,23 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-vexpress/include/mach/timex.h | ||
3 | * | ||
4 | * RealView architecture timex specifications | ||
5 | * | ||
6 | * Copyright (C) 2003 ARM Limited | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License as published by | ||
10 | * the Free Software Foundation; either version 2 of the License, or | ||
11 | * (at your option) any later version. | ||
12 | * | ||
13 | * This program is distributed in the hope that it will be useful, | ||
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
16 | * GNU General Public License for more details. | ||
17 | * | ||
18 | * You should have received a copy of the GNU General Public License | ||
19 | * along with this program; if not, write to the Free Software | ||
20 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
21 | */ | ||
22 | |||
23 | #define CLOCK_TICK_RATE (50000000 / 16) | ||
diff --git a/arch/arm/mach-vexpress/include/mach/uncompress.h b/arch/arm/mach-vexpress/include/mach/uncompress.h deleted file mode 100644 index 1e472eb0bbdc..000000000000 --- a/arch/arm/mach-vexpress/include/mach/uncompress.h +++ /dev/null | |||
@@ -1,86 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-vexpress/include/mach/uncompress.h | ||
3 | * | ||
4 | * Copyright (C) 2003 ARM Limited | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License | ||
17 | * along with this program; if not, write to the Free Software | ||
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
19 | */ | ||
20 | #define AMBA_UART_DR(base) (*(volatile unsigned char *)((base) + 0x00)) | ||
21 | #define AMBA_UART_LCRH(base) (*(volatile unsigned char *)((base) + 0x2c)) | ||
22 | #define AMBA_UART_CR(base) (*(volatile unsigned char *)((base) + 0x30)) | ||
23 | #define AMBA_UART_FR(base) (*(volatile unsigned char *)((base) + 0x18)) | ||
24 | |||
25 | #define UART_BASE 0x10009000 | ||
26 | #define UART_BASE_RS1 0x1c090000 | ||
27 | |||
28 | static unsigned long get_uart_base(void) | ||
29 | { | ||
30 | #if defined(CONFIG_DEBUG_VEXPRESS_UART0_DETECT) | ||
31 | unsigned long mpcore_periph; | ||
32 | |||
33 | /* | ||
34 | * Make an educated guess regarding the memory map: | ||
35 | * - the original A9 core tile, which has MPCore peripherals | ||
36 | * located at 0x1e000000, should use UART at 0x10009000 | ||
37 | * - all other (RS1 complaint) tiles use UART mapped | ||
38 | * at 0x1c090000 | ||
39 | */ | ||
40 | asm("mrc p15, 4, %0, c15, c0, 0" : "=r" (mpcore_periph)); | ||
41 | |||
42 | if (mpcore_periph == 0x1e000000) | ||
43 | return UART_BASE; | ||
44 | else | ||
45 | return UART_BASE_RS1; | ||
46 | #elif defined(CONFIG_DEBUG_VEXPRESS_UART0_CA9) | ||
47 | return UART_BASE; | ||
48 | #elif defined(CONFIG_DEBUG_VEXPRESS_UART0_RS1) | ||
49 | return UART_BASE_RS1; | ||
50 | #else | ||
51 | return 0; | ||
52 | #endif | ||
53 | } | ||
54 | |||
55 | /* | ||
56 | * This does not append a newline | ||
57 | */ | ||
58 | static inline void putc(int c) | ||
59 | { | ||
60 | unsigned long base = get_uart_base(); | ||
61 | |||
62 | if (!base) | ||
63 | return; | ||
64 | |||
65 | while (AMBA_UART_FR(base) & (1 << 5)) | ||
66 | barrier(); | ||
67 | |||
68 | AMBA_UART_DR(base) = c; | ||
69 | } | ||
70 | |||
71 | static inline void flush(void) | ||
72 | { | ||
73 | unsigned long base = get_uart_base(); | ||
74 | |||
75 | if (!base) | ||
76 | return; | ||
77 | |||
78 | while (AMBA_UART_FR(base) & (1 << 3)) | ||
79 | barrier(); | ||
80 | } | ||
81 | |||
82 | /* | ||
83 | * nothing to do | ||
84 | */ | ||
85 | #define arch_decomp_setup() | ||
86 | #define arch_decomp_wdog() | ||
diff --git a/arch/arm/mach-vexpress/platsmp.c b/arch/arm/mach-vexpress/platsmp.c index 14ba1128ae8d..7db27c8c05cc 100644 --- a/arch/arm/mach-vexpress/platsmp.c +++ b/arch/arm/mach-vexpress/platsmp.c | |||
@@ -20,9 +20,9 @@ | |||
20 | 20 | ||
21 | #include <mach/motherboard.h> | 21 | #include <mach/motherboard.h> |
22 | 22 | ||
23 | #include "core.h" | 23 | #include <plat/platsmp.h> |
24 | 24 | ||
25 | extern void versatile_secondary_startup(void); | 25 | #include "core.h" |
26 | 26 | ||
27 | #if defined(CONFIG_OF) | 27 | #if defined(CONFIG_OF) |
28 | 28 | ||
@@ -167,7 +167,7 @@ void __init vexpress_dt_smp_prepare_cpus(unsigned int max_cpus) | |||
167 | * Initialise the CPU possible map early - this describes the CPUs | 167 | * Initialise the CPU possible map early - this describes the CPUs |
168 | * which may be present or become present in the system. | 168 | * which may be present or become present in the system. |
169 | */ | 169 | */ |
170 | void __init smp_init_cpus(void) | 170 | static void __init vexpress_smp_init_cpus(void) |
171 | { | 171 | { |
172 | if (ct_desc) | 172 | if (ct_desc) |
173 | ct_desc->init_cpu_map(); | 173 | ct_desc->init_cpu_map(); |
@@ -176,7 +176,7 @@ void __init smp_init_cpus(void) | |||
176 | 176 | ||
177 | } | 177 | } |
178 | 178 | ||
179 | void __init platform_smp_prepare_cpus(unsigned int max_cpus) | 179 | static void __init vexpress_smp_prepare_cpus(unsigned int max_cpus) |
180 | { | 180 | { |
181 | /* | 181 | /* |
182 | * Initialise the present map, which describes the set of CPUs | 182 | * Initialise the present map, which describes the set of CPUs |
@@ -195,3 +195,13 @@ void __init platform_smp_prepare_cpus(unsigned int max_cpus) | |||
195 | */ | 195 | */ |
196 | v2m_flags_set(virt_to_phys(versatile_secondary_startup)); | 196 | v2m_flags_set(virt_to_phys(versatile_secondary_startup)); |
197 | } | 197 | } |
198 | |||
199 | struct smp_operations __initdata vexpress_smp_ops = { | ||
200 | .smp_init_cpus = vexpress_smp_init_cpus, | ||
201 | .smp_prepare_cpus = vexpress_smp_prepare_cpus, | ||
202 | .smp_secondary_init = versatile_secondary_init, | ||
203 | .smp_boot_secondary = versatile_boot_secondary, | ||
204 | #ifdef CONFIG_HOTPLUG_CPU | ||
205 | .cpu_die = vexpress_cpu_die, | ||
206 | #endif | ||
207 | }; | ||
diff --git a/arch/arm/mach-vexpress/v2m.c b/arch/arm/mach-vexpress/v2m.c index 37608f22ee31..5f6b7d543e55 100644 --- a/arch/arm/mach-vexpress/v2m.c +++ b/arch/arm/mach-vexpress/v2m.c | |||
@@ -5,6 +5,7 @@ | |||
5 | #include <linux/amba/bus.h> | 5 | #include <linux/amba/bus.h> |
6 | #include <linux/amba/mmci.h> | 6 | #include <linux/amba/mmci.h> |
7 | #include <linux/io.h> | 7 | #include <linux/io.h> |
8 | #include <linux/smp.h> | ||
8 | #include <linux/init.h> | 9 | #include <linux/init.h> |
9 | #include <linux/of_address.h> | 10 | #include <linux/of_address.h> |
10 | #include <linux/of_fdt.h> | 11 | #include <linux/of_fdt.h> |
@@ -38,6 +39,7 @@ | |||
38 | #include <mach/motherboard.h> | 39 | #include <mach/motherboard.h> |
39 | 40 | ||
40 | #include <plat/sched_clock.h> | 41 | #include <plat/sched_clock.h> |
42 | #include <plat/platsmp.h> | ||
41 | 43 | ||
42 | #include "core.h" | 44 | #include "core.h" |
43 | 45 | ||
@@ -530,6 +532,7 @@ static void __init v2m_init(void) | |||
530 | 532 | ||
531 | MACHINE_START(VEXPRESS, "ARM-Versatile Express") | 533 | MACHINE_START(VEXPRESS, "ARM-Versatile Express") |
532 | .atag_offset = 0x100, | 534 | .atag_offset = 0x100, |
535 | .smp = smp_ops(vexpress_smp_ops), | ||
533 | .map_io = v2m_map_io, | 536 | .map_io = v2m_map_io, |
534 | .init_early = v2m_init_early, | 537 | .init_early = v2m_init_early, |
535 | .init_irq = v2m_init_irq, | 538 | .init_irq = v2m_init_irq, |
@@ -539,8 +542,6 @@ MACHINE_START(VEXPRESS, "ARM-Versatile Express") | |||
539 | .restart = v2m_restart, | 542 | .restart = v2m_restart, |
540 | MACHINE_END | 543 | MACHINE_END |
541 | 544 | ||
542 | #if defined(CONFIG_ARCH_VEXPRESS_DT) | ||
543 | |||
544 | static struct map_desc v2m_rs1_io_desc __initdata = { | 545 | static struct map_desc v2m_rs1_io_desc __initdata = { |
545 | .virtual = V2M_PERIPH, | 546 | .virtual = V2M_PERIPH, |
546 | .pfn = __phys_to_pfn(0x1c000000), | 547 | .pfn = __phys_to_pfn(0x1c000000), |
@@ -663,6 +664,7 @@ const static char *v2m_dt_match[] __initconst = { | |||
663 | 664 | ||
664 | DT_MACHINE_START(VEXPRESS_DT, "ARM-Versatile Express") | 665 | DT_MACHINE_START(VEXPRESS_DT, "ARM-Versatile Express") |
665 | .dt_compat = v2m_dt_match, | 666 | .dt_compat = v2m_dt_match, |
667 | .smp = smp_ops(vexpress_smp_ops), | ||
666 | .map_io = v2m_dt_map_io, | 668 | .map_io = v2m_dt_map_io, |
667 | .init_early = v2m_dt_init_early, | 669 | .init_early = v2m_dt_init_early, |
668 | .init_irq = v2m_dt_init_irq, | 670 | .init_irq = v2m_dt_init_irq, |
@@ -671,5 +673,3 @@ DT_MACHINE_START(VEXPRESS_DT, "ARM-Versatile Express") | |||
671 | .handle_irq = gic_handle_irq, | 673 | .handle_irq = gic_handle_irq, |
672 | .restart = v2m_restart, | 674 | .restart = v2m_restart, |
673 | MACHINE_END | 675 | MACHINE_END |
674 | |||
675 | #endif | ||
diff --git a/arch/arm/mach-vt8500/include/mach/gpio.h b/arch/arm/mach-vt8500/include/mach/gpio.h deleted file mode 100644 index 40a8c178f10d..000000000000 --- a/arch/arm/mach-vt8500/include/mach/gpio.h +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | /* empty */ | ||
diff --git a/arch/arm/mach-vt8500/include/mach/vt8500fb.h b/arch/arm/mach-vt8500/include/mach/vt8500fb.h deleted file mode 100644 index 7f399c370fe0..000000000000 --- a/arch/arm/mach-vt8500/include/mach/vt8500fb.h +++ /dev/null | |||
@@ -1,31 +0,0 @@ | |||
1 | /* | ||
2 | * VT8500/WM8505 Frame Buffer platform data definitions | ||
3 | * | ||
4 | * Copyright (C) 2010 Ed Spiridonov <edo.rus@gmail.com> | ||
5 | * | ||
6 | * This software is licensed under the terms of the GNU General Public | ||
7 | * License version 2, as published by the Free Software Foundation, and | ||
8 | * may be copied, distributed, and modified under those terms. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | * GNU General Public License for more details. | ||
14 | */ | ||
15 | |||
16 | #ifndef _VT8500FB_H | ||
17 | #define _VT8500FB_H | ||
18 | |||
19 | #include <linux/fb.h> | ||
20 | |||
21 | struct vt8500fb_platform_data { | ||
22 | struct fb_videomode mode; | ||
23 | u32 xres_virtual; | ||
24 | u32 yres_virtual; | ||
25 | u32 bpp; | ||
26 | unsigned long video_mem_phys; | ||
27 | void *video_mem_virt; | ||
28 | unsigned long video_mem_len; | ||
29 | }; | ||
30 | |||
31 | #endif /* _VT8500FB_H */ | ||
diff --git a/arch/arm/mach-w90x900/dev.c b/arch/arm/mach-w90x900/dev.c index 48f5b9fdfb7f..7abdb9645c5b 100644 --- a/arch/arm/mach-w90x900/dev.c +++ b/arch/arm/mach-w90x900/dev.c | |||
@@ -34,11 +34,11 @@ | |||
34 | #include <asm/mach-types.h> | 34 | #include <asm/mach-types.h> |
35 | 35 | ||
36 | #include <mach/regs-serial.h> | 36 | #include <mach/regs-serial.h> |
37 | #include <mach/nuc900_spi.h> | 37 | #include <linux/platform_data/spi-nuc900.h> |
38 | #include <mach/map.h> | 38 | #include <mach/map.h> |
39 | #include <mach/fb.h> | 39 | #include <linux/platform_data/video-nuc900fb.h> |
40 | #include <mach/regs-ldm.h> | 40 | #include <mach/regs-ldm.h> |
41 | #include <mach/w90p910_keypad.h> | 41 | #include <linux/platform_data/keypad-w90p910.h> |
42 | 42 | ||
43 | #include "cpu.h" | 43 | #include "cpu.h" |
44 | 44 | ||
diff --git a/arch/arm/mach-w90x900/include/mach/fb.h b/arch/arm/mach-w90x900/include/mach/fb.h deleted file mode 100644 index cec5ece765ed..000000000000 --- a/arch/arm/mach-w90x900/include/mach/fb.h +++ /dev/null | |||
@@ -1,83 +0,0 @@ | |||
1 | /* linux/include/asm/arch-nuc900/fb.h | ||
2 | * | ||
3 | * Copyright (c) 2008 Nuvoton technology corporation | ||
4 | * All rights reserved. | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * Changelog: | ||
12 | * | ||
13 | * 2008/08/26 vincen.zswan modify this file for LCD. | ||
14 | */ | ||
15 | |||
16 | #ifndef __ASM_ARM_FB_H | ||
17 | #define __ASM_ARM_FB_H | ||
18 | |||
19 | |||
20 | |||
21 | /* LCD Controller Hardware Desc */ | ||
22 | struct nuc900fb_hw { | ||
23 | unsigned int lcd_dccs; | ||
24 | unsigned int lcd_device_ctrl; | ||
25 | unsigned int lcd_mpulcd_cmd; | ||
26 | unsigned int lcd_int_cs; | ||
27 | unsigned int lcd_crtc_size; | ||
28 | unsigned int lcd_crtc_dend; | ||
29 | unsigned int lcd_crtc_hr; | ||
30 | unsigned int lcd_crtc_hsync; | ||
31 | unsigned int lcd_crtc_vr; | ||
32 | unsigned int lcd_va_baddr0; | ||
33 | unsigned int lcd_va_baddr1; | ||
34 | unsigned int lcd_va_fbctrl; | ||
35 | unsigned int lcd_va_scale; | ||
36 | unsigned int lcd_va_test; | ||
37 | unsigned int lcd_va_win; | ||
38 | unsigned int lcd_va_stuff; | ||
39 | }; | ||
40 | |||
41 | /* LCD Display Description */ | ||
42 | struct nuc900fb_display { | ||
43 | /* LCD Image type */ | ||
44 | unsigned type; | ||
45 | |||
46 | /* LCD Screen Size */ | ||
47 | unsigned short width; | ||
48 | unsigned short height; | ||
49 | |||
50 | /* LCD Screen Info */ | ||
51 | unsigned short xres; | ||
52 | unsigned short yres; | ||
53 | unsigned short bpp; | ||
54 | |||
55 | unsigned long pixclock; | ||
56 | unsigned short left_margin; | ||
57 | unsigned short right_margin; | ||
58 | unsigned short hsync_len; | ||
59 | unsigned short upper_margin; | ||
60 | unsigned short lower_margin; | ||
61 | unsigned short vsync_len; | ||
62 | |||
63 | /* hardware special register value */ | ||
64 | unsigned int dccs; | ||
65 | unsigned int devctl; | ||
66 | unsigned int fbctrl; | ||
67 | unsigned int scale; | ||
68 | }; | ||
69 | |||
70 | struct nuc900fb_mach_info { | ||
71 | struct nuc900fb_display *displays; | ||
72 | unsigned num_displays; | ||
73 | unsigned default_display; | ||
74 | /* GPIO Setting Info */ | ||
75 | unsigned gpio_dir; | ||
76 | unsigned gpio_dir_mask; | ||
77 | unsigned gpio_data; | ||
78 | unsigned gpio_data_mask; | ||
79 | }; | ||
80 | |||
81 | extern void __init nuc900_fb_set_platdata(struct nuc900fb_mach_info *); | ||
82 | |||
83 | #endif /* __ASM_ARM_FB_H */ | ||
diff --git a/arch/arm/mach-w90x900/include/mach/i2c.h b/arch/arm/mach-w90x900/include/mach/i2c.h deleted file mode 100644 index 9ffb12d06e91..000000000000 --- a/arch/arm/mach-w90x900/include/mach/i2c.h +++ /dev/null | |||
@@ -1,9 +0,0 @@ | |||
1 | #ifndef __ASM_ARCH_NUC900_I2C_H | ||
2 | #define __ASM_ARCH_NUC900_I2C_H | ||
3 | |||
4 | struct nuc900_platform_i2c { | ||
5 | int bus_num; | ||
6 | unsigned long bus_freq; | ||
7 | }; | ||
8 | |||
9 | #endif /* __ASM_ARCH_NUC900_I2C_H */ | ||
diff --git a/arch/arm/mach-w90x900/include/mach/nuc900_spi.h b/arch/arm/mach-w90x900/include/mach/nuc900_spi.h deleted file mode 100644 index 2c4e0c128501..000000000000 --- a/arch/arm/mach-w90x900/include/mach/nuc900_spi.h +++ /dev/null | |||
@@ -1,35 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-w90x900/include/mach/nuc900_spi.h | ||
3 | * | ||
4 | * Copyright (c) 2009 Nuvoton technology corporation. | ||
5 | * | ||
6 | * Wan ZongShun <mcuos.com@gmail.com> | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License as published by | ||
10 | * the Free Software Foundation;version 2 of the License. | ||
11 | * | ||
12 | */ | ||
13 | |||
14 | #ifndef __ASM_ARCH_SPI_H | ||
15 | #define __ASM_ARCH_SPI_H | ||
16 | |||
17 | extern void mfp_set_groupg(struct device *dev, const char *subname); | ||
18 | |||
19 | struct nuc900_spi_info { | ||
20 | unsigned int num_cs; | ||
21 | unsigned int lsb; | ||
22 | unsigned int txneg; | ||
23 | unsigned int rxneg; | ||
24 | unsigned int divider; | ||
25 | unsigned int sleep; | ||
26 | unsigned int txnum; | ||
27 | unsigned int txbitlen; | ||
28 | int bus_num; | ||
29 | }; | ||
30 | |||
31 | struct nuc900_spi_chip { | ||
32 | unsigned char bits_per_word; | ||
33 | }; | ||
34 | |||
35 | #endif /* __ASM_ARCH_SPI_H */ | ||
diff --git a/arch/arm/mach-w90x900/include/mach/w90p910_keypad.h b/arch/arm/mach-w90x900/include/mach/w90p910_keypad.h deleted file mode 100644 index 556778e8ddaa..000000000000 --- a/arch/arm/mach-w90x900/include/mach/w90p910_keypad.h +++ /dev/null | |||
@@ -1,15 +0,0 @@ | |||
1 | #ifndef __ASM_ARCH_W90P910_KEYPAD_H | ||
2 | #define __ASM_ARCH_W90P910_KEYPAD_H | ||
3 | |||
4 | #include <linux/input/matrix_keypad.h> | ||
5 | |||
6 | extern void mfp_set_groupi(struct device *dev); | ||
7 | |||
8 | struct w90p910_keypad_platform_data { | ||
9 | const struct matrix_keymap_data *keymap_data; | ||
10 | |||
11 | unsigned int prescale; | ||
12 | unsigned int debounce; | ||
13 | }; | ||
14 | |||
15 | #endif /* __ASM_ARCH_W90P910_KEYPAD_H */ | ||
diff --git a/arch/arm/mach-w90x900/mach-nuc950evb.c b/arch/arm/mach-w90x900/mach-nuc950evb.c index 067d8f9166dc..500fe5932ce9 100644 --- a/arch/arm/mach-w90x900/mach-nuc950evb.c +++ b/arch/arm/mach-w90x900/mach-nuc950evb.c | |||
@@ -20,7 +20,7 @@ | |||
20 | #include <asm/mach/map.h> | 20 | #include <asm/mach/map.h> |
21 | #include <asm/mach-types.h> | 21 | #include <asm/mach-types.h> |
22 | #include <mach/map.h> | 22 | #include <mach/map.h> |
23 | #include <mach/fb.h> | 23 | #include <linux/platform_data/video-nuc900fb.h> |
24 | 24 | ||
25 | #include "nuc950.h" | 25 | #include "nuc950.h" |
26 | 26 | ||
diff --git a/arch/arm/plat-mxc/devices/platform-sdhci-esdhc-imx.c b/arch/arm/plat-mxc/devices/platform-sdhci-esdhc-imx.c index 5955f5da82ee..3793e475cd95 100644 --- a/arch/arm/plat-mxc/devices/platform-sdhci-esdhc-imx.c +++ b/arch/arm/plat-mxc/devices/platform-sdhci-esdhc-imx.c | |||
@@ -8,7 +8,7 @@ | |||
8 | 8 | ||
9 | #include <mach/hardware.h> | 9 | #include <mach/hardware.h> |
10 | #include <mach/devices-common.h> | 10 | #include <mach/devices-common.h> |
11 | #include <mach/esdhc.h> | 11 | #include <linux/platform_data/mmc-esdhc-imx.h> |
12 | 12 | ||
13 | #define imx_sdhci_esdhc_imx_data_entry_single(soc, _devid, _id, hwid) \ | 13 | #define imx_sdhci_esdhc_imx_data_entry_single(soc, _devid, _id, hwid) \ |
14 | { \ | 14 | { \ |
diff --git a/arch/arm/plat-mxc/include/mach/common.h b/arch/arm/plat-mxc/include/mach/common.h index 28ba09f4ebb9..ead901814c0d 100644 --- a/arch/arm/plat-mxc/include/mach/common.h +++ b/arch/arm/plat-mxc/include/mach/common.h | |||
@@ -139,6 +139,8 @@ extern void imx_gpc_post_resume(void); | |||
139 | extern int imx6q_set_lpm(enum mxc_cpu_pwr_mode mode); | 139 | extern int imx6q_set_lpm(enum mxc_cpu_pwr_mode mode); |
140 | extern void imx6q_clock_map_io(void); | 140 | extern void imx6q_clock_map_io(void); |
141 | 141 | ||
142 | extern void imx_cpu_die(unsigned int cpu); | ||
143 | |||
142 | #ifdef CONFIG_PM | 144 | #ifdef CONFIG_PM |
143 | extern void imx6q_pm_init(void); | 145 | extern void imx6q_pm_init(void); |
144 | extern void imx51_pm_init(void); | 146 | extern void imx51_pm_init(void); |
@@ -155,4 +157,6 @@ extern int mx51_neon_fixup(void); | |||
155 | static inline int mx51_neon_fixup(void) { return 0; } | 157 | static inline int mx51_neon_fixup(void) { return 0; } |
156 | #endif | 158 | #endif |
157 | 159 | ||
160 | extern struct smp_operations imx_smp_ops; | ||
161 | |||
158 | #endif | 162 | #endif |
diff --git a/arch/arm/plat-mxc/include/mach/devices-common.h b/arch/arm/plat-mxc/include/mach/devices-common.h index a7f5bb1084d7..9e3e3d8ae8c2 100644 --- a/arch/arm/plat-mxc/include/mach/devices-common.h +++ b/arch/arm/plat-mxc/include/mach/devices-common.h | |||
@@ -9,7 +9,7 @@ | |||
9 | #include <linux/kernel.h> | 9 | #include <linux/kernel.h> |
10 | #include <linux/platform_device.h> | 10 | #include <linux/platform_device.h> |
11 | #include <linux/init.h> | 11 | #include <linux/init.h> |
12 | #include <mach/sdma.h> | 12 | #include <linux/platform_data/dma-imx-sdma.h> |
13 | 13 | ||
14 | extern struct device mxc_aips_bus; | 14 | extern struct device mxc_aips_bus; |
15 | extern struct device mxc_ahb_bus; | 15 | extern struct device mxc_ahb_bus; |
@@ -74,7 +74,7 @@ struct platform_device *__init imx_add_fsl_usb2_udc( | |||
74 | struct platform_device *__init imx_add_gpio_keys( | 74 | struct platform_device *__init imx_add_gpio_keys( |
75 | const struct gpio_keys_platform_data *pdata); | 75 | const struct gpio_keys_platform_data *pdata); |
76 | 76 | ||
77 | #include <mach/mx21-usbhost.h> | 77 | #include <linux/platform_data/usb-mx2.h> |
78 | struct imx_imx21_hcd_data { | 78 | struct imx_imx21_hcd_data { |
79 | resource_size_t iobase; | 79 | resource_size_t iobase; |
80 | resource_size_t irq; | 80 | resource_size_t irq; |
@@ -98,7 +98,7 @@ struct imx_imxdi_rtc_data { | |||
98 | struct platform_device *__init imx_add_imxdi_rtc( | 98 | struct platform_device *__init imx_add_imxdi_rtc( |
99 | const struct imx_imxdi_rtc_data *data); | 99 | const struct imx_imxdi_rtc_data *data); |
100 | 100 | ||
101 | #include <mach/imxfb.h> | 101 | #include <linux/platform_data/video-imxfb.h> |
102 | struct imx_imx_fb_data { | 102 | struct imx_imx_fb_data { |
103 | resource_size_t iobase; | 103 | resource_size_t iobase; |
104 | resource_size_t iosize; | 104 | resource_size_t iosize; |
@@ -108,7 +108,7 @@ struct platform_device *__init imx_add_imx_fb( | |||
108 | const struct imx_imx_fb_data *data, | 108 | const struct imx_imx_fb_data *data, |
109 | const struct imx_fb_platform_data *pdata); | 109 | const struct imx_fb_platform_data *pdata); |
110 | 110 | ||
111 | #include <mach/i2c.h> | 111 | #include <linux/platform_data/i2c-imx.h> |
112 | struct imx_imx_i2c_data { | 112 | struct imx_imx_i2c_data { |
113 | int id; | 113 | int id; |
114 | resource_size_t iobase; | 114 | resource_size_t iobase; |
@@ -129,7 +129,7 @@ struct platform_device *__init imx_add_imx_keypad( | |||
129 | const struct imx_imx_keypad_data *data, | 129 | const struct imx_imx_keypad_data *data, |
130 | const struct matrix_keymap_data *pdata); | 130 | const struct matrix_keymap_data *pdata); |
131 | 131 | ||
132 | #include <mach/ssi.h> | 132 | #include <linux/platform_data/asoc-imx-ssi.h> |
133 | struct imx_imx_ssi_data { | 133 | struct imx_imx_ssi_data { |
134 | int id; | 134 | int id; |
135 | resource_size_t iobase; | 135 | resource_size_t iobase; |
@@ -144,7 +144,7 @@ struct platform_device *__init imx_add_imx_ssi( | |||
144 | const struct imx_imx_ssi_data *data, | 144 | const struct imx_imx_ssi_data *data, |
145 | const struct imx_ssi_platform_data *pdata); | 145 | const struct imx_ssi_platform_data *pdata); |
146 | 146 | ||
147 | #include <mach/imx-uart.h> | 147 | #include <linux/platform_data/serial-imx.h> |
148 | struct imx_imx_uart_3irq_data { | 148 | struct imx_imx_uart_3irq_data { |
149 | int id; | 149 | int id; |
150 | resource_size_t iobase; | 150 | resource_size_t iobase; |
@@ -167,7 +167,7 @@ struct platform_device *__init imx_add_imx_uart_1irq( | |||
167 | const struct imx_imx_uart_1irq_data *data, | 167 | const struct imx_imx_uart_1irq_data *data, |
168 | const struct imxuart_platform_data *pdata); | 168 | const struct imxuart_platform_data *pdata); |
169 | 169 | ||
170 | #include <mach/usb.h> | 170 | #include <linux/platform_data/usb-imx_udc.h> |
171 | struct imx_imx_udc_data { | 171 | struct imx_imx_udc_data { |
172 | resource_size_t iobase; | 172 | resource_size_t iobase; |
173 | resource_size_t iosize; | 173 | resource_size_t iosize; |
@@ -183,8 +183,8 @@ struct platform_device *__init imx_add_imx_udc( | |||
183 | const struct imx_imx_udc_data *data, | 183 | const struct imx_imx_udc_data *data, |
184 | const struct imxusb_platform_data *pdata); | 184 | const struct imxusb_platform_data *pdata); |
185 | 185 | ||
186 | #include <mach/mx3fb.h> | 186 | #include <linux/platform_data/video-mx3fb.h> |
187 | #include <mach/mx3_camera.h> | 187 | #include <linux/platform_data/camera-mx3.h> |
188 | struct imx_ipu_core_data { | 188 | struct imx_ipu_core_data { |
189 | resource_size_t iobase; | 189 | resource_size_t iobase; |
190 | resource_size_t synirq; | 190 | resource_size_t synirq; |
@@ -199,7 +199,7 @@ struct platform_device *__init imx_add_mx3_sdc_fb( | |||
199 | const struct imx_ipu_core_data *data, | 199 | const struct imx_ipu_core_data *data, |
200 | struct mx3fb_platform_data *pdata); | 200 | struct mx3fb_platform_data *pdata); |
201 | 201 | ||
202 | #include <mach/mx1_camera.h> | 202 | #include <linux/platform_data/camera-mx1.h> |
203 | struct imx_mx1_camera_data { | 203 | struct imx_mx1_camera_data { |
204 | resource_size_t iobase; | 204 | resource_size_t iobase; |
205 | resource_size_t iosize; | 205 | resource_size_t iosize; |
@@ -209,7 +209,7 @@ struct platform_device *__init imx_add_mx1_camera( | |||
209 | const struct imx_mx1_camera_data *data, | 209 | const struct imx_mx1_camera_data *data, |
210 | const struct mx1_camera_pdata *pdata); | 210 | const struct mx1_camera_pdata *pdata); |
211 | 211 | ||
212 | #include <mach/mx2_cam.h> | 212 | #include <linux/platform_data/camera-mx2.h> |
213 | struct imx_mx2_camera_data { | 213 | struct imx_mx2_camera_data { |
214 | resource_size_t iobasecsi; | 214 | resource_size_t iobasecsi; |
215 | resource_size_t iosizecsi; | 215 | resource_size_t iosizecsi; |
@@ -224,7 +224,7 @@ struct platform_device *__init imx_add_mx2_camera( | |||
224 | struct platform_device *__init imx_add_mx2_emmaprp( | 224 | struct platform_device *__init imx_add_mx2_emmaprp( |
225 | const struct imx_mx2_camera_data *data); | 225 | const struct imx_mx2_camera_data *data); |
226 | 226 | ||
227 | #include <mach/mxc_ehci.h> | 227 | #include <linux/platform_data/usb-ehci-mxc.h> |
228 | struct imx_mxc_ehci_data { | 228 | struct imx_mxc_ehci_data { |
229 | int id; | 229 | int id; |
230 | resource_size_t iobase; | 230 | resource_size_t iobase; |
@@ -234,7 +234,7 @@ struct platform_device *__init imx_add_mxc_ehci( | |||
234 | const struct imx_mxc_ehci_data *data, | 234 | const struct imx_mxc_ehci_data *data, |
235 | const struct mxc_usbh_platform_data *pdata); | 235 | const struct mxc_usbh_platform_data *pdata); |
236 | 236 | ||
237 | #include <mach/mmc.h> | 237 | #include <linux/platform_data/mmc-mxcmmc.h> |
238 | struct imx_mxc_mmc_data { | 238 | struct imx_mxc_mmc_data { |
239 | int id; | 239 | int id; |
240 | resource_size_t iobase; | 240 | resource_size_t iobase; |
@@ -246,7 +246,7 @@ struct platform_device *__init imx_add_mxc_mmc( | |||
246 | const struct imx_mxc_mmc_data *data, | 246 | const struct imx_mxc_mmc_data *data, |
247 | const struct imxmmc_platform_data *pdata); | 247 | const struct imxmmc_platform_data *pdata); |
248 | 248 | ||
249 | #include <mach/mxc_nand.h> | 249 | #include <linux/platform_data/mtd-mxc_nand.h> |
250 | struct imx_mxc_nand_data { | 250 | struct imx_mxc_nand_data { |
251 | /* | 251 | /* |
252 | * id is traditionally 0, but -1 is more appropriate. We use -1 for new | 252 | * id is traditionally 0, but -1 is more appropriate. We use -1 for new |
@@ -295,7 +295,7 @@ struct imx_mxc_w1_data { | |||
295 | struct platform_device *__init imx_add_mxc_w1( | 295 | struct platform_device *__init imx_add_mxc_w1( |
296 | const struct imx_mxc_w1_data *data); | 296 | const struct imx_mxc_w1_data *data); |
297 | 297 | ||
298 | #include <mach/esdhc.h> | 298 | #include <linux/platform_data/mmc-esdhc-imx.h> |
299 | struct imx_sdhci_esdhc_imx_data { | 299 | struct imx_sdhci_esdhc_imx_data { |
300 | const char *devid; | 300 | const char *devid; |
301 | int id; | 301 | int id; |
@@ -306,7 +306,7 @@ struct platform_device *__init imx_add_sdhci_esdhc_imx( | |||
306 | const struct imx_sdhci_esdhc_imx_data *data, | 306 | const struct imx_sdhci_esdhc_imx_data *data, |
307 | const struct esdhc_platform_data *pdata); | 307 | const struct esdhc_platform_data *pdata); |
308 | 308 | ||
309 | #include <mach/spi.h> | 309 | #include <linux/platform_data/spi-imx.h> |
310 | struct imx_spi_imx_data { | 310 | struct imx_spi_imx_data { |
311 | const char *devid; | 311 | const char *devid; |
312 | int id; | 312 | int id; |
diff --git a/arch/arm/plat-mxc/include/mach/dma.h b/arch/arm/plat-mxc/include/mach/dma.h deleted file mode 100644 index 1b9080385b46..000000000000 --- a/arch/arm/plat-mxc/include/mach/dma.h +++ /dev/null | |||
@@ -1,67 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright 2004-2009 Freescale Semiconductor, Inc. All Rights Reserved. | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License version 2 as | ||
6 | * published by the Free Software Foundation. | ||
7 | */ | ||
8 | |||
9 | #ifndef __ASM_ARCH_MXC_DMA_H__ | ||
10 | #define __ASM_ARCH_MXC_DMA_H__ | ||
11 | |||
12 | #include <linux/scatterlist.h> | ||
13 | #include <linux/device.h> | ||
14 | #include <linux/dmaengine.h> | ||
15 | |||
16 | /* | ||
17 | * This enumerates peripheral types. Used for SDMA. | ||
18 | */ | ||
19 | enum sdma_peripheral_type { | ||
20 | IMX_DMATYPE_SSI, /* MCU domain SSI */ | ||
21 | IMX_DMATYPE_SSI_SP, /* Shared SSI */ | ||
22 | IMX_DMATYPE_MMC, /* MMC */ | ||
23 | IMX_DMATYPE_SDHC, /* SDHC */ | ||
24 | IMX_DMATYPE_UART, /* MCU domain UART */ | ||
25 | IMX_DMATYPE_UART_SP, /* Shared UART */ | ||
26 | IMX_DMATYPE_FIRI, /* FIRI */ | ||
27 | IMX_DMATYPE_CSPI, /* MCU domain CSPI */ | ||
28 | IMX_DMATYPE_CSPI_SP, /* Shared CSPI */ | ||
29 | IMX_DMATYPE_SIM, /* SIM */ | ||
30 | IMX_DMATYPE_ATA, /* ATA */ | ||
31 | IMX_DMATYPE_CCM, /* CCM */ | ||
32 | IMX_DMATYPE_EXT, /* External peripheral */ | ||
33 | IMX_DMATYPE_MSHC, /* Memory Stick Host Controller */ | ||
34 | IMX_DMATYPE_MSHC_SP, /* Shared Memory Stick Host Controller */ | ||
35 | IMX_DMATYPE_DSP, /* DSP */ | ||
36 | IMX_DMATYPE_MEMORY, /* Memory */ | ||
37 | IMX_DMATYPE_FIFO_MEMORY,/* FIFO type Memory */ | ||
38 | IMX_DMATYPE_SPDIF, /* SPDIF */ | ||
39 | IMX_DMATYPE_IPU_MEMORY, /* IPU Memory */ | ||
40 | IMX_DMATYPE_ASRC, /* ASRC */ | ||
41 | IMX_DMATYPE_ESAI, /* ESAI */ | ||
42 | }; | ||
43 | |||
44 | enum imx_dma_prio { | ||
45 | DMA_PRIO_HIGH = 0, | ||
46 | DMA_PRIO_MEDIUM = 1, | ||
47 | DMA_PRIO_LOW = 2 | ||
48 | }; | ||
49 | |||
50 | struct imx_dma_data { | ||
51 | int dma_request; /* DMA request line */ | ||
52 | enum sdma_peripheral_type peripheral_type; | ||
53 | int priority; | ||
54 | }; | ||
55 | |||
56 | static inline int imx_dma_is_ipu(struct dma_chan *chan) | ||
57 | { | ||
58 | return !strcmp(dev_name(chan->device->dev), "ipu-core"); | ||
59 | } | ||
60 | |||
61 | static inline int imx_dma_is_general_purpose(struct dma_chan *chan) | ||
62 | { | ||
63 | return strstr(dev_name(chan->device->dev), "sdma") || | ||
64 | !strcmp(dev_name(chan->device->dev), "imx-dma"); | ||
65 | } | ||
66 | |||
67 | #endif | ||
diff --git a/arch/arm/plat-mxc/include/mach/esdhc.h b/arch/arm/plat-mxc/include/mach/esdhc.h deleted file mode 100644 index aaf97481f413..000000000000 --- a/arch/arm/plat-mxc/include/mach/esdhc.h +++ /dev/null | |||
@@ -1,43 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright 2010 Wolfram Sang <w.sang@pengutronix.de> | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or | ||
5 | * modify it under the terms of the GNU General Public License | ||
6 | * as published by the Free Software Foundation; version 2 | ||
7 | * of the License. | ||
8 | */ | ||
9 | |||
10 | #ifndef __ASM_ARCH_IMX_ESDHC_H | ||
11 | #define __ASM_ARCH_IMX_ESDHC_H | ||
12 | |||
13 | enum wp_types { | ||
14 | ESDHC_WP_NONE, /* no WP, neither controller nor gpio */ | ||
15 | ESDHC_WP_CONTROLLER, /* mmc controller internal WP */ | ||
16 | ESDHC_WP_GPIO, /* external gpio pin for WP */ | ||
17 | }; | ||
18 | |||
19 | enum cd_types { | ||
20 | ESDHC_CD_NONE, /* no CD, neither controller nor gpio */ | ||
21 | ESDHC_CD_CONTROLLER, /* mmc controller internal CD */ | ||
22 | ESDHC_CD_GPIO, /* external gpio pin for CD */ | ||
23 | ESDHC_CD_PERMANENT, /* no CD, card permanently wired to host */ | ||
24 | }; | ||
25 | |||
26 | /** | ||
27 | * struct esdhc_platform_data - platform data for esdhc on i.MX | ||
28 | * | ||
29 | * ESDHC_WP(CD)_CONTROLLER type is not available on i.MX25/35. | ||
30 | * | ||
31 | * @wp_gpio: gpio for write_protect | ||
32 | * @cd_gpio: gpio for card_detect interrupt | ||
33 | * @wp_type: type of write_protect method (see wp_types enum above) | ||
34 | * @cd_type: type of card_detect method (see cd_types enum above) | ||
35 | */ | ||
36 | |||
37 | struct esdhc_platform_data { | ||
38 | unsigned int wp_gpio; | ||
39 | unsigned int cd_gpio; | ||
40 | enum wp_types wp_type; | ||
41 | enum cd_types cd_type; | ||
42 | }; | ||
43 | #endif /* __ASM_ARCH_IMX_ESDHC_H */ | ||
diff --git a/arch/arm/plat-mxc/include/mach/gpio.h b/arch/arm/plat-mxc/include/mach/gpio.h deleted file mode 100644 index 40a8c178f10d..000000000000 --- a/arch/arm/plat-mxc/include/mach/gpio.h +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | /* empty */ | ||
diff --git a/arch/arm/plat-mxc/include/mach/i2c.h b/arch/arm/plat-mxc/include/mach/i2c.h deleted file mode 100644 index 8289d915e615..000000000000 --- a/arch/arm/plat-mxc/include/mach/i2c.h +++ /dev/null | |||
@@ -1,21 +0,0 @@ | |||
1 | /* | ||
2 | * i2c.h - i.MX I2C driver header file | ||
3 | * | ||
4 | * Copyright (c) 2008, Darius Augulis <augulis.darius@gmail.com> | ||
5 | * | ||
6 | * This file is released under the GPLv2 | ||
7 | */ | ||
8 | |||
9 | #ifndef __ASM_ARCH_I2C_H_ | ||
10 | #define __ASM_ARCH_I2C_H_ | ||
11 | |||
12 | /** | ||
13 | * struct imxi2c_platform_data - structure of platform data for MXC I2C driver | ||
14 | * @bitrate: Bus speed measured in Hz | ||
15 | * | ||
16 | **/ | ||
17 | struct imxi2c_platform_data { | ||
18 | u32 bitrate; | ||
19 | }; | ||
20 | |||
21 | #endif /* __ASM_ARCH_I2C_H_ */ | ||
diff --git a/arch/arm/plat-mxc/include/mach/imx-uart.h b/arch/arm/plat-mxc/include/mach/imx-uart.h deleted file mode 100644 index 4adec9b154dd..000000000000 --- a/arch/arm/plat-mxc/include/mach/imx-uart.h +++ /dev/null | |||
@@ -1,35 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2008 by Sascha Hauer <kernel@pengutronix.de> | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or | ||
5 | * modify it under the terms of the GNU General Public License | ||
6 | * as published by the Free Software Foundation; either version 2 | ||
7 | * of the License, or (at your option) any later version. | ||
8 | * This program is distributed in the hope that it will be useful, | ||
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
11 | * GNU General Public License for more details. | ||
12 | * | ||
13 | * You should have received a copy of the GNU General Public License | ||
14 | * along with this program; if not, write to the Free Software | ||
15 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, | ||
16 | * MA 02110-1301, USA. | ||
17 | */ | ||
18 | |||
19 | #ifndef ASMARM_ARCH_UART_H | ||
20 | #define ASMARM_ARCH_UART_H | ||
21 | |||
22 | #define IMXUART_HAVE_RTSCTS (1<<0) | ||
23 | #define IMXUART_IRDA (1<<1) | ||
24 | |||
25 | struct imxuart_platform_data { | ||
26 | int (*init)(struct platform_device *pdev); | ||
27 | void (*exit)(struct platform_device *pdev); | ||
28 | unsigned int flags; | ||
29 | void (*irda_enable)(int enable); | ||
30 | unsigned int irda_inv_rx:1; | ||
31 | unsigned int irda_inv_tx:1; | ||
32 | unsigned short transceiver_delay; | ||
33 | }; | ||
34 | |||
35 | #endif | ||
diff --git a/arch/arm/plat-mxc/include/mach/imxfb.h b/arch/arm/plat-mxc/include/mach/imxfb.h deleted file mode 100644 index 9de8f062ad5d..000000000000 --- a/arch/arm/plat-mxc/include/mach/imxfb.h +++ /dev/null | |||
@@ -1,84 +0,0 @@ | |||
1 | /* | ||
2 | * This structure describes the machine which we are running on. | ||
3 | */ | ||
4 | #ifndef __MACH_IMXFB_H__ | ||
5 | #define __MACH_IMXFB_H__ | ||
6 | |||
7 | #include <linux/fb.h> | ||
8 | |||
9 | #define PCR_TFT (1 << 31) | ||
10 | #define PCR_COLOR (1 << 30) | ||
11 | #define PCR_PBSIZ_1 (0 << 28) | ||
12 | #define PCR_PBSIZ_2 (1 << 28) | ||
13 | #define PCR_PBSIZ_4 (2 << 28) | ||
14 | #define PCR_PBSIZ_8 (3 << 28) | ||
15 | #define PCR_BPIX_1 (0 << 25) | ||
16 | #define PCR_BPIX_2 (1 << 25) | ||
17 | #define PCR_BPIX_4 (2 << 25) | ||
18 | #define PCR_BPIX_8 (3 << 25) | ||
19 | #define PCR_BPIX_12 (4 << 25) | ||
20 | #define PCR_BPIX_16 (5 << 25) | ||
21 | #define PCR_BPIX_18 (6 << 25) | ||
22 | #define PCR_PIXPOL (1 << 24) | ||
23 | #define PCR_FLMPOL (1 << 23) | ||
24 | #define PCR_LPPOL (1 << 22) | ||
25 | #define PCR_CLKPOL (1 << 21) | ||
26 | #define PCR_OEPOL (1 << 20) | ||
27 | #define PCR_SCLKIDLE (1 << 19) | ||
28 | #define PCR_END_SEL (1 << 18) | ||
29 | #define PCR_END_BYTE_SWAP (1 << 17) | ||
30 | #define PCR_REV_VS (1 << 16) | ||
31 | #define PCR_ACD_SEL (1 << 15) | ||
32 | #define PCR_ACD(x) (((x) & 0x7f) << 8) | ||
33 | #define PCR_SCLK_SEL (1 << 7) | ||
34 | #define PCR_SHARP (1 << 6) | ||
35 | #define PCR_PCD(x) ((x) & 0x3f) | ||
36 | |||
37 | #define PWMR_CLS(x) (((x) & 0x1ff) << 16) | ||
38 | #define PWMR_LDMSK (1 << 15) | ||
39 | #define PWMR_SCR1 (1 << 10) | ||
40 | #define PWMR_SCR0 (1 << 9) | ||
41 | #define PWMR_CC_EN (1 << 8) | ||
42 | #define PWMR_PW(x) ((x) & 0xff) | ||
43 | |||
44 | #define LSCR1_PS_RISE_DELAY(x) (((x) & 0x7f) << 26) | ||
45 | #define LSCR1_CLS_RISE_DELAY(x) (((x) & 0x3f) << 16) | ||
46 | #define LSCR1_REV_TOGGLE_DELAY(x) (((x) & 0xf) << 8) | ||
47 | #define LSCR1_GRAY2(x) (((x) & 0xf) << 4) | ||
48 | #define LSCR1_GRAY1(x) (((x) & 0xf)) | ||
49 | |||
50 | #define DMACR_BURST (1 << 31) | ||
51 | #define DMACR_HM(x) (((x) & 0xf) << 16) | ||
52 | #define DMACR_TM(x) ((x) & 0xf) | ||
53 | |||
54 | struct imx_fb_videomode { | ||
55 | struct fb_videomode mode; | ||
56 | u32 pcr; | ||
57 | unsigned char bpp; | ||
58 | }; | ||
59 | |||
60 | struct imx_fb_platform_data { | ||
61 | struct imx_fb_videomode *mode; | ||
62 | int num_modes; | ||
63 | |||
64 | u_int cmap_greyscale:1, | ||
65 | cmap_inverse:1, | ||
66 | cmap_static:1, | ||
67 | unused:29; | ||
68 | |||
69 | u_int pwmr; | ||
70 | u_int lscr1; | ||
71 | u_int dmacr; | ||
72 | |||
73 | u_char * fixed_screen_cpu; | ||
74 | dma_addr_t fixed_screen_dma; | ||
75 | |||
76 | int (*init)(struct platform_device *); | ||
77 | void (*exit)(struct platform_device *); | ||
78 | |||
79 | void (*lcd_power)(int); | ||
80 | void (*backlight_power)(int); | ||
81 | }; | ||
82 | |||
83 | void set_imx_fb_info(struct imx_fb_platform_data *); | ||
84 | #endif /* ifndef __MACH_IMXFB_H__ */ | ||
diff --git a/arch/arm/plat-mxc/include/mach/mmc.h b/arch/arm/plat-mxc/include/mach/mmc.h deleted file mode 100644 index 29115f405af9..000000000000 --- a/arch/arm/plat-mxc/include/mach/mmc.h +++ /dev/null | |||
@@ -1,39 +0,0 @@ | |||
1 | #ifndef ASMARM_ARCH_MMC_H | ||
2 | #define ASMARM_ARCH_MMC_H | ||
3 | |||
4 | #include <linux/mmc/host.h> | ||
5 | |||
6 | struct device; | ||
7 | |||
8 | /* board specific SDHC data, optional. | ||
9 | * If not present, a writable card with 3,3V is assumed. | ||
10 | */ | ||
11 | struct imxmmc_platform_data { | ||
12 | /* Return values for the get_ro callback should be: | ||
13 | * 0 for a read/write card | ||
14 | * 1 for a read-only card | ||
15 | * -ENOSYS when not supported (equal to NULL callback) | ||
16 | * or a negative errno value when something bad happened | ||
17 | */ | ||
18 | int (*get_ro)(struct device *); | ||
19 | |||
20 | /* board specific hook to (de)initialize the SD slot. | ||
21 | * The board code can call 'handler' on a card detection | ||
22 | * change giving data as argument. | ||
23 | */ | ||
24 | int (*init)(struct device *dev, irq_handler_t handler, void *data); | ||
25 | void (*exit)(struct device *dev, void *data); | ||
26 | |||
27 | /* available voltages. If not given, assume | ||
28 | * MMC_VDD_32_33 | MMC_VDD_33_34 | ||
29 | */ | ||
30 | unsigned int ocr_avail; | ||
31 | |||
32 | /* adjust slot voltage */ | ||
33 | void (*setpower)(struct device *, unsigned int vdd); | ||
34 | |||
35 | /* enable card detect using DAT3 */ | ||
36 | int dat3_card_detect; | ||
37 | }; | ||
38 | |||
39 | #endif | ||
diff --git a/arch/arm/plat-mxc/include/mach/mx1_camera.h b/arch/arm/plat-mxc/include/mach/mx1_camera.h deleted file mode 100644 index 4fd6c70314b4..000000000000 --- a/arch/arm/plat-mxc/include/mach/mx1_camera.h +++ /dev/null | |||
@@ -1,35 +0,0 @@ | |||
1 | /* | ||
2 | * mx1_camera.h - i.MX1/i.MXL camera driver header file | ||
3 | * | ||
4 | * Copyright (c) 2008, Paulius Zaleckas <paulius.zaleckas@teltonika.lt> | ||
5 | * Copyright (C) 2009, Darius Augulis <augulis.darius@gmail.com> | ||
6 | * | ||
7 | * Based on PXA camera.h file: | ||
8 | * Copyright (C) 2003, Intel Corporation | ||
9 | * Copyright (C) 2008, Guennadi Liakhovetski <kernel@pengutronix.de> | ||
10 | * | ||
11 | * This program is free software; you can redistribute it and/or modify | ||
12 | * it under the terms of the GNU General Public License version 2 as | ||
13 | * published by the Free Software Foundation. | ||
14 | */ | ||
15 | |||
16 | #ifndef __ASM_ARCH_CAMERA_H_ | ||
17 | #define __ASM_ARCH_CAMERA_H_ | ||
18 | |||
19 | #define MX1_CAMERA_DATA_HIGH 1 | ||
20 | #define MX1_CAMERA_PCLK_RISING 2 | ||
21 | #define MX1_CAMERA_VSYNC_HIGH 4 | ||
22 | |||
23 | extern unsigned char mx1_camera_sof_fiq_start, mx1_camera_sof_fiq_end; | ||
24 | |||
25 | /** | ||
26 | * struct mx1_camera_pdata - i.MX1/i.MXL camera platform data | ||
27 | * @mclk_10khz: master clock frequency in 10kHz units | ||
28 | * @flags: MX1 camera platform flags | ||
29 | */ | ||
30 | struct mx1_camera_pdata { | ||
31 | unsigned long mclk_10khz; | ||
32 | unsigned long flags; | ||
33 | }; | ||
34 | |||
35 | #endif /* __ASM_ARCH_CAMERA_H_ */ | ||
diff --git a/arch/arm/plat-mxc/include/mach/mx21-usbhost.h b/arch/arm/plat-mxc/include/mach/mx21-usbhost.h deleted file mode 100644 index 22d0b596262c..000000000000 --- a/arch/arm/plat-mxc/include/mach/mx21-usbhost.h +++ /dev/null | |||
@@ -1,38 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2009 Martin Fuzzey <mfuzzey@gmail.com> | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | * GNU General Public License for more details. | ||
13 | */ | ||
14 | |||
15 | #ifndef __ASM_ARCH_MX21_USBH | ||
16 | #define __ASM_ARCH_MX21_USBH | ||
17 | |||
18 | enum mx21_usbh_xcvr { | ||
19 | /* Values below as used by hardware (HWMODE register) */ | ||
20 | MX21_USBXCVR_TXDIF_RXDIF = 0, | ||
21 | MX21_USBXCVR_TXDIF_RXSE = 1, | ||
22 | MX21_USBXCVR_TXSE_RXDIF = 2, | ||
23 | MX21_USBXCVR_TXSE_RXSE = 3, | ||
24 | }; | ||
25 | |||
26 | struct mx21_usbh_platform_data { | ||
27 | enum mx21_usbh_xcvr host_xcvr; /* tranceiver mode host 1,2 ports */ | ||
28 | enum mx21_usbh_xcvr otg_xcvr; /* tranceiver mode otg (as host) port */ | ||
29 | u16 enable_host1:1, | ||
30 | enable_host2:1, | ||
31 | enable_otg_host:1, /* enable "OTG" port (as host) */ | ||
32 | host1_xcverless:1, /* traceiverless host1 port */ | ||
33 | host1_txenoe:1, /* output enable host1 transmit enable */ | ||
34 | otg_ext_xcvr:1, /* external tranceiver for OTG port */ | ||
35 | unused:10; | ||
36 | }; | ||
37 | |||
38 | #endif /* __ASM_ARCH_MX21_USBH */ | ||
diff --git a/arch/arm/plat-mxc/include/mach/mx2_cam.h b/arch/arm/plat-mxc/include/mach/mx2_cam.h deleted file mode 100644 index 7ded6f1f74bc..000000000000 --- a/arch/arm/plat-mxc/include/mach/mx2_cam.h +++ /dev/null | |||
@@ -1,44 +0,0 @@ | |||
1 | /* | ||
2 | * mx2-cam.h - i.MX27/i.MX25 camera driver header file | ||
3 | * | ||
4 | * Copyright (C) 2003, Intel Corporation | ||
5 | * Copyright (C) 2008, Sascha Hauer <s.hauer@pengutronix.de> | ||
6 | * Copyright (C) 2010, Baruch Siach <baruch@tkos.co.il> | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License as published by | ||
10 | * the Free Software Foundation; either version 2 of the License, or | ||
11 | * (at your option) any later version. | ||
12 | * | ||
13 | * This program is distributed in the hope that it will be useful, | ||
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
16 | * GNU General Public License for more details. | ||
17 | * | ||
18 | * You should have received a copy of the GNU General Public License | ||
19 | * along with this program; if not, write to the Free Software | ||
20 | * Foundation, Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. | ||
21 | */ | ||
22 | |||
23 | #ifndef __MACH_MX2_CAM_H_ | ||
24 | #define __MACH_MX2_CAM_H_ | ||
25 | |||
26 | #define MX2_CAMERA_EXT_VSYNC (1 << 1) | ||
27 | #define MX2_CAMERA_CCIR (1 << 2) | ||
28 | #define MX2_CAMERA_CCIR_INTERLACE (1 << 3) | ||
29 | #define MX2_CAMERA_HSYNC_HIGH (1 << 4) | ||
30 | #define MX2_CAMERA_GATED_CLOCK (1 << 5) | ||
31 | #define MX2_CAMERA_INV_DATA (1 << 6) | ||
32 | #define MX2_CAMERA_PCLK_SAMPLE_RISING (1 << 7) | ||
33 | |||
34 | /** | ||
35 | * struct mx2_camera_platform_data - optional platform data for mx2_camera | ||
36 | * @flags: any combination of MX2_CAMERA_* | ||
37 | * @clk: clock rate of the csi block / 2 | ||
38 | */ | ||
39 | struct mx2_camera_platform_data { | ||
40 | unsigned long flags; | ||
41 | unsigned long clk; | ||
42 | }; | ||
43 | |||
44 | #endif /* __MACH_MX2_CAM_H_ */ | ||
diff --git a/arch/arm/plat-mxc/include/mach/mx3_camera.h b/arch/arm/plat-mxc/include/mach/mx3_camera.h deleted file mode 100644 index f226ee3777e1..000000000000 --- a/arch/arm/plat-mxc/include/mach/mx3_camera.h +++ /dev/null | |||
@@ -1,48 +0,0 @@ | |||
1 | /* | ||
2 | * mx3_camera.h - i.MX3x camera driver header file | ||
3 | * | ||
4 | * Copyright (C) 2008, Guennadi Liakhovetski, DENX Software Engineering, <lg@denx.de> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | */ | ||
16 | |||
17 | #ifndef _MX3_CAMERA_H_ | ||
18 | #define _MX3_CAMERA_H_ | ||
19 | |||
20 | #include <linux/device.h> | ||
21 | |||
22 | #define MX3_CAMERA_CLK_SRC 1 | ||
23 | #define MX3_CAMERA_EXT_VSYNC 2 | ||
24 | #define MX3_CAMERA_DP 4 | ||
25 | #define MX3_CAMERA_PCP 8 | ||
26 | #define MX3_CAMERA_HSP 0x10 | ||
27 | #define MX3_CAMERA_VSP 0x20 | ||
28 | #define MX3_CAMERA_DATAWIDTH_4 0x40 | ||
29 | #define MX3_CAMERA_DATAWIDTH_8 0x80 | ||
30 | #define MX3_CAMERA_DATAWIDTH_10 0x100 | ||
31 | #define MX3_CAMERA_DATAWIDTH_15 0x200 | ||
32 | |||
33 | #define MX3_CAMERA_DATAWIDTH_MASK (MX3_CAMERA_DATAWIDTH_4 | MX3_CAMERA_DATAWIDTH_8 | \ | ||
34 | MX3_CAMERA_DATAWIDTH_10 | MX3_CAMERA_DATAWIDTH_15) | ||
35 | |||
36 | /** | ||
37 | * struct mx3_camera_pdata - i.MX3x camera platform data | ||
38 | * @flags: MX3_CAMERA_* flags | ||
39 | * @mclk_10khz: master clock frequency in 10kHz units | ||
40 | * @dma_dev: IPU DMA device to match against in channel allocation | ||
41 | */ | ||
42 | struct mx3_camera_pdata { | ||
43 | unsigned long flags; | ||
44 | unsigned long mclk_10khz; | ||
45 | struct device *dma_dev; | ||
46 | }; | ||
47 | |||
48 | #endif | ||
diff --git a/arch/arm/plat-mxc/include/mach/mx3fb.h b/arch/arm/plat-mxc/include/mach/mx3fb.h deleted file mode 100644 index fdbe60001542..000000000000 --- a/arch/arm/plat-mxc/include/mach/mx3fb.h +++ /dev/null | |||
@@ -1,53 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2008 | ||
3 | * Guennadi Liakhovetski, DENX Software Engineering, <lg@denx.de> | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License version 2 as | ||
7 | * published by the Free Software Foundation. | ||
8 | */ | ||
9 | |||
10 | #ifndef __ASM_ARCH_MX3FB_H__ | ||
11 | #define __ASM_ARCH_MX3FB_H__ | ||
12 | |||
13 | #include <linux/device.h> | ||
14 | #include <linux/fb.h> | ||
15 | |||
16 | /* Proprietary FB_SYNC_ flags */ | ||
17 | #define FB_SYNC_OE_ACT_HIGH 0x80000000 | ||
18 | #define FB_SYNC_CLK_INVERT 0x40000000 | ||
19 | #define FB_SYNC_DATA_INVERT 0x20000000 | ||
20 | #define FB_SYNC_CLK_IDLE_EN 0x10000000 | ||
21 | #define FB_SYNC_SHARP_MODE 0x08000000 | ||
22 | #define FB_SYNC_SWAP_RGB 0x04000000 | ||
23 | #define FB_SYNC_CLK_SEL_EN 0x02000000 | ||
24 | |||
25 | /* | ||
26 | * Specify the way your display is connected. The IPU can arbitrarily | ||
27 | * map the internal colors to the external data lines. We only support | ||
28 | * the following mappings at the moment. | ||
29 | */ | ||
30 | enum disp_data_mapping { | ||
31 | /* blue -> d[0..5], green -> d[6..11], red -> d[12..17] */ | ||
32 | IPU_DISP_DATA_MAPPING_RGB666, | ||
33 | /* blue -> d[0..4], green -> d[5..10], red -> d[11..15] */ | ||
34 | IPU_DISP_DATA_MAPPING_RGB565, | ||
35 | /* blue -> d[0..7], green -> d[8..15], red -> d[16..23] */ | ||
36 | IPU_DISP_DATA_MAPPING_RGB888, | ||
37 | }; | ||
38 | |||
39 | /** | ||
40 | * struct mx3fb_platform_data - mx3fb platform data | ||
41 | * | ||
42 | * @dma_dev: pointer to the dma-device, used for dma-slave connection | ||
43 | * @mode: pointer to a platform-provided per mxc_register_fb() videomode | ||
44 | */ | ||
45 | struct mx3fb_platform_data { | ||
46 | struct device *dma_dev; | ||
47 | const char *name; | ||
48 | const struct fb_videomode *mode; | ||
49 | int num_modes; | ||
50 | enum disp_data_mapping disp_data_fmt; | ||
51 | }; | ||
52 | |||
53 | #endif | ||
diff --git a/arch/arm/plat-mxc/include/mach/mxc_ehci.h b/arch/arm/plat-mxc/include/mach/mxc_ehci.h deleted file mode 100644 index 7eb9d1329671..000000000000 --- a/arch/arm/plat-mxc/include/mach/mxc_ehci.h +++ /dev/null | |||
@@ -1,59 +0,0 @@ | |||
1 | #ifndef __INCLUDE_ASM_ARCH_MXC_EHCI_H | ||
2 | #define __INCLUDE_ASM_ARCH_MXC_EHCI_H | ||
3 | |||
4 | /* values for portsc field */ | ||
5 | #define MXC_EHCI_PHY_LOW_POWER_SUSPEND (1 << 23) | ||
6 | #define MXC_EHCI_FORCE_FS (1 << 24) | ||
7 | #define MXC_EHCI_UTMI_8BIT (0 << 28) | ||
8 | #define MXC_EHCI_UTMI_16BIT (1 << 28) | ||
9 | #define MXC_EHCI_SERIAL (1 << 29) | ||
10 | #define MXC_EHCI_MODE_UTMI (0 << 30) | ||
11 | #define MXC_EHCI_MODE_PHILIPS (1 << 30) | ||
12 | #define MXC_EHCI_MODE_ULPI (2 << 30) | ||
13 | #define MXC_EHCI_MODE_SERIAL (3 << 30) | ||
14 | |||
15 | /* values for flags field */ | ||
16 | #define MXC_EHCI_INTERFACE_DIFF_UNI (0 << 0) | ||
17 | #define MXC_EHCI_INTERFACE_DIFF_BI (1 << 0) | ||
18 | #define MXC_EHCI_INTERFACE_SINGLE_UNI (2 << 0) | ||
19 | #define MXC_EHCI_INTERFACE_SINGLE_BI (3 << 0) | ||
20 | #define MXC_EHCI_INTERFACE_MASK (0xf) | ||
21 | |||
22 | #define MXC_EHCI_POWER_PINS_ENABLED (1 << 5) | ||
23 | #define MXC_EHCI_PWR_PIN_ACTIVE_HIGH (1 << 6) | ||
24 | #define MXC_EHCI_OC_PIN_ACTIVE_LOW (1 << 7) | ||
25 | #define MXC_EHCI_TTL_ENABLED (1 << 8) | ||
26 | |||
27 | #define MXC_EHCI_INTERNAL_PHY (1 << 9) | ||
28 | #define MXC_EHCI_IPPUE_DOWN (1 << 10) | ||
29 | #define MXC_EHCI_IPPUE_UP (1 << 11) | ||
30 | #define MXC_EHCI_WAKEUP_ENABLED (1 << 12) | ||
31 | #define MXC_EHCI_ITC_NO_THRESHOLD (1 << 13) | ||
32 | |||
33 | #define MXC_USBCTRL_OFFSET 0 | ||
34 | #define MXC_USB_PHY_CTR_FUNC_OFFSET 0x8 | ||
35 | #define MXC_USB_PHY_CTR_FUNC2_OFFSET 0xc | ||
36 | #define MXC_USBH2CTRL_OFFSET 0x14 | ||
37 | |||
38 | #define MX5_USBOTHER_REGS_OFFSET 0x800 | ||
39 | |||
40 | /* USB_PHY_CTRL_FUNC2*/ | ||
41 | #define MX5_USB_UTMI_PHYCTRL1_PLLDIV_MASK 0x3 | ||
42 | #define MX5_USB_UTMI_PHYCTRL1_PLLDIV_SHIFT 0 | ||
43 | |||
44 | struct mxc_usbh_platform_data { | ||
45 | int (*init)(struct platform_device *pdev); | ||
46 | int (*exit)(struct platform_device *pdev); | ||
47 | |||
48 | unsigned int portsc; | ||
49 | struct usb_phy *otg; | ||
50 | }; | ||
51 | |||
52 | int mx51_initialize_usb_hw(int port, unsigned int flags); | ||
53 | int mx25_initialize_usb_hw(int port, unsigned int flags); | ||
54 | int mx31_initialize_usb_hw(int port, unsigned int flags); | ||
55 | int mx35_initialize_usb_hw(int port, unsigned int flags); | ||
56 | int mx27_initialize_usb_hw(int port, unsigned int flags); | ||
57 | |||
58 | #endif /* __INCLUDE_ASM_ARCH_MXC_EHCI_H */ | ||
59 | |||
diff --git a/arch/arm/plat-mxc/include/mach/mxc_nand.h b/arch/arm/plat-mxc/include/mach/mxc_nand.h deleted file mode 100644 index 6bb96ef1600b..000000000000 --- a/arch/arm/plat-mxc/include/mach/mxc_nand.h +++ /dev/null | |||
@@ -1,32 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright 2004-2007 Freescale Semiconductor, Inc. All Rights Reserved. | ||
3 | * Copyright 2008 Sascha Hauer, kernel@pengutronix.de | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or | ||
6 | * modify it under the terms of the GNU General Public License | ||
7 | * as published by the Free Software Foundation; either version 2 | ||
8 | * of the License, or (at your option) any later version. | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | * GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program; if not, write to the Free Software | ||
16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, | ||
17 | * MA 02110-1301, USA. | ||
18 | */ | ||
19 | |||
20 | #ifndef __ASM_ARCH_NAND_H | ||
21 | #define __ASM_ARCH_NAND_H | ||
22 | |||
23 | #include <linux/mtd/partitions.h> | ||
24 | |||
25 | struct mxc_nand_platform_data { | ||
26 | unsigned int width; /* data bus width in bytes */ | ||
27 | unsigned int hw_ecc:1; /* 0 if suppress hardware ECC */ | ||
28 | unsigned int flash_bbt:1; /* set to 1 to use a flash based bbt */ | ||
29 | struct mtd_partition *parts; /* partition table */ | ||
30 | int nr_parts; /* size of parts */ | ||
31 | }; | ||
32 | #endif /* __ASM_ARCH_NAND_H */ | ||
diff --git a/arch/arm/plat-mxc/include/mach/sdma.h b/arch/arm/plat-mxc/include/mach/sdma.h deleted file mode 100644 index 3a3942823c20..000000000000 --- a/arch/arm/plat-mxc/include/mach/sdma.h +++ /dev/null | |||
@@ -1,59 +0,0 @@ | |||
1 | #ifndef __MACH_MXC_SDMA_H__ | ||
2 | #define __MACH_MXC_SDMA_H__ | ||
3 | |||
4 | /** | ||
5 | * struct sdma_script_start_addrs - SDMA script start pointers | ||
6 | * | ||
7 | * start addresses of the different functions in the physical | ||
8 | * address space of the SDMA engine. | ||
9 | */ | ||
10 | struct sdma_script_start_addrs { | ||
11 | s32 ap_2_ap_addr; | ||
12 | s32 ap_2_bp_addr; | ||
13 | s32 ap_2_ap_fixed_addr; | ||
14 | s32 bp_2_ap_addr; | ||
15 | s32 loopback_on_dsp_side_addr; | ||
16 | s32 mcu_interrupt_only_addr; | ||
17 | s32 firi_2_per_addr; | ||
18 | s32 firi_2_mcu_addr; | ||
19 | s32 per_2_firi_addr; | ||
20 | s32 mcu_2_firi_addr; | ||
21 | s32 uart_2_per_addr; | ||
22 | s32 uart_2_mcu_addr; | ||
23 | s32 per_2_app_addr; | ||
24 | s32 mcu_2_app_addr; | ||
25 | s32 per_2_per_addr; | ||
26 | s32 uartsh_2_per_addr; | ||
27 | s32 uartsh_2_mcu_addr; | ||
28 | s32 per_2_shp_addr; | ||
29 | s32 mcu_2_shp_addr; | ||
30 | s32 ata_2_mcu_addr; | ||
31 | s32 mcu_2_ata_addr; | ||
32 | s32 app_2_per_addr; | ||
33 | s32 app_2_mcu_addr; | ||
34 | s32 shp_2_per_addr; | ||
35 | s32 shp_2_mcu_addr; | ||
36 | s32 mshc_2_mcu_addr; | ||
37 | s32 mcu_2_mshc_addr; | ||
38 | s32 spdif_2_mcu_addr; | ||
39 | s32 mcu_2_spdif_addr; | ||
40 | s32 asrc_2_mcu_addr; | ||
41 | s32 ext_mem_2_ipu_addr; | ||
42 | s32 descrambler_addr; | ||
43 | s32 dptc_dvfs_addr; | ||
44 | s32 utra_addr; | ||
45 | s32 ram_code_start_addr; | ||
46 | }; | ||
47 | |||
48 | /** | ||
49 | * struct sdma_platform_data - platform specific data for SDMA engine | ||
50 | * | ||
51 | * @fw_name The firmware name | ||
52 | * @script_addrs SDMA scripts addresses in SDMA ROM | ||
53 | */ | ||
54 | struct sdma_platform_data { | ||
55 | char *fw_name; | ||
56 | struct sdma_script_start_addrs *script_addrs; | ||
57 | }; | ||
58 | |||
59 | #endif /* __MACH_MXC_SDMA_H__ */ | ||
diff --git a/arch/arm/plat-mxc/include/mach/spi.h b/arch/arm/plat-mxc/include/mach/spi.h deleted file mode 100644 index 08be445e8eb8..000000000000 --- a/arch/arm/plat-mxc/include/mach/spi.h +++ /dev/null | |||
@@ -1,27 +0,0 @@ | |||
1 | |||
2 | #ifndef __MACH_SPI_H_ | ||
3 | #define __MACH_SPI_H_ | ||
4 | |||
5 | /* | ||
6 | * struct spi_imx_master - device.platform_data for SPI controller devices. | ||
7 | * @chipselect: Array of chipselects for this master. Numbers >= 0 mean gpio | ||
8 | * pins, numbers < 0 mean internal CSPI chipselects according | ||
9 | * to MXC_SPI_CS(). Normally you want to use gpio based chip | ||
10 | * selects as the CSPI module tries to be intelligent about | ||
11 | * when to assert the chipselect: The CSPI module deasserts the | ||
12 | * chipselect once it runs out of input data. The other problem | ||
13 | * is that it is not possible to mix between high active and low | ||
14 | * active chipselects on one single bus using the internal | ||
15 | * chipselects. Unfortunately Freescale decided to put some | ||
16 | * chipselects on dedicated pins which are not usable as gpios, | ||
17 | * so we have to support the internal chipselects. | ||
18 | * @num_chipselect: ARRAY_SIZE(chipselect) | ||
19 | */ | ||
20 | struct spi_imx_master { | ||
21 | int *chipselect; | ||
22 | int num_chipselect; | ||
23 | }; | ||
24 | |||
25 | #define MXC_SPI_CS(no) ((no) - 32) | ||
26 | |||
27 | #endif /* __MACH_SPI_H_*/ | ||
diff --git a/arch/arm/plat-mxc/include/mach/ssi.h b/arch/arm/plat-mxc/include/mach/ssi.h deleted file mode 100644 index 63f3c2804239..000000000000 --- a/arch/arm/plat-mxc/include/mach/ssi.h +++ /dev/null | |||
@@ -1,21 +0,0 @@ | |||
1 | #ifndef __MACH_SSI_H | ||
2 | #define __MACH_SSI_H | ||
3 | |||
4 | struct snd_ac97; | ||
5 | |||
6 | extern unsigned char imx_ssi_fiq_start, imx_ssi_fiq_end; | ||
7 | extern unsigned long imx_ssi_fiq_base, imx_ssi_fiq_tx_buffer, imx_ssi_fiq_rx_buffer; | ||
8 | |||
9 | struct imx_ssi_platform_data { | ||
10 | unsigned int flags; | ||
11 | #define IMX_SSI_DMA (1 << 0) | ||
12 | #define IMX_SSI_USE_AC97 (1 << 1) | ||
13 | #define IMX_SSI_NET (1 << 2) | ||
14 | #define IMX_SSI_SYN (1 << 3) | ||
15 | #define IMX_SSI_USE_I2S_SLAVE (1 << 4) | ||
16 | void (*ac97_reset) (struct snd_ac97 *ac97); | ||
17 | void (*ac97_warm_reset)(struct snd_ac97 *ac97); | ||
18 | }; | ||
19 | |||
20 | #endif /* __MACH_SSI_H */ | ||
21 | |||
diff --git a/arch/arm/plat-mxc/include/mach/usb.h b/arch/arm/plat-mxc/include/mach/usb.h deleted file mode 100644 index be273371f34a..000000000000 --- a/arch/arm/plat-mxc/include/mach/usb.h +++ /dev/null | |||
@@ -1,23 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2008 Darius Augulis <augulis.darius@gmail.com> | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | * GNU General Public License for more details. | ||
13 | */ | ||
14 | |||
15 | #ifndef __ASM_ARCH_MXC_USB | ||
16 | #define __ASM_ARCH_MXC_USB | ||
17 | |||
18 | struct imxusb_platform_data { | ||
19 | int (*init)(struct device *); | ||
20 | void (*exit)(struct device *); | ||
21 | }; | ||
22 | |||
23 | #endif /* __ASM_ARCH_MXC_USB */ | ||
diff --git a/arch/arm/plat-mxc/ssi-fiq-ksym.c b/arch/arm/plat-mxc/ssi-fiq-ksym.c index b5fad454da78..792090f9a032 100644 --- a/arch/arm/plat-mxc/ssi-fiq-ksym.c +++ b/arch/arm/plat-mxc/ssi-fiq-ksym.c | |||
@@ -10,7 +10,7 @@ | |||
10 | 10 | ||
11 | #include <linux/module.h> | 11 | #include <linux/module.h> |
12 | 12 | ||
13 | #include <mach/ssi.h> | 13 | #include <linux/platform_data/asoc-imx-ssi.h> |
14 | 14 | ||
15 | EXPORT_SYMBOL(imx_ssi_fiq_tx_buffer); | 15 | EXPORT_SYMBOL(imx_ssi_fiq_tx_buffer); |
16 | EXPORT_SYMBOL(imx_ssi_fiq_rx_buffer); | 16 | EXPORT_SYMBOL(imx_ssi_fiq_rx_buffer); |
diff --git a/arch/arm/plat-nomadik/include/plat/ske.h b/arch/arm/plat-nomadik/include/plat/ske.h deleted file mode 100644 index 31382fbc07dc..000000000000 --- a/arch/arm/plat-nomadik/include/plat/ske.h +++ /dev/null | |||
@@ -1,50 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) ST-Ericsson SA 2010 | ||
3 | * | ||
4 | * License Terms: GNU General Public License v2 | ||
5 | * Author: Naveen Kumar Gaddipati <naveen.gaddipati@stericsson.com> | ||
6 | * | ||
7 | * ux500 Scroll key and Keypad Encoder (SKE) header | ||
8 | */ | ||
9 | |||
10 | #ifndef __SKE_H | ||
11 | #define __SKE_H | ||
12 | |||
13 | #include <linux/input/matrix_keypad.h> | ||
14 | |||
15 | /* register definitions for SKE peripheral */ | ||
16 | #define SKE_CR 0x00 | ||
17 | #define SKE_VAL0 0x04 | ||
18 | #define SKE_VAL1 0x08 | ||
19 | #define SKE_DBCR 0x0C | ||
20 | #define SKE_IMSC 0x10 | ||
21 | #define SKE_RIS 0x14 | ||
22 | #define SKE_MIS 0x18 | ||
23 | #define SKE_ICR 0x1C | ||
24 | |||
25 | /* | ||
26 | * Keypad module | ||
27 | */ | ||
28 | |||
29 | /** | ||
30 | * struct keypad_platform_data - structure for platform specific data | ||
31 | * @init: pointer to keypad init function | ||
32 | * @exit: pointer to keypad deinitialisation function | ||
33 | * @keymap_data: matrix scan code table for keycodes | ||
34 | * @krow: maximum number of rows | ||
35 | * @kcol: maximum number of columns | ||
36 | * @debounce_ms: platform specific debounce time | ||
37 | * @no_autorepeat: flag for auto repetition | ||
38 | * @wakeup_enable: allow waking up the system | ||
39 | */ | ||
40 | struct ske_keypad_platform_data { | ||
41 | int (*init)(void); | ||
42 | int (*exit)(void); | ||
43 | const struct matrix_keymap_data *keymap_data; | ||
44 | u8 krow; | ||
45 | u8 kcol; | ||
46 | u8 debounce_ms; | ||
47 | bool no_autorepeat; | ||
48 | bool wakeup_enable; | ||
49 | }; | ||
50 | #endif /*__SKE_KPD_H*/ | ||
diff --git a/arch/arm/plat-orion/common.c b/arch/arm/plat-orion/common.c index b8b747a9d360..87f53caef655 100644 --- a/arch/arm/plat-orion/common.c +++ b/arch/arm/plat-orion/common.c | |||
@@ -19,8 +19,8 @@ | |||
19 | #include <linux/mv643xx_eth.h> | 19 | #include <linux/mv643xx_eth.h> |
20 | #include <linux/mv643xx_i2c.h> | 20 | #include <linux/mv643xx_i2c.h> |
21 | #include <net/dsa.h> | 21 | #include <net/dsa.h> |
22 | #include <plat/mv_xor.h> | 22 | #include <linux/platform_data/dma-mv_xor.h> |
23 | #include <plat/ehci-orion.h> | 23 | #include <linux/platform_data/usb-ehci-orion.h> |
24 | #include <mach/bridge-regs.h> | 24 | #include <mach/bridge-regs.h> |
25 | 25 | ||
26 | /* Create a clkdev entry for a given device/clk */ | 26 | /* Create a clkdev entry for a given device/clk */ |
diff --git a/arch/arm/plat-orion/gpio.c b/arch/arm/plat-orion/gpio.c index dfda74fae6f2..c29ee7ea200b 100644 --- a/arch/arm/plat-orion/gpio.c +++ b/arch/arm/plat-orion/gpio.c | |||
@@ -23,7 +23,7 @@ | |||
23 | #include <linux/of.h> | 23 | #include <linux/of.h> |
24 | #include <linux/of_irq.h> | 24 | #include <linux/of_irq.h> |
25 | #include <linux/of_address.h> | 25 | #include <linux/of_address.h> |
26 | #include <plat/gpio.h> | 26 | #include <plat/orion-gpio.h> |
27 | 27 | ||
28 | /* | 28 | /* |
29 | * GPIO unit register offsets. | 29 | * GPIO unit register offsets. |
diff --git a/arch/arm/plat-orion/include/plat/audio.h b/arch/arm/plat-orion/include/plat/audio.h deleted file mode 100644 index d6a55bd2e578..000000000000 --- a/arch/arm/plat-orion/include/plat/audio.h +++ /dev/null | |||
@@ -1,7 +0,0 @@ | |||
1 | #ifndef __PLAT_AUDIO_H | ||
2 | #define __PLAT_AUDIO_H | ||
3 | |||
4 | struct kirkwood_asoc_platform_data { | ||
5 | int burst; | ||
6 | }; | ||
7 | #endif | ||
diff --git a/arch/arm/plat-orion/include/plat/ehci-orion.h b/arch/arm/plat-orion/include/plat/ehci-orion.h deleted file mode 100644 index 6fc78e430420..000000000000 --- a/arch/arm/plat-orion/include/plat/ehci-orion.h +++ /dev/null | |||
@@ -1,26 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/plat-orion/include/plat/ehci-orion.h | ||
3 | * | ||
4 | * This file is licensed under the terms of the GNU General Public | ||
5 | * License version 2. This program is licensed "as is" without any | ||
6 | * warranty of any kind, whether express or implied. | ||
7 | */ | ||
8 | |||
9 | #ifndef __PLAT_EHCI_ORION_H | ||
10 | #define __PLAT_EHCI_ORION_H | ||
11 | |||
12 | #include <linux/mbus.h> | ||
13 | |||
14 | enum orion_ehci_phy_ver { | ||
15 | EHCI_PHY_ORION, | ||
16 | EHCI_PHY_DD, | ||
17 | EHCI_PHY_KW, | ||
18 | EHCI_PHY_NA, | ||
19 | }; | ||
20 | |||
21 | struct orion_ehci_data { | ||
22 | enum orion_ehci_phy_ver phy_version; | ||
23 | }; | ||
24 | |||
25 | |||
26 | #endif | ||
diff --git a/arch/arm/plat-orion/include/plat/mv_xor.h b/arch/arm/plat-orion/include/plat/mv_xor.h deleted file mode 100644 index 2ba1f7d76eef..000000000000 --- a/arch/arm/plat-orion/include/plat/mv_xor.h +++ /dev/null | |||
@@ -1,24 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/plat-orion/include/plat/mv_xor.h | ||
3 | * | ||
4 | * Marvell XOR platform device data definition file. | ||
5 | */ | ||
6 | |||
7 | #ifndef __PLAT_MV_XOR_H | ||
8 | #define __PLAT_MV_XOR_H | ||
9 | |||
10 | #include <linux/dmaengine.h> | ||
11 | #include <linux/mbus.h> | ||
12 | |||
13 | #define MV_XOR_SHARED_NAME "mv_xor_shared" | ||
14 | #define MV_XOR_NAME "mv_xor" | ||
15 | |||
16 | struct mv_xor_platform_data { | ||
17 | struct platform_device *shared; | ||
18 | int hw_id; | ||
19 | dma_cap_mask_t cap_mask; | ||
20 | size_t pool_size; | ||
21 | }; | ||
22 | |||
23 | |||
24 | #endif | ||
diff --git a/arch/arm/plat-orion/include/plat/mvsdio.h b/arch/arm/plat-orion/include/plat/mvsdio.h deleted file mode 100644 index 1190efedcb94..000000000000 --- a/arch/arm/plat-orion/include/plat/mvsdio.h +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/plat-orion/include/plat/mvsdio.h | ||
3 | * | ||
4 | * This file is licensed under the terms of the GNU General Public | ||
5 | * License version 2. This program is licensed "as is" without any | ||
6 | * warranty of any kind, whether express or implied. | ||
7 | */ | ||
8 | |||
9 | #ifndef __MACH_MVSDIO_H | ||
10 | #define __MACH_MVSDIO_H | ||
11 | |||
12 | #include <linux/mbus.h> | ||
13 | |||
14 | struct mvsdio_platform_data { | ||
15 | unsigned int clock; | ||
16 | int gpio_card_detect; | ||
17 | int gpio_write_protect; | ||
18 | }; | ||
19 | |||
20 | #endif | ||
diff --git a/arch/arm/plat-orion/include/plat/gpio.h b/arch/arm/plat-orion/include/plat/orion-gpio.h index 81c6fc8a7b28..614dcac9dc52 100644 --- a/arch/arm/plat-orion/include/plat/gpio.h +++ b/arch/arm/plat-orion/include/plat/orion-gpio.h | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * arch/arm/plat-orion/include/plat/gpio.h | 2 | * arch/arm/plat-orion/include/plat/orion-gpio.h |
3 | * | 3 | * |
4 | * Marvell Orion SoC GPIO handling. | 4 | * Marvell Orion SoC GPIO handling. |
5 | * | 5 | * |
diff --git a/arch/arm/plat-orion/include/plat/orion_nand.h b/arch/arm/plat-orion/include/plat/orion_nand.h deleted file mode 100644 index 9f3c180834d1..000000000000 --- a/arch/arm/plat-orion/include/plat/orion_nand.h +++ /dev/null | |||
@@ -1,26 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/plat-orion/include/plat/orion_nand.h | ||
3 | * | ||
4 | * This file is licensed under the terms of the GNU General Public | ||
5 | * License version 2. This program is licensed "as is" without any | ||
6 | * warranty of any kind, whether express or implied. | ||
7 | */ | ||
8 | |||
9 | #ifndef __PLAT_ORION_NAND_H | ||
10 | #define __PLAT_ORION_NAND_H | ||
11 | |||
12 | /* | ||
13 | * Device bus NAND private data | ||
14 | */ | ||
15 | struct orion_nand_data { | ||
16 | struct mtd_partition *parts; | ||
17 | int (*dev_ready)(struct mtd_info *mtd); | ||
18 | u32 nr_parts; | ||
19 | u8 ale; /* address line number connected to ALE */ | ||
20 | u8 cle; /* address line number connected to CLE */ | ||
21 | u8 width; /* buswidth */ | ||
22 | u8 chip_delay; | ||
23 | }; | ||
24 | |||
25 | |||
26 | #endif | ||
diff --git a/arch/arm/plat-orion/irq.c b/arch/arm/plat-orion/irq.c index d751964def4c..1867944415ca 100644 --- a/arch/arm/plat-orion/irq.c +++ b/arch/arm/plat-orion/irq.c | |||
@@ -16,7 +16,7 @@ | |||
16 | #include <linux/of_address.h> | 16 | #include <linux/of_address.h> |
17 | #include <linux/of_irq.h> | 17 | #include <linux/of_irq.h> |
18 | #include <plat/irq.h> | 18 | #include <plat/irq.h> |
19 | #include <plat/gpio.h> | 19 | #include <plat/orion-gpio.h> |
20 | 20 | ||
21 | void __init orion_irq_init(unsigned int irq_start, void __iomem *maskaddr) | 21 | void __init orion_irq_init(unsigned int irq_start, void __iomem *maskaddr) |
22 | { | 22 | { |
diff --git a/arch/arm/plat-orion/mpp.c b/arch/arm/plat-orion/mpp.c index 3b1e17bd3d17..7740bb31d662 100644 --- a/arch/arm/plat-orion/mpp.c +++ b/arch/arm/plat-orion/mpp.c | |||
@@ -14,6 +14,7 @@ | |||
14 | #include <linux/io.h> | 14 | #include <linux/io.h> |
15 | #include <linux/gpio.h> | 15 | #include <linux/gpio.h> |
16 | #include <mach/hardware.h> | 16 | #include <mach/hardware.h> |
17 | #include <plat/orion-gpio.h> | ||
17 | #include <plat/mpp.h> | 18 | #include <plat/mpp.h> |
18 | 19 | ||
19 | /* Address of the ith MPP control register */ | 20 | /* Address of the ith MPP control register */ |
diff --git a/arch/arm/plat-pxa/include/plat/pxa27x_keypad.h b/arch/arm/plat-pxa/include/plat/pxa27x_keypad.h deleted file mode 100644 index 5ce8d5e6ea51..000000000000 --- a/arch/arm/plat-pxa/include/plat/pxa27x_keypad.h +++ /dev/null | |||
@@ -1,73 +0,0 @@ | |||
1 | #ifndef __ASM_ARCH_PXA27x_KEYPAD_H | ||
2 | #define __ASM_ARCH_PXA27x_KEYPAD_H | ||
3 | |||
4 | #include <linux/input.h> | ||
5 | #include <linux/input/matrix_keypad.h> | ||
6 | |||
7 | #define MAX_MATRIX_KEY_ROWS (8) | ||
8 | #define MAX_MATRIX_KEY_COLS (8) | ||
9 | #define MATRIX_ROW_SHIFT (3) | ||
10 | #define MAX_DIRECT_KEY_NUM (8) | ||
11 | |||
12 | /* pxa3xx keypad platform specific parameters | ||
13 | * | ||
14 | * NOTE: | ||
15 | * 1. direct_key_num indicates the number of keys in the direct keypad | ||
16 | * _plus_ the number of rotary-encoder sensor inputs, this can be | ||
17 | * left as 0 if only rotary encoders are enabled, the driver will | ||
18 | * automatically calculate this | ||
19 | * | ||
20 | * 2. direct_key_map is the key code map for the direct keys, if rotary | ||
21 | * encoder(s) are enabled, direct key 0/1(2/3) will be ignored | ||
22 | * | ||
23 | * 3. rotary can be either interpreted as a relative input event (e.g. | ||
24 | * REL_WHEEL/REL_HWHEEL) or specific keys (e.g. UP/DOWN/LEFT/RIGHT) | ||
25 | * | ||
26 | * 4. matrix key and direct key will use the same debounce_interval by | ||
27 | * default, which should be sufficient in most cases | ||
28 | * | ||
29 | * pxa168 keypad platform specific parameter | ||
30 | * | ||
31 | * NOTE: | ||
32 | * clear_wakeup_event callback is a workaround required to clear the | ||
33 | * keypad interrupt. The keypad wake must be cleared in addition to | ||
34 | * reading the MI/DI bits in the KPC register. | ||
35 | */ | ||
36 | struct pxa27x_keypad_platform_data { | ||
37 | |||
38 | /* code map for the matrix keys */ | ||
39 | unsigned int matrix_key_rows; | ||
40 | unsigned int matrix_key_cols; | ||
41 | unsigned int *matrix_key_map; | ||
42 | int matrix_key_map_size; | ||
43 | |||
44 | /* direct keys */ | ||
45 | int direct_key_num; | ||
46 | unsigned int direct_key_map[MAX_DIRECT_KEY_NUM]; | ||
47 | /* the key output may be low active */ | ||
48 | int direct_key_low_active; | ||
49 | /* give board a chance to choose the start direct key */ | ||
50 | unsigned int direct_key_mask; | ||
51 | |||
52 | /* rotary encoders 0 */ | ||
53 | int enable_rotary0; | ||
54 | int rotary0_rel_code; | ||
55 | int rotary0_up_key; | ||
56 | int rotary0_down_key; | ||
57 | |||
58 | /* rotary encoders 1 */ | ||
59 | int enable_rotary1; | ||
60 | int rotary1_rel_code; | ||
61 | int rotary1_up_key; | ||
62 | int rotary1_down_key; | ||
63 | |||
64 | /* key debounce interval */ | ||
65 | unsigned int debounce_interval; | ||
66 | |||
67 | /* clear wakeup event requirement for pxa168 */ | ||
68 | void (*clear_wakeup_event)(void); | ||
69 | }; | ||
70 | |||
71 | extern void pxa_set_keypad_info(struct pxa27x_keypad_platform_data *info); | ||
72 | |||
73 | #endif /* __ASM_ARCH_PXA27x_KEYPAD_H */ | ||
diff --git a/arch/arm/plat-pxa/include/plat/pxa3xx_nand.h b/arch/arm/plat-pxa/include/plat/pxa3xx_nand.h deleted file mode 100644 index c42f39f20195..000000000000 --- a/arch/arm/plat-pxa/include/plat/pxa3xx_nand.h +++ /dev/null | |||
@@ -1,79 +0,0 @@ | |||
1 | #ifndef __ASM_ARCH_PXA3XX_NAND_H | ||
2 | #define __ASM_ARCH_PXA3XX_NAND_H | ||
3 | |||
4 | #include <linux/mtd/mtd.h> | ||
5 | #include <linux/mtd/partitions.h> | ||
6 | |||
7 | struct pxa3xx_nand_timing { | ||
8 | unsigned int tCH; /* Enable signal hold time */ | ||
9 | unsigned int tCS; /* Enable signal setup time */ | ||
10 | unsigned int tWH; /* ND_nWE high duration */ | ||
11 | unsigned int tWP; /* ND_nWE pulse time */ | ||
12 | unsigned int tRH; /* ND_nRE high duration */ | ||
13 | unsigned int tRP; /* ND_nRE pulse width */ | ||
14 | unsigned int tR; /* ND_nWE high to ND_nRE low for read */ | ||
15 | unsigned int tWHR; /* ND_nWE high to ND_nRE low for status read */ | ||
16 | unsigned int tAR; /* ND_ALE low to ND_nRE low delay */ | ||
17 | }; | ||
18 | |||
19 | struct pxa3xx_nand_cmdset { | ||
20 | uint16_t read1; | ||
21 | uint16_t read2; | ||
22 | uint16_t program; | ||
23 | uint16_t read_status; | ||
24 | uint16_t read_id; | ||
25 | uint16_t erase; | ||
26 | uint16_t reset; | ||
27 | uint16_t lock; | ||
28 | uint16_t unlock; | ||
29 | uint16_t lock_status; | ||
30 | }; | ||
31 | |||
32 | struct pxa3xx_nand_flash { | ||
33 | char *name; | ||
34 | uint32_t chip_id; | ||
35 | unsigned int page_per_block; /* Pages per block (PG_PER_BLK) */ | ||
36 | unsigned int page_size; /* Page size in bytes (PAGE_SZ) */ | ||
37 | unsigned int flash_width; /* Width of Flash memory (DWIDTH_M) */ | ||
38 | unsigned int dfc_width; /* Width of flash controller(DWIDTH_C) */ | ||
39 | unsigned int num_blocks; /* Number of physical blocks in Flash */ | ||
40 | |||
41 | struct pxa3xx_nand_timing *timing; /* NAND Flash timing */ | ||
42 | }; | ||
43 | |||
44 | /* | ||
45 | * Current pxa3xx_nand controller has two chip select which | ||
46 | * both be workable. | ||
47 | * | ||
48 | * Notice should be taken that: | ||
49 | * When you want to use this feature, you should not enable the | ||
50 | * keep configuration feature, for two chip select could be | ||
51 | * attached with different nand chip. The different page size | ||
52 | * and timing requirement make the keep configuration impossible. | ||
53 | */ | ||
54 | |||
55 | /* The max num of chip select current support */ | ||
56 | #define NUM_CHIP_SELECT (2) | ||
57 | struct pxa3xx_nand_platform_data { | ||
58 | |||
59 | /* the data flash bus is shared between the Static Memory | ||
60 | * Controller and the Data Flash Controller, the arbiter | ||
61 | * controls the ownership of the bus | ||
62 | */ | ||
63 | int enable_arbiter; | ||
64 | |||
65 | /* allow platform code to keep OBM/bootloader defined NFC config */ | ||
66 | int keep_config; | ||
67 | |||
68 | /* indicate how many chip selects will be used */ | ||
69 | int num_cs; | ||
70 | |||
71 | const struct mtd_partition *parts[NUM_CHIP_SELECT]; | ||
72 | unsigned int nr_parts[NUM_CHIP_SELECT]; | ||
73 | |||
74 | const struct pxa3xx_nand_flash * flash; | ||
75 | size_t num_flash; | ||
76 | }; | ||
77 | |||
78 | extern void pxa3xx_set_nand_info(struct pxa3xx_nand_platform_data *info); | ||
79 | #endif /* __ASM_ARCH_PXA3XX_NAND_H */ | ||
diff --git a/arch/arm/plat-samsung/devs.c b/arch/arm/plat-samsung/devs.c index 8d26ce6813bb..03f654d55eff 100644 --- a/arch/arm/plat-samsung/devs.c +++ b/arch/arm/plat-samsung/devs.c | |||
@@ -47,25 +47,25 @@ | |||
47 | #include <plat/cpu.h> | 47 | #include <plat/cpu.h> |
48 | #include <plat/devs.h> | 48 | #include <plat/devs.h> |
49 | #include <plat/adc.h> | 49 | #include <plat/adc.h> |
50 | #include <plat/ata.h> | 50 | #include <linux/platform_data/ata-samsung_cf.h> |
51 | #include <plat/ehci.h> | 51 | #include <linux/platform_data/usb-ehci-s5p.h> |
52 | #include <plat/fb.h> | 52 | #include <plat/fb.h> |
53 | #include <plat/fb-s3c2410.h> | 53 | #include <plat/fb-s3c2410.h> |
54 | #include <plat/hdmi.h> | 54 | #include <plat/hdmi.h> |
55 | #include <plat/hwmon.h> | 55 | #include <linux/platform_data/hwmon-s3c.h> |
56 | #include <plat/iic.h> | 56 | #include <linux/platform_data/i2c-s3c2410.h> |
57 | #include <plat/keypad.h> | 57 | #include <plat/keypad.h> |
58 | #include <plat/mci.h> | 58 | #include <linux/platform_data/mmc-s3cmci.h> |
59 | #include <plat/nand.h> | 59 | #include <linux/platform_data/mtd-nand-s3c2410.h> |
60 | #include <plat/sdhci.h> | 60 | #include <plat/sdhci.h> |
61 | #include <plat/ts.h> | 61 | #include <linux/platform_data/touchscreen-s3c2410.h> |
62 | #include <plat/udc.h> | 62 | #include <linux/platform_data/usb-s3c2410_udc.h> |
63 | #include <plat/usb-control.h> | 63 | #include <linux/platform_data/usb-ohci-s3c2410.h> |
64 | #include <plat/usb-phy.h> | 64 | #include <plat/usb-phy.h> |
65 | #include <plat/regs-iic.h> | 65 | #include <plat/regs-iic.h> |
66 | #include <plat/regs-serial.h> | 66 | #include <plat/regs-serial.h> |
67 | #include <plat/regs-spi.h> | 67 | #include <plat/regs-spi.h> |
68 | #include <plat/s3c64xx-spi.h> | 68 | #include <linux/platform_data/spi-s3c64xx.h> |
69 | 69 | ||
70 | static u64 samsung_device_dma_mask = DMA_BIT_MASK(32); | 70 | static u64 samsung_device_dma_mask = DMA_BIT_MASK(32); |
71 | 71 | ||
diff --git a/arch/arm/plat-samsung/include/plat/ata.h b/arch/arm/plat-samsung/include/plat/ata.h deleted file mode 100644 index 2a3855a8372a..000000000000 --- a/arch/arm/plat-samsung/include/plat/ata.h +++ /dev/null | |||
@@ -1,36 +0,0 @@ | |||
1 | /* linux/arch/arm/plat-samsung/include/plat/ata.h | ||
2 | * | ||
3 | * Copyright (c) 2010 Samsung Electronics Co., Ltd. | ||
4 | * http://www.samsung.com | ||
5 | * | ||
6 | * Samsung CF-ATA platform_device info | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License version 2 as | ||
10 | * published by the Free Software Foundation. | ||
11 | */ | ||
12 | |||
13 | #ifndef __ASM_PLAT_ATA_H | ||
14 | #define __ASM_PLAT_ATA_H __FILE__ | ||
15 | |||
16 | /** | ||
17 | * struct s3c_ide_platdata - S3C IDE driver platform data. | ||
18 | * @setup_gpio: Setup the external GPIO pins to the right state for data | ||
19 | * transfer in true-ide mode. | ||
20 | */ | ||
21 | struct s3c_ide_platdata { | ||
22 | void (*setup_gpio)(void); | ||
23 | }; | ||
24 | |||
25 | /* | ||
26 | * s3c_ide_set_platdata() - Setup the platform specifc data for IDE driver. | ||
27 | * @pdata: Platform data for IDE driver. | ||
28 | */ | ||
29 | extern void s3c_ide_set_platdata(struct s3c_ide_platdata *pdata); | ||
30 | |||
31 | /* architecture-specific IDE configuration */ | ||
32 | extern void s3c64xx_ide_setup_gpio(void); | ||
33 | extern void s5pc100_ide_setup_gpio(void); | ||
34 | extern void s5pv210_ide_setup_gpio(void); | ||
35 | |||
36 | #endif /*__ASM_PLAT_ATA_H */ | ||
diff --git a/arch/arm/plat-samsung/include/plat/audio-simtec.h b/arch/arm/plat-samsung/include/plat/audio-simtec.h deleted file mode 100644 index 376af5286a3e..000000000000 --- a/arch/arm/plat-samsung/include/plat/audio-simtec.h +++ /dev/null | |||
@@ -1,34 +0,0 @@ | |||
1 | /* arch/arm/plat-samsung/include/plat/audio-simtec.h | ||
2 | * | ||
3 | * Copyright 2008 Simtec Electronics | ||
4 | * http://armlinux.simtec.co.uk/ | ||
5 | * Ben Dooks <ben@simtec.co.uk> | ||
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 | * Simtec Audio support. | ||
12 | */ | ||
13 | |||
14 | /** | ||
15 | * struct s3c24xx_audio_simtec_pdata - platform data for simtec audio | ||
16 | * @use_mpllin: Select codec clock from MPLLin | ||
17 | * @output_cdclk: Need to output CDCLK to the codec | ||
18 | * @have_mic: Set if we have a MIC socket | ||
19 | * @have_lout: Set if we have a LineOut socket | ||
20 | * @amp_gpio: GPIO pin to enable the AMP | ||
21 | * @amp_gain: Option GPIO to control AMP gain | ||
22 | */ | ||
23 | struct s3c24xx_audio_simtec_pdata { | ||
24 | unsigned int use_mpllin:1; | ||
25 | unsigned int output_cdclk:1; | ||
26 | |||
27 | unsigned int have_mic:1; | ||
28 | unsigned int have_lout:1; | ||
29 | |||
30 | int amp_gpio; | ||
31 | int amp_gain[2]; | ||
32 | |||
33 | void (*startup)(void); | ||
34 | }; | ||
diff --git a/arch/arm/plat-samsung/include/plat/audio.h b/arch/arm/plat-samsung/include/plat/audio.h deleted file mode 100644 index aa9875f77c40..000000000000 --- a/arch/arm/plat-samsung/include/plat/audio.h +++ /dev/null | |||
@@ -1,59 +0,0 @@ | |||
1 | /* arch/arm/plat-samsung/include/plat/audio.h | ||
2 | * | ||
3 | * Copyright (c) 2009 Samsung Electronics Co. Ltd | ||
4 | * Author: Jaswinder Singh <jassi.brar@samsung.com> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | */ | ||
10 | |||
11 | /* The machine init code calls s3c*_ac97_setup_gpio with | ||
12 | * one of these defines in order to select appropriate bank | ||
13 | * of GPIO for AC97 pins | ||
14 | */ | ||
15 | #define S3C64XX_AC97_GPD 0 | ||
16 | #define S3C64XX_AC97_GPE 1 | ||
17 | extern void s3c64xx_ac97_setup_gpio(int); | ||
18 | |||
19 | /* | ||
20 | * The machine init code calls s5p*_spdif_setup_gpio with | ||
21 | * one of these defines in order to select appropriate bank | ||
22 | * of GPIO for S/PDIF pins | ||
23 | */ | ||
24 | #define S5PC100_SPDIF_GPD 0 | ||
25 | #define S5PC100_SPDIF_GPG3 1 | ||
26 | extern void s5pc100_spdif_setup_gpio(int); | ||
27 | |||
28 | struct samsung_i2s { | ||
29 | /* If the Primary DAI has 5.1 Channels */ | ||
30 | #define QUIRK_PRI_6CHAN (1 << 0) | ||
31 | /* If the I2S block has a Stereo Overlay Channel */ | ||
32 | #define QUIRK_SEC_DAI (1 << 1) | ||
33 | /* | ||
34 | * If the I2S block has no internal prescalar or MUX (I2SMOD[10] bit) | ||
35 | * The Machine driver must provide suitably set clock to the I2S block. | ||
36 | */ | ||
37 | #define QUIRK_NO_MUXPSR (1 << 2) | ||
38 | #define QUIRK_NEED_RSTCLR (1 << 3) | ||
39 | /* Quirks of the I2S controller */ | ||
40 | u32 quirks; | ||
41 | |||
42 | /* | ||
43 | * Array of clock names that can be used to generate I2S signals. | ||
44 | * Also corresponds to clocks of I2SMOD[10] | ||
45 | */ | ||
46 | const char **src_clk; | ||
47 | dma_addr_t idma_addr; | ||
48 | }; | ||
49 | |||
50 | /** | ||
51 | * struct s3c_audio_pdata - common platform data for audio device drivers | ||
52 | * @cfg_gpio: Callback function to setup mux'ed pins in I2S/PCM/AC97 mode | ||
53 | */ | ||
54 | struct s3c_audio_pdata { | ||
55 | int (*cfg_gpio)(struct platform_device *); | ||
56 | union { | ||
57 | struct samsung_i2s i2s; | ||
58 | } type; | ||
59 | }; | ||
diff --git a/arch/arm/plat-samsung/include/plat/ehci.h b/arch/arm/plat-samsung/include/plat/ehci.h deleted file mode 100644 index 5f28cae18582..000000000000 --- a/arch/arm/plat-samsung/include/plat/ehci.h +++ /dev/null | |||
@@ -1,21 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2011 Samsung Electronics Co.Ltd | ||
3 | * Author: Joonyoung Shim <jy0922.shim@samsung.com> | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify it | ||
6 | * under the terms of the GNU General Public License as published by the | ||
7 | * Free Software Foundation; either version 2 of the License, or (at your | ||
8 | * option) any later version. | ||
9 | */ | ||
10 | |||
11 | #ifndef __PLAT_SAMSUNG_EHCI_H | ||
12 | #define __PLAT_SAMSUNG_EHCI_H __FILE__ | ||
13 | |||
14 | struct s5p_ehci_platdata { | ||
15 | int (*phy_init)(struct platform_device *pdev, int type); | ||
16 | int (*phy_exit)(struct platform_device *pdev, int type); | ||
17 | }; | ||
18 | |||
19 | extern void s5p_ehci_set_platdata(struct s5p_ehci_platdata *pd); | ||
20 | |||
21 | #endif /* __PLAT_SAMSUNG_EHCI_H */ | ||
diff --git a/arch/arm/plat-samsung/include/plat/hwmon.h b/arch/arm/plat-samsung/include/plat/hwmon.h deleted file mode 100644 index c167e4429bc7..000000000000 --- a/arch/arm/plat-samsung/include/plat/hwmon.h +++ /dev/null | |||
@@ -1,51 +0,0 @@ | |||
1 | /* linux/arch/arm/plat-s3c/include/plat/hwmon.h | ||
2 | * | ||
3 | * Copyright 2005 Simtec Electronics | ||
4 | * Ben Dooks <ben@simtec.co.uk> | ||
5 | * http://armlinux.simtec.co.uk/ | ||
6 | * | ||
7 | * S3C - HWMon interface for ADC | ||
8 | * | ||
9 | * This program is free software; you can redistribute it and/or modify | ||
10 | * it under the terms of the GNU General Public License version 2 as | ||
11 | * published by the Free Software Foundation. | ||
12 | */ | ||
13 | |||
14 | #ifndef __ASM_ARCH_ADC_HWMON_H | ||
15 | #define __ASM_ARCH_ADC_HWMON_H __FILE__ | ||
16 | |||
17 | /** | ||
18 | * s3c_hwmon_chcfg - channel configuration | ||
19 | * @name: The name to give this channel. | ||
20 | * @mult: Multiply the ADC value read by this. | ||
21 | * @div: Divide the value from the ADC by this. | ||
22 | * | ||
23 | * The value read from the ADC is converted to a value that | ||
24 | * hwmon expects (mV) by result = (value_read * @mult) / @div. | ||
25 | */ | ||
26 | struct s3c_hwmon_chcfg { | ||
27 | const char *name; | ||
28 | unsigned int mult; | ||
29 | unsigned int div; | ||
30 | }; | ||
31 | |||
32 | /** | ||
33 | * s3c_hwmon_pdata - HWMON platform data | ||
34 | * @in: One configuration for each possible channel used. | ||
35 | */ | ||
36 | struct s3c_hwmon_pdata { | ||
37 | struct s3c_hwmon_chcfg *in[8]; | ||
38 | }; | ||
39 | |||
40 | /** | ||
41 | * s3c_hwmon_set_platdata - Set platform data for S3C HWMON device | ||
42 | * @pd: Platform data to register to device. | ||
43 | * | ||
44 | * Register the given platform data for use with the S3C HWMON device. | ||
45 | * The call will copy the platform data, so the board definitions can | ||
46 | * make the structure itself __initdata. | ||
47 | */ | ||
48 | extern void __init s3c_hwmon_set_platdata(struct s3c_hwmon_pdata *pd); | ||
49 | |||
50 | #endif /* __ASM_ARCH_ADC_HWMON_H */ | ||
51 | |||
diff --git a/arch/arm/plat-samsung/include/plat/iic.h b/arch/arm/plat-samsung/include/plat/iic.h deleted file mode 100644 index 51d52e767a19..000000000000 --- a/arch/arm/plat-samsung/include/plat/iic.h +++ /dev/null | |||
@@ -1,77 +0,0 @@ | |||
1 | /* arch/arm/plat-s3c/include/plat/iic.h | ||
2 | * | ||
3 | * Copyright 2004-2009 Simtec Electronics | ||
4 | * Ben Dooks <ben@simtec.co.uk> | ||
5 | * | ||
6 | * S3C - I2C Controller platform_device info | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License version 2 as | ||
10 | * published by the Free Software Foundation. | ||
11 | */ | ||
12 | |||
13 | #ifndef __ASM_ARCH_IIC_H | ||
14 | #define __ASM_ARCH_IIC_H __FILE__ | ||
15 | |||
16 | #define S3C_IICFLG_FILTER (1<<0) /* enable s3c2440 filter */ | ||
17 | |||
18 | /** | ||
19 | * struct s3c2410_platform_i2c - Platform data for s3c I2C. | ||
20 | * @bus_num: The bus number to use (if possible). | ||
21 | * @flags: Any flags for the I2C bus (E.g. S3C_IICFLK_FILTER). | ||
22 | * @slave_addr: The I2C address for the slave device (if enabled). | ||
23 | * @frequency: The desired frequency in Hz of the bus. This is | ||
24 | * guaranteed to not be exceeded. If the caller does | ||
25 | * not care, use zero and the driver will select a | ||
26 | * useful default. | ||
27 | * @sda_delay: The delay (in ns) applied to SDA edges. | ||
28 | * @cfg_gpio: A callback to configure the pins for I2C operation. | ||
29 | */ | ||
30 | struct s3c2410_platform_i2c { | ||
31 | int bus_num; | ||
32 | unsigned int flags; | ||
33 | unsigned int slave_addr; | ||
34 | unsigned long frequency; | ||
35 | unsigned int sda_delay; | ||
36 | |||
37 | void (*cfg_gpio)(struct platform_device *dev); | ||
38 | }; | ||
39 | |||
40 | /** | ||
41 | * s3c_i2c0_set_platdata - set platform data for i2c0 device | ||
42 | * @i2c: The platform data to set, or NULL for default data. | ||
43 | * | ||
44 | * Register the given platform data for use with the i2c0 device. This | ||
45 | * call copies the platform data, so the caller can use __initdata for | ||
46 | * their copy. | ||
47 | * | ||
48 | * This call will set cfg_gpio if is null to the default platform | ||
49 | * implementation. | ||
50 | * | ||
51 | * Any user of s3c_device_i2c0 should call this, even if it is with | ||
52 | * NULL to ensure that the device is given the default platform data | ||
53 | * as the driver will no longer carry defaults. | ||
54 | */ | ||
55 | extern void s3c_i2c0_set_platdata(struct s3c2410_platform_i2c *i2c); | ||
56 | extern void s3c_i2c1_set_platdata(struct s3c2410_platform_i2c *i2c); | ||
57 | extern void s3c_i2c2_set_platdata(struct s3c2410_platform_i2c *i2c); | ||
58 | extern void s3c_i2c3_set_platdata(struct s3c2410_platform_i2c *i2c); | ||
59 | extern void s3c_i2c4_set_platdata(struct s3c2410_platform_i2c *i2c); | ||
60 | extern void s3c_i2c5_set_platdata(struct s3c2410_platform_i2c *i2c); | ||
61 | extern void s3c_i2c6_set_platdata(struct s3c2410_platform_i2c *i2c); | ||
62 | extern void s3c_i2c7_set_platdata(struct s3c2410_platform_i2c *i2c); | ||
63 | extern void s5p_i2c_hdmiphy_set_platdata(struct s3c2410_platform_i2c *i2c); | ||
64 | |||
65 | /* defined by architecture to configure gpio */ | ||
66 | extern void s3c_i2c0_cfg_gpio(struct platform_device *dev); | ||
67 | extern void s3c_i2c1_cfg_gpio(struct platform_device *dev); | ||
68 | extern void s3c_i2c2_cfg_gpio(struct platform_device *dev); | ||
69 | extern void s3c_i2c3_cfg_gpio(struct platform_device *dev); | ||
70 | extern void s3c_i2c4_cfg_gpio(struct platform_device *dev); | ||
71 | extern void s3c_i2c5_cfg_gpio(struct platform_device *dev); | ||
72 | extern void s3c_i2c6_cfg_gpio(struct platform_device *dev); | ||
73 | extern void s3c_i2c7_cfg_gpio(struct platform_device *dev); | ||
74 | |||
75 | extern struct s3c2410_platform_i2c default_i2c_data; | ||
76 | |||
77 | #endif /* __ASM_ARCH_IIC_H */ | ||
diff --git a/arch/arm/plat-samsung/include/plat/mci.h b/arch/arm/plat-samsung/include/plat/mci.h deleted file mode 100644 index c42d31711944..000000000000 --- a/arch/arm/plat-samsung/include/plat/mci.h +++ /dev/null | |||
@@ -1,52 +0,0 @@ | |||
1 | #ifndef _ARCH_MCI_H | ||
2 | #define _ARCH_MCI_H | ||
3 | |||
4 | /** | ||
5 | * struct s3c24xx_mci_pdata - sd/mmc controller platform data | ||
6 | * @no_wprotect: Set this to indicate there is no write-protect switch. | ||
7 | * @no_detect: Set this if there is no detect switch. | ||
8 | * @wprotect_invert: Invert the default sense of the write protect switch. | ||
9 | * @detect_invert: Invert the default sense of the write protect switch. | ||
10 | * @use_dma: Set to allow the use of DMA. | ||
11 | * @gpio_detect: GPIO number for the card detect line. | ||
12 | * @gpio_wprotect: GPIO number for the write protect line. | ||
13 | * @ocr_avail: The mask of the available power states, non-zero to use. | ||
14 | * @set_power: Callback to control the power mode. | ||
15 | * | ||
16 | * The @gpio_detect is used for card detection when @no_wprotect is unset, | ||
17 | * and the default sense is that 0 returned from gpio_get_value() means | ||
18 | * that a card is inserted. If @detect_invert is set, then the value from | ||
19 | * gpio_get_value() is inverted, which makes 1 mean card inserted. | ||
20 | * | ||
21 | * The driver will use @gpio_wprotect to signal whether the card is write | ||
22 | * protected if @no_wprotect is not set. A 0 returned from gpio_get_value() | ||
23 | * means the card is read/write, and 1 means read-only. The @wprotect_invert | ||
24 | * will invert the value returned from gpio_get_value(). | ||
25 | * | ||
26 | * Card power is set by @ocr_availa, using MCC_VDD_ constants if it is set | ||
27 | * to a non-zero value, otherwise the default of 3.2-3.4V is used. | ||
28 | */ | ||
29 | struct s3c24xx_mci_pdata { | ||
30 | unsigned int no_wprotect:1; | ||
31 | unsigned int no_detect:1; | ||
32 | unsigned int wprotect_invert:1; | ||
33 | unsigned int detect_invert:1; /* set => detect active high */ | ||
34 | unsigned int use_dma:1; | ||
35 | |||
36 | unsigned int gpio_detect; | ||
37 | unsigned int gpio_wprotect; | ||
38 | unsigned long ocr_avail; | ||
39 | void (*set_power)(unsigned char power_mode, | ||
40 | unsigned short vdd); | ||
41 | }; | ||
42 | |||
43 | /** | ||
44 | * s3c24xx_mci_set_platdata - set platform data for mmc/sdi device | ||
45 | * @pdata: The platform data | ||
46 | * | ||
47 | * Copy the platform data supplied by @pdata so that this can be marked | ||
48 | * __initdata. | ||
49 | */ | ||
50 | extern void s3c24xx_mci_set_platdata(struct s3c24xx_mci_pdata *pdata); | ||
51 | |||
52 | #endif /* _ARCH_NCI_H */ | ||
diff --git a/arch/arm/plat-samsung/include/plat/mipi_csis.h b/arch/arm/plat-samsung/include/plat/mipi_csis.h deleted file mode 100644 index c45b1e8d4c2e..000000000000 --- a/arch/arm/plat-samsung/include/plat/mipi_csis.h +++ /dev/null | |||
@@ -1,43 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2010-2011 Samsung Electronics Co., Ltd. | ||
3 | * | ||
4 | * S5P series MIPI CSI slave device support | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | */ | ||
10 | |||
11 | #ifndef __PLAT_SAMSUNG_MIPI_CSIS_H_ | ||
12 | #define __PLAT_SAMSUNG_MIPI_CSIS_H_ __FILE__ | ||
13 | |||
14 | struct platform_device; | ||
15 | |||
16 | /** | ||
17 | * struct s5p_platform_mipi_csis - platform data for S5P MIPI-CSIS driver | ||
18 | * @clk_rate: bus clock frequency | ||
19 | * @lanes: number of data lanes used | ||
20 | * @alignment: data alignment in bits | ||
21 | * @hs_settle: HS-RX settle time | ||
22 | * @fixed_phy_vdd: false to enable external D-PHY regulator management in the | ||
23 | * driver or true in case this regulator has no enable function | ||
24 | * @phy_enable: pointer to a callback controlling D-PHY enable/reset | ||
25 | */ | ||
26 | struct s5p_platform_mipi_csis { | ||
27 | unsigned long clk_rate; | ||
28 | u8 lanes; | ||
29 | u8 alignment; | ||
30 | u8 hs_settle; | ||
31 | bool fixed_phy_vdd; | ||
32 | int (*phy_enable)(struct platform_device *pdev, bool on); | ||
33 | }; | ||
34 | |||
35 | /** | ||
36 | * s5p_csis_phy_enable - global MIPI-CSI receiver D-PHY control | ||
37 | * @pdev: MIPI-CSIS platform device | ||
38 | * @on: true to enable D-PHY and deassert its reset | ||
39 | * false to disable D-PHY | ||
40 | */ | ||
41 | int s5p_csis_phy_enable(struct platform_device *pdev, bool on); | ||
42 | |||
43 | #endif /* __PLAT_SAMSUNG_MIPI_CSIS_H_ */ | ||
diff --git a/arch/arm/plat-samsung/include/plat/nand.h b/arch/arm/plat-samsung/include/plat/nand.h deleted file mode 100644 index b64115fa93a4..000000000000 --- a/arch/arm/plat-samsung/include/plat/nand.h +++ /dev/null | |||
@@ -1,67 +0,0 @@ | |||
1 | /* arch/arm/mach-s3c2410/include/mach/nand.h | ||
2 | * | ||
3 | * Copyright (c) 2004 Simtec Electronics | ||
4 | * Ben Dooks <ben@simtec.co.uk> | ||
5 | * | ||
6 | * S3C2410 - NAND device controller platform_device info | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License version 2 as | ||
10 | * published by the Free Software Foundation. | ||
11 | */ | ||
12 | |||
13 | /** | ||
14 | * struct s3c2410_nand_set - define a set of one or more nand chips | ||
15 | * @disable_ecc: Entirely disable ECC - Dangerous | ||
16 | * @flash_bbt: Openmoko u-boot can create a Bad Block Table | ||
17 | * Setting this flag will allow the kernel to | ||
18 | * look for it at boot time and also skip the NAND | ||
19 | * scan. | ||
20 | * @options: Default value to set into 'struct nand_chip' options. | ||
21 | * @nr_chips: Number of chips in this set | ||
22 | * @nr_partitions: Number of partitions pointed to by @partitions | ||
23 | * @name: Name of set (optional) | ||
24 | * @nr_map: Map for low-layer logical to physical chip numbers (option) | ||
25 | * @partitions: The mtd partition list | ||
26 | * | ||
27 | * define a set of one or more nand chips registered with an unique mtd. Also | ||
28 | * allows to pass flag to the underlying NAND layer. 'disable_ecc' will trigger | ||
29 | * a warning at boot time. | ||
30 | */ | ||
31 | struct s3c2410_nand_set { | ||
32 | unsigned int disable_ecc:1; | ||
33 | unsigned int flash_bbt:1; | ||
34 | |||
35 | unsigned int options; | ||
36 | int nr_chips; | ||
37 | int nr_partitions; | ||
38 | char *name; | ||
39 | int *nr_map; | ||
40 | struct mtd_partition *partitions; | ||
41 | struct nand_ecclayout *ecc_layout; | ||
42 | }; | ||
43 | |||
44 | struct s3c2410_platform_nand { | ||
45 | /* timing information for controller, all times in nanoseconds */ | ||
46 | |||
47 | int tacls; /* time for active CLE/ALE to nWE/nOE */ | ||
48 | int twrph0; /* active time for nWE/nOE */ | ||
49 | int twrph1; /* time for release CLE/ALE from nWE/nOE inactive */ | ||
50 | |||
51 | unsigned int ignore_unset_ecc:1; | ||
52 | |||
53 | int nr_sets; | ||
54 | struct s3c2410_nand_set *sets; | ||
55 | |||
56 | void (*select_chip)(struct s3c2410_nand_set *, | ||
57 | int chip); | ||
58 | }; | ||
59 | |||
60 | /** | ||
61 | * s3c_nand_set_platdata() - register NAND platform data. | ||
62 | * @nand: The NAND platform data to register with s3c_device_nand. | ||
63 | * | ||
64 | * This function copies the given NAND platform data, @nand and registers | ||
65 | * it with the s3c_device_nand. This allows @nand to be __initdata. | ||
66 | */ | ||
67 | extern void s3c_nand_set_platdata(struct s3c2410_platform_nand *nand); | ||
diff --git a/arch/arm/plat-samsung/include/plat/s3c64xx-spi.h b/arch/arm/plat-samsung/include/plat/s3c64xx-spi.h deleted file mode 100644 index ceba18d23a5a..000000000000 --- a/arch/arm/plat-samsung/include/plat/s3c64xx-spi.h +++ /dev/null | |||
@@ -1,68 +0,0 @@ | |||
1 | /* linux/arch/arm/plat-samsung/include/plat/s3c64xx-spi.h | ||
2 | * | ||
3 | * Copyright (C) 2009 Samsung Electronics Ltd. | ||
4 | * Jaswinder Singh <jassi.brar@samsung.com> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | */ | ||
10 | |||
11 | #ifndef __S3C64XX_PLAT_SPI_H | ||
12 | #define __S3C64XX_PLAT_SPI_H | ||
13 | |||
14 | struct platform_device; | ||
15 | |||
16 | /** | ||
17 | * struct s3c64xx_spi_csinfo - ChipSelect description | ||
18 | * @fb_delay: Slave specific feedback delay. | ||
19 | * Refer to FB_CLK_SEL register definition in SPI chapter. | ||
20 | * @line: Custom 'identity' of the CS line. | ||
21 | * | ||
22 | * This is per SPI-Slave Chipselect information. | ||
23 | * Allocate and initialize one in machine init code and make the | ||
24 | * spi_board_info.controller_data point to it. | ||
25 | */ | ||
26 | struct s3c64xx_spi_csinfo { | ||
27 | u8 fb_delay; | ||
28 | unsigned line; | ||
29 | }; | ||
30 | |||
31 | /** | ||
32 | * struct s3c64xx_spi_info - SPI Controller defining structure | ||
33 | * @src_clk_nr: Clock source index for the CLK_CFG[SPI_CLKSEL] field. | ||
34 | * @num_cs: Number of CS this controller emulates. | ||
35 | * @cfg_gpio: Configure pins for this SPI controller. | ||
36 | */ | ||
37 | struct s3c64xx_spi_info { | ||
38 | int src_clk_nr; | ||
39 | int num_cs; | ||
40 | int (*cfg_gpio)(void); | ||
41 | }; | ||
42 | |||
43 | /** | ||
44 | * s3c64xx_spi_set_platdata - SPI Controller configure callback by the board | ||
45 | * initialization code. | ||
46 | * @cfg_gpio: Pointer to gpio setup function. | ||
47 | * @src_clk_nr: Clock the SPI controller is to use to generate SPI clocks. | ||
48 | * @num_cs: Number of elements in the 'cs' array. | ||
49 | * | ||
50 | * Call this from machine init code for each SPI Controller that | ||
51 | * has some chips attached to it. | ||
52 | */ | ||
53 | extern void s3c64xx_spi0_set_platdata(int (*cfg_gpio)(void), int src_clk_nr, | ||
54 | int num_cs); | ||
55 | extern void s3c64xx_spi1_set_platdata(int (*cfg_gpio)(void), int src_clk_nr, | ||
56 | int num_cs); | ||
57 | extern void s3c64xx_spi2_set_platdata(int (*cfg_gpio)(void), int src_clk_nr, | ||
58 | int num_cs); | ||
59 | |||
60 | /* defined by architecture to configure gpio */ | ||
61 | extern int s3c64xx_spi0_cfg_gpio(void); | ||
62 | extern int s3c64xx_spi1_cfg_gpio(void); | ||
63 | extern int s3c64xx_spi2_cfg_gpio(void); | ||
64 | |||
65 | extern struct s3c64xx_spi_info s3c64xx_spi0_pdata; | ||
66 | extern struct s3c64xx_spi_info s3c64xx_spi1_pdata; | ||
67 | extern struct s3c64xx_spi_info s3c64xx_spi2_pdata; | ||
68 | #endif /* __S3C64XX_PLAT_SPI_H */ | ||
diff --git a/arch/arm/plat-samsung/include/plat/ts.h b/arch/arm/plat-samsung/include/plat/ts.h deleted file mode 100644 index 26fdb22e0fc2..000000000000 --- a/arch/arm/plat-samsung/include/plat/ts.h +++ /dev/null | |||
@@ -1,25 +0,0 @@ | |||
1 | /* arch/arm/plat-samsung/include/plat/ts.h | ||
2 | * | ||
3 | * Copyright (c) 2005 Arnaud Patard <arnaud.patard@rtp-net.org> | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License version 2 as | ||
7 | * published by the Free Software Foundation. | ||
8 | */ | ||
9 | |||
10 | #ifndef __ASM_ARM_TS_H | ||
11 | #define __ASM_ARM_TS_H | ||
12 | |||
13 | struct s3c2410_ts_mach_info { | ||
14 | int delay; | ||
15 | int presc; | ||
16 | int oversampling_shift; | ||
17 | void (*cfg_gpio)(struct platform_device *dev); | ||
18 | }; | ||
19 | |||
20 | extern void s3c24xx_ts_set_platdata(struct s3c2410_ts_mach_info *); | ||
21 | |||
22 | /* defined by architecture to configure gpio */ | ||
23 | extern void s3c24xx_ts_cfg_gpio(struct platform_device *dev); | ||
24 | |||
25 | #endif /* __ASM_ARM_TS_H */ | ||
diff --git a/arch/arm/plat-samsung/include/plat/udc.h b/arch/arm/plat-samsung/include/plat/udc.h deleted file mode 100644 index de8e2288a509..000000000000 --- a/arch/arm/plat-samsung/include/plat/udc.h +++ /dev/null | |||
@@ -1,44 +0,0 @@ | |||
1 | /* arch/arm/plat-samsung/include/plat/udc.h | ||
2 | * | ||
3 | * Copyright (c) 2005 Arnaud Patard <arnaud.patard@rtp-net.org> | ||
4 | * | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | * | ||
10 | * | ||
11 | * Changelog: | ||
12 | * 14-Mar-2005 RTP Created file | ||
13 | * 02-Aug-2005 RTP File rename | ||
14 | * 07-Sep-2005 BJD Minor cleanups, changed cmd to enum | ||
15 | * 18-Jan-2007 HMW Add per-platform vbus_draw function | ||
16 | */ | ||
17 | |||
18 | #ifndef __ASM_ARM_ARCH_UDC_H | ||
19 | #define __ASM_ARM_ARCH_UDC_H | ||
20 | |||
21 | enum s3c2410_udc_cmd_e { | ||
22 | S3C2410_UDC_P_ENABLE = 1, /* Pull-up enable */ | ||
23 | S3C2410_UDC_P_DISABLE = 2, /* Pull-up disable */ | ||
24 | S3C2410_UDC_P_RESET = 3, /* UDC reset, in case of */ | ||
25 | }; | ||
26 | |||
27 | struct s3c2410_udc_mach_info { | ||
28 | void (*udc_command)(enum s3c2410_udc_cmd_e); | ||
29 | void (*vbus_draw)(unsigned int ma); | ||
30 | |||
31 | unsigned int pullup_pin; | ||
32 | unsigned int pullup_pin_inverted; | ||
33 | |||
34 | unsigned int vbus_pin; | ||
35 | unsigned char vbus_pin_inverted; | ||
36 | }; | ||
37 | |||
38 | extern void __init s3c24xx_udc_set_platdata(struct s3c2410_udc_mach_info *); | ||
39 | |||
40 | struct s3c24xx_hsudc_platdata; | ||
41 | |||
42 | extern void __init s3c24xx_hsudc_set_platdata(struct s3c24xx_hsudc_platdata *pd); | ||
43 | |||
44 | #endif /* __ASM_ARM_ARCH_UDC_H */ | ||
diff --git a/arch/arm/plat-samsung/include/plat/usb-control.h b/arch/arm/plat-samsung/include/plat/usb-control.h deleted file mode 100644 index 7fa1fbefc3f2..000000000000 --- a/arch/arm/plat-samsung/include/plat/usb-control.h +++ /dev/null | |||
@@ -1,43 +0,0 @@ | |||
1 | /* arch/arm/plat-samsung/include/plat/usb-control.h | ||
2 | * | ||
3 | * Copyright (c) 2004 Simtec Electronics | ||
4 | * Ben Dooks <ben@simtec.co.uk> | ||
5 | * | ||
6 | * S3C - USB host port information | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License version 2 as | ||
10 | * published by the Free Software Foundation. | ||
11 | */ | ||
12 | |||
13 | #ifndef __ASM_ARCH_USBCONTROL_H | ||
14 | #define __ASM_ARCH_USBCONTROL_H | ||
15 | |||
16 | #define S3C_HCDFLG_USED (1) | ||
17 | |||
18 | struct s3c2410_hcd_port { | ||
19 | unsigned char flags; | ||
20 | unsigned char power; | ||
21 | unsigned char oc_status; | ||
22 | unsigned char oc_changed; | ||
23 | }; | ||
24 | |||
25 | struct s3c2410_hcd_info { | ||
26 | struct usb_hcd *hcd; | ||
27 | struct s3c2410_hcd_port port[2]; | ||
28 | |||
29 | void (*power_control)(int port, int to); | ||
30 | void (*enable_oc)(struct s3c2410_hcd_info *, int on); | ||
31 | void (*report_oc)(struct s3c2410_hcd_info *, int ports); | ||
32 | }; | ||
33 | |||
34 | static void inline s3c2410_usb_report_oc(struct s3c2410_hcd_info *info, int ports) | ||
35 | { | ||
36 | if (info->report_oc != NULL) { | ||
37 | (info->report_oc)(info, ports); | ||
38 | } | ||
39 | } | ||
40 | |||
41 | extern void s3c_ohci_set_platdata(struct s3c2410_hcd_info *info); | ||
42 | |||
43 | #endif /*__ASM_ARCH_USBCONTROL_H */ | ||
diff --git a/arch/arm/plat-spear/include/plat/gpio.h b/arch/arm/plat-spear/include/plat/gpio.h deleted file mode 100644 index 40a8c178f10d..000000000000 --- a/arch/arm/plat-spear/include/plat/gpio.h +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | /* empty */ | ||
diff --git a/arch/arm/plat-spear/include/plat/keyboard.h b/arch/arm/plat-spear/include/plat/keyboard.h deleted file mode 100644 index 9248e3a7e333..000000000000 --- a/arch/arm/plat-spear/include/plat/keyboard.h +++ /dev/null | |||
@@ -1,164 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2010 ST Microelectronics | ||
3 | * Rajeev Kumar<rajeev-dlh.kumar@st.com> | ||
4 | * | ||
5 | * This file is licensed under the terms of the GNU General Public | ||
6 | * License version 2. This program is licensed "as is" without any | ||
7 | * warranty of any kind, whether express or implied. | ||
8 | */ | ||
9 | |||
10 | #ifndef __PLAT_KEYBOARD_H | ||
11 | #define __PLAT_KEYBOARD_H | ||
12 | |||
13 | #include <linux/bitops.h> | ||
14 | #include <linux/input.h> | ||
15 | #include <linux/input/matrix_keypad.h> | ||
16 | #include <linux/types.h> | ||
17 | |||
18 | #define DECLARE_9x9_KEYMAP(_name) \ | ||
19 | int _name[] = { \ | ||
20 | KEY(0, 0, KEY_ESC), \ | ||
21 | KEY(0, 1, KEY_1), \ | ||
22 | KEY(0, 2, KEY_2), \ | ||
23 | KEY(0, 3, KEY_3), \ | ||
24 | KEY(0, 4, KEY_4), \ | ||
25 | KEY(0, 5, KEY_5), \ | ||
26 | KEY(0, 6, KEY_6), \ | ||
27 | KEY(0, 7, KEY_7), \ | ||
28 | KEY(0, 8, KEY_8), \ | ||
29 | KEY(1, 0, KEY_9), \ | ||
30 | KEY(1, 1, KEY_MINUS), \ | ||
31 | KEY(1, 2, KEY_EQUAL), \ | ||
32 | KEY(1, 3, KEY_BACKSPACE), \ | ||
33 | KEY(1, 4, KEY_TAB), \ | ||
34 | KEY(1, 5, KEY_Q), \ | ||
35 | KEY(1, 6, KEY_W), \ | ||
36 | KEY(1, 7, KEY_E), \ | ||
37 | KEY(1, 8, KEY_R), \ | ||
38 | KEY(2, 0, KEY_T), \ | ||
39 | KEY(2, 1, KEY_Y), \ | ||
40 | KEY(2, 2, KEY_U), \ | ||
41 | KEY(2, 3, KEY_I), \ | ||
42 | KEY(2, 4, KEY_O), \ | ||
43 | KEY(2, 5, KEY_P), \ | ||
44 | KEY(2, 6, KEY_LEFTBRACE), \ | ||
45 | KEY(2, 7, KEY_RIGHTBRACE), \ | ||
46 | KEY(2, 8, KEY_ENTER), \ | ||
47 | KEY(3, 0, KEY_LEFTCTRL), \ | ||
48 | KEY(3, 1, KEY_A), \ | ||
49 | KEY(3, 2, KEY_S), \ | ||
50 | KEY(3, 3, KEY_D), \ | ||
51 | KEY(3, 4, KEY_F), \ | ||
52 | KEY(3, 5, KEY_G), \ | ||
53 | KEY(3, 6, KEY_H), \ | ||
54 | KEY(3, 7, KEY_J), \ | ||
55 | KEY(3, 8, KEY_K), \ | ||
56 | KEY(4, 0, KEY_L), \ | ||
57 | KEY(4, 1, KEY_SEMICOLON), \ | ||
58 | KEY(4, 2, KEY_APOSTROPHE), \ | ||
59 | KEY(4, 3, KEY_GRAVE), \ | ||
60 | KEY(4, 4, KEY_LEFTSHIFT), \ | ||
61 | KEY(4, 5, KEY_BACKSLASH), \ | ||
62 | KEY(4, 6, KEY_Z), \ | ||
63 | KEY(4, 7, KEY_X), \ | ||
64 | KEY(4, 8, KEY_C), \ | ||
65 | KEY(5, 0, KEY_V), \ | ||
66 | KEY(5, 1, KEY_B), \ | ||
67 | KEY(5, 2, KEY_N), \ | ||
68 | KEY(5, 3, KEY_M), \ | ||
69 | KEY(5, 4, KEY_COMMA), \ | ||
70 | KEY(5, 5, KEY_DOT), \ | ||
71 | KEY(5, 6, KEY_SLASH), \ | ||
72 | KEY(5, 7, KEY_RIGHTSHIFT), \ | ||
73 | KEY(5, 8, KEY_KPASTERISK), \ | ||
74 | KEY(6, 0, KEY_LEFTALT), \ | ||
75 | KEY(6, 1, KEY_SPACE), \ | ||
76 | KEY(6, 2, KEY_CAPSLOCK), \ | ||
77 | KEY(6, 3, KEY_F1), \ | ||
78 | KEY(6, 4, KEY_F2), \ | ||
79 | KEY(6, 5, KEY_F3), \ | ||
80 | KEY(6, 6, KEY_F4), \ | ||
81 | KEY(6, 7, KEY_F5), \ | ||
82 | KEY(6, 8, KEY_F6), \ | ||
83 | KEY(7, 0, KEY_F7), \ | ||
84 | KEY(7, 1, KEY_F8), \ | ||
85 | KEY(7, 2, KEY_F9), \ | ||
86 | KEY(7, 3, KEY_F10), \ | ||
87 | KEY(7, 4, KEY_NUMLOCK), \ | ||
88 | KEY(7, 5, KEY_SCROLLLOCK), \ | ||
89 | KEY(7, 6, KEY_KP7), \ | ||
90 | KEY(7, 7, KEY_KP8), \ | ||
91 | KEY(7, 8, KEY_KP9), \ | ||
92 | KEY(8, 0, KEY_KPMINUS), \ | ||
93 | KEY(8, 1, KEY_KP4), \ | ||
94 | KEY(8, 2, KEY_KP5), \ | ||
95 | KEY(8, 3, KEY_KP6), \ | ||
96 | KEY(8, 4, KEY_KPPLUS), \ | ||
97 | KEY(8, 5, KEY_KP1), \ | ||
98 | KEY(8, 6, KEY_KP2), \ | ||
99 | KEY(8, 7, KEY_KP3), \ | ||
100 | KEY(8, 8, KEY_KP0), \ | ||
101 | } | ||
102 | |||
103 | #define DECLARE_6x6_KEYMAP(_name) \ | ||
104 | int _name[] = { \ | ||
105 | KEY(0, 0, KEY_RESERVED), \ | ||
106 | KEY(0, 1, KEY_1), \ | ||
107 | KEY(0, 2, KEY_2), \ | ||
108 | KEY(0, 3, KEY_3), \ | ||
109 | KEY(0, 4, KEY_4), \ | ||
110 | KEY(0, 5, KEY_5), \ | ||
111 | KEY(1, 0, KEY_Q), \ | ||
112 | KEY(1, 1, KEY_W), \ | ||
113 | KEY(1, 2, KEY_E), \ | ||
114 | KEY(1, 3, KEY_R), \ | ||
115 | KEY(1, 4, KEY_T), \ | ||
116 | KEY(1, 5, KEY_Y), \ | ||
117 | KEY(2, 0, KEY_D), \ | ||
118 | KEY(2, 1, KEY_F), \ | ||
119 | KEY(2, 2, KEY_G), \ | ||
120 | KEY(2, 3, KEY_H), \ | ||
121 | KEY(2, 4, KEY_J), \ | ||
122 | KEY(2, 5, KEY_K), \ | ||
123 | KEY(3, 0, KEY_B), \ | ||
124 | KEY(3, 1, KEY_N), \ | ||
125 | KEY(3, 2, KEY_M), \ | ||
126 | KEY(3, 3, KEY_COMMA), \ | ||
127 | KEY(3, 4, KEY_DOT), \ | ||
128 | KEY(3, 5, KEY_SLASH), \ | ||
129 | KEY(4, 0, KEY_F6), \ | ||
130 | KEY(4, 1, KEY_F7), \ | ||
131 | KEY(4, 2, KEY_F8), \ | ||
132 | KEY(4, 3, KEY_F9), \ | ||
133 | KEY(4, 4, KEY_F10), \ | ||
134 | KEY(4, 5, KEY_NUMLOCK), \ | ||
135 | KEY(5, 0, KEY_KP2), \ | ||
136 | KEY(5, 1, KEY_KP3), \ | ||
137 | KEY(5, 2, KEY_KP0), \ | ||
138 | KEY(5, 3, KEY_KPDOT), \ | ||
139 | KEY(5, 4, KEY_RO), \ | ||
140 | KEY(5, 5, KEY_ZENKAKUHANKAKU), \ | ||
141 | } | ||
142 | |||
143 | #define KEYPAD_9x9 0 | ||
144 | #define KEYPAD_6x6 1 | ||
145 | #define KEYPAD_2x2 2 | ||
146 | |||
147 | /** | ||
148 | * struct kbd_platform_data - spear keyboard platform data | ||
149 | * keymap: pointer to keymap data (table and size) | ||
150 | * rep: enables key autorepeat | ||
151 | * mode: choose keyboard support(9x9, 6x6, 2x2) | ||
152 | * suspended_rate: rate at which keyboard would operate in suspended mode | ||
153 | * | ||
154 | * This structure is supposed to be used by platform code to supply | ||
155 | * keymaps to drivers that implement keyboards. | ||
156 | */ | ||
157 | struct kbd_platform_data { | ||
158 | const struct matrix_keymap_data *keymap; | ||
159 | bool rep; | ||
160 | unsigned int mode; | ||
161 | unsigned int suspended_rate; | ||
162 | }; | ||
163 | |||
164 | #endif /* __PLAT_KEYBOARD_H */ | ||
diff --git a/arch/arm/plat-versatile/Makefile b/arch/arm/plat-versatile/Makefile index 272769a8a7d6..74cfd94cbf80 100644 --- a/arch/arm/plat-versatile/Makefile +++ b/arch/arm/plat-versatile/Makefile | |||
@@ -1,3 +1,5 @@ | |||
1 | ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/$(src)/include | ||
2 | |||
1 | obj-$(CONFIG_PLAT_VERSATILE_CLOCK) += clock.o | 3 | obj-$(CONFIG_PLAT_VERSATILE_CLOCK) += clock.o |
2 | obj-$(CONFIG_PLAT_VERSATILE_CLCD) += clcd.o | 4 | obj-$(CONFIG_PLAT_VERSATILE_CLCD) += clcd.o |
3 | obj-$(CONFIG_PLAT_VERSATILE_FPGA_IRQ) += fpga-irq.o | 5 | obj-$(CONFIG_PLAT_VERSATILE_FPGA_IRQ) += fpga-irq.o |
diff --git a/arch/arm/plat-versatile/include/plat/platsmp.h b/arch/arm/plat-versatile/include/plat/platsmp.h new file mode 100644 index 000000000000..50fb830192e0 --- /dev/null +++ b/arch/arm/plat-versatile/include/plat/platsmp.h | |||
@@ -0,0 +1,14 @@ | |||
1 | /* | ||
2 | * linux/arch/arm/plat-versatile/include/plat/platsmp.h | ||
3 | * | ||
4 | * Copyright (C) 2011 ARM Ltd. | ||
5 | * All Rights Reserved | ||
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 | |||
12 | extern void versatile_secondary_startup(void); | ||
13 | extern void versatile_secondary_init(unsigned int cpu); | ||
14 | extern int versatile_boot_secondary(unsigned int cpu, struct task_struct *idle); | ||
diff --git a/arch/arm/plat-versatile/platsmp.c b/arch/arm/plat-versatile/platsmp.c index d7c5c171f5aa..04ca4937d8ca 100644 --- a/arch/arm/plat-versatile/platsmp.c +++ b/arch/arm/plat-versatile/platsmp.c | |||
@@ -20,12 +20,6 @@ | |||
20 | #include <asm/hardware/gic.h> | 20 | #include <asm/hardware/gic.h> |
21 | 21 | ||
22 | /* | 22 | /* |
23 | * control for which core is the next to come out of the secondary | ||
24 | * boot "holding pen" | ||
25 | */ | ||
26 | volatile int __cpuinitdata pen_release = -1; | ||
27 | |||
28 | /* | ||
29 | * Write pen_release in a way that is guaranteed to be visible to all | 23 | * Write pen_release in a way that is guaranteed to be visible to all |
30 | * observers, irrespective of whether they're taking part in coherency | 24 | * observers, irrespective of whether they're taking part in coherency |
31 | * or not. This is necessary for the hotplug code to work reliably. | 25 | * or not. This is necessary for the hotplug code to work reliably. |
@@ -40,7 +34,7 @@ static void __cpuinit write_pen_release(int val) | |||
40 | 34 | ||
41 | static DEFINE_SPINLOCK(boot_lock); | 35 | static DEFINE_SPINLOCK(boot_lock); |
42 | 36 | ||
43 | void __cpuinit platform_secondary_init(unsigned int cpu) | 37 | void __cpuinit versatile_secondary_init(unsigned int cpu) |
44 | { | 38 | { |
45 | /* | 39 | /* |
46 | * if any interrupts are already enabled for the primary | 40 | * if any interrupts are already enabled for the primary |
@@ -62,7 +56,7 @@ void __cpuinit platform_secondary_init(unsigned int cpu) | |||
62 | spin_unlock(&boot_lock); | 56 | spin_unlock(&boot_lock); |
63 | } | 57 | } |
64 | 58 | ||
65 | int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle) | 59 | int __cpuinit versatile_boot_secondary(unsigned int cpu, struct task_struct *idle) |
66 | { | 60 | { |
67 | unsigned long timeout; | 61 | unsigned long timeout; |
68 | 62 | ||