ARM: switch from NO_MACH_MEMORY_H to NEED_MACH_MEMORY_H

Given that we want the default to not have any <mach/memory.h> and given
that there are now fewer cases where it is still provided than the cases
where it is not at this point, this makes sense to invert the logic and
just identify the exception cases.

The word "need" instead of "have" was chosen to construct the config
symbol so not to suggest that having a mach/memory.h file is actually
a feature that one should aim for.

Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 81148f4..b7f7510 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -211,14 +211,16 @@
 	  this feature (eg, building a kernel for a single machine) and
 	  you need to shrink the kernel to the minimal size.
 
-config NO_MACH_MEMORY_H
+config NEED_MACH_MEMORY_H
 	bool
 	help
-	  Select this when mach/memory.h is removed.
+	  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 && NO_MACH_MEMORY_H
+	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.
@@ -254,6 +256,7 @@
 	select GENERIC_CLOCKEVENTS
 	select PLAT_VERSATILE
 	select PLAT_VERSATILE_FPGA_IRQ
+	select NEED_MACH_MEMORY_H
 	help
 	  Support for ARM's Integrator platform.
 
@@ -269,6 +272,7 @@
 	select PLAT_VERSATILE_CLCD
 	select ARM_TIMER_SP804
 	select GPIO_PL061 if GPIOLIB
+	select NEED_MACH_MEMORY_H
 	help
 	  This enables support for ARM Ltd RealView boards.
 
@@ -285,7 +289,6 @@
 	select PLAT_VERSATILE_CLCD
 	select PLAT_VERSATILE_FPGA_IRQ
 	select ARM_TIMER_SP804
-	select NO_MACH_MEMORY_H
 	help
 	  This enables support for ARM Ltd Versatile board.
 
@@ -302,7 +305,6 @@
 	select ICST
 	select PLAT_VERSATILE
 	select PLAT_VERSATILE_CLCD
-	select NO_MACH_MEMORY_H
 	help
 	  This enables support for the ARM Ltd Versatile Express boards.
 
@@ -324,7 +326,6 @@
 	select CLKDEV_LOOKUP
 	select GENERIC_CLOCKEVENTS
 	select ARCH_WANT_OPTIONAL_GPIOLIB
-	select NO_MACH_MEMORY_H
 	help
 	  Support for Broadcom's BCMRing platform.
 
@@ -332,6 +333,7 @@
 	bool "Cirrus Logic CLPS711x/EP721x-based"
 	select CPU_ARM720T
 	select ARCH_USES_GETTIMEOFFSET
+	select NEED_MACH_MEMORY_H
 	help
 	  Support for Cirrus Logic 711x/721x based boards.
 
@@ -342,7 +344,6 @@
 	select ARM_GIC
 	select MIGHT_HAVE_PCI
 	select PCI_DOMAINS if PCI
-	select NO_MACH_MEMORY_H
 	help
 	  Support for Cavium Networks CNS3XXX platform.
 
@@ -351,7 +352,6 @@
 	select CPU_FA526
 	select ARCH_REQUIRE_GPIOLIB
 	select ARCH_USES_GETTIMEOFFSET
-	select NO_MACH_MEMORY_H
 	help
 	  Support for the Cortina Systems Gemini family SoCs
 
@@ -365,7 +365,6 @@
 	select GENERIC_IRQ_CHIP
 	select USE_OF
 	select ZONE_DMA
-	select NO_MACH_MEMORY_H
 	help
           Support for CSR SiRFSoC ARM Cortex A9 Platform
 
@@ -375,6 +374,7 @@
 	select ISA
 	select NO_IOPORT
 	select ARCH_USES_GETTIMEOFFSET
+	select NEED_MACH_MEMORY_H
 	help
 	  This is an evaluation board for the StrongARM processor available
 	  from Digital. It has limited hardware on-board, including an
@@ -390,6 +390,7 @@
 	select ARCH_REQUIRE_GPIOLIB
 	select ARCH_HAS_HOLES_MEMORYMODEL
 	select ARCH_USES_GETTIMEOFFSET
+	select NEED_MEMORY_H
 	help
 	  This enables support for the Cirrus EP93xx series of CPUs.
 
@@ -398,6 +399,7 @@
 	select CPU_SA110
 	select FOOTBRIDGE
 	select GENERIC_CLOCKEVENTS
+	select NEED_MACH_MEMORY_H
 	help
 	  Support for systems based on the DC21285 companion chip
 	  ("FootBridge"), such as the Simtec CATS and the Rebel NetWinder.
@@ -410,7 +412,6 @@
 	select CLKSRC_MMIO
 	select GENERIC_IRQ_CHIP
 	select HAVE_SCHED_CLOCK
-	select NO_MACH_MEMORY_H
 	help
 	  Support for Freescale MXC/iMX-based family of processors
 
@@ -420,7 +421,6 @@
 	select ARCH_REQUIRE_GPIOLIB
 	select CLKDEV_LOOKUP
 	select CLKSRC_MMIO
-	select NO_MACH_MEMORY_H
 	help
 	  Support for Freescale MXS-based family of processors
 
@@ -430,7 +430,6 @@
 	select CPU_ARM926T
 	select ARM_VIC
 	select GENERIC_CLOCKEVENTS
-	select NO_MACH_MEMORY_H
 	help
 	  This enables support for systems based on the Hilscher NetX Soc
 
@@ -439,7 +438,6 @@
 	select CPU_ARM720T
 	select ISA_DMA_API
 	select ARCH_USES_GETTIMEOFFSET
-	select NO_MACH_MEMORY_H
 	help
 	  This enables support for systems based on the Hynix HMS720x
 
@@ -451,6 +449,7 @@
 	select PCI
 	select ARCH_SUPPORTS_MSI
 	select VMSPLIT_1G
+	select NEED_MACH_MEMORY_H
 	help
 	  Support for Intel's IOP13XX (XScale) family of processors.
 
@@ -461,7 +460,6 @@
 	select PLAT_IOP
 	select PCI
 	select ARCH_REQUIRE_GPIOLIB
-	select NO_MACH_MEMORY_H
 	help
 	  Support for Intel's 80219 and IOP32X (XScale) family of
 	  processors.
@@ -473,7 +471,6 @@
 	select PLAT_IOP
 	select PCI
 	select ARCH_REQUIRE_GPIOLIB
-	select NO_MACH_MEMORY_H
 	help
 	  Support for Intel's IOP33X (XScale) family of processors.
 
@@ -483,6 +480,7 @@
 	select CPU_XSC3
  	select PCI
 	select ARCH_USES_GETTIMEOFFSET
+	select NEED_MACH_MEMORY_H
 	help
 	  Support for Intel's IXP23xx (XScale) family of processors.
 
@@ -492,6 +490,7 @@
 	select CPU_XSCALE
 	select PCI
 	select ARCH_USES_GETTIMEOFFSET
+	select NEED_MACH_MEMORY_H
 	help
 	  Support for Intel's IXP2400/2800 (XScale) family of processors.
 
@@ -505,7 +504,6 @@
 	select HAVE_SCHED_CLOCK
 	select MIGHT_HAVE_PCI
 	select DMABOUNCE if PCI
-	select NO_MACH_MEMORY_H
 	help
 	  Support for Intel's IXP4XX (XScale) family of processors.
 
@@ -516,7 +514,6 @@
 	select ARCH_REQUIRE_GPIOLIB
 	select GENERIC_CLOCKEVENTS
 	select PLAT_ORION
-	select NO_MACH_MEMORY_H
 	help
 	  Support for the Marvell Dove SoC 88AP510
 
@@ -527,7 +524,6 @@
 	select ARCH_REQUIRE_GPIOLIB
 	select GENERIC_CLOCKEVENTS
 	select PLAT_ORION
-	select NO_MACH_MEMORY_H
 	help
 	  Support for the following Marvell Kirkwood series SoCs:
 	  88F6180, 88F6192 and 88F6281.
@@ -543,7 +539,6 @@
 	select CLKDEV_LOOKUP
 	select GENERIC_TIME
 	select GENERIC_CLOCKEVENTS
-	select NO_MACH_MEMORY_H
 	help
 	  Support for the NXP LPC32XX family of processors
 
@@ -554,7 +549,6 @@
 	select ARCH_REQUIRE_GPIOLIB
 	select GENERIC_CLOCKEVENTS
 	select PLAT_ORION
-	select NO_MACH_MEMORY_H
 	help
 	  Support for the following Marvell MV78xx0 series SoCs:
 	  MV781x0, MV782x0.
@@ -567,7 +561,6 @@
 	select ARCH_REQUIRE_GPIOLIB
 	select GENERIC_CLOCKEVENTS
 	select PLAT_ORION
-	select NO_MACH_MEMORY_H
 	help
 	  Support for the following Marvell Orion 5x series SoCs:
 	  Orion-1 (5181), Orion-VoIP (5181L), Orion-NAS (5182),
@@ -583,7 +576,6 @@
 	select TICK_ONESHOT
 	select PLAT_PXA
 	select SPARSE_IRQ
-	select NO_MACH_MEMORY_H
 	help
 	  Support for Marvell's PXA168/PXA910(MMP) and MMP2 processor line.
 
@@ -592,6 +584,7 @@
 	select CPU_ARM922T
 	select ARCH_REQUIRE_GPIOLIB
 	select ARCH_USES_GETTIMEOFFSET
+	select NEED_MACH_MEMORY_H
 	help
 	  Support for Micrel/Kendin KS8695 "Centaur" (ARM922T) based
 	  System-on-Chip devices.
@@ -603,7 +596,6 @@
 	select CLKDEV_LOOKUP
 	select CLKSRC_MMIO
 	select GENERIC_CLOCKEVENTS
-	select NO_MACH_MEMORY_H
 	help
 	  Support for Nuvoton (Winbond logic dept.) ARM9 processor,
 	  At present, the w90x900 has been renamed nuc900, regarding
@@ -617,7 +609,6 @@
 	bool "Nuvoton NUC93X CPU"
 	select CPU_ARM926T
 	select CLKDEV_LOOKUP
-	select NO_MACH_MEMORY_H
 	help
 	  Support for Nuvoton (Winbond logic dept.) NUC93X MCU,The NUC93X is a
 	  low-power and high performance MPEG-4/JPEG multimedia controller chip.
@@ -632,7 +623,6 @@
 	select HAVE_CLK
 	select HAVE_SCHED_CLOCK
 	select ARCH_HAS_CPUFREQ
-	select NO_MACH_MEMORY_H
 	help
 	  This enables support for NVIDIA Tegra based systems (Tegra APX,
 	  Tegra 6xx and Tegra 2 series).
@@ -642,7 +632,6 @@
 	select CPU_ARM926T
 	select CLKDEV_LOOKUP
 	select ARCH_USES_GETTIMEOFFSET
-	select NO_MACH_MEMORY_H
 	help
 	  This enables support for Philips PNX4008 mobile platform.
 
@@ -661,7 +650,6 @@
 	select SPARSE_IRQ
 	select AUTO_ZRELADDR
 	select MULTI_IRQ_HANDLER
-	select NO_MACH_MEMORY_H
 	help
 	  Support for Intel/Marvell's PXA2xx/PXA3xx processor line.
 
@@ -671,7 +659,6 @@
 	select GENERIC_CLOCKEVENTS
 	select ARCH_REQUIRE_GPIOLIB
 	select CLKDEV_LOOKUP
-	select NO_MACH_MEMORY_H
 	help
 	  Support for Qualcomm MSM/QSD based systems.  This runs on the
 	  apps processor of the MSM/QSD and depends on a shared memory
@@ -689,6 +676,7 @@
 	select SPARSE_IRQ
 	select MULTI_IRQ_HANDLER
 	select PM_GENERIC_DOMAINS if PM
+	select NEED_MACH_MEMORY_H
 	help
 	  Support for Renesas's SH-Mobile and R-Mobile ARM platforms.
 
@@ -703,6 +691,7 @@
 	select NO_IOPORT
 	select ARCH_SPARSEMEM_ENABLE
 	select ARCH_USES_GETTIMEOFFSET
+	select NEED_MACH_MEMORY_H
 	help
 	  On the Acorn Risc-PC, Linux can support the internal IDE disk and
 	  CD-ROM interface, serial and parallel port, and the floppy drive.
@@ -721,6 +710,7 @@
 	select HAVE_SCHED_CLOCK
 	select TICK_ONESHOT
 	select ARCH_REQUIRE_GPIOLIB
+	select NEED_MACH_MEMORY_H
 	help
 	  Support for StrongARM 11x0 based boards.
 
@@ -732,7 +722,6 @@
 	select CLKDEV_LOOKUP
 	select ARCH_USES_GETTIMEOFFSET
 	select HAVE_S3C2410_I2C if I2C
-	select NO_MACH_MEMORY_H
 	help
 	  Samsung S3C2410X CPU based systems, such as the Simtec Electronics
 	  BAST (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or
@@ -765,7 +754,6 @@
 	select SAMSUNG_GPIOLIB_4BIT
 	select HAVE_S3C2410_I2C if I2C
 	select HAVE_S3C2410_WATCHDOG if WATCHDOG
-	select NO_MACH_MEMORY_H
 	help
 	  Samsung S3C64XX series based systems
 
@@ -781,7 +769,6 @@
 	select HAVE_SCHED_CLOCK
 	select HAVE_S3C2410_I2C if I2C
 	select HAVE_S3C_RTC if RTC_CLASS
-	select NO_MACH_MEMORY_H
 	help
 	  Samsung S5P64X0 CPU based systems, such as the Samsung SMDK6440,
 	  SMDK6450.
@@ -797,7 +784,6 @@
 	select HAVE_S3C2410_I2C if I2C
 	select HAVE_S3C_RTC if RTC_CLASS
 	select HAVE_S3C2410_WATCHDOG if WATCHDOG
-	select NO_MACH_MEMORY_H
 	help
 	  Samsung S5PC100 series based systems
 
@@ -817,6 +803,7 @@
 	select HAVE_S3C2410_I2C if I2C
 	select HAVE_S3C_RTC if RTC_CLASS
 	select HAVE_S3C2410_WATCHDOG if WATCHDOG
+	select NEED_MACH_MEMORY_H
 	help
 	  Samsung S5PV210/S5PC110 series based systems
 
@@ -833,6 +820,7 @@
 	select HAVE_S3C_RTC if RTC_CLASS
 	select HAVE_S3C2410_I2C if I2C
 	select HAVE_S3C2410_WATCHDOG if WATCHDOG
+	select NEED_MACH_MEMORY_H
 	help
 	  Samsung EXYNOS4 series based systems
 
@@ -844,6 +832,7 @@
 	select ZONE_DMA
 	select PCI
 	select ARCH_USES_GETTIMEOFFSET
+	select NEED_MACH_MEMORY_H
 	help
 	  Support for the StrongARM based Digital DNARD machine, also known
 	  as "Shark" (<http://www.shark-linux.de/shark.html>).
@@ -855,7 +844,6 @@
 	select HAVE_CLK
 	select CLKDEV_LOOKUP
 	select GENERIC_CLOCKEVENTS
-	select NO_MACH_MEMORY_H
 	help
 	  Support for Telechips TCC ARM926-based systems.
 
@@ -872,6 +860,7 @@
 	select CLKDEV_LOOKUP
 	select HAVE_MACH_CLKDEV
 	select GENERIC_GPIO
+	select NEED_MACH_MEMORY_H
 	help
 	  Support for ST-Ericsson U300 series mobile platforms.
 
@@ -883,7 +872,6 @@
 	select CLKDEV_LOOKUP
 	select ARCH_REQUIRE_GPIOLIB
 	select ARCH_HAS_CPUFREQ
-	select NO_MACH_MEMORY_H
 	help
 	  Support for ST-Ericsson's Ux500 architecture
 
@@ -895,7 +883,6 @@
 	select CLKDEV_LOOKUP
 	select GENERIC_CLOCKEVENTS
 	select ARCH_REQUIRE_GPIOLIB
-	select NO_MACH_MEMORY_H
 	help
 	  Support for the Nomadik platform by ST-Ericsson
 
@@ -909,7 +896,6 @@
 	select GENERIC_ALLOCATOR
 	select GENERIC_IRQ_CHIP
 	select ARCH_HAS_HOLES_MEMORYMODEL
-	select NO_MACH_MEMORY_H
 	help
 	  Support for TI's DaVinci platform.
 
@@ -933,7 +919,6 @@
 	select CLKSRC_MMIO
 	select GENERIC_CLOCKEVENTS
 	select HAVE_CLK
-	select NO_MACH_MEMORY_H
 	help
 	  Support for ST's SPEAr platform (SPEAr3xx, SPEAr6xx and SPEAr13xx).
 
@@ -945,7 +930,6 @@
 	select GENERIC_CLOCKEVENTS
 	select ARCH_REQUIRE_GPIOLIB
 	select HAVE_PWM
-	select NO_MACH_MEMORY_H
 	help
 	  Support for VIA/WonderMedia VT8500/WM85xx System-on-Chip.
 
@@ -959,7 +943,6 @@
 	select ARM_AMBA
 	select ICST
 	select USE_OF
-	select NO_MACH_MEMORY_H
 	help
 	  Support for Xilinx Zynq ARM Cortex A9 Platform
 endchoice
diff --git a/arch/arm/include/asm/memory.h b/arch/arm/include/asm/memory.h
index 046c915..a8997d7 100644
--- a/arch/arm/include/asm/memory.h
+++ b/arch/arm/include/asm/memory.h
@@ -18,7 +18,7 @@
 #include <linux/types.h>
 #include <asm/sizes.h>
 
-#ifndef CONFIG_NO_MACH_MEMORY_H
+#ifdef CONFIG_NEED_MACH_MEMORY_H
 #include <mach/memory.h>
 #endif
 
diff --git a/arch/arm/plat-omap/Kconfig b/arch/arm/plat-omap/Kconfig
index e00fe76..95732af 100644
--- a/arch/arm/plat-omap/Kconfig
+++ b/arch/arm/plat-omap/Kconfig
@@ -14,6 +14,7 @@
 	select CLKDEV_LOOKUP
 	select CLKSRC_MMIO
 	select GENERIC_IRQ_CHIP
+	select NEED_MACH_MEMORY_H
 	help
 	  "Systems based on omap7xx, omap15xx or omap16xx"
 
@@ -22,7 +23,6 @@
 	select CLKDEV_LOOKUP
 	select GENERIC_IRQ_CHIP
 	select OMAP_DM_TIMER
-	select NO_MACH_MEMORY_H
 	help
 	  "Systems based on OMAP2, OMAP3 or OMAP4"