Merge branch 'kbuild/rc-fixes' into kbuild/kconfig
authorMichal Marek <mmarek@suse.cz>
Tue, 12 Oct 2010 13:09:06 +0000 (15:09 +0200)
committerMichal Marek <mmarek@suse.cz>
Tue, 12 Oct 2010 13:09:06 +0000 (15:09 +0200)
We need to revert the temporary hack in 71ebc01, hence the merge.

27 files changed:
1  2 
arch/alpha/Kconfig
arch/arm/Kconfig
arch/avr32/Kconfig
arch/blackfin/Kconfig
arch/cris/Kconfig
arch/frv/Kconfig
arch/h8300/Kconfig
arch/ia64/Kconfig
arch/m32r/Kconfig
arch/m68k/Kconfig
arch/m68knommu/Kconfig
arch/microblaze/Kconfig
arch/mips/Kconfig
arch/mn10300/Kconfig
arch/parisc/Kconfig
arch/powerpc/Kconfig
arch/s390/Kconfig
arch/score/Kconfig
arch/sh/Kconfig
arch/sparc/Kconfig
arch/um/Kconfig.common
arch/x86/Kconfig
arch/xtensa/Kconfig
scripts/kconfig/conf.c
scripts/kconfig/expr.h
scripts/kconfig/menu.c
scripts/kconfig/symbol.c

diff --combined arch/alpha/Kconfig
index 95808c13b2774aca0e0c6118f71b9fa9caf327fe,b9647bb66d1388d9c13503748252c2a1df4ac830..f706a88c8436bc76d4a7032acac21e6697fad39f
@@@ -1,3 -1,7 +1,3 @@@
 -#
 -# For a description of the syntax of this configuration file,
 -# see Documentation/kbuild/kconfig-language.txt.
 -#
  config ALPHA
        bool
        default y
@@@ -43,10 -47,6 +43,6 @@@ config GENERIC_CALIBRATE_DELA
        bool
        default y
  
- config GENERIC_TIME
-       bool
-       default y
  config GENERIC_CMOS_UPDATE
          def_bool y
  
diff --combined arch/arm/Kconfig
index c3f4fd96051e38a9f58d6e80ebe53d098987a64c,92951103255a1dff3e30d237a676f8d8bfa137e3..26ad598ebc6a6bf7674086594c87ccbbf9e58f3f
@@@ -1,8 -1,16 +1,9 @@@
 -#
 -# For a description of the syntax of this configuration file,
 -# see Documentation/kbuild/kconfig-language.txt.
 -#
 -
 -mainmenu "Linux Kernel Configuration"
 -
  config ARM
        bool
        default y
        select HAVE_AOUT
        select HAVE_IDE
+       select HAVE_MEMBLOCK
        select RTC_LIB
        select SYS_SUPPORTS_APM_EMULATION
        select GENERIC_ATOMIC64 if (!CPU_32v6K)
@@@ -17,6 -25,7 +18,7 @@@
        select HAVE_KERNEL_LZMA
        select HAVE_PERF_EVENTS
        select PERF_USE_VMALLOC
+       select HAVE_REGS_AND_STACK_ACCESS_API
        help
          The ARM series is a line of low-power-consumption RISC chip designs
          licensed by ARM Ltd and targeted at embedded applications and
@@@ -34,10 -43,6 +36,6 @@@ config SYS_SUPPORTS_APM_EMULATIO
  config GENERIC_GPIO
        bool
  
- config GENERIC_TIME
-       bool
-       default y
  config ARCH_USES_GETTIMEOFFSET
        bool
        default n
@@@ -48,7 -53,7 +46,7 @@@ config GENERIC_CLOCKEVENT
  config GENERIC_CLOCKEVENTS_BROADCAST
        bool
        depends on GENERIC_CLOCKEVENTS
-       default y if SMP && !LOCAL_TIMERS
+       default y if SMP
  
  config HAVE_TCM
        bool
@@@ -294,6 -299,7 +292,7 @@@ config ARCH_CNS3XX
        select CPU_V6
        select GENERIC_CLOCKEVENTS
        select ARM_GIC
+       select PCI_DOMAINS if PCI
        help
          Support for Cavium Networks CNS3XXX platform.
  
@@@ -432,21 -438,6 +431,6 @@@ config ARCH_IXP4X
        help
          Support for Intel's IXP4XX (XScale) family of processors.
  
- config ARCH_L7200
-       bool "LinkUp-L7200"
-       select CPU_ARM720T
-       select FIQ
-       select ARCH_USES_GETTIMEOFFSET
-       help
-         Say Y here if you intend to run this kernel on a LinkUp Systems
-         L7200 Software Development Board which uses an ARM720T processor.
-         Information on this board can be obtained at:
-         <http://www.linkupsys.com/>
-         If you have any questions or comments about the Linux kernel port
-         to this board, send e-mail to <sjhill@cotw.com>.
  config ARCH_DOVE
        bool "Marvell Dove"
        select PCI
@@@ -475,6 -466,19 +459,19 @@@ config ARCH_LOK
        help
          Support for the Marvell Loki (88RC8480) SoC.
  
+ config ARCH_LPC32XX
+       bool "NXP LPC32XX"
+       select CPU_ARM926T
+       select ARCH_REQUIRE_GPIOLIB
+       select HAVE_IDE
+       select ARM_AMBA
+       select USB_ARCH_HAS_OHCI
+       select COMMON_CLKDEV
+       select GENERIC_TIME
+       select GENERIC_CLOCKEVENTS
+       help
+         Support for the NXP LPC32XX family of processors
  config ARCH_MV78XX0
        bool "Marvell MV78xx0"
        select CPU_FEROCEON
@@@ -554,6 -558,18 +551,18 @@@ config ARCH_NUC93
          Support for Nuvoton (Winbond logic dept.) NUC93X MCU,The NUC93X is a
          low-power and high performance MPEG-4/JPEG multimedia controller chip.
  
+ config ARCH_TEGRA
+       bool "NVIDIA Tegra"
+       select GENERIC_TIME
+       select GENERIC_CLOCKEVENTS
+       select GENERIC_GPIO
+       select HAVE_CLK
+       select COMMON_CLKDEV
+       select ARCH_HAS_BARRIERS if CACHE_L2X0
+       help
+         This enables support for NVIDIA Tegra based systems (Tegra APX,
+         Tegra 6xx and Tegra 2 series).
  config ARCH_PNX4008
        bool "Philips Nexperia PNX4008 Mobile"
        select CPU_ARM926T
@@@ -579,6 -595,7 +588,7 @@@ config ARCH_MS
        bool "Qualcomm MSM"
        select HAVE_CLK
        select GENERIC_CLOCKEVENTS
+       select ARCH_REQUIRE_GPIOLIB
        help
          Support for Qualcomm MSM/QSD based systems.  This runs on the
          apps processor of the MSM/QSD and depends on a shared memory
@@@ -627,6 -644,7 +637,7 @@@ config ARCH_S3C241
        select ARCH_HAS_CPUFREQ
        select HAVE_CLK
        select ARCH_USES_GETTIMEOFFSET
+       select HAVE_S3C2410_I2C
        help
          Samsung S3C2410X CPU based systems, such as the Simtec Electronics
          BAST (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or
@@@ -656,6 -674,8 +667,8 @@@ config ARCH_S3C64X
        select S3C_DEV_NAND
        select USB_ARCH_HAS_OHCI
        select SAMSUNG_GPIOLIB_4BIT
+       select HAVE_S3C2410_I2C
+       select HAVE_S3C2410_WATCHDOG
        help
          Samsung S3C64XX series based systems
  
@@@ -664,7 -684,10 +677,10 @@@ config ARCH_S5P644
        select CPU_V6
        select GENERIC_GPIO
        select HAVE_CLK
+       select HAVE_S3C2410_WATCHDOG
        select ARCH_USES_GETTIMEOFFSET
+       select HAVE_S3C2410_I2C
+       select HAVE_S3C_RTC
        help
          Samsung S5P6440 CPU based systems
  
@@@ -674,6 -697,7 +690,7 @@@ config ARCH_S5P644
        select GENERIC_GPIO
        select HAVE_CLK
        select ARCH_USES_GETTIMEOFFSET
+       select HAVE_S3C2410_WATCHDOG
        help
          Samsung S5P6442 CPU based systems
  
@@@ -684,6 -708,9 +701,9 @@@ config ARCH_S5PC10
        select CPU_V7
        select ARM_L1_CACHE_SHIFT_6
        select ARCH_USES_GETTIMEOFFSET
+       select HAVE_S3C2410_I2C
+       select HAVE_S3C_RTC
+       select HAVE_S3C2410_WATCHDOG
        help
          Samsung S5PC100 series based systems
  
@@@ -694,9 -721,21 +714,21 @@@ config ARCH_S5PV21
        select HAVE_CLK
        select ARM_L1_CACHE_SHIFT_6
        select ARCH_USES_GETTIMEOFFSET
+       select HAVE_S3C2410_I2C
+       select HAVE_S3C_RTC
+       select HAVE_S3C2410_WATCHDOG
        help
          Samsung S5PV210/S5PC110 series based systems
  
+ config ARCH_S5PV310
+       bool "Samsung S5PV310/S5PC210"
+       select CPU_V7
+       select GENERIC_GPIO
+       select HAVE_CLK
+       select GENERIC_CLOCKEVENTS
+       help
+         Samsung S5PV310 series based systems
  config ARCH_SHARK
        bool "Shark"
        select CPU_SA110
  config ARCH_LH7A40X
        bool "Sharp LH7A40X"
        select CPU_ARM922T
-       select ARCH_DISCONTIGMEM_ENABLE if !LH7A40X_CONTIGMEM
        select ARCH_SPARSEMEM_ENABLE if !LH7A40X_CONTIGMEM
        select ARCH_USES_GETTIMEOFFSET
        help
@@@ -838,6 -876,8 +869,8 @@@ source "arch/arm/mach-lh7a40x/Kconfig
  
  source "arch/arm/mach-loki/Kconfig"
  
+ source "arch/arm/mach-lpc32xx/Kconfig"
  source "arch/arm/mach-msm/Kconfig"
  
  source "arch/arm/mach-mv78xx0/Kconfig"
@@@ -897,10 -937,14 +930,14 @@@ source "arch/arm/mach-s5pc100/Kconfig
  
  source "arch/arm/mach-s5pv210/Kconfig"
  
+ source "arch/arm/mach-s5pv310/Kconfig"
  source "arch/arm/mach-shmobile/Kconfig"
  
  source "arch/arm/plat-stmp3xxx/Kconfig"
  
+ source "arch/arm/mach-tegra/Kconfig"
  source "arch/arm/mach-u300/Kconfig"
  
  source "arch/arm/mach-ux500/Kconfig"
@@@ -1020,15 -1064,22 +1057,22 @@@ config PL310_ERRATA_58836
           is not correctly implemented in PL310 as clean lines are not
           invalidated as a result of these operations. Note that this errata
           uses Texas Instrument's secure monitor api.
+ config ARM_ERRATA_720789
+       bool "ARM errata: TLBIASIDIS and TLBIMVAIS operations can broadcast a faulty ASID"
+       depends on CPU_V7 && SMP
+       help
+         This option enables the workaround for the 720789 Cortex-A9 (prior to
+         r2p0) erratum. A faulty ASID can be sent to the other CPUs for the
+         broadcasted CP15 TLB maintenance operations TLBIASIDIS and TLBIMVAIS.
+         As a consequence of this erratum, some TLB entries which should be
+         invalidated are not, resulting in an incoherency in the system page
+         tables. The workaround changes the TLB flushing routines to invalidate
+         entries regardless of the ASID.
  endmenu
  
  source "arch/arm/common/Kconfig"
  
- config FORCE_MAX_ZONEORDER
-       int
-       depends on SA1111
-       default "9"
  menu "Bus support"
  
  config ARM_AMBA
@@@ -1053,7 -1104,7 +1097,7 @@@ config ISA_DMA_AP
        bool
  
  config PCI
-       bool "PCI support" if ARCH_INTEGRATOR_AP || ARCH_VERSATILE_PB || ARCH_IXP4XX || ARCH_KS8695 || MACH_ARMCORE
+       bool "PCI support" if ARCH_INTEGRATOR_AP || ARCH_VERSATILE_PB || ARCH_IXP4XX || ARCH_KS8695 || MACH_ARMCORE || ARCH_CNS3XXX
        help
          Find out whether you have a PCI motherboard. PCI is the name of a
          bus system, i.e. the way the CPU talks to the other stuff inside
@@@ -1093,10 -1144,11 +1137,11 @@@ config SM
        bool "Symmetric Multi-Processing (EXPERIMENTAL)"
        depends on EXPERIMENTAL && (REALVIEW_EB_ARM11MP || REALVIEW_EB_A9MP ||\
                 MACH_REALVIEW_PB11MP || MACH_REALVIEW_PBX || ARCH_OMAP4 ||\
-                ARCH_U8500 || ARCH_VEXPRESS_CA9X4)
+                ARCH_S5PV310 || ARCH_TEGRA || ARCH_U8500 || ARCH_VEXPRESS_CA9X4)
        depends on GENERIC_CLOCKEVENTS
        select USE_GENERIC_SMP_HELPERS
-       select HAVE_ARM_SCU if (ARCH_REALVIEW || ARCH_OMAP4 || ARCH_U8500 || ARCH_VEXPRESS_CA9X4)
+       select HAVE_ARM_SCU if ARCH_REALVIEW || ARCH_OMAP4 || ARCH_S5PV310 ||\
+                ARCH_TEGRA || ARCH_U8500 || ARCH_VEXPRESS_CA9X4
        help
          This enables support for systems with more than one CPU. If you have
          a system with only one CPU, like most personal computers, say N. If
@@@ -1165,9 -1217,11 +1210,11 @@@ config HOTPLUG_CP
  config LOCAL_TIMERS
        bool "Use local timer interrupts"
        depends on SMP && (REALVIEW_EB_ARM11MP || MACH_REALVIEW_PB11MP || \
-               REALVIEW_EB_A9MP || MACH_REALVIEW_PBX || ARCH_OMAP4 || ARCH_U8500)
+               REALVIEW_EB_A9MP || MACH_REALVIEW_PBX || ARCH_OMAP4 || \
+               ARCH_S5PV310 || ARCH_TEGRA || ARCH_U8500 || ARCH_VEXPRESS_CA9X4)
        default y
-       select HAVE_ARM_TWD if (ARCH_REALVIEW || ARCH_OMAP4 || ARCH_U8500)
+       select HAVE_ARM_TWD if ARCH_REALVIEW || ARCH_OMAP4 || ARCH_S5PV310 || \
+               ARCH_TEGRA || ARCH_U8500 || ARCH_VEXPRESS
        help
          Enable support for local timers on SMP platforms, rather then the
          legacy IPI broadcast method.  Local timers allows the system
@@@ -1178,10 -1232,11 +1225,11 @@@ source kernel/Kconfig.preemp
  
  config HZ
        int
-       default 128 if ARCH_L7200
-       default 200 if ARCH_EBSA110 || ARCH_S3C2410 || ARCH_S5P6440 || ARCH_S5P6442 || ARCH_S5PV210
+       default 200 if ARCH_EBSA110 || ARCH_S3C2410 || ARCH_S5P6440 || \
+               ARCH_S5P6442 || ARCH_S5PV210 || ARCH_S5PV310
        default OMAP_32K_TIMER_HZ if ARCH_OMAP && OMAP_32K_TIMER
        default AT91_TIMER_HZ if ARCH_AT91
+       default SHMOBILE_TIMER_HZ if ARCH_SHMOBILE
        default 100
  
  config THUMB2_KERNEL
@@@ -1234,10 -1289,6 +1282,6 @@@ config OABI_COMPA
  config ARCH_HAS_HOLES_MEMORYMODEL
        bool
  
- # Discontigmem is deprecated
- config ARCH_DISCONTIGMEM_ENABLE
-       bool
  config ARCH_SPARSEMEM_ENABLE
        bool
  
@@@ -1245,13 -1296,7 +1289,7 @@@ config ARCH_SPARSEMEM_DEFAUL
        def_bool ARCH_SPARSEMEM_ENABLE
  
  config ARCH_SELECT_MEMORY_MODEL
-       def_bool ARCH_DISCONTIGMEM_ENABLE && ARCH_SPARSEMEM_ENABLE
- config NODES_SHIFT
-       int
-       default "4" if ARCH_LH7A40X
-       default "2"
-       depends on NEED_MULTIPLE_NODES
+       def_bool ARCH_SPARSEMEM_ENABLE
  
  config HIGHMEM
        bool "High Memory Support (EXPERIMENTAL)"
@@@ -1283,8 -1328,33 +1321,33 @@@ config HW_PERF_EVENT
          Enable hardware performance counter support for perf events. If
          disabled, perf events will use software events only.
  
+ config SPARSE_IRQ
+       def_bool n
+       help
+         This enables support for sparse irqs. This is useful in general
+         as most CPUs have a fairly sparse array of IRQ vectors, which
+         the irq_desc then maps directly on to. Systems with a high
+         number of off-chip IRQs will want to treat this as
+         experimental until they have been independently verified.
  source "mm/Kconfig"
  
+ config FORCE_MAX_ZONEORDER
+       int "Maximum zone order" if ARCH_SHMOBILE
+       range 11 64 if ARCH_SHMOBILE
+       default "9" if SA1111
+       default "11"
+       help
+         The kernel memory allocator divides physically contiguous memory
+         blocks into "zones", where each zone is a power of two number of
+         pages.  This option selects the largest power of two that the kernel
+         keeps in the memory allocator.  If you need to allocate very large
+         blocks of physically contiguous memory, then you may need to
+         increase this value.
+         This config option is actually maximum order plus one. For example,
+         a value of 11 means that the largest free memory block is 2^10 pages.
  config LEDS
        bool "Timer and CPU usage LEDs"
        depends on ARCH_CDB89712 || ARCH_EBSA110 || \
@@@ -1368,6 -1438,24 +1431,24 @@@ config UACCESS_WITH_MEMCP
          However, if the CPU data cache is using a write-allocate mode,
          this option is unlikely to provide any performance gain.
  
+ config CC_STACKPROTECTOR
+       bool "Enable -fstack-protector buffer overflow detection (EXPERIMENTAL)"
+       help
+         This option turns on the -fstack-protector GCC feature. This
+         feature puts, at the beginning of functions, a canary value on
+         the stack just before the return address, and validates
+         the value just before actually returning.  Stack based buffer
+         overflows (that need to overwrite this return address) now also
+         overwrite the canary, which gets detected and the attack is then
+         neutralized via a kernel panic.
+         This feature requires gcc version 4.2 or above.
+ config DEPRECATED_PARAM_STRUCT
+       bool "Provide old way to pass kernel parameters"
+       help
+         This was deprecated in 2001 and announced to live on for 5 years.
+         Some old boot loaders still use this way.
  endmenu
  
  menu "Boot options"
@@@ -1478,6 -1566,105 +1559,105 @@@ config ATAGS_PRO
          Should the atags used to boot the kernel be exported in an "atags"
          file in procfs. Useful with kexec.
  
+ config AUTO_ZRELADDR
+       bool "Auto calculation of the decompressed kernel image address"
+       depends on !ZBOOT_ROM && !ARCH_U300
+       help
+         ZRELADDR is the physical address where the decompressed kernel
+         image will be placed. If AUTO_ZRELADDR is selected, the address
+         will be determined at run-time by masking the current IP with
+         0xf8000000. This assumes the zImage being placed in the first 128MB
+         from start of memory.
+ config ZRELADDR
+       hex "Physical address of the decompressed kernel image"
+       depends on !AUTO_ZRELADDR
+       default 0x00008000 if ARCH_BCMRING ||\
+               ARCH_CNS3XXX ||\
+               ARCH_DOVE ||\
+               ARCH_EBSA110 ||\
+               ARCH_FOOTBRIDGE ||\
+               ARCH_INTEGRATOR ||\
+               ARCH_IOP13XX ||\
+               ARCH_IOP33X ||\
+               ARCH_IXP2000 ||\
+               ARCH_IXP23XX ||\
+               ARCH_IXP4XX ||\
+               ARCH_KIRKWOOD ||\
+               ARCH_KS8695 ||\
+               ARCH_LOKI ||\
+               ARCH_MMP ||\
+               ARCH_MV78XX0 ||\
+               ARCH_NOMADIK ||\
+               ARCH_NUC93X ||\
+               ARCH_NS9XXX ||\
+               ARCH_ORION5X ||\
+               ARCH_SPEAR3XX ||\
+               ARCH_SPEAR6XX ||\
+               ARCH_U8500 ||\
+               ARCH_VERSATILE ||\
+               ARCH_W90X900
+       default 0x08008000 if ARCH_MX1 ||\
+               ARCH_SHARK
+       default 0x10008000 if ARCH_MSM ||\
+               ARCH_OMAP1 ||\
+               ARCH_RPC
+       default 0x20008000 if ARCH_S5P6440 ||\
+               ARCH_S5P6442 ||\
+               ARCH_S5PC100 ||\
+               ARCH_S5PV210
+       default 0x30008000 if ARCH_S3C2410 ||\
+               ARCH_S3C2400 ||\
+               ARCH_S3C2412 ||\
+               ARCH_S3C2416 ||\
+               ARCH_S3C2440 ||\
+               ARCH_S3C2443
+       default 0x40008000 if ARCH_STMP378X ||\
+               ARCH_STMP37XX ||\
+               ARCH_SH7372 ||\
+               ARCH_SH7377
+       default 0x50008000 if ARCH_S3C64XX ||\
+               ARCH_SH7367
+       default 0x60008000 if ARCH_VEXPRESS
+       default 0x80008000 if ARCH_MX25 ||\
+               ARCH_MX3 ||\
+               ARCH_NETX ||\
+               ARCH_OMAP2PLUS ||\
+               ARCH_PNX4008
+       default 0x90008000 if ARCH_MX5 ||\
+               ARCH_MX91231
+       default 0xa0008000 if ARCH_IOP32X ||\
+               ARCH_PXA ||\
+               MACH_MX27
+       default 0xc0008000 if ARCH_LH7A40X ||\
+               MACH_MX21
+       default 0xf0008000 if ARCH_AAEC2000 ||\
+               ARCH_L7200
+       default 0xc0028000 if ARCH_CLPS711X
+       default 0x70008000 if ARCH_AT91 && (ARCH_AT91CAP9 || ARCH_AT91SAM9G45)
+       default 0x20008000 if ARCH_AT91 && !(ARCH_AT91CAP9 || ARCH_AT91SAM9G45)
+       default 0xc0008000 if ARCH_DAVINCI && ARCH_DAVINCI_DA8XX
+       default 0x80008000 if ARCH_DAVINCI && !ARCH_DAVINCI_DA8XX
+       default 0x00008000 if ARCH_EP93XX && EP93XX_SDCE3_SYNC_PHYS_OFFSET
+       default 0xc0008000 if ARCH_EP93XX && EP93XX_SDCE0_PHYS_OFFSET
+       default 0xd0008000 if ARCH_EP93XX && EP93XX_SDCE1_PHYS_OFFSET
+       default 0xe0008000 if ARCH_EP93XX && EP93XX_SDCE2_PHYS_OFFSET
+       default 0xf0008000 if ARCH_EP93XX && EP93XX_SDCE3_ASYNC_PHYS_OFFSET
+       default 0x00008000 if ARCH_GEMINI && GEMINI_MEM_SWAP
+       default 0x10008000 if ARCH_GEMINI && !GEMINI_MEM_SWAP
+       default 0x70008000 if ARCH_REALVIEW && REALVIEW_HIGH_PHYS_OFFSET
+       default 0x00008000 if ARCH_REALVIEW && !REALVIEW_HIGH_PHYS_OFFSET
+       default 0xc0208000 if ARCH_SA1100 && SA1111
+       default 0xc0008000 if ARCH_SA1100 && !SA1111
+       default 0x30108000 if ARCH_S3C2410 && PM_H1940
+       default 0x28E08000 if ARCH_U300 && MACH_U300_SINGLE_RAM
+       default 0x48008000 if ARCH_U300 && !MACH_U300_SINGLE_RAM
+       help
+         ZRELADDR is the physical address where the decompressed kernel
+         image will be placed. ZRELADDR has to be specified when the
+         assumption of AUTO_ZRELADDR is not valid, or when ZBOOT_ROM is
+         selected.
  endmenu
  
  menu "CPU Power Management"
diff --combined arch/avr32/Kconfig
index ead727e7f4df21c05a6e1019f6759c6119cd4a2f,f51572772e217d5ba9b674ffa2a5d68e5f13ca00..1b5d36a58500c9e34562e0b9e1cfee5eacac6dca
@@@ -1,3 -1,10 +1,3 @@@
 -#
 -# For a description of the syntax of this configuration file,
 -# see Documentation/kbuild/kconfig-language.txt.
 -#
 -
 -mainmenu "Linux Kernel Configuration"
 -
  config AVR32
        def_bool y
        # With EMBEDDED=n, we get lots of stuff automatically selected
@@@ -38,9 -45,6 +38,6 @@@ config GENERIC_IRQ_PROB
  config RWSEM_GENERIC_SPINLOCK
        def_bool y
  
- config GENERIC_TIME
-       def_bool y
  config GENERIC_CLOCKEVENTS
        def_bool y
  
diff --combined arch/blackfin/Kconfig
index 7051c4ce9b9315d3baf6a1e4ecc142026e75e0da,5a3152b75cdba59880a99843cbb8ffd2f1e80904..45f51869ef074e9f60db0ad5a5a762f68fb6590a
@@@ -1,3 -1,10 +1,3 @@@
 -#
 -# For a description of the syntax of this configuration file,
 -# see Documentation/kbuild/kconfig-language.txt.
 -#
 -
 -mainmenu "Blackfin Kernel Configuration"
 -
  config SYMBOL_PREFIX
        string
        default "_"
@@@ -18,6 -25,8 +18,8 @@@ config BLACKFI
        def_bool y
        select HAVE_ARCH_KGDB
        select HAVE_ARCH_TRACEHOOK
+       select HAVE_DYNAMIC_FTRACE
+       select HAVE_FTRACE_MCOUNT_RECORD
        select HAVE_FUNCTION_GRAPH_TRACER
        select HAVE_FUNCTION_TRACER
        select HAVE_FUNCTION_TRACE_MCOUNT_TEST
@@@ -25,6 -34,7 +27,7 @@@
        select HAVE_KERNEL_GZIP if RAMKERNEL
        select HAVE_KERNEL_BZIP2 if RAMKERNEL
        select HAVE_KERNEL_LZMA if RAMKERNEL
+       select HAVE_KERNEL_LZO if RAMKERNEL
        select HAVE_OPROFILE
        select ARCH_WANT_OPTIONAL_GPIOLIB
  
@@@ -321,11 -331,6 +324,6 @@@ config BF53
        depends on (BF531 || BF532 || BF533 || BF534 || BF536 || BF537)
        default y
  
- config MEM_GENERIC_BOARD
-       bool
-       depends on GENERIC_BOARD
-       default y
  config MEM_MT48LC64M4A2FB_7E
        bool
        depends on (BFIN533_STAMP)
@@@ -607,9 -612,6 +605,6 @@@ comment "Kernel Timer/Scheduler
  
  source kernel/Kconfig.hz
  
- config GENERIC_TIME
-       def_bool y
  config GENERIC_CLOCKEVENTS
        bool "Generic clock events"
        default y
@@@ -846,6 -848,18 +841,18 @@@ config CPLB_SWITCH_TAB_L
          If enabled, the CPLB Switch Tables are linked
          into L1 data memory. (less latency)
  
+ config CACHE_FLUSH_L1
+       bool "Locate cache flush funcs in L1 Inst Memory"
+       default y
+       help
+         If enabled, the Blackfin cache flushing functions are linked
+         into L1 instruction memory.
+         Note that this might be required to address anomalies, but
+         these functions are pretty small, so it shouldn't be too bad.
+         If you are using a processor affected by an anomaly, the build
+         system will double check for you and prevent it.
  config APP_STACK_L1
        bool "Support locating application stack in L1 Scratch Memory"
        default y
diff --combined arch/cris/Kconfig
index af8e9821adc556d9b12aa8d55aab5ac64d0e6d3e,aefe3b18a074a92a0b2a4260758f7d896e0f8362..613e62831c554e76e6e0c3bf852b6e4cba3d63bd
@@@ -1,3 -1,10 +1,3 @@@
 -#
 -# For a description of the syntax of this configuration file,
 -# see the Configure script.
 -#
 -
 -mainmenu "Linux/CRIS Kernel Configuration"
 -
  config MMU
        bool
        default y
@@@ -13,14 -20,11 +13,11 @@@ config RWSEM_GENERIC_SPINLOC
  config RWSEM_XCHGADD_ALGORITHM
        bool
  
- config GENERIC_TIME
-       def_bool y
  config GENERIC_CMOS_UPDATE
        def_bool y
  
  config ARCH_USES_GETTIMEOFFSET
-       def_bool y
+       def_bool n
  
  config GENERIC_IOMAP
         bool
@@@ -124,16 -128,19 +121,19 @@@ choic
  
  config ETRAX100LX
        bool "ETRAX-100LX-v1"
+       select ARCH_USES_GETTIMEOFFSET
        help
          Support version 1 of the ETRAX 100LX.
  
  config ETRAX100LX_V2
        bool "ETRAX-100LX-v2"
+       select ARCH_USES_GETTIMEOFFSET
        help
          Support version 2 of the ETRAX 100LX.
  
  config SVINTO_SIM
        bool "ETRAX-100LX-for-xsim-simulator"
+       select ARCH_USES_GETTIMEOFFSET
        help
          Support the xsim ETRAX Simulator.
  
diff --combined arch/frv/Kconfig
index 06256796200aa55ba908c63214011ff37fe34808,16399bd249930c1a9e2e06f7d0da247b288b6d34..a57951f6c348bab19f80548fe0cf50ea775120f1
@@@ -1,3 -1,7 +1,3 @@@
 -#
 -# For a description of the syntax of this configuration file,
 -# see Documentation/kbuild/kconfig-language.txt.
 -#
  config FRV
        bool
        default y
@@@ -36,10 -40,6 +36,6 @@@ config GENERIC_HARDIRQS_NO__DO_IR
        bool
        default y
  
- config GENERIC_TIME
-       bool
-       default y
  config TIME_LOW_RES
        bool
        default y
@@@ -60,6 -60,8 +56,6 @@@ config H
        int
        default 1000
  
 -mainmenu "Fujitsu FR-V Kernel Configuration"
 -
  source "init/Kconfig"
  
  source "kernel/Kconfig.freezer"
diff --combined arch/h8300/Kconfig
index 3fe4d5adf9a2ccb5ae7fc6e4ed0ccd578405f567,988b6ff34cc4df77caed6cff53d093ab841c31f0..65f897d8c1e97b428f572bd4d777f3f0d9ea7aa0
@@@ -1,3 -1,10 +1,3 @@@
 -#
 -# For a description of the syntax of this configuration file,
 -# see Documentation/kbuild/kconfig-language.txt.
 -#
 -
 -mainmenu "uClinux/h8300 (w/o MMU) Kernel Configuration"
 -
  config H8300
        bool
        default y
@@@ -55,10 -62,6 +55,6 @@@ config GENERIC_CALIBRATE_DELA
        bool
        default y
  
- config GENERIC_TIME
-       bool
-       default y
  config GENERIC_BUG
          bool
          depends on BUG
diff --combined arch/ia64/Kconfig
index 09ce2ab792e169122c2a11253a328499a916e023,ba22849ee3ec1c268f201553658a5f5931f38fc3..464ba6678b87de4b6e61a693db304a6ccb8d6978
@@@ -1,3 -1,10 +1,3 @@@
 -#
 -# For a description of the syntax of this configuration file,
 -# see Documentation/kbuild/kconfig-language.txt.
 -#
 -
 -mainmenu "IA-64 Linux Kernel Configuration"
 -
  source "init/Kconfig"
  
  source "kernel/Kconfig.freezer"
@@@ -75,10 -82,6 +75,6 @@@ config GENERIC_CALIBRATE_DELA
        bool
        default y
  
- config GENERIC_TIME
-       bool
-       default y
  config GENERIC_TIME_VSYSCALL
        bool
        default y
@@@ -496,8 -499,7 +492,7 @@@ config USE_PERCPU_NUMA_NODE_I
        depends on NUMA
  
  config HAVE_MEMORYLESS_NODES
-       def_bool y
-       depends on NUMA
+       def_bool NUMA
  
  config ARCH_PROC_KCORE_TEXT
        def_bool y
diff --combined arch/m32r/Kconfig
index 190270ea7393ddfcaae2b2faa1d9c567b954f55e,836abbbc9c04c421ab3d6f4c7d433ed231e90f04..3ffb886f23483505e0fbc3ac5b32d18884554785
@@@ -1,3 -1,10 +1,3 @@@
 -#
 -# For a description of the syntax of this configuration file,
 -# see Documentation/kbuild/kconfig-language.txt.
 -#
 -
 -mainmenu "Linux/M32R Kernel Configuration"
 -
  config M32R
        bool
        default y
@@@ -37,9 -44,6 +37,6 @@@ config H
        int
        default 100
  
- config GENERIC_TIME
-       def_bool y
  config ARCH_USES_GETTIMEOFFSET
        def_bool y
  
diff --combined arch/m68k/Kconfig
index 1812aa048171100572ffd78be4757c65cf93b286,8030e2481d9758352a5c952bb34fc9715e330cc7..723f8f512e315f1bf9cd87a3cc74349f26584883
@@@ -1,3 -1,7 +1,3 @@@
 -#
 -# For a description of the syntax of this configuration file,
 -# see Documentation/kbuild/kconfig-language.txt.
 -#
  config M68K
        bool
        default y
@@@ -55,12 -59,11 +55,9 @@@ config H
        int
        default 100
  
- config GENERIC_TIME
-       def_bool y
  config ARCH_USES_GETTIMEOFFSET
        def_bool y
  
 -mainmenu "Linux/68k Kernel Configuration"
 -
  source "init/Kconfig"
  
  source "kernel/Kconfig.freezer"
diff --combined arch/m68knommu/Kconfig
index e86842dc740a456344c51f99a1859b2568ff7f55,2609c394e1dfd11f6ea78c16c109cfac03c66836..8c062dfccb08ed0cf73b0a49fa15f3811702bcf9
@@@ -1,3 -1,10 +1,3 @@@
 -#
 -# For a description of the syntax of this configuration file,
 -# see Documentation/kbuild/kconfig-language.txt.
 -#
 -
 -mainmenu "uClinux/68k (w/o MMU) Kernel Configuration"
 -
  config M68K
        bool
        default y
@@@ -56,10 -63,6 +56,6 @@@ config GENERIC_CALIBRATE_DELA
        bool
        default y
  
- config GENERIC_TIME
-       bool
-       default y
  config GENERIC_CMOS_UPDATE
        bool
        default y
diff --combined arch/microblaze/Kconfig
index 0c5f43728a71fbadf525dcf65dbace7b465f0c9b,692fdfce2a2357122119429ceb36779f13640560..44b4b76d7eca42b6f4c034e947d4ff461dee5da7
@@@ -1,3 -1,8 +1,3 @@@
 -# For a description of the syntax of this configuration file,
 -# see Documentation/kbuild/kconfig-language.txt.
 -
 -mainmenu "Linux/Microblaze Kernel Configuration"
 -
  config MICROBLAZE
        def_bool y
        select HAVE_MEMBLOCK
@@@ -9,9 -14,12 +9,12 @@@
        select USB_ARCH_HAS_EHCI
        select ARCH_WANT_OPTIONAL_GPIOLIB
        select HAVE_OPROFILE
+       select HAVE_ARCH_KGDB
        select HAVE_DMA_ATTRS
        select HAVE_DMA_API_DEBUG
        select TRACING_SUPPORT
+       select OF
+       select OF_FLATTREE
  
  config SWAP
        def_bool n
@@@ -43,9 -51,6 +46,6 @@@ config GENERIC_IRQ_PROB
  config GENERIC_CALIBRATE_DELAY
        def_bool y
  
- config GENERIC_TIME
-       def_bool y
  config GENERIC_TIME_VSYSCALL
        def_bool n
  
@@@ -70,9 -75,6 +70,6 @@@ config LOCKDEP_SUPPOR
  config HAVE_LATENCYTOP_SUPPORT
        def_bool y
  
- config DTC
-       def_bool y
  source "init/Kconfig"
  
  source "kernel/Kconfig.freezer"
@@@ -119,18 -121,6 +116,6 @@@ config CMDLINE_FORC
          Set this to have arguments from the default kernel command string
          override those passed by the boot loader.
  
- config OF
-       def_bool y
-       select OF_FLATTREE
- config PROC_DEVICETREE
-       bool "Support for device tree in /proc"
-       depends on PROC_FS
-       help
-         This option adds a device-tree directory under /proc which contains
-         an image of the device tree that the kernel copies from Open
-         Firmware or other boot firmware. If unsure, say Y here.
  endmenu
  
  menu "Advanced setup"
@@@ -218,6 -208,36 +203,36 @@@ config TASK_SIZ
        hex "Size of user task space" if TASK_SIZE_BOOL
        default "0x80000000"
  
+ choice
+       prompt "Page size"
+       default MICROBLAZE_4K_PAGES
+       depends on ADVANCED_OPTIONS && !MMU
+       help
+         Select the kernel logical page size. Increasing the page size
+         will reduce software overhead at each page boundary, allow
+         hardware prefetch mechanisms to be more effective, and allow
+         larger dma transfers increasing IO efficiency and reducing
+         overhead. However the utilization of memory will increase.
+         For example, each cached file will using a multiple of the
+         page size to hold its contents and the difference between the
+         end of file and the end of page is wasted.
+         If unsure, choose 4K_PAGES.
+ config MICROBLAZE_4K_PAGES
+       bool "4k page size"
+ config MICROBLAZE_8K_PAGES
+       bool "8k page size"
+ config MICROBLAZE_16K_PAGES
+       bool "16k page size"
+ config MICROBLAZE_32K_PAGES
+       bool "32k page size"
+ endchoice
  endmenu
  
  source "mm/Kconfig"
diff --combined arch/mips/Kconfig
index 33771676957d64a3302b6575b077ed640ba489d5,3ad59dde485209bce858c425e4fc8a2f64b04c09..9f617417c0a39f266630fc11506c829cf5f6b723
@@@ -10,8 -10,12 +10,10 @@@ config MIP
        select HAVE_DYNAMIC_FTRACE
        select HAVE_FTRACE_MCOUNT_RECORD
        select HAVE_FUNCTION_GRAPH_TRACER
+       select HAVE_KPROBES
+       select HAVE_KRETPROBES
        select RTC_LIB if !MACH_LOONGSON
  
 -mainmenu "Linux/MIPS Kernel Configuration"
 -
  menu "Machine selection"
  
  config ZONE_DMA
@@@ -21,8 -25,17 +23,17 @@@ choic
        prompt "System type"
        default SGI_IP22
  
- config MACH_ALCHEMY
+ config MIPS_ALCHEMY
        bool "Alchemy processor based machines"
+       select 64BIT_PHYS_ADDR
+       select CEVT_R4K_LIB
+       select CSRC_R4K_LIB
+       select IRQ_CPU
+       select SYS_HAS_CPU_MIPS32_R1
+       select SYS_SUPPORTS_32BIT_KERNEL
+       select SYS_SUPPORTS_APM_EMULATION
+       select GENERIC_GPIO
+       select ARCH_WANT_OPTIONAL_GPIOLIB
        select SYS_SUPPORTS_ZBOOT
  
  config AR7
@@@ -60,6 -73,7 +71,7 @@@ config BCM47X
        select SSB_DRIVER_MIPS
        select SSB_DRIVER_EXTIF
        select SSB_EMBEDDED
+       select SSB_B43_PCI_BRIDGE if PCI
        select SSB_PCICORE_HOSTMODE if PCI
        select GENERIC_GPIO
        select SYS_HAS_EARLY_PRINTK
@@@ -160,6 -174,18 +172,18 @@@ config MACH_JAZ
         Members include the Acer PICA, MIPS Magnum 4000, MIPS Millennium and
         Olivetti M700-10 workstations.
  
+ config MACH_JZ4740
+       bool "Ingenic JZ4740 based machines"
+       select SYS_HAS_CPU_MIPS32_R1
+       select SYS_SUPPORTS_32BIT_KERNEL
+       select SYS_SUPPORTS_LITTLE_ENDIAN
+       select DMA_NONCOHERENT
+       select IRQ_CPU
+       select GENERIC_GPIO
+       select ARCH_REQUIRE_GPIOLIB
+       select SYS_HAS_EARLY_PRINTK
+       select HAVE_PWM
  config LASAT
        bool "LASAT Networks platforms"
        select CEVT_R4K
@@@ -684,6 -710,7 +708,7 @@@ endchoic
  source "arch/mips/alchemy/Kconfig"
  source "arch/mips/bcm63xx/Kconfig"
  source "arch/mips/jazz/Kconfig"
+ source "arch/mips/jz4740/Kconfig"
  source "arch/mips/lasat/Kconfig"
  source "arch/mips/pmc-sierra/Kconfig"
  source "arch/mips/powertv/Kconfig"
@@@ -731,10 -758,6 +756,6 @@@ config GENERIC_CLOCKEVENT
        bool
        default y
  
- config GENERIC_TIME
-       bool
-       default y
  config GENERIC_CMOS_UPDATE
        bool
        default y
@@@ -890,6 -913,9 +911,9 @@@ config CPU_LITTLE_ENDIA
  
  endchoice
  
+ config EXPORT_UASM
+       bool
  config SYS_SUPPORTS_APM_EMULATION
        bool
  
diff --combined arch/mn10300/Kconfig
index 7bd617c94dfe528b2ad21762a8d4f63ee887b995,444b9f918fdf8f2d5dec64b9827d8d746bb1ade1..ba8bd665ba4b5ad5893d4bc1f6c69fad66d0e943
@@@ -1,3 -1,10 +1,3 @@@
 -#
 -# For a description of the syntax of this configuration file,
 -# see Documentation/kbuild/kconfig-language.txt.
 -#
 -
 -mainmenu "Linux Kernel Configuration"
 -
  config MN10300
        def_bool y
        select HAVE_OPROFILE
@@@ -39,9 -46,6 +39,6 @@@ config GENERIC_FIND_NEXT_BI
  config GENERIC_HWEIGHT
        def_bool y
  
- config GENERIC_TIME
-       def_bool y
  config GENERIC_BUG
        def_bool y
  
@@@ -62,6 -66,8 +59,6 @@@ config H
        int
        default 1000
  
 -mainmenu "Matsushita MN10300/AM33 Kernel Configuration"
 -
  source "init/Kconfig"
  
  source "kernel/Kconfig.freezer"
diff --combined arch/parisc/Kconfig
index 82cec342bd301f0aef762c3fba7db065fbe382f8,907417d187e15039bb4bb6d96075cd950a045dbd..33c02143828f10867426de4640d5820463eaf276
@@@ -1,3 -1,10 +1,3 @@@
 -#
 -# For a description of the syntax of this configuration file,
 -# see Documentation/kbuild/kconfig-language.txt.
 -#
 -
 -mainmenu "Linux/PA-RISC Kernel Configuration"
 -
  config PARISC
        def_bool y
        select HAVE_IDE
@@@ -59,10 -66,6 +59,6 @@@ config GENERIC_CALIBRATE_DELA
        bool
        default y
  
- config GENERIC_TIME
-       bool
-       default y
  config TIME_LOW_RES
        bool
        depends on SMP
diff --combined arch/powerpc/Kconfig
index 182743b46e0a972aa276d6c3c2f358ca155571d5,631e5a0fb6abcf2e124f0dfc6d1ed95d9b9f4566..209557c9ef17f4faed1bc5da264117b98b251e63
@@@ -1,3 -1,9 +1,3 @@@
 -# For a description of the syntax of this configuration file,
 -# see Documentation/kbuild/kconfig-language.txt.
 -#
 -
 -mainmenu "Linux/PowerPC Kernel Configuration"
 -
  source "arch/powerpc/platforms/Kconfig.cputype"
  
  config PPC32
@@@ -23,9 -29,6 +23,6 @@@ config MM
  config GENERIC_CMOS_UPDATE
        def_bool y
  
- config GENERIC_TIME
-       def_bool y
  config GENERIC_TIME_VSYSCALL
        def_bool y
  
@@@ -114,6 -117,8 +111,8 @@@ config ARCH_NO_VIRT_TO_BU
  config PPC
        bool
        default y
+       select OF
+       select OF_FLATTREE
        select HAVE_FTRACE_MCOUNT_RECORD
        select HAVE_DYNAMIC_FTRACE
        select HAVE_FUNCTION_TRACER
        select GENERIC_ATOMIC64 if PPC32
        select HAVE_PERF_EVENTS
        select HAVE_REGS_AND_STACK_ACCESS_API
+       select HAVE_HW_BREAKPOINT if PERF_EVENTS && PPC_BOOK3S_64
  
  config EARLY_PRINTK
        bool
@@@ -166,10 -172,6 +166,6 @@@ config ARCH_MAY_HAVE_PC_FD
  config PPC_OF
        def_bool y
  
- config OF
-       def_bool y
-       select OF_FLATTREE
  config PPC_UDBG_16550
        bool
        default n
@@@ -192,10 -194,6 +188,6 @@@ config SYS_SUPPORTS_APM_EMULATIO
        default y if PMAC_APM_EMU
        bool
  
- config DTC
-        bool
-        default y
  config DEFAULT_UIMAGE
        bool
        help
@@@ -212,7 -210,7 +204,7 @@@ config ARCH_HIBERNATION_POSSIBL
  config ARCH_SUSPEND_POSSIBLE
        def_bool y
        depends on ADB_PMU || PPC_EFIKA || PPC_LITE5200 || PPC_83xx || \
-                  PPC_85xx || PPC_86xx
+                  PPC_85xx || PPC_86xx || PPC_PSERIES
  
  config PPC_DCR_NATIVE
        bool
@@@ -345,7 -343,7 +337,7 @@@ config ARCH_ENABLE_MEMORY_HOTREMOV
  
  config KEXEC
        bool "kexec system call (EXPERIMENTAL)"
-       depends on (PPC_BOOK3S || (FSL_BOOKE && !SMP)) && EXPERIMENTAL
+       depends on (PPC_BOOK3S || FSL_BOOKE) && EXPERIMENTAL
        help
          kexec is a system call that implements the ability to shutdown your
          current kernel, and to start another kernel.  It is like a reboot
  
  config CRASH_DUMP
        bool "Build a kdump crash kernel"
-       depends on PPC64 || 6xx
-       select RELOCATABLE if PPC64
+       depends on PPC64 || 6xx || FSL_BOOKE
+       select RELOCATABLE if PPC64 || FSL_BOOKE
        help
          Build a kernel suitable for use as a kdump capture kernel.
          The same kernel binary can be used as production kernel and dump
@@@ -572,14 -570,6 +564,6 @@@ config SCHED_SM
          when dealing with POWER5 cpus at a cost of slightly increased
          overhead in some places. If unsure say N here.
  
- config PROC_DEVICETREE
-       bool "Support for device tree in /proc"
-       depends on PROC_FS
-       help
-         This option adds a device-tree directory under /proc which contains
-         an image of the device tree that the kernel copies from Open
-         Firmware or other boot firmware. If unsure, say Y here.
  config CMDLINE_BOOL
        bool "Default bootloader kernel arguments"
  
@@@ -662,7 -652,7 +646,7 @@@ config NEED_SG_DMA_LENGT
  
  config GENERIC_ISA_DMA
        bool
-       depends on PPC64 || POWER4 || 6xx && !CPM2
+       depends on ISA_DMA_API
        default y
  
  config PPC_INDIRECT_PCI
@@@ -891,7 -881,7 +875,7 @@@ config KERNEL_START_BOO
  config KERNEL_START
        hex "Virtual address of kernel base" if KERNEL_START_BOOL
        default PAGE_OFFSET if PAGE_OFFSET_BOOL
-       default "0xc2000000" if CRASH_DUMP
+       default "0xc2000000" if CRASH_DUMP && !RELOCATABLE
        default "0xc0000000"
  
  config PHYSICAL_START_BOOL
  
  config PHYSICAL_START
        hex "Physical address where the kernel is loaded" if PHYSICAL_START_BOOL
-       default "0x02000000" if PPC_STD_MMU && CRASH_DUMP
+       default "0x02000000" if PPC_STD_MMU && CRASH_DUMP && !RELOCATABLE
        default "0x00000000"
  
  config PHYSICAL_ALIGN
diff --combined arch/s390/Kconfig
index 3c4d4e69025d14ca3159010ed69c3d9f0cbead22,f0777a47e3a531c17156a76694648aaf89cacd44..147d3b5515a8f9e48d3f8df2d434c8b48487337f
@@@ -1,3 -1,8 +1,3 @@@
 -#
 -# For a description of the syntax of this configuration file,
 -# see Documentation/kbuild/kconfig-language.txt.
 -#
 -
  config SCHED_MC
        def_bool y
        depends on SMP
@@@ -35,9 -40,6 +35,6 @@@ config ARCH_HAS_ILOG2_U6
  config GENERIC_HWEIGHT
        def_bool y
  
- config GENERIC_TIME
-       def_bool y
  config GENERIC_TIME_VSYSCALL
        def_bool y
  
@@@ -73,6 -75,8 +70,6 @@@ config VIRT_CPU_ACCOUNTIN
  config ARCH_SUPPORTS_DEBUG_PAGEALLOC
        def_bool y
  
 -mainmenu "Linux Kernel Configuration"
 -
  config S390
        def_bool y
        select USE_GENERIC_SMP_HELPERS if SMP
diff --combined arch/score/Kconfig
index 5cbc148addfe2a20f30c2f41c10074912e77d5c3,be4a155847519e04ce20ee8f5cfce309493b3b83..4293fdcb53981a531d1324b528690d1d277c2a1d
@@@ -1,3 -1,8 +1,3 @@@
 -# For a description of the syntax of this configuration file,
 -# see Documentation/kbuild/kconfig-language.txt.
 -
 -mainmenu "Linux/SCORE Kernel Configuration"
 -
  menu "Machine selection"
  
  choice
@@@ -50,9 -55,6 +50,6 @@@ config GENERIC_CALIBRATE_DELA
  config GENERIC_CLOCKEVENTS
        def_bool y
  
- config GENERIC_TIME
-       def_bool y
  config SCHED_NO_NO_OMIT_FRAME_POINTER
        def_bool y
  
diff --combined arch/sh/Kconfig
index 8ada4757fc9b061ec1c0f19389278974dceb166a,33990fa95af013a64e081c4bfc411f58228f64cb..3689c049e151fd07b76f08097c9508ed6b49d7fc
@@@ -1,3 -1,10 +1,3 @@@
 -#
 -# For a description of the syntax of this configuration file,
 -# see Documentation/kbuild/kconfig-language.txt.
 -#
 -
 -mainmenu "Linux/SuperH Kernel Configuration"
 -
  config SUPERH
        def_bool y
        select EMBEDDED
@@@ -91,9 -98,6 +91,6 @@@ config GENERIC_CALIBRATE_DELA
  config GENERIC_IOMAP
        bool
  
- config GENERIC_TIME
-       def_bool y
  config GENERIC_CLOCKEVENTS
        def_bool y
  
diff --combined arch/sparc/Kconfig
index 19aa7b253d7832089b92fac947b7c0ee59adaa01,491e9d6de1912d56cea2b21f51bf8cfd7980e278..093a6d35e064b1f0460e051e3aff410feb37aff7
@@@ -1,3 -1,9 +1,3 @@@
 -# For a description of the syntax of this configuration file,
 -# see Documentation/kbuild/kconfig-language.txt.
 -#
 -
 -mainmenu "Linux/SPARC Kernel Configuration"
 -
  config 64BIT
        bool "64-bit kernel" if ARCH = "sparc"
        default ARCH = "sparc64"
@@@ -12,6 -18,7 +12,7 @@@
  config SPARC
        bool
        default y
+       select OF
        select HAVE_IDE
        select HAVE_OPROFILE
        select HAVE_ARCH_KGDB if !SMP || SPARC64
@@@ -60,9 -67,6 +61,6 @@@ config BIT
        default 32 if SPARC32
        default 64 if SPARC64
  
- config GENERIC_TIME
-       def_bool y
  config ARCH_USES_GETTIMEOFFSET
        bool
        default y if SPARC32
@@@ -142,9 -146,6 +140,6 @@@ config GENERIC_GPI
  config ARCH_NO_VIRT_TO_BUS
        def_bool y
  
- config OF
-       def_bool y
  config ARCH_SUPPORTS_DEBUG_PAGEALLOC
        def_bool y if SPARC64
  
diff --combined arch/um/Kconfig.common
index e90ca8609e31c12196067a7abf190bb8b7031d43,7c8e277f6d342a295d37bad076a6fb61588dbae6..049d048b070d7ed5d2d7db2ddd9464a91f02626a
@@@ -19,6 -19,8 +19,6 @@@ config MM
  config NO_IOMEM
        def_bool y
  
 -mainmenu "Linux/Usermode Kernel Configuration"
 -
  config ISA
        bool
  
@@@ -53,10 -55,6 +53,6 @@@ config GENERIC_BU
        default y
        depends on BUG
  
- config GENERIC_TIME
-       bool
-       default y
  config GENERIC_CLOCKEVENTS
        bool
        default y
diff --combined arch/x86/Kconfig
index 6c30b9e93d8c2540ad6b513426c26d0aa2b982fc,a84fc34c8f777c54eb707abe6b43c19a025c75f0..4742ddff464fb9e1285909e987ca1a47e04b7661
@@@ -1,3 -1,6 +1,3 @@@
 -# x86 configuration
 -mainmenu "Linux Kernel Configuration for x86"
 -
  # Select 32 or 64 bit
  config 64BIT
        bool "64-bit kernel" if ARCH = "x86"
@@@ -52,6 -55,7 +52,7 @@@ config X8
        select HAVE_HW_BREAKPOINT
        select HAVE_MIXED_BREAKPOINTS_REGS
        select PERF_EVENTS
+       select HAVE_PERF_EVENTS_NMI
        select ANON_INODES
        select HAVE_ARCH_KMEMCHECK
        select HAVE_USER_RETURN_NOTIFIER
@@@ -69,9 -73,6 +70,6 @@@ config ARCH_DEFCONFI
        default "arch/x86/configs/i386_defconfig" if X86_32
        default "arch/x86/configs/x86_64_defconfig" if X86_64
  
- config GENERIC_TIME
-       def_bool y
  config GENERIC_CMOS_UPDATE
        def_bool y
  
@@@ -2043,7 -2044,7 +2041,7 @@@ config SCx20
  
  config SCx200HR_TIMER
        tristate "NatSemi SCx200 27MHz High-Resolution Timer Support"
-       depends on SCx200 && GENERIC_TIME
+       depends on SCx200
        default y
        ---help---
          This driver provides a clocksource built upon the on-chip
@@@ -2059,6 -2060,15 +2057,15 @@@ config OLP
          Add support for detecting the unique features of the OLPC
          XO hardware.
  
+ config OLPC_OPENFIRMWARE
+       bool "Support for OLPC's Open Firmware"
+       depends on !X86_64 && !X86_PAE
+       default y if OLPC
+       help
+         This option adds support for the implementation of Open Firmware
+         that is used on the OLPC XO-1 Children's Machine.
+         If unsure, say N here.
  endif # X86_32
  
  config K8_NB
diff --combined arch/xtensa/Kconfig
index 9e4ef660c9a5aed3493434fd17db31d42fe876b4,0859bfd8ae93382909420ff1c2076fb170a46469..d373d159e75e408eef28e722cc8401885e9ffd0a
@@@ -1,3 -1,8 +1,3 @@@
 -# For a description of the syntax of this configuration file,
 -# see Documentation/kbuild/kconfig-language.txt.
 -
 -mainmenu "Linux/Xtensa Kernel Configuration"
 -
  config FRAME_POINTER
        def_bool n
  
@@@ -43,9 -48,6 +43,6 @@@ config H
        int
        default 100
  
- config GENERIC_TIME
-       def_bool y
  source "init/Kconfig"
  source "kernel/Kconfig.freezer"
  
diff --combined scripts/kconfig/conf.c
index eba5906dc4abe14b348985160eb3f4863570f841,7ef429cd5cb38f9bd07889aad8f5ab8f3983e27b..5459a38be866064ae103ba5903859a6b53200d40
@@@ -425,7 -425,7 +425,7 @@@ static void check_conf(struct menu *men
                    (sym_is_choice(sym) && sym_get_tristate_value(sym) == yes)) {
                        if (input_mode == listnewconfig) {
                                if (sym->name && !sym_is_choice_value(sym)) {
 -                                      printf("CONFIG_%s\n", sym->name);
 +                                      printf("%s%s\n", CONFIG_, sym->name);
                                }
                        } else if (input_mode != oldnoconfig) {
                                if (!conf_cnt++)
@@@ -466,7 -466,7 +466,7 @@@ int main(int ac, char **av
        bindtextdomain(PACKAGE, LOCALEDIR);
        textdomain(PACKAGE);
  
 -      while ((opt = getopt_long_only(ac, av, "", long_opts, NULL)) != -1) {
 +      while ((opt = getopt_long(ac, av, "", long_opts, NULL)) != -1) {
                input_mode = (enum input_mode)opt;
                switch (opt) {
                case silentoldconfig:
                name = conf_get_configname();
                if (stat(name, &tmpstat)) {
                        fprintf(stderr, _("***\n"
 -                              "*** You have not yet configured your kernel!\n"
 -                              "*** (missing kernel config file \"%s\")\n"
 +                              "*** Configuration file \"%s\" not found!\n"
                                "***\n"
                                "*** Please run some configurator (e.g. \"make oldconfig\" or\n"
                                "*** \"make menuconfig\" or \"make xconfig\").\n"
                        name = getenv("KCONFIG_NOSILENTUPDATE");
                        if (name && *name) {
                                fprintf(stderr,
 -                                      _("\n*** Kernel configuration requires explicit update.\n\n"));
 +                                      _("\n*** The configuration requires explicit update.\n\n"));
                                return 1;
                        }
                }
                break;
        case savedefconfig:
                break;
-       case oldconfig:
        case oldaskconfig:
                rootEntry = &rootmenu;
                conf(&rootmenu);
                input_mode = silentoldconfig;
                /* fall through */
+       case oldconfig:
        case listnewconfig:
        case oldnoconfig:
        case silentoldconfig:
                 * All other commands are only used to generate a config.
                 */
                if (conf_get_changed() && conf_write(NULL)) {
 -                      fprintf(stderr, _("\n*** Error during writing of the kernel configuration.\n\n"));
 +                      fprintf(stderr, _("\n*** Error during writing of the configuration.\n\n"));
                        exit(1);
                }
                if (conf_write_autoconf()) {
 -                      fprintf(stderr, _("\n*** Error during update of the kernel configuration.\n\n"));
 +                      fprintf(stderr, _("\n*** Error during update of the configuration.\n\n"));
                        return 1;
                }
        } else if (input_mode == savedefconfig) {
                }
        } else if (input_mode != listnewconfig) {
                if (conf_write(NULL)) {
 -                      fprintf(stderr, _("\n*** Error during writing of the kernel configuration.\n\n"));
 +                      fprintf(stderr, _("\n*** Error during writing of the configuration.\n\n"));
                        exit(1);
                }
        }
diff --combined scripts/kconfig/expr.h
index 648c609caba0da955ec2298a54845495510543ac,170459c224a13d94be08b00b72b63c1503303ed1..184eb6a0b505cc50e7435950b7a770923ba06cb2
@@@ -18,7 -18,7 +18,7 @@@ extern "C" 
  struct file {
        struct file *next;
        struct file *parent;
 -      char *name;
 +      const char *name;
        int lineno;
        int flags;
  };
@@@ -165,7 -165,6 +165,6 @@@ struct menu 
        struct symbol *sym;
        struct property *prompt;
        struct expr *dep;
-       struct expr *dir_dep;
        unsigned int flags;
        char *help;
        struct file *file;
diff --combined scripts/kconfig/menu.c
index 23acbdb2fd50e83785d5f72654d8a6134d88f7b5,edda8b49619d9e66ff70e16dd8ef68caf4a86bc6..7e83aef42c6d41c63051664b2669c922356bff3a
@@@ -10,7 -10,7 +10,7 @@@
  #include "lkc.h"
  
  static const char nohelp_text[] = N_(
 -      "There is no help available for this kernel option.\n");
 +      "There is no help available for this option.\n");
  
  struct menu rootmenu;
  static struct menu **last_entry_ptr;
@@@ -107,7 -107,6 +107,6 @@@ static struct expr *menu_check_dep(stru
  void menu_add_dep(struct expr *dep)
  {
        current_entry->dep = expr_alloc_and(current_entry->dep, menu_check_dep(dep));
-       current_entry->dir_dep = current_entry->dep;
  }
  
  void menu_set_type(int type)
@@@ -139,7 -138,7 +138,7 @@@ struct property *menu_add_prop(enum pro
                        while (isspace(*prompt))
                                prompt++;
                }
 -              if (current_entry->prompt)
 +              if (current_entry->prompt && current_entry != &rootmenu)
                        prop_warn(prop, "prompt redefined");
                current_entry->prompt = prop;
        }
@@@ -291,10 -290,6 +290,6 @@@ void menu_finalize(struct menu *parent
                for (menu = parent->list; menu; menu = menu->next)
                        menu_finalize(menu);
        } else if (sym) {
-               /* ignore inherited dependencies for dir_dep */
-               sym->dir_dep.expr = expr_transform(expr_copy(parent->dir_dep));
-               sym->dir_dep.expr = expr_eliminate_dups(sym->dir_dep.expr);
                basedep = parent->prompt ? parent->prompt->visible.expr : NULL;
                basedep = expr_trans_compare(basedep, E_UNEQUAL, &symbol_no);
                basedep = expr_eliminate_dups(expr_transform(basedep));
                        parent->next = last_menu->next;
                        last_menu->next = NULL;
                }
+               sym->dir_dep.expr = parent->dep;
        }
        for (menu = parent->list; menu; menu = menu->next) {
                if (sym && sym_is_choice(sym) &&
@@@ -566,7 -563,7 +563,7 @@@ void menu_get_ext_help(struct menu *men
  
        if (menu_has_help(menu)) {
                if (sym->name) {
 -                      str_printf(help, "CONFIG_%s:\n\n", sym->name);
 +                      str_printf(help, "%s%s:\n\n", CONFIG_, sym->name);
                        str_append(help, _(menu_get_help(menu)));
                        str_append(help, "\n");
                }
diff --combined scripts/kconfig/symbol.c
index c0efe102d655c40547afe92014cec1c74b70b3c2,1f8b305449db354b103c6eb7ced09095c801dc1b..cb005684197411491496fe3fd352b74f3e3a2d14
@@@ -350,6 -350,7 +350,7 @@@ void sym_calc_value(struct symbol *sym
                                }
                        }
                calc_newval:
+ #if 0
                        if (sym->dir_dep.tri == no && sym->rev_dep.tri != no) {
                                fprintf(stderr, "warning: (");
                                expr_fprint(sym->rev_dep.expr, stderr);
                                expr_fprint(sym->dir_dep.expr, stderr);
                                fprintf(stderr, ")\n");
                        }
+ #endif
                        newval.tri = EXPR_OR(newval.tri, sym->rev_dep.tri);
                }
                if (newval.tri == mod && sym_get_type(sym) == S_BOOLEAN)
@@@ -840,55 -842,6 +842,55 @@@ struct symbol *sym_find(const char *nam
        return symbol;
  }
  
 +/*
 + * Expand symbol's names embedded in the string given in argument. Symbols'
 + * name to be expanded shall be prefixed by a '$'. Unknown symbol expands to
 + * the empty string.
 + */
 +const char *sym_expand_string_value(const char *in)
 +{
 +      const char *src;
 +      char *res;
 +      size_t reslen;
 +
 +      reslen = strlen(in) + 1;
 +      res = malloc(reslen);
 +      res[0] = '\0';
 +
 +      while ((src = strchr(in, '$'))) {
 +              char *p, name[SYMBOL_MAXLENGTH];
 +              const char *symval = "";
 +              struct symbol *sym;
 +              size_t newlen;
 +
 +              strncat(res, in, src - in);
 +              src++;
 +
 +              p = name;
 +              while (isalnum(*src) || *src == '_')
 +                      *p++ = *src++;
 +              *p = '\0';
 +
 +              sym = sym_find(name);
 +              if (sym != NULL) {
 +                      sym_calc_value(sym);
 +                      symval = sym_get_string_value(sym);
 +              }
 +
 +              newlen = strlen(res) + strlen(symval) + strlen(src);
 +              if (newlen > reslen) {
 +                      reslen = newlen;
 +                      res = realloc(res, reslen);
 +              }
 +
 +              strcat(res, symval);
 +              in = src;
 +      }
 +      strcat(res, in);
 +
 +      return res;
 +}
 +
  struct symbol **sym_re_search(const char *pattern)
  {
        struct symbol *sym, **sym_arr = NULL;