Эх сурвалжийг харах

Merge branch 'next/fixes' into next/cleanup

Conflicts:
	arch/arm/mach-mxs/include/mach/gpio.h
	arch/arm/plat-mxc/include/mach/gpio.h
	drivers/video/omap/lcd_apollon.c
	drivers/video/omap/lcd_ldp.c
	drivers/video/omap/lcd_overo.c
Arnd Bergmann 13 жил өмнө
parent
commit
3e965b1763
100 өөрчлөгдсөн 514 нэмэгдсэн , 446 устгасан
  1. 38 10
      arch/arm/Kconfig
  2. 3 0
      arch/arm/Makefile
  3. 1 0
      arch/arm/boot/dts/tegra-harmony.dts
  4. 4 0
      arch/arm/boot/dts/tegra-seaboard.dts
  5. 1 1
      arch/arm/common/scoop.c
  6. 214 0
      arch/arm/configs/at91sam9g45_defconfig
  7. 19 0
      arch/arm/include/asm/gpio.h
  8. 2 0
      arch/arm/include/asm/hardware/iop3xx-gpio.h
  9. 1 1
      arch/arm/include/asm/hardware/it8152.h
  10. 8 8
      arch/arm/include/asm/memory.h
  11. 0 4
      arch/arm/include/asm/module.h
  12. 2 2
      arch/arm/kernel/debug.S
  13. 15 50
      arch/arm/kernel/head.S
  14. 1 1
      arch/arm/mach-at91/at91cap9_devices.c
  15. 1 1
      arch/arm/mach-at91/at91rm9200_devices.c
  16. 1 1
      arch/arm/mach-at91/at91sam9260_devices.c
  17. 1 1
      arch/arm/mach-at91/at91sam9261_devices.c
  18. 1 1
      arch/arm/mach-at91/at91sam9263_devices.c
  19. 1 1
      arch/arm/mach-at91/at91sam9g45_devices.c
  20. 1 1
      arch/arm/mach-at91/at91sam9rl_devices.c
  21. 1 1
      arch/arm/mach-at91/board-1arm.c
  22. 1 1
      arch/arm/mach-at91/board-afeb-9260v1.c
  23. 1 1
      arch/arm/mach-at91/board-cam60.c
  24. 1 1
      arch/arm/mach-at91/board-cap9adk.c
  25. 1 1
      arch/arm/mach-at91/board-carmeva.c
  26. 1 1
      arch/arm/mach-at91/board-cpu9krea.c
  27. 1 1
      arch/arm/mach-at91/board-cpuat91.c
  28. 1 1
      arch/arm/mach-at91/board-csb337.c
  29. 1 1
      arch/arm/mach-at91/board-csb637.c
  30. 1 1
      arch/arm/mach-at91/board-eb9200.c
  31. 1 1
      arch/arm/mach-at91/board-ecbat91.c
  32. 1 1
      arch/arm/mach-at91/board-kafa.c
  33. 1 1
      arch/arm/mach-at91/board-kb9202.c
  34. 1 1
      arch/arm/mach-at91/board-neocore926.c
  35. 1 1
      arch/arm/mach-at91/board-picotux200.c
  36. 1 1
      arch/arm/mach-at91/board-qil-a9260.c
  37. 1 1
      arch/arm/mach-at91/board-rm9200dk.c
  38. 1 1
      arch/arm/mach-at91/board-rm9200ek.c
  39. 1 1
      arch/arm/mach-at91/board-sam9-l9260.c
  40. 1 1
      arch/arm/mach-at91/board-sam9260ek.c
  41. 1 1
      arch/arm/mach-at91/board-sam9261ek.c
  42. 1 1
      arch/arm/mach-at91/board-sam9263ek.c
  43. 1 1
      arch/arm/mach-at91/board-sam9g20ek.c
  44. 1 1
      arch/arm/mach-at91/board-sam9m10g45ek.c
  45. 1 1
      arch/arm/mach-at91/board-sam9rlek.c
  46. 1 1
      arch/arm/mach-at91/board-usb-a9260.c
  47. 1 1
      arch/arm/mach-at91/board-usb-a9263.c
  48. 1 1
      arch/arm/mach-at91/board-yl-9200.c
  49. 1 3
      arch/arm/mach-at91/gpio.c
  50. 1 1
      arch/arm/mach-at91/include/mach/debug-macro.S
  51. 0 5
      arch/arm/mach-at91/include/mach/gpio.h
  52. 1 1
      arch/arm/mach-at91/leds.c
  53. 1 1
      arch/arm/mach-at91/pm.c
  54. 1 2
      arch/arm/mach-bcmring/include/mach/hardware.h
  55. 0 28
      arch/arm/mach-bcmring/include/mach/memory.h
  56. 1 1
      arch/arm/mach-clps711x/include/mach/debug-macro.S
  57. 1 1
      arch/arm/mach-cns3xxx/include/mach/debug-macro.S
  58. 0 26
      arch/arm/mach-cns3xxx/include/mach/memory.h
  59. 1 2
      arch/arm/mach-davinci/Makefile
  60. 1 1
      arch/arm/mach-davinci/cpuidle.c
  61. 2 1
      arch/arm/mach-davinci/da830.c
  62. 2 1
      arch/arm/mach-davinci/da850.c
  63. 1 1
      arch/arm/mach-davinci/dm355.c
  64. 1 2
      arch/arm/mach-davinci/dm365.c
  65. 1 1
      arch/arm/mach-davinci/dm644x.c
  66. 1 1
      arch/arm/mach-davinci/dm646x.c
  67. 4 0
      arch/arm/mach-davinci/include/mach/ddr2.h
  68. 23 29
      arch/arm/mach-davinci/include/mach/debug-macro.S
  69. 91 0
      arch/arm/mach-davinci/include/mach/gpio-davinci.h
  70. 2 77
      arch/arm/mach-davinci/include/mach/gpio.h
  71. 0 39
      arch/arm/mach-davinci/include/mach/memory.h
  72. 2 1
      arch/arm/mach-davinci/include/mach/serial.h
  73. 6 1
      arch/arm/mach-davinci/include/mach/uncompress.h
  74. 1 1
      arch/arm/mach-davinci/sleep.S
  75. 2 1
      arch/arm/mach-davinci/tnetv107x.c
  76. 1 1
      arch/arm/mach-dove/include/mach/debug-macro.S
  77. 0 10
      arch/arm/mach-dove/include/mach/memory.h
  78. 1 1
      arch/arm/mach-ebsa110/include/mach/debug-macro.S
  79. 1 0
      arch/arm/mach-ep93xx/core.c
  80. 1 0
      arch/arm/mach-ep93xx/edb93xx.c
  81. 1 1
      arch/arm/mach-ep93xx/include/mach/debug-macro.S
  82. 4 24
      arch/arm/mach-ep93xx/include/mach/gpio-ep93xx.h
  83. 1 1
      arch/arm/mach-ep93xx/simone.c
  84. 1 1
      arch/arm/mach-ep93xx/snappercl15.c
  85. 1 1
      arch/arm/mach-exynos4/include/mach/debug-macro.S
  86. 0 7
      arch/arm/mach-exynos4/include/mach/gpio.h
  87. 2 2
      arch/arm/mach-footbridge/include/mach/debug-macro.S
  88. 1 1
      arch/arm/mach-gemini/include/mach/debug-macro.S
  89. 0 5
      arch/arm/mach-gemini/include/mach/gpio.h
  90. 0 19
      arch/arm/mach-gemini/include/mach/memory.h
  91. 1 1
      arch/arm/mach-h720x/include/mach/debug-macro.S
  92. 0 11
      arch/arm/mach-h720x/include/mach/memory.h
  93. 1 0
      arch/arm/mach-imx/Kconfig
  94. 1 2
      arch/arm/mach-imx/iomux-imx31.c
  95. 1 2
      arch/arm/mach-imx/mach-mx27ads.c
  96. 1 1
      arch/arm/mach-imx/mach-mx31_3ds.c
  97. 1 1
      arch/arm/mach-integrator/include/mach/debug-macro.S
  98. 1 1
      arch/arm/mach-iop13xx/include/mach/debug-macro.S
  99. 1 1
      arch/arm/mach-iop32x/include/mach/debug-macro.S
  100. 0 13
      arch/arm/mach-iop32x/include/mach/memory.h

+ 38 - 10
arch/arm/Kconfig

@@ -196,7 +196,8 @@ config VECTORS_BASE
 	  The base address of exception vectors.
 	  The base address of exception vectors.
 
 
 config ARM_PATCH_PHYS_VIRT
 config ARM_PATCH_PHYS_VIRT
-	bool "Patch physical to virtual translations at runtime"
+	bool "Patch physical to virtual translations at runtime" if EMBEDDED
+	default y
 	depends on !XIP_KERNEL && MMU
 	depends on !XIP_KERNEL && MMU
 	depends on !ARCH_REALVIEW || !SPARSEMEM
 	depends on !ARCH_REALVIEW || !SPARSEMEM
 	help
 	help
@@ -205,16 +206,25 @@ config ARM_PATCH_PHYS_VIRT
 	  kernel in system memory.
 	  kernel in system memory.
 
 
 	  This can only be used with non-XIP MMU kernels where the base
 	  This can only be used with non-XIP MMU kernels where the base
-	  of physical memory is at a 16MB boundary, or theoretically 64K
-	  for the MSM machine class.
+	  of physical memory is at a 16MB boundary.
 
 
-config ARM_PATCH_PHYS_VIRT_16BIT
-	def_bool y
-	depends on ARM_PATCH_PHYS_VIRT && ARCH_MSM
+	  Only disable this option if you know that you do not require
+	  this feature (eg, building a kernel for a single machine) and
+	  you need to shrink the kernel to the minimal size.
+
+config NEED_MACH_MEMORY_H
+	bool
 	help
 	help
-	  This option extends the physical to virtual translation patching
-	  to allow physical memory down to a theoretical minimum of 64K
-	  boundaries.
+	  Select this when mach/memory.h is required to provide special
+	  definitions for this platform.  The need for mach/memory.h should
+	  be avoided when possible.
+
+config PHYS_OFFSET
+	hex "Physical address of main memory"
+	depends on !ARM_PATCH_PHYS_VIRT && !NEED_MACH_MEMORY_H
+	help
+	  Please provide the physical address corresponding to the
+	  location of main memory in your system.
 
 
 source "init/Kconfig"
 source "init/Kconfig"
 
 
@@ -247,6 +257,7 @@ config ARCH_INTEGRATOR
 	select GENERIC_CLOCKEVENTS
 	select GENERIC_CLOCKEVENTS
 	select PLAT_VERSATILE
 	select PLAT_VERSATILE
 	select PLAT_VERSATILE_FPGA_IRQ
 	select PLAT_VERSATILE_FPGA_IRQ
+	select NEED_MACH_MEMORY_H
 	help
 	help
 	  Support for ARM's Integrator platform.
 	  Support for ARM's Integrator platform.
 
 
@@ -262,6 +273,7 @@ config ARCH_REALVIEW
 	select PLAT_VERSATILE_CLCD
 	select PLAT_VERSATILE_CLCD
 	select ARM_TIMER_SP804
 	select ARM_TIMER_SP804
 	select GPIO_PL061 if GPIOLIB
 	select GPIO_PL061 if GPIOLIB
+	select NEED_MACH_MEMORY_H
 	help
 	help
 	  This enables support for ARM Ltd RealView boards.
 	  This enables support for ARM Ltd RealView boards.
 
 
@@ -302,7 +314,6 @@ config ARCH_AT91
 	select ARCH_REQUIRE_GPIOLIB
 	select ARCH_REQUIRE_GPIOLIB
 	select HAVE_CLK
 	select HAVE_CLK
 	select CLKDEV_LOOKUP
 	select CLKDEV_LOOKUP
-	select ARM_PATCH_PHYS_VIRT if MMU
 	help
 	help
 	  This enables support for systems based on the Atmel AT91RM9200,
 	  This enables support for systems based on the Atmel AT91RM9200,
 	  AT91SAM9 and AT91CAP9 processors.
 	  AT91SAM9 and AT91CAP9 processors.
@@ -323,6 +334,7 @@ config ARCH_CLPS711X
 	bool "Cirrus Logic CLPS711x/EP721x-based"
 	bool "Cirrus Logic CLPS711x/EP721x-based"
 	select CPU_ARM720T
 	select CPU_ARM720T
 	select ARCH_USES_GETTIMEOFFSET
 	select ARCH_USES_GETTIMEOFFSET
+	select NEED_MACH_MEMORY_H
 	help
 	help
 	  Support for Cirrus Logic 711x/721x based boards.
 	  Support for Cirrus Logic 711x/721x based boards.
 
 
@@ -363,6 +375,7 @@ config ARCH_EBSA110
 	select ISA
 	select ISA
 	select NO_IOPORT
 	select NO_IOPORT
 	select ARCH_USES_GETTIMEOFFSET
 	select ARCH_USES_GETTIMEOFFSET
+	select NEED_MACH_MEMORY_H
 	help
 	help
 	  This is an evaluation board for the StrongARM processor available
 	  This is an evaluation board for the StrongARM processor available
 	  from Digital. It has limited hardware on-board, including an
 	  from Digital. It has limited hardware on-board, including an
@@ -378,6 +391,7 @@ config ARCH_EP93XX
 	select ARCH_REQUIRE_GPIOLIB
 	select ARCH_REQUIRE_GPIOLIB
 	select ARCH_HAS_HOLES_MEMORYMODEL
 	select ARCH_HAS_HOLES_MEMORYMODEL
 	select ARCH_USES_GETTIMEOFFSET
 	select ARCH_USES_GETTIMEOFFSET
+	select NEED_MEMORY_H
 	help
 	help
 	  This enables support for the Cirrus EP93xx series of CPUs.
 	  This enables support for the Cirrus EP93xx series of CPUs.
 
 
@@ -386,6 +400,7 @@ config ARCH_FOOTBRIDGE
 	select CPU_SA110
 	select CPU_SA110
 	select FOOTBRIDGE
 	select FOOTBRIDGE
 	select GENERIC_CLOCKEVENTS
 	select GENERIC_CLOCKEVENTS
+	select NEED_MACH_MEMORY_H
 	help
 	help
 	  Support for systems based on the DC21285 companion chip
 	  Support for systems based on the DC21285 companion chip
 	  ("FootBridge"), such as the Simtec CATS and the Rebel NetWinder.
 	  ("FootBridge"), such as the Simtec CATS and the Rebel NetWinder.
@@ -435,6 +450,7 @@ config ARCH_IOP13XX
 	select PCI
 	select PCI
 	select ARCH_SUPPORTS_MSI
 	select ARCH_SUPPORTS_MSI
 	select VMSPLIT_1G
 	select VMSPLIT_1G
+	select NEED_MACH_MEMORY_H
 	help
 	help
 	  Support for Intel's IOP13XX (XScale) family of processors.
 	  Support for Intel's IOP13XX (XScale) family of processors.
 
 
@@ -465,6 +481,7 @@ config ARCH_IXP23XX
 	select CPU_XSC3
 	select CPU_XSC3
  	select PCI
  	select PCI
 	select ARCH_USES_GETTIMEOFFSET
 	select ARCH_USES_GETTIMEOFFSET
+	select NEED_MACH_MEMORY_H
 	help
 	help
 	  Support for Intel's IXP23xx (XScale) family of processors.
 	  Support for Intel's IXP23xx (XScale) family of processors.
 
 
@@ -474,6 +491,7 @@ config ARCH_IXP2000
 	select CPU_XSCALE
 	select CPU_XSCALE
 	select PCI
 	select PCI
 	select ARCH_USES_GETTIMEOFFSET
 	select ARCH_USES_GETTIMEOFFSET
+	select NEED_MACH_MEMORY_H
 	help
 	help
 	  Support for Intel's IXP2400/2800 (XScale) family of processors.
 	  Support for Intel's IXP2400/2800 (XScale) family of processors.
 
 
@@ -567,6 +585,7 @@ config ARCH_KS8695
 	select CPU_ARM922T
 	select CPU_ARM922T
 	select ARCH_REQUIRE_GPIOLIB
 	select ARCH_REQUIRE_GPIOLIB
 	select ARCH_USES_GETTIMEOFFSET
 	select ARCH_USES_GETTIMEOFFSET
+	select NEED_MACH_MEMORY_H
 	help
 	help
 	  Support for Micrel/Kendin KS8695 "Centaur" (ARM922T) based
 	  Support for Micrel/Kendin KS8695 "Centaur" (ARM922T) based
 	  System-on-Chip devices.
 	  System-on-Chip devices.
@@ -658,6 +677,7 @@ config ARCH_SHMOBILE
 	select SPARSE_IRQ
 	select SPARSE_IRQ
 	select MULTI_IRQ_HANDLER
 	select MULTI_IRQ_HANDLER
 	select PM_GENERIC_DOMAINS if PM
 	select PM_GENERIC_DOMAINS if PM
+	select NEED_MACH_MEMORY_H
 	help
 	help
 	  Support for Renesas's SH-Mobile and R-Mobile ARM platforms.
 	  Support for Renesas's SH-Mobile and R-Mobile ARM platforms.
 
 
@@ -672,6 +692,7 @@ config ARCH_RPC
 	select NO_IOPORT
 	select NO_IOPORT
 	select ARCH_SPARSEMEM_ENABLE
 	select ARCH_SPARSEMEM_ENABLE
 	select ARCH_USES_GETTIMEOFFSET
 	select ARCH_USES_GETTIMEOFFSET
+	select NEED_MACH_MEMORY_H
 	help
 	help
 	  On the Acorn Risc-PC, Linux can support the internal IDE disk and
 	  On the Acorn Risc-PC, Linux can support the internal IDE disk and
 	  CD-ROM interface, serial and parallel port, and the floppy drive.
 	  CD-ROM interface, serial and parallel port, and the floppy drive.
@@ -690,6 +711,7 @@ config ARCH_SA1100
 	select HAVE_SCHED_CLOCK
 	select HAVE_SCHED_CLOCK
 	select TICK_ONESHOT
 	select TICK_ONESHOT
 	select ARCH_REQUIRE_GPIOLIB
 	select ARCH_REQUIRE_GPIOLIB
+	select NEED_MACH_MEMORY_H
 	help
 	help
 	  Support for StrongARM 11x0 based boards.
 	  Support for StrongARM 11x0 based boards.
 
 
@@ -782,6 +804,7 @@ config ARCH_S5PV210
 	select HAVE_S3C2410_I2C if I2C
 	select HAVE_S3C2410_I2C if I2C
 	select HAVE_S3C_RTC if RTC_CLASS
 	select HAVE_S3C_RTC if RTC_CLASS
 	select HAVE_S3C2410_WATCHDOG if WATCHDOG
 	select HAVE_S3C2410_WATCHDOG if WATCHDOG
+	select NEED_MACH_MEMORY_H
 	help
 	help
 	  Samsung S5PV210/S5PC110 series based systems
 	  Samsung S5PV210/S5PC110 series based systems
 
 
@@ -798,6 +821,7 @@ config ARCH_EXYNOS4
 	select HAVE_S3C_RTC if RTC_CLASS
 	select HAVE_S3C_RTC if RTC_CLASS
 	select HAVE_S3C2410_I2C if I2C
 	select HAVE_S3C2410_I2C if I2C
 	select HAVE_S3C2410_WATCHDOG if WATCHDOG
 	select HAVE_S3C2410_WATCHDOG if WATCHDOG
+	select NEED_MACH_MEMORY_H
 	help
 	help
 	  Samsung EXYNOS4 series based systems
 	  Samsung EXYNOS4 series based systems
 
 
@@ -809,6 +833,7 @@ config ARCH_SHARK
 	select ZONE_DMA
 	select ZONE_DMA
 	select PCI
 	select PCI
 	select ARCH_USES_GETTIMEOFFSET
 	select ARCH_USES_GETTIMEOFFSET
+	select NEED_MACH_MEMORY_H
 	help
 	help
 	  Support for the StrongARM based Digital DNARD machine, also known
 	  Support for the StrongARM based Digital DNARD machine, also known
 	  as "Shark" (<http://www.shark-linux.de/shark.html>).
 	  as "Shark" (<http://www.shark-linux.de/shark.html>).
@@ -837,6 +862,8 @@ config ARCH_U300
 	select CLKDEV_LOOKUP
 	select CLKDEV_LOOKUP
 	select HAVE_MACH_CLKDEV
 	select HAVE_MACH_CLKDEV
 	select GENERIC_GPIO
 	select GENERIC_GPIO
+	select ARCH_REQUIRE_GPIOLIB
+	select NEED_MACH_MEMORY_H
 	help
 	help
 	  Support for ST-Ericsson U300 series mobile platforms.
 	  Support for ST-Ericsson U300 series mobile platforms.
 
 
@@ -1987,6 +2014,7 @@ config CPU_FREQ_PXA
 	bool
 	bool
 	depends on CPU_FREQ && ARCH_PXA && PXA25x
 	depends on CPU_FREQ && ARCH_PXA && PXA25x
 	default y
 	default y
+	select CPU_FREQ_TABLE
 	select CPU_FREQ_DEFAULT_GOV_USERSPACE
 	select CPU_FREQ_DEFAULT_GOV_USERSPACE
 
 
 config CPU_FREQ_S3C
 config CPU_FREQ_S3C

+ 3 - 0
arch/arm/Makefile

@@ -128,6 +128,9 @@ textofs-$(CONFIG_PM_H1940)      := 0x00108000
 ifeq ($(CONFIG_ARCH_SA1100),y)
 ifeq ($(CONFIG_ARCH_SA1100),y)
 textofs-$(CONFIG_SA1111) := 0x00208000
 textofs-$(CONFIG_SA1111) := 0x00208000
 endif
 endif
+textofs-$(CONFIG_ARCH_MSM7X30) := 0x00208000
+textofs-$(CONFIG_ARCH_MSM8X60) := 0x00208000
+textofs-$(CONFIG_ARCH_MSM8960) := 0x00208000
 
 
 # Machine directory name.  This list is sorted alphanumerically
 # Machine directory name.  This list is sorted alphanumerically
 # by CONFIG_* macro name.
 # by CONFIG_* macro name.

+ 1 - 0
arch/arm/boot/dts/tegra-harmony.dts

@@ -66,5 +66,6 @@
 		cd-gpios = <&gpio 58 0>; /* gpio PH2 */
 		cd-gpios = <&gpio 58 0>; /* gpio PH2 */
 		wp-gpios = <&gpio 59 0>; /* gpio PH3 */
 		wp-gpios = <&gpio 59 0>; /* gpio PH3 */
 		power-gpios = <&gpio 70 0>; /* gpio PI6 */
 		power-gpios = <&gpio 70 0>; /* gpio PI6 */
+		support-8bit;
 	};
 	};
 };
 };

+ 4 - 0
arch/arm/boot/dts/tegra-seaboard.dts

@@ -25,4 +25,8 @@
 		wp-gpios = <&gpio 57 0>; /* gpio PH1 */
 		wp-gpios = <&gpio 57 0>; /* gpio PH1 */
 		power-gpios = <&gpio 70 0>; /* gpio PI6 */
 		power-gpios = <&gpio 70 0>; /* gpio PI6 */
 	};
 	};
+
+	sdhci@c8000600 {
+		support-8bit;
+	};
 };
 };

+ 1 - 1
arch/arm/common/scoop.c

@@ -12,11 +12,11 @@
  */
  */
 
 
 #include <linux/device.h>
 #include <linux/device.h>
+#include <linux/gpio.h>
 #include <linux/string.h>
 #include <linux/string.h>
 #include <linux/slab.h>
 #include <linux/slab.h>
 #include <linux/platform_device.h>
 #include <linux/platform_device.h>
 #include <linux/io.h>
 #include <linux/io.h>
-#include <asm/gpio.h>
 #include <asm/hardware/scoop.h>
 #include <asm/hardware/scoop.h>
 
 
 /* PCMCIA to Scoop linkage
 /* PCMCIA to Scoop linkage

+ 214 - 0
arch/arm/configs/at91sam9g45_defconfig

@@ -0,0 +1,214 @@
+CONFIG_EXPERIMENTAL=y
+# CONFIG_LOCALVERSION_AUTO is not set
+# CONFIG_SWAP is not set
+CONFIG_SYSVIPC=y
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_SYSFS_DEPRECATED=y
+CONFIG_SYSFS_DEPRECATED_V2=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_EMBEDDED=y
+CONFIG_SLAB=y
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_LBDAF is not set
+# CONFIG_BLK_DEV_BSG is not set
+# CONFIG_IOSCHED_DEADLINE is not set
+# CONFIG_IOSCHED_CFQ is not set
+CONFIG_ARCH_AT91=y
+CONFIG_ARCH_AT91SAM9G45=y
+CONFIG_MACH_AT91SAM9M10G45EK=y
+CONFIG_AT91_PROGRAMMABLE_CLOCKS=y
+CONFIG_AT91_SLOW_CLOCK=y
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+CONFIG_LEDS=y
+CONFIG_LEDS_CPU=y
+CONFIG_UACCESS_WITH_MEMCPY=y
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="mem=128M console=ttyS0,115200 initrd=0x71100000,25165824 root=/dev/ram0 rw"
+CONFIG_AUTO_ZRELADDR=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_NET=y
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
+# CONFIG_INET_XFRM_MODE_TUNNEL is not set
+# CONFIG_INET_XFRM_MODE_BEET is not set
+# CONFIG_INET_DIAG is not set
+CONFIG_IPV6=y
+# CONFIG_INET6_XFRM_MODE_TRANSPORT is not set
+# CONFIG_INET6_XFRM_MODE_TUNNEL is not set
+# CONFIG_INET6_XFRM_MODE_BEET is not set
+CONFIG_IPV6_SIT_6RD=y
+CONFIG_CFG80211=y
+CONFIG_LIB80211=y
+CONFIG_MAC80211=y
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+# CONFIG_STANDALONE is not set
+# CONFIG_PREVENT_FIRMWARE_BUILD is not set
+CONFIG_MTD=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_DATAFLASH=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_ATMEL=y
+CONFIG_MTD_UBI=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=4
+CONFIG_BLK_DEV_RAM_SIZE=8192
+CONFIG_MISC_DEVICES=y
+CONFIG_ATMEL_PWM=y
+CONFIG_ATMEL_TCLIB=y
+CONFIG_SCSI=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_SCSI_MULTI_LUN=y
+# CONFIG_SCSI_LOWLEVEL is not set
+CONFIG_NETDEVICES=y
+CONFIG_MII=y
+CONFIG_DAVICOM_PHY=y
+CONFIG_NET_ETHERNET=y
+CONFIG_MACB=y
+# CONFIG_NETDEV_1000 is not set
+# CONFIG_NETDEV_10000 is not set
+CONFIG_LIBERTAS_THINFIRM=m
+CONFIG_LIBERTAS_THINFIRM_USB=m
+CONFIG_AT76C50X_USB=m
+CONFIG_USB_ZD1201=m
+CONFIG_RTL8187=m
+CONFIG_ATH_COMMON=m
+CONFIG_ATH9K=m
+CONFIG_CARL9170=m
+CONFIG_B43=m
+CONFIG_B43_PHY_N=y
+CONFIG_LIBERTAS=m
+CONFIG_LIBERTAS_USB=m
+CONFIG_LIBERTAS_SDIO=m
+CONFIG_LIBERTAS_SPI=m
+CONFIG_RT2X00=m
+CONFIG_RT2500USB=m
+CONFIG_RT73USB=m
+CONFIG_RT2800USB=m
+CONFIG_RT2800USB_RT53XX=y
+CONFIG_RT2800USB_UNKNOWN=y
+CONFIG_RTL8192CU=m
+CONFIG_WL1251=m
+CONFIG_WL1251_SDIO=m
+CONFIG_WL12XX_MENU=m
+CONFIG_WL12XX=m
+CONFIG_WL12XX_SDIO=m
+CONFIG_ZD1211RW=m
+CONFIG_MWIFIEX=m
+CONFIG_MWIFIEX_SDIO=m
+CONFIG_INPUT_POLLDEV=m
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=480
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=272
+CONFIG_INPUT_JOYDEV=y
+CONFIG_INPUT_EVDEV=y
+# CONFIG_KEYBOARD_ATKBD is not set
+CONFIG_KEYBOARD_QT1070=m
+CONFIG_KEYBOARD_QT2160=m
+CONFIG_KEYBOARD_GPIO=y
+# CONFIG_INPUT_MOUSE is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_ATMEL_MXT=m
+CONFIG_TOUCHSCREEN_ATMEL_TSADCC=y
+# CONFIG_SERIO is not set
+CONFIG_LEGACY_PTY_COUNT=4
+CONFIG_SERIAL_ATMEL=y
+CONFIG_SERIAL_ATMEL_CONSOLE=y
+CONFIG_HW_RANDOM=y
+CONFIG_I2C=y
+CONFIG_I2C_GPIO=y
+CONFIG_SPI=y
+CONFIG_SPI_ATMEL=y
+# CONFIG_HWMON is not set
+# CONFIG_MFD_SUPPORT is not set
+CONFIG_FB=y
+CONFIG_FB_ATMEL=y
+CONFIG_FB_UDL=m
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+# CONFIG_LCD_CLASS_DEVICE is not set
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_ATMEL_LCDC=y
+# CONFIG_BACKLIGHT_GENERIC is not set
+CONFIG_SOUND=y
+CONFIG_SND=y
+CONFIG_SND_SEQUENCER=y
+CONFIG_SND_MIXER_OSS=y
+CONFIG_SND_PCM_OSS=y
+# CONFIG_SND_SUPPORT_OLD_API is not set
+# CONFIG_SND_VERBOSE_PROCFS is not set
+# CONFIG_SND_DRIVERS is not set
+# CONFIG_SND_ARM is not set
+CONFIG_SND_ATMEL_AC97C=y
+# CONFIG_SND_SPI is not set
+CONFIG_SND_USB_AUDIO=m
+# CONFIG_USB_HID is not set
+CONFIG_USB=y
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_DEVICE_CLASS is not set
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_OHCI_HCD=y
+CONFIG_USB_ACM=y
+CONFIG_USB_STORAGE=y
+CONFIG_USB_GADGET=y
+CONFIG_USB_ATMEL_USBA=m
+CONFIG_USB_ZERO=m
+CONFIG_USB_AUDIO=m
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_EEM=y
+CONFIG_USB_MASS_STORAGE=m
+CONFIG_USB_G_SERIAL=m
+CONFIG_USB_CDC_COMPOSITE=m
+CONFIG_USB_G_MULTI=m
+CONFIG_USB_G_MULTI_CDC=y
+CONFIG_MMC=y
+# CONFIG_MMC_BLOCK_BOUNCE is not set
+CONFIG_SDIO_UART=m
+CONFIG_MMC_ATMELMCI=y
+CONFIG_MMC_ATMELMCI_DMA=y
+CONFIG_LEDS_ATMEL_PWM=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_LEDS_TRIGGER_GPIO=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_AT91RM9200=y
+CONFIG_DMADEVICES=y
+CONFIG_AT_HDMAC=y
+CONFIG_DMATEST=m
+# CONFIG_IOMMU_SUPPORT is not set
+CONFIG_EXT2_FS=y
+CONFIG_FANOTIFY=y
+CONFIG_VFAT_FS=y
+CONFIG_TMPFS=y
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_SUMMARY=y
+CONFIG_CRAMFS=m
+CONFIG_SQUASHFS=m
+CONFIG_SQUASHFS_EMBEDDED=y
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3=y
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_CODEPAGE_850=y
+CONFIG_NLS_ISO8859_1=y
+CONFIG_STRIP_ASM_SYMS=y
+# CONFIG_SCHED_DEBUG is not set
+CONFIG_DEBUG_MEMORY_INIT=y
+# CONFIG_FTRACE is not set
+CONFIG_DEBUG_USER=y
+CONFIG_CRYPTO_ECB=y
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+CONFIG_CRYPTO_USER_API_HASH=m
+CONFIG_CRYPTO_USER_API_SKCIPHER=m
+# CONFIG_CRYPTO_HW is not set

+ 19 - 0
arch/arm/include/asm/gpio.h

@@ -4,4 +4,23 @@
 /* not all ARM platforms necessarily support this API ... */
 /* not all ARM platforms necessarily support this API ... */
 #include <mach/gpio.h>
 #include <mach/gpio.h>
 
 
+#ifndef __ARM_GPIOLIB_COMPLEX
+/* Note: this may rely upon the value of ARCH_NR_GPIOS set in mach/gpio.h */
+#include <asm-generic/gpio.h>
+
+/* The trivial gpiolib dispatchers */
+#define gpio_get_value  __gpio_get_value
+#define gpio_set_value  __gpio_set_value
+#define gpio_cansleep   __gpio_cansleep
+#endif
+
+/*
+ * Provide a default gpio_to_irq() which should satisfy every case.
+ * However, some platforms want to do this differently, so allow them
+ * to override it.
+ */
+#ifndef gpio_to_irq
+#define gpio_to_irq	__gpio_to_irq
+#endif
+
 #endif /* _ARCH_ARM_GPIO_H */
 #endif /* _ARCH_ARM_GPIO_H */

+ 2 - 0
arch/arm/include/asm/hardware/iop3xx-gpio.h

@@ -28,6 +28,8 @@
 #include <mach/hardware.h>
 #include <mach/hardware.h>
 #include <asm-generic/gpio.h>
 #include <asm-generic/gpio.h>
 
 
+#define __ARM_GPIOLIB_COMPLEX
+
 #define IOP3XX_N_GPIOS	8
 #define IOP3XX_N_GPIOS	8
 
 
 static inline int gpio_get_value(unsigned gpio)
 static inline int gpio_get_value(unsigned gpio)

+ 1 - 1
arch/arm/include/asm/hardware/it8152.h

@@ -9,7 +9,7 @@
 
 
 #ifndef __ASM_HARDWARE_IT8152_H
 #ifndef __ASM_HARDWARE_IT8152_H
 #define __ASM_HARDWARE_IT8152_H
 #define __ASM_HARDWARE_IT8152_H
-extern unsigned long it8152_base_address;
+extern void __iomem *it8152_base_address;
 
 
 #define IT8152_IO_BASE			(it8152_base_address + 0x03e00000)
 #define IT8152_IO_BASE			(it8152_base_address + 0x03e00000)
 #define IT8152_CFGREG_BASE		(it8152_base_address + 0x03f00000)
 #define IT8152_CFGREG_BASE		(it8152_base_address + 0x03f00000)

+ 8 - 8
arch/arm/include/asm/memory.h

@@ -16,9 +16,12 @@
 #include <linux/compiler.h>
 #include <linux/compiler.h>
 #include <linux/const.h>
 #include <linux/const.h>
 #include <linux/types.h>
 #include <linux/types.h>
-#include <mach/memory.h>
 #include <asm/sizes.h>
 #include <asm/sizes.h>
 
 
+#ifdef CONFIG_NEED_MACH_MEMORY_H
+#include <mach/memory.h>
+#endif
+
 /*
 /*
  * Allow for constants defined here to be used from assembly code
  * Allow for constants defined here to be used from assembly code
  * by prepending the UL suffix only with actual C code compilation.
  * by prepending the UL suffix only with actual C code compilation.
@@ -151,7 +154,6 @@
  * so that all we need to do is modify the 8-bit constant field.
  * so that all we need to do is modify the 8-bit constant field.
  */
  */
 #define __PV_BITS_31_24	0x81000000
 #define __PV_BITS_31_24	0x81000000
-#define __PV_BITS_23_16	0x00810000
 
 
 extern unsigned long __pv_phys_offset;
 extern unsigned long __pv_phys_offset;
 #define PHYS_OFFSET __pv_phys_offset
 #define PHYS_OFFSET __pv_phys_offset
@@ -169,9 +171,6 @@ static inline unsigned long __virt_to_phys(unsigned long x)
 {
 {
 	unsigned long t;
 	unsigned long t;
 	__pv_stub(x, t, "add", __PV_BITS_31_24);
 	__pv_stub(x, t, "add", __PV_BITS_31_24);
-#ifdef CONFIG_ARM_PATCH_PHYS_VIRT_16BIT
-	__pv_stub(t, t, "add", __PV_BITS_23_16);
-#endif
 	return t;
 	return t;
 }
 }
 
 
@@ -179,9 +178,6 @@ static inline unsigned long __phys_to_virt(unsigned long x)
 {
 {
 	unsigned long t;
 	unsigned long t;
 	__pv_stub(x, t, "sub", __PV_BITS_31_24);
 	__pv_stub(x, t, "sub", __PV_BITS_31_24);
-#ifdef CONFIG_ARM_PATCH_PHYS_VIRT_16BIT
-	__pv_stub(t, t, "sub", __PV_BITS_23_16);
-#endif
 	return t;
 	return t;
 }
 }
 #else
 #else
@@ -191,7 +187,11 @@ static inline unsigned long __phys_to_virt(unsigned long x)
 #endif
 #endif
 
 
 #ifndef PHYS_OFFSET
 #ifndef PHYS_OFFSET
+#ifdef PLAT_PHYS_OFFSET
 #define PHYS_OFFSET	PLAT_PHYS_OFFSET
 #define PHYS_OFFSET	PLAT_PHYS_OFFSET
+#else
+#define PHYS_OFFSET	UL(CONFIG_PHYS_OFFSET)
+#endif
 #endif
 #endif
 
 
 /*
 /*

+ 0 - 4
arch/arm/include/asm/module.h

@@ -31,11 +31,7 @@ struct mod_arch_specific {
 
 
 /* Add __virt_to_phys patching state as well */
 /* Add __virt_to_phys patching state as well */
 #ifdef CONFIG_ARM_PATCH_PHYS_VIRT
 #ifdef CONFIG_ARM_PATCH_PHYS_VIRT
-#ifdef CONFIG_ARM_PATCH_PHYS_VIRT_16BIT
-#define MODULE_ARCH_VERMAGIC_P2V "p2v16 "
-#else
 #define MODULE_ARCH_VERMAGIC_P2V "p2v8 "
 #define MODULE_ARCH_VERMAGIC_P2V "p2v8 "
-#endif
 #else
 #else
 #define MODULE_ARCH_VERMAGIC_P2V ""
 #define MODULE_ARCH_VERMAGIC_P2V ""
 #endif
 #endif

+ 2 - 2
arch/arm/kernel/debug.S

@@ -22,7 +22,7 @@
 #if defined(CONFIG_DEBUG_ICEDCC)
 #if defined(CONFIG_DEBUG_ICEDCC)
 		@@ debug using ARM EmbeddedICE DCC channel
 		@@ debug using ARM EmbeddedICE DCC channel
 
 
-		.macro	addruart, rp, rv
+		.macro	addruart, rp, rv, tmp
 		.endm
 		.endm
 
 
 #if defined(CONFIG_CPU_V6) || defined(CONFIG_CPU_V6K) || defined(CONFIG_CPU_V7)
 #if defined(CONFIG_CPU_V6) || defined(CONFIG_CPU_V6K) || defined(CONFIG_CPU_V7)
@@ -106,7 +106,7 @@
 
 
 #ifdef CONFIG_MMU
 #ifdef CONFIG_MMU
 		.macro	addruart_current, rx, tmp1, tmp2
 		.macro	addruart_current, rx, tmp1, tmp2
-		addruart	\tmp1, \tmp2
+		addruart	\tmp1, \tmp2, \rx
 		mrc		p15, 0, \rx, c1, c0
 		mrc		p15, 0, \rx, c1, c0
 		tst		\rx, #1
 		tst		\rx, #1
 		moveq		\rx, \tmp1
 		moveq		\rx, \tmp1

+ 15 - 50
arch/arm/kernel/head.S

@@ -95,7 +95,7 @@ ENTRY(stext)
 	sub	r4, r3, r4			@ (PHYS_OFFSET - PAGE_OFFSET)
 	sub	r4, r3, r4			@ (PHYS_OFFSET - PAGE_OFFSET)
 	add	r8, r8, r4			@ PHYS_OFFSET
 	add	r8, r8, r4			@ PHYS_OFFSET
 #else
 #else
-	ldr	r8, =PLAT_PHYS_OFFSET
+	ldr	r8, =PHYS_OFFSET		@ always constant in this case
 #endif
 #endif
 
 
 	/*
 	/*
@@ -234,7 +234,7 @@ __create_page_tables:
 	 * This allows debug messages to be output
 	 * This allows debug messages to be output
 	 * via a serial console before paging_init.
 	 * via a serial console before paging_init.
 	 */
 	 */
-	addruart r7, r3
+	addruart r7, r3, r0
 
 
 	mov	r3, r3, lsr #20
 	mov	r3, r3, lsr #20
 	mov	r3, r3, lsl #2
 	mov	r3, r3, lsl #2
@@ -488,13 +488,8 @@ __fixup_pv_table:
 	add	r5, r5, r3	@ adjust table end address
 	add	r5, r5, r3	@ adjust table end address
 	add	r7, r7, r3	@ adjust __pv_phys_offset address
 	add	r7, r7, r3	@ adjust __pv_phys_offset address
 	str	r8, [r7]	@ save computed PHYS_OFFSET to __pv_phys_offset
 	str	r8, [r7]	@ save computed PHYS_OFFSET to __pv_phys_offset
-#ifndef CONFIG_ARM_PATCH_PHYS_VIRT_16BIT
 	mov	r6, r3, lsr #24	@ constant for add/sub instructions
 	mov	r6, r3, lsr #24	@ constant for add/sub instructions
 	teq	r3, r6, lsl #24 @ must be 16MiB aligned
 	teq	r3, r6, lsl #24 @ must be 16MiB aligned
-#else
-	mov	r6, r3, lsr #16	@ constant for add/sub instructions
-	teq	r3, r6, lsl #16	@ must be 64kiB aligned
-#endif
 THUMB(	it	ne		@ cross section branch )
 THUMB(	it	ne		@ cross section branch )
 	bne	__error
 	bne	__error
 	str	r6, [r7, #4]	@ save to __pv_offset
 	str	r6, [r7, #4]	@ save to __pv_offset
@@ -510,20 +505,8 @@ ENDPROC(__fixup_pv_table)
 	.text
 	.text
 __fixup_a_pv_table:
 __fixup_a_pv_table:
 #ifdef CONFIG_THUMB2_KERNEL
 #ifdef CONFIG_THUMB2_KERNEL
-#ifdef CONFIG_ARM_PATCH_PHYS_VIRT_16BIT
-	lsls	r0, r6, #24
-	lsr	r6, #8
-	beq	1f
-	clz	r7, r0
-	lsr	r0, #24
-	lsl	r0, r7
-	bic	r0, 0x0080
-	lsrs	r7, #1
-	orrcs   r0, #0x0080
-	orr	r0, r0, r7, lsl #12
-#endif
-1:	lsls	r6, #24
-	beq	4f
+	lsls	r6, #24
+	beq	2f
 	clz	r7, r6
 	clz	r7, r6
 	lsr	r6, #24
 	lsr	r6, #24
 	lsl	r6, r7
 	lsl	r6, r7
@@ -532,43 +515,25 @@ __fixup_a_pv_table:
 	orrcs	r6, #0x0080
 	orrcs	r6, #0x0080
 	orr	r6, r6, r7, lsl #12
 	orr	r6, r6, r7, lsl #12
 	orr	r6, #0x4000
 	orr	r6, #0x4000
-	b	4f
-2:	@ at this point the C flag is always clear
-	add     r7, r3
-#ifdef CONFIG_ARM_PATCH_PHYS_VIRT_16BIT
-	ldrh	ip, [r7]
-	tst	ip, 0x0400	@ the i bit tells us LS or MS byte
-	beq	3f
-	cmp	r0, #0		@ set C flag, and ...
-	biceq	ip, 0x0400	@ immediate zero value has a special encoding
-	streqh	ip, [r7]	@ that requires the i bit cleared
-#endif
-3:	ldrh	ip, [r7, #2]
+	b	2f
+1:	add     r7, r3
+	ldrh	ip, [r7, #2]
 	and	ip, 0x8f00
 	and	ip, 0x8f00
-	orrcc	ip, r6	@ mask in offset bits 31-24
-	orrcs	ip, r0	@ mask in offset bits 23-16
+	orr	ip, r6	@ mask in offset bits 31-24
 	strh	ip, [r7, #2]
 	strh	ip, [r7, #2]
-4:	cmp	r4, r5
+2:	cmp	r4, r5
 	ldrcc	r7, [r4], #4	@ use branch for delay slot
 	ldrcc	r7, [r4], #4	@ use branch for delay slot
-	bcc	2b
+	bcc	1b
 	bx	lr
 	bx	lr
 #else
 #else
-#ifdef CONFIG_ARM_PATCH_PHYS_VIRT_16BIT
-	and	r0, r6, #255	@ offset bits 23-16
-	mov	r6, r6, lsr #8	@ offset bits 31-24
-#else
-	mov	r0, #0		@ just in case...
-#endif
-	b	3f
-2:	ldr	ip, [r7, r3]
+	b	2f
+1:	ldr	ip, [r7, r3]
 	bic	ip, ip, #0x000000ff
 	bic	ip, ip, #0x000000ff
-	tst	ip, #0x400	@ rotate shift tells us LS or MS byte
-	orrne	ip, ip, r6	@ mask in offset bits 31-24
-	orreq	ip, ip, r0	@ mask in offset bits 23-16
+	orr	ip, ip, r6	@ mask in offset bits 31-24
 	str	ip, [r7, r3]
 	str	ip, [r7, r3]
-3:	cmp	r4, r5
+2:	cmp	r4, r5
 	ldrcc	r7, [r4], #4	@ use branch for delay slot
 	ldrcc	r7, [r4], #4	@ use branch for delay slot
-	bcc	2b
+	bcc	1b
 	mov	pc, lr
 	mov	pc, lr
 #endif
 #endif
 ENDPROC(__fixup_a_pv_table)
 ENDPROC(__fixup_a_pv_table)

+ 1 - 1
arch/arm/mach-at91/at91cap9_devices.c

@@ -16,6 +16,7 @@
 #include <asm/mach/irq.h>
 #include <asm/mach/irq.h>
 
 
 #include <linux/dma-mapping.h>
 #include <linux/dma-mapping.h>
+#include <linux/gpio.h>
 #include <linux/platform_device.h>
 #include <linux/platform_device.h>
 #include <linux/i2c-gpio.h>
 #include <linux/i2c-gpio.h>
 
 
@@ -23,7 +24,6 @@
 
 
 #include <mach/board.h>
 #include <mach/board.h>
 #include <mach/cpu.h>
 #include <mach/cpu.h>
-#include <mach/gpio.h>
 #include <mach/at91cap9.h>
 #include <mach/at91cap9.h>
 #include <mach/at91cap9_matrix.h>
 #include <mach/at91cap9_matrix.h>
 #include <mach/at91sam9_smc.h>
 #include <mach/at91sam9_smc.h>

+ 1 - 1
arch/arm/mach-at91/at91rm9200_devices.c

@@ -14,11 +14,11 @@
 #include <asm/mach/map.h>
 #include <asm/mach/map.h>
 
 
 #include <linux/dma-mapping.h>
 #include <linux/dma-mapping.h>
+#include <linux/gpio.h>
 #include <linux/platform_device.h>
 #include <linux/platform_device.h>
 #include <linux/i2c-gpio.h>
 #include <linux/i2c-gpio.h>
 
 
 #include <mach/board.h>
 #include <mach/board.h>
-#include <mach/gpio.h>
 #include <mach/at91rm9200.h>
 #include <mach/at91rm9200.h>
 #include <mach/at91rm9200_mc.h>
 #include <mach/at91rm9200_mc.h>
 
 

+ 1 - 1
arch/arm/mach-at91/at91sam9260_devices.c

@@ -13,11 +13,11 @@
 #include <asm/mach/map.h>
 #include <asm/mach/map.h>
 
 
 #include <linux/dma-mapping.h>
 #include <linux/dma-mapping.h>
+#include <linux/gpio.h>
 #include <linux/platform_device.h>
 #include <linux/platform_device.h>
 #include <linux/i2c-gpio.h>
 #include <linux/i2c-gpio.h>
 
 
 #include <mach/board.h>
 #include <mach/board.h>
-#include <mach/gpio.h>
 #include <mach/cpu.h>
 #include <mach/cpu.h>
 #include <mach/at91sam9260.h>
 #include <mach/at91sam9260.h>
 #include <mach/at91sam9260_matrix.h>
 #include <mach/at91sam9260_matrix.h>

+ 1 - 1
arch/arm/mach-at91/at91sam9261_devices.c

@@ -14,6 +14,7 @@
 #include <asm/mach/map.h>
 #include <asm/mach/map.h>
 
 
 #include <linux/dma-mapping.h>
 #include <linux/dma-mapping.h>
+#include <linux/gpio.h>
 #include <linux/platform_device.h>
 #include <linux/platform_device.h>
 #include <linux/i2c-gpio.h>
 #include <linux/i2c-gpio.h>
 
 
@@ -21,7 +22,6 @@
 #include <video/atmel_lcdc.h>
 #include <video/atmel_lcdc.h>
 
 
 #include <mach/board.h>
 #include <mach/board.h>
-#include <mach/gpio.h>
 #include <mach/at91sam9261.h>
 #include <mach/at91sam9261.h>
 #include <mach/at91sam9261_matrix.h>
 #include <mach/at91sam9261_matrix.h>
 #include <mach/at91sam9_smc.h>
 #include <mach/at91sam9_smc.h>

+ 1 - 1
arch/arm/mach-at91/at91sam9263_devices.c

@@ -13,6 +13,7 @@
 #include <asm/mach/map.h>
 #include <asm/mach/map.h>
 
 
 #include <linux/dma-mapping.h>
 #include <linux/dma-mapping.h>
+#include <linux/gpio.h>
 #include <linux/platform_device.h>
 #include <linux/platform_device.h>
 #include <linux/i2c-gpio.h>
 #include <linux/i2c-gpio.h>
 
 
@@ -20,7 +21,6 @@
 #include <video/atmel_lcdc.h>
 #include <video/atmel_lcdc.h>
 
 
 #include <mach/board.h>
 #include <mach/board.h>
-#include <mach/gpio.h>
 #include <mach/at91sam9263.h>
 #include <mach/at91sam9263.h>
 #include <mach/at91sam9263_matrix.h>
 #include <mach/at91sam9263_matrix.h>
 #include <mach/at91sam9_smc.h>
 #include <mach/at91sam9_smc.h>

+ 1 - 1
arch/arm/mach-at91/at91sam9g45_devices.c

@@ -13,6 +13,7 @@
 #include <asm/mach/map.h>
 #include <asm/mach/map.h>
 
 
 #include <linux/dma-mapping.h>
 #include <linux/dma-mapping.h>
+#include <linux/gpio.h>
 #include <linux/platform_device.h>
 #include <linux/platform_device.h>
 #include <linux/i2c-gpio.h>
 #include <linux/i2c-gpio.h>
 #include <linux/atmel-mci.h>
 #include <linux/atmel-mci.h>
@@ -21,7 +22,6 @@
 #include <video/atmel_lcdc.h>
 #include <video/atmel_lcdc.h>
 
 
 #include <mach/board.h>
 #include <mach/board.h>
-#include <mach/gpio.h>
 #include <mach/at91sam9g45.h>
 #include <mach/at91sam9g45.h>
 #include <mach/at91sam9g45_matrix.h>
 #include <mach/at91sam9g45_matrix.h>
 #include <mach/at91sam9_smc.h>
 #include <mach/at91sam9_smc.h>

+ 1 - 1
arch/arm/mach-at91/at91sam9rl_devices.c

@@ -10,6 +10,7 @@
 #include <asm/mach/map.h>
 #include <asm/mach/map.h>
 
 
 #include <linux/dma-mapping.h>
 #include <linux/dma-mapping.h>
+#include <linux/gpio.h>
 #include <linux/platform_device.h>
 #include <linux/platform_device.h>
 #include <linux/i2c-gpio.h>
 #include <linux/i2c-gpio.h>
 
 
@@ -17,7 +18,6 @@
 #include <video/atmel_lcdc.h>
 #include <video/atmel_lcdc.h>
 
 
 #include <mach/board.h>
 #include <mach/board.h>
-#include <mach/gpio.h>
 #include <mach/at91sam9rl.h>
 #include <mach/at91sam9rl.h>
 #include <mach/at91sam9rl_matrix.h>
 #include <mach/at91sam9rl_matrix.h>
 #include <mach/at91sam9_smc.h>
 #include <mach/at91sam9_smc.h>

+ 1 - 1
arch/arm/mach-at91/board-1arm.c

@@ -19,6 +19,7 @@
  */
  */
 
 
 #include <linux/types.h>
 #include <linux/types.h>
+#include <linux/gpio.h>
 #include <linux/init.h>
 #include <linux/init.h>
 #include <linux/mm.h>
 #include <linux/mm.h>
 #include <linux/module.h>
 #include <linux/module.h>
@@ -34,7 +35,6 @@
 #include <asm/mach/irq.h>
 #include <asm/mach/irq.h>
 
 
 #include <mach/board.h>
 #include <mach/board.h>
-#include <mach/gpio.h>
 #include <mach/cpu.h>
 #include <mach/cpu.h>
 
 
 #include "generic.h"
 #include "generic.h"

+ 1 - 1
arch/arm/mach-at91/board-afeb-9260v1.c

@@ -25,6 +25,7 @@
  */
  */
 
 
 #include <linux/types.h>
 #include <linux/types.h>
+#include <linux/gpio.h>
 #include <linux/init.h>
 #include <linux/init.h>
 #include <linux/mm.h>
 #include <linux/mm.h>
 #include <linux/module.h>
 #include <linux/module.h>
@@ -43,7 +44,6 @@
 #include <asm/mach/irq.h>
 #include <asm/mach/irq.h>
 
 
 #include <mach/board.h>
 #include <mach/board.h>
-#include <mach/gpio.h>
 
 
 #include "generic.h"
 #include "generic.h"
 
 

+ 1 - 1
arch/arm/mach-at91/board-cam60.c

@@ -21,6 +21,7 @@
  */
  */
 
 
 #include <linux/types.h>
 #include <linux/types.h>
+#include <linux/gpio.h>
 #include <linux/init.h>
 #include <linux/init.h>
 #include <linux/mm.h>
 #include <linux/mm.h>
 #include <linux/module.h>
 #include <linux/module.h>
@@ -38,7 +39,6 @@
 #include <asm/mach/irq.h>
 #include <asm/mach/irq.h>
 
 
 #include <mach/board.h>
 #include <mach/board.h>
-#include <mach/gpio.h>
 #include <mach/at91sam9_smc.h>
 #include <mach/at91sam9_smc.h>
 
 
 #include "sam9_smc.h"
 #include "sam9_smc.h"

+ 1 - 1
arch/arm/mach-at91/board-cap9adk.c

@@ -22,6 +22,7 @@
  */
  */
 
 
 #include <linux/types.h>
 #include <linux/types.h>
+#include <linux/gpio.h>
 #include <linux/init.h>
 #include <linux/init.h>
 #include <linux/mm.h>
 #include <linux/mm.h>
 #include <linux/module.h>
 #include <linux/module.h>
@@ -41,7 +42,6 @@
 #include <asm/mach/map.h>
 #include <asm/mach/map.h>
 
 
 #include <mach/board.h>
 #include <mach/board.h>
-#include <mach/gpio.h>
 #include <mach/at91cap9_matrix.h>
 #include <mach/at91cap9_matrix.h>
 #include <mach/at91sam9_smc.h>
 #include <mach/at91sam9_smc.h>
 #include <mach/system_rev.h>
 #include <mach/system_rev.h>

+ 1 - 1
arch/arm/mach-at91/board-carmeva.c

@@ -20,6 +20,7 @@
  */
  */
 
 
 #include <linux/types.h>
 #include <linux/types.h>
+#include <linux/gpio.h>
 #include <linux/init.h>
 #include <linux/init.h>
 #include <linux/mm.h>
 #include <linux/mm.h>
 #include <linux/module.h>
 #include <linux/module.h>
@@ -35,7 +36,6 @@
 
 
 #include <mach/hardware.h>
 #include <mach/hardware.h>
 #include <mach/board.h>
 #include <mach/board.h>
-#include <mach/gpio.h>
 
 
 #include "generic.h"
 #include "generic.h"
 
 

+ 1 - 1
arch/arm/mach-at91/board-cpu9krea.c

@@ -21,6 +21,7 @@
  */
  */
 
 
 #include <linux/types.h>
 #include <linux/types.h>
+#include <linux/gpio.h>
 #include <linux/init.h>
 #include <linux/init.h>
 #include <linux/mm.h>
 #include <linux/mm.h>
 #include <linux/module.h>
 #include <linux/module.h>
@@ -40,7 +41,6 @@
 
 
 #include <mach/hardware.h>
 #include <mach/hardware.h>
 #include <mach/board.h>
 #include <mach/board.h>
-#include <mach/gpio.h>
 #include <mach/at91sam9_smc.h>
 #include <mach/at91sam9_smc.h>
 #include <mach/at91sam9260_matrix.h>
 #include <mach/at91sam9260_matrix.h>
 
 

+ 1 - 1
arch/arm/mach-at91/board-cpuat91.c

@@ -19,6 +19,7 @@
  */
  */
 
 
 #include <linux/types.h>
 #include <linux/types.h>
+#include <linux/gpio.h>
 #include <linux/init.h>
 #include <linux/init.h>
 #include <linux/mm.h>
 #include <linux/mm.h>
 #include <linux/module.h>
 #include <linux/module.h>
@@ -36,7 +37,6 @@
 #include <asm/mach/irq.h>
 #include <asm/mach/irq.h>
 
 
 #include <mach/board.h>
 #include <mach/board.h>
-#include <mach/gpio.h>
 #include <mach/at91rm9200_mc.h>
 #include <mach/at91rm9200_mc.h>
 #include <mach/cpu.h>
 #include <mach/cpu.h>
 
 

+ 1 - 1
arch/arm/mach-at91/board-csb337.c

@@ -19,6 +19,7 @@
  */
  */
 
 
 #include <linux/types.h>
 #include <linux/types.h>
+#include <linux/gpio.h>
 #include <linux/init.h>
 #include <linux/init.h>
 #include <linux/mm.h>
 #include <linux/mm.h>
 #include <linux/module.h>
 #include <linux/module.h>
@@ -38,7 +39,6 @@
 
 
 #include <mach/hardware.h>
 #include <mach/hardware.h>
 #include <mach/board.h>
 #include <mach/board.h>
-#include <mach/gpio.h>
 
 
 #include "generic.h"
 #include "generic.h"
 
 

+ 1 - 1
arch/arm/mach-at91/board-csb637.c

@@ -20,6 +20,7 @@
 
 
 #include <linux/types.h>
 #include <linux/types.h>
 #include <linux/init.h>
 #include <linux/init.h>
+#include <linux/gpio.h>
 #include <linux/mm.h>
 #include <linux/mm.h>
 #include <linux/module.h>
 #include <linux/module.h>
 #include <linux/platform_device.h>
 #include <linux/platform_device.h>
@@ -35,7 +36,6 @@
 
 
 #include <mach/hardware.h>
 #include <mach/hardware.h>
 #include <mach/board.h>
 #include <mach/board.h>
-#include <mach/gpio.h>
 
 
 #include "generic.h"
 #include "generic.h"
 
 

+ 1 - 1
arch/arm/mach-at91/board-eb9200.c

@@ -20,6 +20,7 @@
  */
  */
 
 
 #include <linux/types.h>
 #include <linux/types.h>
+#include <linux/gpio.h>
 #include <linux/init.h>
 #include <linux/init.h>
 #include <linux/mm.h>
 #include <linux/mm.h>
 #include <linux/module.h>
 #include <linux/module.h>
@@ -35,7 +36,6 @@
 #include <asm/mach/irq.h>
 #include <asm/mach/irq.h>
 
 
 #include <mach/board.h>
 #include <mach/board.h>
-#include <mach/gpio.h>
 
 
 #include "generic.h"
 #include "generic.h"
 
 

+ 1 - 1
arch/arm/mach-at91/board-ecbat91.c

@@ -20,6 +20,7 @@
  */
  */
 
 
 #include <linux/types.h>
 #include <linux/types.h>
+#include <linux/gpio.h>
 #include <linux/init.h>
 #include <linux/init.h>
 #include <linux/mm.h>
 #include <linux/mm.h>
 #include <linux/module.h>
 #include <linux/module.h>
@@ -37,7 +38,6 @@
 #include <asm/mach/irq.h>
 #include <asm/mach/irq.h>
 
 
 #include <mach/board.h>
 #include <mach/board.h>
-#include <mach/gpio.h>
 #include <mach/cpu.h>
 #include <mach/cpu.h>
 
 
 #include "generic.h"
 #include "generic.h"

+ 1 - 1
arch/arm/mach-at91/board-kafa.c

@@ -19,6 +19,7 @@
  */
  */
 
 
 #include <linux/types.h>
 #include <linux/types.h>
+#include <linux/gpio.h>
 #include <linux/init.h>
 #include <linux/init.h>
 #include <linux/mm.h>
 #include <linux/mm.h>
 #include <linux/module.h>
 #include <linux/module.h>
@@ -34,7 +35,6 @@
 #include <asm/mach/irq.h>
 #include <asm/mach/irq.h>
 
 
 #include <mach/board.h>
 #include <mach/board.h>
-#include <mach/gpio.h>
 #include <mach/cpu.h>
 #include <mach/cpu.h>
 
 
 #include "generic.h"
 #include "generic.h"

+ 1 - 1
arch/arm/mach-at91/board-kb9202.c

@@ -20,6 +20,7 @@
  */
  */
 
 
 #include <linux/types.h>
 #include <linux/types.h>
+#include <linux/gpio.h>
 #include <linux/init.h>
 #include <linux/init.h>
 #include <linux/mm.h>
 #include <linux/mm.h>
 #include <linux/module.h>
 #include <linux/module.h>
@@ -35,7 +36,6 @@
 #include <asm/mach/irq.h>
 #include <asm/mach/irq.h>
 
 
 #include <mach/board.h>
 #include <mach/board.h>
-#include <mach/gpio.h>
 #include <mach/cpu.h>
 #include <mach/cpu.h>
 #include <mach/at91rm9200_mc.h>
 #include <mach/at91rm9200_mc.h>
 
 

+ 1 - 1
arch/arm/mach-at91/board-neocore926.c

@@ -21,6 +21,7 @@
  */
  */
 
 
 #include <linux/types.h>
 #include <linux/types.h>
+#include <linux/gpio.h>
 #include <linux/init.h>
 #include <linux/init.h>
 #include <linux/mm.h>
 #include <linux/mm.h>
 #include <linux/module.h>
 #include <linux/module.h>
@@ -44,7 +45,6 @@
 
 
 #include <mach/hardware.h>
 #include <mach/hardware.h>
 #include <mach/board.h>
 #include <mach/board.h>
-#include <mach/gpio.h>
 #include <mach/at91sam9_smc.h>
 #include <mach/at91sam9_smc.h>
 
 
 #include "sam9_smc.h"
 #include "sam9_smc.h"

+ 1 - 1
arch/arm/mach-at91/board-picotux200.c

@@ -20,6 +20,7 @@
  */
  */
 
 
 #include <linux/types.h>
 #include <linux/types.h>
+#include <linux/gpio.h>
 #include <linux/init.h>
 #include <linux/init.h>
 #include <linux/mm.h>
 #include <linux/mm.h>
 #include <linux/module.h>
 #include <linux/module.h>
@@ -37,7 +38,6 @@
 #include <asm/mach/irq.h>
 #include <asm/mach/irq.h>
 
 
 #include <mach/board.h>
 #include <mach/board.h>
-#include <mach/gpio.h>
 #include <mach/at91rm9200_mc.h>
 #include <mach/at91rm9200_mc.h>
 
 
 #include "generic.h"
 #include "generic.h"

+ 1 - 1
arch/arm/mach-at91/board-qil-a9260.c

@@ -21,6 +21,7 @@
  */
  */
 
 
 #include <linux/types.h>
 #include <linux/types.h>
+#include <linux/gpio.h>
 #include <linux/init.h>
 #include <linux/init.h>
 #include <linux/mm.h>
 #include <linux/mm.h>
 #include <linux/module.h>
 #include <linux/module.h>
@@ -40,7 +41,6 @@
 
 
 #include <mach/hardware.h>
 #include <mach/hardware.h>
 #include <mach/board.h>
 #include <mach/board.h>
-#include <mach/gpio.h>
 #include <mach/at91sam9_smc.h>
 #include <mach/at91sam9_smc.h>
 #include <mach/at91_shdwc.h>
 #include <mach/at91_shdwc.h>
 
 

+ 1 - 1
arch/arm/mach-at91/board-rm9200dk.c

@@ -22,6 +22,7 @@
  */
  */
 
 
 #include <linux/types.h>
 #include <linux/types.h>
+#include <linux/gpio.h>
 #include <linux/init.h>
 #include <linux/init.h>
 #include <linux/mm.h>
 #include <linux/mm.h>
 #include <linux/module.h>
 #include <linux/module.h>
@@ -39,7 +40,6 @@
 
 
 #include <mach/hardware.h>
 #include <mach/hardware.h>
 #include <mach/board.h>
 #include <mach/board.h>
-#include <mach/gpio.h>
 #include <mach/at91rm9200_mc.h>
 #include <mach/at91rm9200_mc.h>
 
 
 #include "generic.h"
 #include "generic.h"

+ 1 - 1
arch/arm/mach-at91/board-rm9200ek.c

@@ -22,6 +22,7 @@
  */
  */
 
 
 #include <linux/types.h>
 #include <linux/types.h>
+#include <linux/gpio.h>
 #include <linux/init.h>
 #include <linux/init.h>
 #include <linux/mm.h>
 #include <linux/mm.h>
 #include <linux/module.h>
 #include <linux/module.h>
@@ -39,7 +40,6 @@
 
 
 #include <mach/hardware.h>
 #include <mach/hardware.h>
 #include <mach/board.h>
 #include <mach/board.h>
-#include <mach/gpio.h>
 #include <mach/at91rm9200_mc.h>
 #include <mach/at91rm9200_mc.h>
 
 
 #include "generic.h"
 #include "generic.h"

+ 1 - 1
arch/arm/mach-at91/board-sam9-l9260.c

@@ -21,6 +21,7 @@
  */
  */
 
 
 #include <linux/types.h>
 #include <linux/types.h>
+#include <linux/gpio.h>
 #include <linux/init.h>
 #include <linux/init.h>
 #include <linux/mm.h>
 #include <linux/mm.h>
 #include <linux/module.h>
 #include <linux/module.h>
@@ -37,7 +38,6 @@
 #include <asm/mach/irq.h>
 #include <asm/mach/irq.h>
 
 
 #include <mach/board.h>
 #include <mach/board.h>
-#include <mach/gpio.h>
 #include <mach/at91sam9_smc.h>
 #include <mach/at91sam9_smc.h>
 
 
 #include "sam9_smc.h"
 #include "sam9_smc.h"

+ 1 - 1
arch/arm/mach-at91/board-sam9260ek.c

@@ -20,6 +20,7 @@
  */
  */
 
 
 #include <linux/types.h>
 #include <linux/types.h>
+#include <linux/gpio.h>
 #include <linux/init.h>
 #include <linux/init.h>
 #include <linux/mm.h>
 #include <linux/mm.h>
 #include <linux/module.h>
 #include <linux/module.h>
@@ -41,7 +42,6 @@
 
 
 #include <mach/hardware.h>
 #include <mach/hardware.h>
 #include <mach/board.h>
 #include <mach/board.h>
-#include <mach/gpio.h>
 #include <mach/at91sam9_smc.h>
 #include <mach/at91sam9_smc.h>
 #include <mach/at91_shdwc.h>
 #include <mach/at91_shdwc.h>
 #include <mach/system_rev.h>
 #include <mach/system_rev.h>

+ 1 - 1
arch/arm/mach-at91/board-sam9261ek.c

@@ -20,6 +20,7 @@
  */
  */
 
 
 #include <linux/types.h>
 #include <linux/types.h>
+#include <linux/gpio.h>
 #include <linux/init.h>
 #include <linux/init.h>
 #include <linux/mm.h>
 #include <linux/mm.h>
 #include <linux/module.h>
 #include <linux/module.h>
@@ -45,7 +46,6 @@
 
 
 #include <mach/hardware.h>
 #include <mach/hardware.h>
 #include <mach/board.h>
 #include <mach/board.h>
-#include <mach/gpio.h>
 #include <mach/at91sam9_smc.h>
 #include <mach/at91sam9_smc.h>
 #include <mach/at91_shdwc.h>
 #include <mach/at91_shdwc.h>
 #include <mach/system_rev.h>
 #include <mach/system_rev.h>

+ 1 - 1
arch/arm/mach-at91/board-sam9263ek.c

@@ -20,6 +20,7 @@
  */
  */
 
 
 #include <linux/types.h>
 #include <linux/types.h>
+#include <linux/gpio.h>
 #include <linux/init.h>
 #include <linux/init.h>
 #include <linux/mm.h>
 #include <linux/mm.h>
 #include <linux/module.h>
 #include <linux/module.h>
@@ -44,7 +45,6 @@
 
 
 #include <mach/hardware.h>
 #include <mach/hardware.h>
 #include <mach/board.h>
 #include <mach/board.h>
-#include <mach/gpio.h>
 #include <mach/at91sam9_smc.h>
 #include <mach/at91sam9_smc.h>
 #include <mach/at91_shdwc.h>
 #include <mach/at91_shdwc.h>
 #include <mach/system_rev.h>
 #include <mach/system_rev.h>

+ 1 - 1
arch/arm/mach-at91/board-sam9g20ek.c

@@ -18,6 +18,7 @@
  */
  */
 
 
 #include <linux/types.h>
 #include <linux/types.h>
+#include <linux/gpio.h>
 #include <linux/init.h>
 #include <linux/init.h>
 #include <linux/mm.h>
 #include <linux/mm.h>
 #include <linux/module.h>
 #include <linux/module.h>
@@ -41,7 +42,6 @@
 #include <asm/mach/irq.h>
 #include <asm/mach/irq.h>
 
 
 #include <mach/board.h>
 #include <mach/board.h>
-#include <mach/gpio.h>
 #include <mach/at91sam9_smc.h>
 #include <mach/at91sam9_smc.h>
 #include <mach/system_rev.h>
 #include <mach/system_rev.h>
 
 

+ 1 - 1
arch/arm/mach-at91/board-sam9m10g45ek.c

@@ -14,6 +14,7 @@
  */
  */
 
 
 #include <linux/types.h>
 #include <linux/types.h>
+#include <linux/gpio.h>
 #include <linux/init.h>
 #include <linux/init.h>
 #include <linux/mm.h>
 #include <linux/mm.h>
 #include <linux/module.h>
 #include <linux/module.h>
@@ -38,7 +39,6 @@
 #include <asm/mach/irq.h>
 #include <asm/mach/irq.h>
 
 
 #include <mach/board.h>
 #include <mach/board.h>
-#include <mach/gpio.h>
 #include <mach/at91sam9_smc.h>
 #include <mach/at91sam9_smc.h>
 #include <mach/at91_shdwc.h>
 #include <mach/at91_shdwc.h>
 #include <mach/system_rev.h>
 #include <mach/system_rev.h>

+ 1 - 1
arch/arm/mach-at91/board-sam9rlek.c

@@ -8,6 +8,7 @@
  */
  */
 
 
 #include <linux/types.h>
 #include <linux/types.h>
+#include <linux/gpio.h>
 #include <linux/init.h>
 #include <linux/init.h>
 #include <linux/mm.h>
 #include <linux/mm.h>
 #include <linux/module.h>
 #include <linux/module.h>
@@ -30,7 +31,6 @@
 
 
 #include <mach/hardware.h>
 #include <mach/hardware.h>
 #include <mach/board.h>
 #include <mach/board.h>
-#include <mach/gpio.h>
 #include <mach/at91sam9_smc.h>
 #include <mach/at91sam9_smc.h>
 #include <mach/at91_shdwc.h>
 #include <mach/at91_shdwc.h>
 
 

+ 1 - 1
arch/arm/mach-at91/board-usb-a9260.c

@@ -21,6 +21,7 @@
  */
  */
 
 
 #include <linux/types.h>
 #include <linux/types.h>
+#include <linux/gpio.h>
 #include <linux/init.h>
 #include <linux/init.h>
 #include <linux/mm.h>
 #include <linux/mm.h>
 #include <linux/module.h>
 #include <linux/module.h>
@@ -40,7 +41,6 @@
 
 
 #include <mach/hardware.h>
 #include <mach/hardware.h>
 #include <mach/board.h>
 #include <mach/board.h>
-#include <mach/gpio.h>
 #include <mach/at91sam9_smc.h>
 #include <mach/at91sam9_smc.h>
 #include <mach/at91_shdwc.h>
 #include <mach/at91_shdwc.h>
 
 

+ 1 - 1
arch/arm/mach-at91/board-usb-a9263.c

@@ -21,6 +21,7 @@
  */
  */
 
 
 #include <linux/types.h>
 #include <linux/types.h>
+#include <linux/gpio.h>
 #include <linux/init.h>
 #include <linux/init.h>
 #include <linux/mm.h>
 #include <linux/mm.h>
 #include <linux/module.h>
 #include <linux/module.h>
@@ -39,7 +40,6 @@
 
 
 #include <mach/hardware.h>
 #include <mach/hardware.h>
 #include <mach/board.h>
 #include <mach/board.h>
-#include <mach/gpio.h>
 #include <mach/at91sam9_smc.h>
 #include <mach/at91sam9_smc.h>
 #include <mach/at91_shdwc.h>
 #include <mach/at91_shdwc.h>
 
 

+ 1 - 1
arch/arm/mach-at91/board-yl-9200.c

@@ -22,6 +22,7 @@
  */
  */
 
 
 #include <linux/types.h>
 #include <linux/types.h>
+#include <linux/gpio.h>
 #include <linux/init.h>
 #include <linux/init.h>
 #include <linux/mm.h>
 #include <linux/mm.h>
 #include <linux/module.h>
 #include <linux/module.h>
@@ -43,7 +44,6 @@
 
 
 #include <mach/hardware.h>
 #include <mach/hardware.h>
 #include <mach/board.h>
 #include <mach/board.h>
-#include <mach/gpio.h>
 #include <mach/at91rm9200_mc.h>
 #include <mach/at91rm9200_mc.h>
 #include <mach/cpu.h>
 #include <mach/cpu.h>
 
 

+ 1 - 3
arch/arm/mach-at91/gpio.c

@@ -11,6 +11,7 @@
 
 
 #include <linux/clk.h>
 #include <linux/clk.h>
 #include <linux/errno.h>
 #include <linux/errno.h>
+#include <linux/gpio.h>
 #include <linux/interrupt.h>
 #include <linux/interrupt.h>
 #include <linux/irq.h>
 #include <linux/irq.h>
 #include <linux/debugfs.h>
 #include <linux/debugfs.h>
@@ -22,9 +23,6 @@
 
 
 #include <mach/hardware.h>
 #include <mach/hardware.h>
 #include <mach/at91_pio.h>
 #include <mach/at91_pio.h>
-#include <mach/gpio.h>
-
-#include <asm/gpio.h>
 
 
 #include "generic.h"
 #include "generic.h"
 
 

+ 1 - 1
arch/arm/mach-at91/include/mach/debug-macro.S

@@ -14,7 +14,7 @@
 #include <mach/hardware.h>
 #include <mach/hardware.h>
 #include <mach/at91_dbgu.h>
 #include <mach/at91_dbgu.h>
 
 
-	.macro	addruart, rp, rv
+	.macro	addruart, rp, rv, tmp
 	ldr	\rp, =(AT91_BASE_SYS + AT91_DBGU)	@ System peripherals (phys address)
 	ldr	\rp, =(AT91_BASE_SYS + AT91_DBGU)	@ System peripherals (phys address)
 	ldr	\rv, =(AT91_VA_BASE_SYS	+ AT91_DBGU)	@ System peripherals (virt address)
 	ldr	\rv, =(AT91_VA_BASE_SYS	+ AT91_DBGU)	@ System peripherals (virt address)
 	.endm
 	.endm

+ 0 - 5
arch/arm/mach-at91/include/mach/gpio.h

@@ -214,11 +214,6 @@ extern void at91_gpio_resume(void);
  */
  */
 
 
 #include <asm/errno.h>
 #include <asm/errno.h>
-#include <asm-generic/gpio.h>		/* cansleep wrappers */
-
-#define gpio_get_value	__gpio_get_value
-#define gpio_set_value	__gpio_set_value
-#define gpio_cansleep	__gpio_cansleep
 
 
 #define gpio_to_irq(gpio) (gpio)
 #define gpio_to_irq(gpio) (gpio)
 #define irq_to_gpio(irq)  (irq)
 #define irq_to_gpio(irq)  (irq)

+ 1 - 1
arch/arm/mach-at91/leds.c

@@ -9,13 +9,13 @@
  * 2 of the License, or (at your option) any later version.
  * 2 of the License, or (at your option) any later version.
 */
 */
 
 
+#include <linux/gpio.h>
 #include <linux/kernel.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/module.h>
 #include <linux/init.h>
 #include <linux/init.h>
 #include <linux/platform_device.h>
 #include <linux/platform_device.h>
 
 
 #include <mach/board.h>
 #include <mach/board.h>
-#include <mach/gpio.h>
 
 
 
 
 /* ------------------------------------------------------------------------- */
 /* ------------------------------------------------------------------------- */

+ 1 - 1
arch/arm/mach-at91/pm.c

@@ -10,6 +10,7 @@
  * (at your option) any later version.
  * (at your option) any later version.
  */
  */
 
 
+#include <linux/gpio.h>
 #include <linux/suspend.h>
 #include <linux/suspend.h>
 #include <linux/sched.h>
 #include <linux/sched.h>
 #include <linux/proc_fs.h>
 #include <linux/proc_fs.h>
@@ -25,7 +26,6 @@
 #include <asm/mach/irq.h>
 #include <asm/mach/irq.h>
 
 
 #include <mach/at91_pmc.h>
 #include <mach/at91_pmc.h>
-#include <mach/gpio.h>
 #include <mach/cpu.h>
 #include <mach/cpu.h>
 
 
 #include "generic.h"
 #include "generic.h"

+ 1 - 2
arch/arm/mach-bcmring/include/mach/hardware.h

@@ -22,7 +22,6 @@
 #define __ASM_ARCH_HARDWARE_H
 #define __ASM_ARCH_HARDWARE_H
 
 
 #include <asm/sizes.h>
 #include <asm/sizes.h>
-#include <mach/memory.h>
 #include <cfg_global.h>
 #include <cfg_global.h>
 #include <mach/csp/mm_io.h>
 #include <mach/csp/mm_io.h>
 
 
@@ -31,7 +30,7 @@
  *  *_SIZE  is the size of the region
  *  *_SIZE  is the size of the region
  *  *_BASE  is the virtual address
  *  *_BASE  is the virtual address
  */
  */
-#define RAM_START               PLAT_PHYS_OFFSET
+#define RAM_START               PHYS_OFFSET
 
 
 #define RAM_SIZE                (CFG_GLOBAL_RAM_SIZE-CFG_GLOBAL_RAM_SIZE_RESERVED)
 #define RAM_SIZE                (CFG_GLOBAL_RAM_SIZE-CFG_GLOBAL_RAM_SIZE_RESERVED)
 #define RAM_BASE                PAGE_OFFSET
 #define RAM_BASE                PAGE_OFFSET

+ 0 - 28
arch/arm/mach-bcmring/include/mach/memory.h

@@ -1,28 +0,0 @@
-/*****************************************************************************
-* Copyright 2005 - 2008 Broadcom Corporation.  All rights reserved.
-*
-* Unless you and Broadcom execute a separate written software license
-* agreement governing use of this software, this software is licensed to you
-* under the terms of the GNU General Public License version 2, available at
-* http://www.broadcom.com/licenses/GPLv2.php (the "GPL").
-*
-* Notwithstanding the above, under no circumstances may you combine this
-* software in any way with any other Broadcom software provided under a
-* license other than the GPL, without Broadcom's express prior written
-* consent.
-*****************************************************************************/
-
-#ifndef __ASM_ARCH_MEMORY_H
-#define __ASM_ARCH_MEMORY_H
-
-#include <cfg_global.h>
-
-/*
- * Physical vs virtual RAM address space conversion.  These are
- * private definitions which should NOT be used outside memory.h
- * files.  Use virt_to_phys/phys_to_virt/__pa/__va instead.
- */
-
-#define PLAT_PHYS_OFFSET CFG_GLOBAL_RAM_BASE
-
-#endif

+ 1 - 1
arch/arm/mach-clps711x/include/mach/debug-macro.S

@@ -14,7 +14,7 @@
 #include <mach/hardware.h>
 #include <mach/hardware.h>
 #include <asm/hardware/clps7111.h>
 #include <asm/hardware/clps7111.h>
 
 
-		.macro	addruart, rp, rv
+		.macro	addruart, rp, rv, tmp
 #ifndef CONFIG_DEBUG_CLPS711X_UART2
 #ifndef CONFIG_DEBUG_CLPS711X_UART2
 		mov	\rp, #0x0000	@ UART1
 		mov	\rp, #0x0000	@ UART1
 #else
 #else

+ 1 - 1
arch/arm/mach-cns3xxx/include/mach/debug-macro.S

@@ -10,7 +10,7 @@
  * published by the Free Software Foundation.
  * published by the Free Software Foundation.
  */
  */
 
 
-		.macro	addruart,rp,rv
+		.macro	addruart,rp,rv,tmp
 		mov	\rp, #0x00009000
 		mov	\rp, #0x00009000
 		orr	\rv, \rp, #0xf0000000	@ virtual base
 		orr	\rv, \rp, #0xf0000000	@ virtual base
 		orr	\rp, \rp, #0x10000000
 		orr	\rp, \rp, #0x10000000

+ 0 - 26
arch/arm/mach-cns3xxx/include/mach/memory.h

@@ -1,26 +0,0 @@
-/*
- * Copyright 2003 ARM Limited
- * Copyright 2008 Cavium Networks
- *
- * This file is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License, Version 2, as
- * published by the Free Software Foundation.
- */
-
-#ifndef __MACH_MEMORY_H
-#define __MACH_MEMORY_H
-
-/*
- * Physical DRAM offset.
- */
-#define PLAT_PHYS_OFFSET		UL(0x00000000)
-
-#define __phys_to_bus(x)	((x) + PHYS_OFFSET)
-#define __bus_to_phys(x)	((x) - PHYS_OFFSET)
-
-#define __virt_to_bus(v)	__phys_to_bus(__virt_to_phys(v))
-#define __bus_to_virt(b)	__phys_to_virt(__bus_to_phys(b))
-#define __pfn_to_bus(p)		__phys_to_bus(__pfn_to_phys(p))
-#define __bus_to_pfn(b)		__phys_to_pfn(__bus_to_phys(b))
-
-#endif

+ 1 - 2
arch/arm/mach-davinci/Makefile

@@ -5,7 +5,7 @@
 
 
 # Common objects
 # Common objects
 obj-y 			:= time.o clock.o serial.o io.o psc.o \
 obj-y 			:= time.o clock.o serial.o io.o psc.o \
-			   gpio.o dma.o usb.o common.o sram.o aemif.o
+			   dma.o usb.o common.o sram.o aemif.o
 
 
 obj-$(CONFIG_DAVINCI_MUX)		+= mux.o
 obj-$(CONFIG_DAVINCI_MUX)		+= mux.o
 
 
@@ -17,7 +17,6 @@ obj-$(CONFIG_ARCH_DAVINCI_DM365)	+= dm365.o devices.o
 obj-$(CONFIG_ARCH_DAVINCI_DA830)        += da830.o devices-da8xx.o
 obj-$(CONFIG_ARCH_DAVINCI_DA830)        += da830.o devices-da8xx.o
 obj-$(CONFIG_ARCH_DAVINCI_DA850)        += da850.o devices-da8xx.o
 obj-$(CONFIG_ARCH_DAVINCI_DA850)        += da850.o devices-da8xx.o
 obj-$(CONFIG_ARCH_DAVINCI_TNETV107X)    += tnetv107x.o devices-tnetv107x.o
 obj-$(CONFIG_ARCH_DAVINCI_TNETV107X)    += tnetv107x.o devices-tnetv107x.o
-obj-$(CONFIG_ARCH_DAVINCI_TNETV107X)    += gpio-tnetv107x.o
 
 
 obj-$(CONFIG_AINTC)			+= irq.o
 obj-$(CONFIG_AINTC)			+= irq.o
 obj-$(CONFIG_CP_INTC)			+= cp_intc.o
 obj-$(CONFIG_CP_INTC)			+= cp_intc.o

+ 1 - 1
arch/arm/mach-davinci/cpuidle.c

@@ -19,7 +19,7 @@
 #include <asm/proc-fns.h>
 #include <asm/proc-fns.h>
 
 
 #include <mach/cpuidle.h>
 #include <mach/cpuidle.h>
-#include <mach/memory.h>
+#include <mach/ddr2.h>
 
 
 #define DAVINCI_CPUIDLE_MAX_STATES	2
 #define DAVINCI_CPUIDLE_MAX_STATES	2
 
 

+ 2 - 1
arch/arm/mach-davinci/da830.c

@@ -8,6 +8,7 @@
  * is licensed "as is" without any warranty of any kind, whether express
  * is licensed "as is" without any warranty of any kind, whether express
  * or implied.
  * or implied.
  */
  */
+#include <linux/gpio.h>
 #include <linux/init.h>
 #include <linux/init.h>
 #include <linux/clk.h>
 #include <linux/clk.h>
 
 
@@ -19,7 +20,7 @@
 #include <mach/common.h>
 #include <mach/common.h>
 #include <mach/time.h>
 #include <mach/time.h>
 #include <mach/da8xx.h>
 #include <mach/da8xx.h>
-#include <mach/gpio.h>
+#include <mach/gpio-davinci.h>
 
 
 #include "clock.h"
 #include "clock.h"
 #include "mux.h"
 #include "mux.h"

+ 2 - 1
arch/arm/mach-davinci/da850.c

@@ -11,6 +11,7 @@
  * is licensed "as is" without any warranty of any kind, whether express
  * is licensed "as is" without any warranty of any kind, whether express
  * or implied.
  * or implied.
  */
  */
+#include <linux/gpio.h>
 #include <linux/init.h>
 #include <linux/init.h>
 #include <linux/clk.h>
 #include <linux/clk.h>
 #include <linux/platform_device.h>
 #include <linux/platform_device.h>
@@ -27,7 +28,7 @@
 #include <mach/da8xx.h>
 #include <mach/da8xx.h>
 #include <mach/cpufreq.h>
 #include <mach/cpufreq.h>
 #include <mach/pm.h>
 #include <mach/pm.h>
-#include <mach/gpio.h>
+#include <mach/gpio-davinci.h>
 
 
 #include "clock.h"
 #include "clock.h"
 #include "mux.h"
 #include "mux.h"

+ 1 - 1
arch/arm/mach-davinci/dm355.c

@@ -13,7 +13,6 @@
 #include <linux/serial_8250.h>
 #include <linux/serial_8250.h>
 #include <linux/platform_device.h>
 #include <linux/platform_device.h>
 #include <linux/dma-mapping.h>
 #include <linux/dma-mapping.h>
-#include <linux/gpio.h>
 
 
 #include <linux/spi/spi.h>
 #include <linux/spi/spi.h>
 
 
@@ -30,6 +29,7 @@
 #include <mach/common.h>
 #include <mach/common.h>
 #include <mach/asp.h>
 #include <mach/asp.h>
 #include <mach/spi.h>
 #include <mach/spi.h>
+#include <mach/gpio-davinci.h>
 
 
 #include "clock.h"
 #include "clock.h"
 #include "mux.h"
 #include "mux.h"

+ 1 - 2
arch/arm/mach-davinci/dm365.c

@@ -17,7 +17,6 @@
 #include <linux/serial_8250.h>
 #include <linux/serial_8250.h>
 #include <linux/platform_device.h>
 #include <linux/platform_device.h>
 #include <linux/dma-mapping.h>
 #include <linux/dma-mapping.h>
-#include <linux/gpio.h>
 #include <linux/spi/spi.h>
 #include <linux/spi/spi.h>
 
 
 #include <asm/mach/map.h>
 #include <asm/mach/map.h>
@@ -34,7 +33,7 @@
 #include <mach/asp.h>
 #include <mach/asp.h>
 #include <mach/keyscan.h>
 #include <mach/keyscan.h>
 #include <mach/spi.h>
 #include <mach/spi.h>
-
+#include <mach/gpio-davinci.h>
 
 
 #include "clock.h"
 #include "clock.h"
 #include "mux.h"
 #include "mux.h"

+ 1 - 1
arch/arm/mach-davinci/dm644x.c

@@ -12,7 +12,6 @@
 #include <linux/clk.h>
 #include <linux/clk.h>
 #include <linux/serial_8250.h>
 #include <linux/serial_8250.h>
 #include <linux/platform_device.h>
 #include <linux/platform_device.h>
-#include <linux/gpio.h>
 
 
 #include <asm/mach/map.h>
 #include <asm/mach/map.h>
 
 
@@ -26,6 +25,7 @@
 #include <mach/serial.h>
 #include <mach/serial.h>
 #include <mach/common.h>
 #include <mach/common.h>
 #include <mach/asp.h>
 #include <mach/asp.h>
+#include <mach/gpio-davinci.h>
 
 
 #include "clock.h"
 #include "clock.h"
 #include "mux.h"
 #include "mux.h"

+ 1 - 1
arch/arm/mach-davinci/dm646x.c

@@ -13,7 +13,6 @@
 #include <linux/clk.h>
 #include <linux/clk.h>
 #include <linux/serial_8250.h>
 #include <linux/serial_8250.h>
 #include <linux/platform_device.h>
 #include <linux/platform_device.h>
-#include <linux/gpio.h>
 
 
 #include <asm/mach/map.h>
 #include <asm/mach/map.h>
 
 
@@ -27,6 +26,7 @@
 #include <mach/serial.h>
 #include <mach/serial.h>
 #include <mach/common.h>
 #include <mach/common.h>
 #include <mach/asp.h>
 #include <mach/asp.h>
+#include <mach/gpio-davinci.h>
 
 
 #include "clock.h"
 #include "clock.h"
 #include "mux.h"
 #include "mux.h"

+ 4 - 0
arch/arm/mach-davinci/include/mach/ddr2.h

@@ -0,0 +1,4 @@
+#define DDR2_SDRCR_OFFSET	0xc
+#define DDR2_SRPD_BIT		(1 << 23)
+#define DDR2_MCLKSTOPEN_BIT	(1 << 30)
+#define DDR2_LPMODEN_BIT	(1 << 31)

+ 23 - 29
arch/arm/mach-davinci/include/mach/debug-macro.S

@@ -18,56 +18,50 @@
 
 
 #include <linux/serial_reg.h>
 #include <linux/serial_reg.h>
 
 
-#include <asm/memory.h>
-
 #include <mach/serial.h>
 #include <mach/serial.h>
 
 
 #define UART_SHIFT	2
 #define UART_SHIFT	2
 
 
-#define davinci_uart_v2p(x)	((x) - PAGE_OFFSET + PLAT_PHYS_OFFSET)
-#define davinci_uart_p2v(x)	((x) - PLAT_PHYS_OFFSET + PAGE_OFFSET)
-
 		.pushsection .data
 		.pushsection .data
 davinci_uart_phys:	.word	0
 davinci_uart_phys:	.word	0
 davinci_uart_virt:	.word	0
 davinci_uart_virt:	.word	0
 		.popsection
 		.popsection
 
 
-		.macro addruart, rp, rv
+		.macro addruart, rp, rv, tmp
 
 
 		/* Use davinci_uart_phys/virt if already configured */
 		/* Use davinci_uart_phys/virt if already configured */
-10:		mrc	p15, 0, \rp, c1, c0
-		tst	\rp, #1			@ MMU enabled?
-		ldreq	\rp, =davinci_uart_v2p(davinci_uart_phys)
-		ldrne	\rp, =davinci_uart_phys
-		add	\rv, \rp, #4		@ davinci_uart_virt
-		ldr	\rp, [\rp, #0]
-		ldr	\rv, [\rv, #0]
+10:		adr	\rp, 99f		@ get effective addr of 99f
+		ldr	\rv, [\rp]		@ get absolute addr of 99f
+		sub	\rv, \rv, \rp		@ offset between the two
+		ldr	\rp, [\rp, #4]		@ abs addr of omap_uart_phys
+		sub	\tmp, \rp, \rv		@ make it effective
+		ldr	\rp, [\tmp, #0]		@ davinci_uart_phys
+		ldr	\rv, [\tmp, #4]		@ davinci_uart_virt
 		cmp	\rp, #0			@ is port configured?
 		cmp	\rp, #0			@ is port configured?
 		cmpne	\rv, #0
 		cmpne	\rv, #0
-		bne	99f			@ already configured
+		bne	100f			@ already configured
 
 
 		/* Check the debug UART address set in uncompress.h */
 		/* Check the debug UART address set in uncompress.h */
-		mrc	p15, 0, \rp, c1, c0
-		tst	\rp, #1			@ MMU enabled?
+		and	\rp, pc, #0xff000000
+		ldr	\rv, =DAVINCI_UART_INFO_OFS
+		add	\rp, \rp, \rv
 
 
 		/* Copy uart phys address from decompressor uart info */
 		/* Copy uart phys address from decompressor uart info */
-		ldreq	\rv, =davinci_uart_v2p(davinci_uart_phys)
-		ldrne	\rv, =davinci_uart_phys
-		ldreq	\rp, =DAVINCI_UART_INFO
-		ldrne	\rp, =davinci_uart_p2v(DAVINCI_UART_INFO)
-		ldr	\rp, [\rp, #0]
-		str	\rp, [\rv]
+		ldr	\rv, [\rp, #0]
+		str	\rv, [\tmp, #0]
 
 
 		/* Copy uart virt address from decompressor uart info */
 		/* Copy uart virt address from decompressor uart info */
-		ldreq	\rv, =davinci_uart_v2p(davinci_uart_virt)
-		ldrne	\rv, =davinci_uart_virt
-		ldreq	\rp, =DAVINCI_UART_INFO
-		ldrne	\rp, =davinci_uart_p2v(DAVINCI_UART_INFO)
-		ldr	\rp, [\rp, #4]
-		str	\rp, [\rv]
+		ldr	\rv, [\rp, #4]
+		str	\rv, [\tmp, #4]
 
 
 		b	10b
 		b	10b
-99:
+
+		.align
+99:		.word	.
+		.word	davinci_uart_phys
+		.ltorg
+
+100:
 		.endm
 		.endm
 
 
 		.macro	senduart,rd,rx
 		.macro	senduart,rd,rx

+ 91 - 0
arch/arm/mach-davinci/include/mach/gpio-davinci.h

@@ -0,0 +1,91 @@
+/*
+ * TI DaVinci GPIO Support
+ *
+ * Copyright (c) 2006 David Brownell
+ * Copyright (c) 2007, MontaVista Software, Inc. <source@mvista.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ */
+
+#ifndef	__DAVINCI_DAVINCI_GPIO_H
+#define	__DAVINCI_DAVINCI_GPIO_H
+
+#include <linux/io.h>
+#include <linux/spinlock.h>
+
+#include <asm-generic/gpio.h>
+
+#include <mach/irqs.h>
+#include <mach/common.h>
+
+#define DAVINCI_GPIO_BASE 0x01C67000
+
+enum davinci_gpio_type {
+	GPIO_TYPE_DAVINCI = 0,
+	GPIO_TYPE_TNETV107X,
+};
+
+/*
+ * basic gpio routines
+ *
+ * board-specific init should be done by arch/.../.../board-XXX.c (maybe
+ * initializing banks together) rather than boot loaders; kexec() won't
+ * go through boot loaders.
+ *
+ * the gpio clock will be turned on when gpios are used, and you may also
+ * need to pay attention to PINMUX registers to be sure those pins are
+ * used as gpios, not with other peripherals.
+ *
+ * On-chip GPIOs are numbered 0..(DAVINCI_N_GPIO-1).  For documentation,
+ * and maybe for later updates, code may write GPIO(N).  These may be
+ * all 1.8V signals, all 3.3V ones, or a mix of the two.  A given chip
+ * may not support all the GPIOs in that range.
+ *
+ * GPIOs can also be on external chips, numbered after the ones built-in
+ * to the DaVinci chip.  For now, they won't be usable as IRQ sources.
+ */
+#define	GPIO(X)		(X)		/* 0 <= X <= (DAVINCI_N_GPIO - 1) */
+
+/* Convert GPIO signal to GPIO pin number */
+#define GPIO_TO_PIN(bank, gpio)	(16 * (bank) + (gpio))
+
+struct davinci_gpio_controller {
+	struct gpio_chip	chip;
+	int			irq_base;
+	spinlock_t		lock;
+	void __iomem		*regs;
+	void __iomem		*set_data;
+	void __iomem		*clr_data;
+	void __iomem		*in_data;
+};
+
+/* The __gpio_to_controller() and __gpio_mask() functions inline to constants
+ * with constant parameters; or in outlined code they execute at runtime.
+ *
+ * You'd access the controller directly when reading or writing more than
+ * one gpio value at a time, and to support wired logic where the value
+ * being driven by the cpu need not match the value read back.
+ *
+ * These are NOT part of the cross-platform GPIO interface
+ */
+static inline struct davinci_gpio_controller *
+__gpio_to_controller(unsigned gpio)
+{
+	struct davinci_gpio_controller *ctlrs = davinci_soc_info.gpio_ctlrs;
+	int index = gpio / 32;
+
+	if (!ctlrs || index >= davinci_soc_info.gpio_ctlrs_num)
+		return NULL;
+
+	return ctlrs + index;
+}
+
+static inline u32 __gpio_mask(unsigned gpio)
+{
+	return 1 << (gpio % 32);
+}
+
+#endif	/* __DAVINCI_DAVINCI_GPIO_H */

+ 2 - 77
arch/arm/mach-davinci/include/mach/gpio.h

@@ -13,80 +13,10 @@
 #ifndef	__DAVINCI_GPIO_H
 #ifndef	__DAVINCI_GPIO_H
 #define	__DAVINCI_GPIO_H
 #define	__DAVINCI_GPIO_H
 
 
-#include <linux/io.h>
-#include <linux/spinlock.h>
-
 #include <asm-generic/gpio.h>
 #include <asm-generic/gpio.h>
 
 
-#include <mach/irqs.h>
-#include <mach/common.h>
-
-#define DAVINCI_GPIO_BASE 0x01C67000
-
-enum davinci_gpio_type {
-	GPIO_TYPE_DAVINCI = 0,
-	GPIO_TYPE_TNETV107X,
-};
-
-/*
- * basic gpio routines
- *
- * board-specific init should be done by arch/.../.../board-XXX.c (maybe
- * initializing banks together) rather than boot loaders; kexec() won't
- * go through boot loaders.
- *
- * the gpio clock will be turned on when gpios are used, and you may also
- * need to pay attention to PINMUX registers to be sure those pins are
- * used as gpios, not with other peripherals.
- *
- * On-chip GPIOs are numbered 0..(DAVINCI_N_GPIO-1).  For documentation,
- * and maybe for later updates, code may write GPIO(N).  These may be
- * all 1.8V signals, all 3.3V ones, or a mix of the two.  A given chip
- * may not support all the GPIOs in that range.
- *
- * GPIOs can also be on external chips, numbered after the ones built-in
- * to the DaVinci chip.  For now, they won't be usable as IRQ sources.
- */
-#define	GPIO(X)		(X)		/* 0 <= X <= (DAVINCI_N_GPIO - 1) */
-
-/* Convert GPIO signal to GPIO pin number */
-#define GPIO_TO_PIN(bank, gpio)	(16 * (bank) + (gpio))
-
-struct davinci_gpio_controller {
-	struct gpio_chip	chip;
-	int			irq_base;
-	spinlock_t		lock;
-	void __iomem		*regs;
-	void __iomem		*set_data;
-	void __iomem		*clr_data;
-	void __iomem		*in_data;
-};
-
-/* The __gpio_to_controller() and __gpio_mask() functions inline to constants
- * with constant parameters; or in outlined code they execute at runtime.
- *
- * You'd access the controller directly when reading or writing more than
- * one gpio value at a time, and to support wired logic where the value
- * being driven by the cpu need not match the value read back.
- *
- * These are NOT part of the cross-platform GPIO interface
- */
-static inline struct davinci_gpio_controller *
-__gpio_to_controller(unsigned gpio)
-{
-	struct davinci_gpio_controller *ctlrs = davinci_soc_info.gpio_ctlrs;
-	int index = gpio / 32;
-
-	if (!ctlrs || index >= davinci_soc_info.gpio_ctlrs_num)
-		return NULL;
-
-	return ctlrs + index;
-}
-
-static inline u32 __gpio_mask(unsigned gpio)
-{
-	return 1 << (gpio % 32);
-}
+/* The inline versions use the static inlines in the driver header */
+#include "gpio-davinci.h"
 
 
 /*
 /*
  * The get/set/clear functions will inline when called with constant
  * The get/set/clear functions will inline when called with constant
@@ -147,11 +77,6 @@ static inline int gpio_cansleep(unsigned gpio)
 		return __gpio_cansleep(gpio);
 		return __gpio_cansleep(gpio);
 }
 }
 
 
-static inline int gpio_to_irq(unsigned gpio)
-{
-	return __gpio_to_irq(gpio);
-}
-
 static inline int irq_to_gpio(unsigned irq)
 static inline int irq_to_gpio(unsigned irq)
 {
 {
 	/* don't support the reverse mapping */
 	/* don't support the reverse mapping */

+ 0 - 39
arch/arm/mach-davinci/include/mach/memory.h

@@ -1,39 +0,0 @@
-/*
- * DaVinci memory space definitions
- *
- * Author: Kevin Hilman, MontaVista Software, Inc. <source@mvista.com>
- *
- * 2007 (c) MontaVista Software, Inc. This file is licensed under
- * the terms of the GNU General Public License version 2. This program
- * is licensed "as is" without any warranty of any kind, whether express
- * or implied.
- */
-#ifndef __ASM_ARCH_MEMORY_H
-#define __ASM_ARCH_MEMORY_H
-
-/**************************************************************************
- * Included Files
- **************************************************************************/
-#include <asm/page.h>
-#include <asm/sizes.h>
-
-/**************************************************************************
- * Definitions
- **************************************************************************/
-#define DAVINCI_DDR_BASE	0x80000000
-#define DA8XX_DDR_BASE		0xc0000000
-
-#if defined(CONFIG_ARCH_DAVINCI_DA8XX) && defined(CONFIG_ARCH_DAVINCI_DMx)
-#error Cannot enable DaVinci and DA8XX platforms concurrently
-#elif defined(CONFIG_ARCH_DAVINCI_DA8XX)
-#define PLAT_PHYS_OFFSET DA8XX_DDR_BASE
-#else
-#define PLAT_PHYS_OFFSET DAVINCI_DDR_BASE
-#endif
-
-#define DDR2_SDRCR_OFFSET	0xc
-#define DDR2_SRPD_BIT		BIT(23)
-#define DDR2_MCLKSTOPEN_BIT	BIT(30)
-#define DDR2_LPMODEN_BIT	BIT(31)
-
-#endif /* __ASM_ARCH_MEMORY_H */

+ 2 - 1
arch/arm/mach-davinci/include/mach/serial.h

@@ -21,8 +21,9 @@
  * macros in debug-macro.S.
  * macros in debug-macro.S.
  *
  *
  * This area sits just below the page tables (see arch/arm/kernel/head.S).
  * This area sits just below the page tables (see arch/arm/kernel/head.S).
+ * We define it as a relative offset from start of usable RAM.
  */
  */
-#define DAVINCI_UART_INFO	(PLAT_PHYS_OFFSET + 0x3ff8)
+#define DAVINCI_UART_INFO_OFS	0x3ff8
 
 
 #define DAVINCI_UART0_BASE	(IO_PHYS + 0x20000)
 #define DAVINCI_UART0_BASE	(IO_PHYS + 0x20000)
 #define DAVINCI_UART1_BASE	(IO_PHYS + 0x20400)
 #define DAVINCI_UART1_BASE	(IO_PHYS + 0x20400)

+ 6 - 1
arch/arm/mach-davinci/include/mach/uncompress.h

@@ -43,7 +43,12 @@ static inline void flush(void)
 
 
 static inline void set_uart_info(u32 phys, void * __iomem virt)
 static inline void set_uart_info(u32 phys, void * __iomem virt)
 {
 {
-	u32 *uart_info = (u32 *)(DAVINCI_UART_INFO);
+	/*
+	 * Get address of some.bss variable and round it down
+	 * a la CONFIG_AUTO_ZRELADDR.
+	 */
+	u32 ram_start = (u32)&uart & 0xf8000000;
+	u32 *uart_info = (u32 *)(ram_start + DAVINCI_UART_INFO_OFS);
 
 
 	uart = (u32 *)phys;
 	uart = (u32 *)phys;
 	uart_info[0] = phys;
 	uart_info[0] = phys;

+ 1 - 1
arch/arm/mach-davinci/sleep.S

@@ -22,7 +22,7 @@
 #include <linux/linkage.h>
 #include <linux/linkage.h>
 #include <asm/assembler.h>
 #include <asm/assembler.h>
 #include <mach/psc.h>
 #include <mach/psc.h>
-#include <mach/memory.h>
+#include <mach/ddr2.h>
 
 
 #include "clock.h"
 #include "clock.h"
 
 

+ 2 - 1
arch/arm/mach-davinci/tnetv107x.c

@@ -12,6 +12,7 @@
  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Public License for more details.
  * GNU General Public License for more details.
  */
  */
+#include <linux/gpio.h>
 #include <linux/kernel.h>
 #include <linux/kernel.h>
 #include <linux/init.h>
 #include <linux/init.h>
 #include <linux/clk.h>
 #include <linux/clk.h>
@@ -27,9 +28,9 @@
 #include <mach/psc.h>
 #include <mach/psc.h>
 #include <mach/cp_intc.h>
 #include <mach/cp_intc.h>
 #include <mach/irqs.h>
 #include <mach/irqs.h>
-#include <mach/gpio.h>
 #include <mach/hardware.h>
 #include <mach/hardware.h>
 #include <mach/tnetv107x.h>
 #include <mach/tnetv107x.h>
+#include <mach/gpio-davinci.h>
 
 
 #include "clock.h"
 #include "clock.h"
 #include "mux.h"
 #include "mux.h"

+ 1 - 1
arch/arm/mach-dove/include/mach/debug-macro.S

@@ -8,7 +8,7 @@
 
 
 #include <mach/bridge-regs.h>
 #include <mach/bridge-regs.h>
 
 
-	.macro	addruart, rp, rv
+	.macro	addruart, rp, rv, tmp
 	ldr	\rp, =DOVE_SB_REGS_PHYS_BASE
 	ldr	\rp, =DOVE_SB_REGS_PHYS_BASE
 	ldr	\rv, =DOVE_SB_REGS_VIRT_BASE
 	ldr	\rv, =DOVE_SB_REGS_VIRT_BASE
 	orr	\rp, \rp, #0x00012000
 	orr	\rp, \rp, #0x00012000

+ 0 - 10
arch/arm/mach-dove/include/mach/memory.h

@@ -1,10 +0,0 @@
-/*
- * arch/arm/mach-dove/include/mach/memory.h
- */
-
-#ifndef __ASM_ARCH_MEMORY_H
-#define __ASM_ARCH_MEMORY_H
-
-#define PLAT_PHYS_OFFSET		UL(0x00000000)
-
-#endif

+ 1 - 1
arch/arm/mach-ebsa110/include/mach/debug-macro.S

@@ -11,7 +11,7 @@
  *
  *
 **/
 **/
 
 
-		.macro	addruart, rp, rv
+		.macro	addruart, rp, rv, tmp
 		mov	\rp, #0xf0000000
 		mov	\rp, #0xf0000000
 		orr	\rp, \rp, #0x00000be0
 		orr	\rp, \rp, #0x00000be0
 		mov	\rp, \rv
 		mov	\rp, \rv

+ 1 - 0
arch/arm/mach-ep93xx/core.c

@@ -38,6 +38,7 @@
 #include <mach/fb.h>
 #include <mach/fb.h>
 #include <mach/ep93xx_keypad.h>
 #include <mach/ep93xx_keypad.h>
 #include <mach/ep93xx_spi.h>
 #include <mach/ep93xx_spi.h>
+#include <mach/gpio-ep93xx.h>
 
 
 #include <asm/mach/map.h>
 #include <asm/mach/map.h>
 #include <asm/mach/time.h>
 #include <asm/mach/time.h>

+ 1 - 0
arch/arm/mach-ep93xx/edb93xx.c

@@ -37,6 +37,7 @@
 #include <mach/hardware.h>
 #include <mach/hardware.h>
 #include <mach/fb.h>
 #include <mach/fb.h>
 #include <mach/ep93xx_spi.h>
 #include <mach/ep93xx_spi.h>
+#include <mach/gpio-ep93xx.h>
 
 
 #include <asm/mach-types.h>
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
 #include <asm/mach/arch.h>

+ 1 - 1
arch/arm/mach-ep93xx/include/mach/debug-macro.S

@@ -11,7 +11,7 @@
  */
  */
 #include <mach/ep93xx-regs.h>
 #include <mach/ep93xx-regs.h>
 
 
-		.macro	addruart, rp, rv
+		.macro	addruart, rp, rv, tmp
 		ldr	\rp, =EP93XX_APB_PHYS_BASE	@ Physical base
 		ldr	\rp, =EP93XX_APB_PHYS_BASE	@ Physical base
 		ldr	\rv, =EP93XX_APB_VIRT_BASE	@ virtual base
 		ldr	\rv, =EP93XX_APB_VIRT_BASE	@ virtual base
 		orr	\rp, \rp, #0x000c0000
 		orr	\rp, \rp, #0x000c0000

+ 4 - 24
arch/arm/mach-ep93xx/include/mach/gpio.h → arch/arm/mach-ep93xx/include/mach/gpio-ep93xx.h

@@ -1,9 +1,7 @@
-/*
- * arch/arm/mach-ep93xx/include/mach/gpio.h
- */
+/* Include file for the EP93XX GPIO controller machine specifics */
 
 
-#ifndef __ASM_ARCH_GPIO_H
-#define __ASM_ARCH_GPIO_H
+#ifndef __GPIO_EP93XX_H
+#define __GPIO_EP93XX_H
 
 
 /* GPIO port A.  */
 /* GPIO port A.  */
 #define EP93XX_GPIO_LINE_A(x)		((x) + 0)
 #define EP93XX_GPIO_LINE_A(x)		((x) + 0)
@@ -99,22 +97,4 @@
 /* maximum value for irq capable line identifiers */
 /* maximum value for irq capable line identifiers */
 #define EP93XX_GPIO_LINE_MAX_IRQ	EP93XX_GPIO_LINE_F(7)
 #define EP93XX_GPIO_LINE_MAX_IRQ	EP93XX_GPIO_LINE_F(7)
 
 
-/* new generic GPIO API - see Documentation/gpio.txt */
-
-#include <asm-generic/gpio.h>
-
-#define gpio_get_value	__gpio_get_value
-#define gpio_set_value	__gpio_set_value
-#define gpio_cansleep	__gpio_cansleep
-
-/*
- * Map GPIO A0..A7  (0..7)  to irq 64..71,
- *          B0..B7  (7..15) to irq 72..79, and
- *          F0..F7 (16..24) to irq 80..87.
- */
-#define gpio_to_irq(gpio)	\
-	(((gpio) <= EP93XX_GPIO_LINE_MAX_IRQ) ? (64 + (gpio)) : -EINVAL)
-
-#define irq_to_gpio(irq)	((irq) - gpio_to_irq(0))
-
-#endif
+#endif /* __GPIO_EP93XX_H */

+ 1 - 1
arch/arm/mach-ep93xx/simone.c

@@ -18,12 +18,12 @@
 #include <linux/kernel.h>
 #include <linux/kernel.h>
 #include <linux/init.h>
 #include <linux/init.h>
 #include <linux/platform_device.h>
 #include <linux/platform_device.h>
-#include <linux/gpio.h>
 #include <linux/i2c.h>
 #include <linux/i2c.h>
 #include <linux/i2c-gpio.h>
 #include <linux/i2c-gpio.h>
 
 
 #include <mach/hardware.h>
 #include <mach/hardware.h>
 #include <mach/fb.h>
 #include <mach/fb.h>
+#include <mach/gpio-ep93xx.h>
 
 
 #include <asm/mach-types.h>
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
 #include <asm/mach/arch.h>

+ 1 - 1
arch/arm/mach-ep93xx/snappercl15.c

@@ -20,7 +20,6 @@
 #include <linux/kernel.h>
 #include <linux/kernel.h>
 #include <linux/init.h>
 #include <linux/init.h>
 #include <linux/io.h>
 #include <linux/io.h>
-#include <linux/gpio.h>
 #include <linux/i2c.h>
 #include <linux/i2c.h>
 #include <linux/i2c-gpio.h>
 #include <linux/i2c-gpio.h>
 #include <linux/fb.h>
 #include <linux/fb.h>
@@ -30,6 +29,7 @@
 
 
 #include <mach/hardware.h>
 #include <mach/hardware.h>
 #include <mach/fb.h>
 #include <mach/fb.h>
+#include <mach/gpio-ep93xx.h>
 
 
 #include <asm/mach-types.h>
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
 #include <asm/mach/arch.h>

+ 1 - 1
arch/arm/mach-exynos4/include/mach/debug-macro.S

@@ -20,7 +20,7 @@
 	 * aligned and add in the offset when we load the value here.
 	 * aligned and add in the offset when we load the value here.
 	 */
 	 */
 
 
-	.macro addruart, rp, rv
+	.macro addruart, rp, rv, tmp
 		ldr	\rp, = S3C_PA_UART
 		ldr	\rp, = S3C_PA_UART
 		ldr	\rv, = S3C_VA_UART
 		ldr	\rv, = S3C_VA_UART
 #if CONFIG_DEBUG_S3C_UART != 0
 #if CONFIG_DEBUG_S3C_UART != 0

+ 0 - 7
arch/arm/mach-exynos4/include/mach/gpio.h

@@ -13,11 +13,6 @@
 #ifndef __ASM_ARCH_GPIO_H
 #ifndef __ASM_ARCH_GPIO_H
 #define __ASM_ARCH_GPIO_H __FILE__
 #define __ASM_ARCH_GPIO_H __FILE__
 
 
-#define gpio_get_value	__gpio_get_value
-#define gpio_set_value	__gpio_set_value
-#define gpio_cansleep	__gpio_cansleep
-#define gpio_to_irq	__gpio_to_irq
-
 /* Practically, GPIO banks up to GPZ are the configurable gpio banks */
 /* Practically, GPIO banks up to GPZ are the configurable gpio banks */
 
 
 /* GPIO bank sizes */
 /* GPIO bank sizes */
@@ -151,6 +146,4 @@ enum s5p_gpio_number {
 #define ARCH_NR_GPIOS		(EXYNOS4_GPZ(EXYNOS4_GPIO_Z_NR) +	\
 #define ARCH_NR_GPIOS		(EXYNOS4_GPZ(EXYNOS4_GPIO_Z_NR) +	\
 				 CONFIG_SAMSUNG_GPIO_EXTRA + 1)
 				 CONFIG_SAMSUNG_GPIO_EXTRA + 1)
 
 
-#include <asm-generic/gpio.h>
-
 #endif /* __ASM_ARCH_GPIO_H */
 #endif /* __ASM_ARCH_GPIO_H */

+ 2 - 2
arch/arm/mach-footbridge/include/mach/debug-macro.S

@@ -15,7 +15,7 @@
 
 
 #ifndef CONFIG_DEBUG_DC21285_PORT
 #ifndef CONFIG_DEBUG_DC21285_PORT
 	/* For NetWinder debugging */
 	/* For NetWinder debugging */
-		.macro	addruart, rp, rv
+		.macro	addruart, rp, rv, tmp
 		mov	\rp, #0x000003f8
 		mov	\rp, #0x000003f8
 		orr	\rv, \rp, #0xff000000	@ virtual
 		orr	\rv, \rp, #0xff000000	@ virtual
 		orr	\rp, \rp, #0x7c000000	@ physical
 		orr	\rp, \rp, #0x7c000000	@ physical
@@ -31,7 +31,7 @@
 		.equ	dc21285_high, ARMCSR_BASE & 0xff000000
 		.equ	dc21285_high, ARMCSR_BASE & 0xff000000
 		.equ	dc21285_low,  ARMCSR_BASE & 0x00ffffff
 		.equ	dc21285_low,  ARMCSR_BASE & 0x00ffffff
 
 
-		.macro	addruart, rp, rv
+		.macro	addruart, rp, rv, tmp
 		.if	dc21285_low
 		.if	dc21285_low
 		mov	\rp, #dc21285_low
 		mov	\rp, #dc21285_low
 		.else
 		.else

+ 1 - 1
arch/arm/mach-gemini/include/mach/debug-macro.S

@@ -11,7 +11,7 @@
  */
  */
 #include <mach/hardware.h>
 #include <mach/hardware.h>
 
 
-	.macro	addruart, rp, rv
+	.macro	addruart, rp, rv, tmp
 	ldr	\rp, =GEMINI_UART_BASE			@ physical
 	ldr	\rp, =GEMINI_UART_BASE			@ physical
 	ldr	\rv, =IO_ADDRESS(GEMINI_UART_BASE)	@ virtual
 	ldr	\rv, =IO_ADDRESS(GEMINI_UART_BASE)	@ virtual
 	.endm
 	.endm

+ 0 - 5
arch/arm/mach-gemini/include/mach/gpio.h

@@ -13,11 +13,6 @@
 #define __MACH_GPIO_H__
 #define __MACH_GPIO_H__
 
 
 #include <mach/irqs.h>
 #include <mach/irqs.h>
-#include <asm-generic/gpio.h>
-
-#define gpio_get_value	__gpio_get_value
-#define gpio_set_value	__gpio_set_value
-#define gpio_cansleep	__gpio_cansleep
 
 
 #define gpio_to_irq(x)	((x) + GPIO_IRQ_BASE)
 #define gpio_to_irq(x)	((x) + GPIO_IRQ_BASE)
 #define irq_to_gpio(x)	((x) - GPIO_IRQ_BASE)
 #define irq_to_gpio(x)	((x) - GPIO_IRQ_BASE)

+ 0 - 19
arch/arm/mach-gemini/include/mach/memory.h

@@ -1,19 +0,0 @@
-/*
- *  Copyright (C) 2001-2006 Storlink, Corp.
- *  Copyright (C) 2008-2009 Paulius Zaleckas <paulius.zaleckas@teltonika.lt>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- */
-#ifndef __MACH_MEMORY_H
-#define __MACH_MEMORY_H
-
-#ifdef CONFIG_GEMINI_MEM_SWAP
-# define PLAT_PHYS_OFFSET	UL(0x00000000)
-#else
-# define PLAT_PHYS_OFFSET	UL(0x10000000)
-#endif
-
-#endif /* __MACH_MEMORY_H */

+ 1 - 1
arch/arm/mach-h720x/include/mach/debug-macro.S

@@ -16,7 +16,7 @@
 		.equ    io_virt, IO_VIRT
 		.equ    io_virt, IO_VIRT
 		.equ    io_phys, IO_PHYS
 		.equ    io_phys, IO_PHYS
 
 
-		.macro  addruart, rp, rv
+		.macro  addruart, rp, rv, tmp
 		mov     \rp, #0x00020000	@ UART1
 		mov     \rp, #0x00020000	@ UART1
 		add     \rv, \rp, #io_virt	@ virtual address
 		add     \rv, \rp, #io_virt	@ virtual address
 		add     \rp, \rp, #io_phys	@ physical base address
 		add     \rp, \rp, #io_phys	@ physical base address

+ 0 - 11
arch/arm/mach-h720x/include/mach/memory.h

@@ -1,11 +0,0 @@
-/*
- * arch/arm/mach-h720x/include/mach/memory.h
- *
- * Copyright (c) 2000 Jungjun Kim
- *
- */
-#ifndef __ASM_ARCH_MEMORY_H
-#define __ASM_ARCH_MEMORY_H
-
-#define PLAT_PHYS_OFFSET	UL(0x40000000)
-#endif

+ 1 - 0
arch/arm/mach-imx/Kconfig

@@ -449,6 +449,7 @@ config MACH_MX31_3DS
 	select IMX_HAVE_PLATFORM_IMX_UART
 	select IMX_HAVE_PLATFORM_IMX_UART
 	select IMX_HAVE_PLATFORM_IPU_CORE
 	select IMX_HAVE_PLATFORM_IPU_CORE
 	select IMX_HAVE_PLATFORM_MXC_EHCI
 	select IMX_HAVE_PLATFORM_MXC_EHCI
+	select IMX_HAVE_PLATFORM_MXC_MMC
 	select IMX_HAVE_PLATFORM_MXC_NAND
 	select IMX_HAVE_PLATFORM_MXC_NAND
 	select IMX_HAVE_PLATFORM_SPI_IMX
 	select IMX_HAVE_PLATFORM_SPI_IMX
 	select MXC_ULPI if USB_ULPI
 	select MXC_ULPI if USB_ULPI

+ 1 - 2
arch/arm/mach-imx/iomux-imx31.c

@@ -17,13 +17,12 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  * MA 02110-1301, USA.
  * MA 02110-1301, USA.
  */
  */
-
+#include <linux/gpio.h>
 #include <linux/module.h>
 #include <linux/module.h>
 #include <linux/spinlock.h>
 #include <linux/spinlock.h>
 #include <linux/io.h>
 #include <linux/io.h>
 #include <linux/kernel.h>
 #include <linux/kernel.h>
 #include <mach/hardware.h>
 #include <mach/hardware.h>
-#include <mach/gpio.h>
 #include <mach/iomux-mx3.h>
 #include <mach/iomux-mx3.h>
 
 
 /*
 /*

+ 1 - 2
arch/arm/mach-imx/mach-mx27ads.c

@@ -13,7 +13,7 @@
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Public License for more details.
  * GNU General Public License for more details.
  */
  */
-
+#include <linux/gpio.h>
 #include <linux/platform_device.h>
 #include <linux/platform_device.h>
 #include <linux/mtd/mtd.h>
 #include <linux/mtd/mtd.h>
 #include <linux/mtd/map.h>
 #include <linux/mtd/map.h>
@@ -27,7 +27,6 @@
 #include <asm/mach/arch.h>
 #include <asm/mach/arch.h>
 #include <asm/mach/time.h>
 #include <asm/mach/time.h>
 #include <asm/mach/map.h>
 #include <asm/mach/map.h>
-#include <mach/gpio.h>
 #include <mach/iomux-mx27.h>
 #include <mach/iomux-mx27.h>
 
 
 #include "devices-imx27.h"
 #include "devices-imx27.h"

+ 1 - 1
arch/arm/mach-imx/mach-mx31_3ds.c

@@ -542,7 +542,7 @@ static const struct mxc_nand_platform_data
 mx31_3ds_nand_board_info __initconst = {
 mx31_3ds_nand_board_info __initconst = {
 	.width		= 1,
 	.width		= 1,
 	.hw_ecc		= 1,
 	.hw_ecc		= 1,
-#ifdef MACH_MX31_3DS_MXC_NAND_USE_BBT
+#ifdef CONFIG_MACH_MX31_3DS_MXC_NAND_USE_BBT
 	.flash_bbt	= 1,
 	.flash_bbt	= 1,
 #endif
 #endif
 };
 };

+ 1 - 1
arch/arm/mach-integrator/include/mach/debug-macro.S

@@ -11,7 +11,7 @@
  *
  *
 */
 */
 
 
-		.macro	addruart, rp, rv
+		.macro	addruart, rp, rv, tmp
 		mov	\rp, #0x16000000	@ physical base address
 		mov	\rp, #0x16000000	@ physical base address
 		mov	\rv, #0xf0000000	@ virtual base
 		mov	\rv, #0xf0000000	@ virtual base
 		add	\rv, \rv, #0x16000000 >> 4
 		add	\rv, \rv, #0x16000000 >> 4

+ 1 - 1
arch/arm/mach-iop13xx/include/mach/debug-macro.S

@@ -11,7 +11,7 @@
  * published by the Free Software Foundation.
  * published by the Free Software Foundation.
  */
  */
 
 
-	.macro	addruart, rp, rv
+	.macro	addruart, rp, rv, tmp
 	mov	\rp, #0x00002300
 	mov	\rp, #0x00002300
 	orr	\rp, \rp, #0x00000040
 	orr	\rp, \rp, #0x00000040
 	orr	\rv, \rp, #0xfe000000	@ virtual
 	orr	\rv, \rp, #0xfe000000	@ virtual

+ 1 - 1
arch/arm/mach-iop32x/include/mach/debug-macro.S

@@ -11,7 +11,7 @@
  * published by the Free Software Foundation.
  * published by the Free Software Foundation.
  */
  */
 
 
-		.macro	addruart, rp, rv
+		.macro	addruart, rp, rv, tmp
 		mov	\rp, #0xfe000000	@ physical as well as virtual
 		mov	\rp, #0xfe000000	@ physical as well as virtual
 		orr	\rp, \rp, #0x00800000	@ location of the UART
 		orr	\rp, \rp, #0x00800000	@ location of the UART
 		mov	\rv, \rp
 		mov	\rv, \rp

+ 0 - 13
arch/arm/mach-iop32x/include/mach/memory.h

@@ -1,13 +0,0 @@
-/*
- * arch/arm/mach-iop32x/include/mach/memory.h
- */
-
-#ifndef __MEMORY_H
-#define __MEMORY_H
-
-/*
- * Physical DRAM offset.
- */
-#define PLAT_PHYS_OFFSET	UL(0xa0000000)
-
-#endif

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно