Make most arch asm/module.h files use asm-generic/module.h
[linux-3.10.git] / arch / xtensa / Kconfig
index fd36764..4816e44 100644 (file)
@@ -1,19 +1,17 @@
-# For a description of the syntax of this configuration file,
-# see Documentation/kbuild/kconfig-language.txt.
-
-mainmenu "Linux/Xtensa Kernel Configuration"
-
 config FRAME_POINTER
-       bool
-       default n
+       def_bool n
 
 config ZONE_DMA
-       bool
-       default y
+       def_bool y
 
 config XTENSA
-       bool
-       default y
+       def_bool y
+       select HAVE_IDE
+       select GENERIC_ATOMIC64
+       select HAVE_GENERIC_HARDIRQS
+       select GENERIC_IRQ_SHOW
+       select GENERIC_CPU_DEVICES
+       select MODULES_USE_ELF_RELA
        help
          Xtensa processors are 32-bit RISC machines designed by Tensilica
          primarily for embedded systems.  These processors are both
@@ -23,28 +21,19 @@ config XTENSA
          a home page at <http://xtensa.sourceforge.net/>.
 
 config RWSEM_XCHGADD_ALGORITHM
-       bool
-       default y
-
-config GENERIC_FIND_NEXT_BIT
-       bool
-       default y
+       def_bool y
 
 config GENERIC_HWEIGHT
-       bool
-       default y
+       def_bool y
 
-config GENERIC_HARDIRQS
-       bool
-       default y
+config GENERIC_GPIO
+       def_bool y
 
 config ARCH_HAS_ILOG2_U32
-       bool
-       default n
+       def_bool n
 
 config ARCH_HAS_ILOG2_U64
-       bool
-       default n
+       def_bool n
 
 config NO_IOPORT
        def_bool y
@@ -54,6 +43,13 @@ config HZ
        default 100
 
 source "init/Kconfig"
+source "kernel/Kconfig.freezer"
+
+config MMU
+       def_bool n
+
+config VARIANT_IRQ_SWITCH
+       def_bool n
 
 menu "Processor type and features"
 
@@ -62,42 +58,65 @@ choice
        default XTENSA_VARIANT_FSF
 
 config XTENSA_VARIANT_FSF
-       bool "fsf"
-endchoice
+       bool "fsf - default (not generic) configuration"
+       select MMU
 
-config MMU
-       bool
-       default y
+config XTENSA_VARIANT_DC232B
+       bool "dc232b - Diamond 232L Standard Core Rev.B (LE)"
+       select MMU
+       help
+         This variant refers to Tensilica's Diamond 232L Standard core Rev.B (LE).
+
+config XTENSA_VARIANT_S6000
+       bool "s6000 - Stretch software configurable processor"
+       select VARIANT_IRQ_SWITCH
+       select ARCH_REQUIRE_GPIOLIB
+       select XTENSA_CALIBRATE_CCOUNT
+endchoice
 
 config XTENSA_UNALIGNED_USER
        bool "Unaligned memory access in use space"
-       ---help---
-          The Xtensa architecture currently does not handle unaligned
-          memory accesses in hardware but through an exception handler.
-          Per default, unaligned memory accesses are disabled in user space.
-
-          Say Y here to enable unaligned memory access in user space.
-
-config PREEMPT
-       bool "Preemptible Kernel"
-       ---help---
-           This option reduces the latency of the kernel when reacting to
-           real-time or interactive events by allowing a low priority process to
-           be preempted even if it is in kernel mode executing a system call.
-           Unfortunately the kernel code has some race conditions if both
-           CONFIG_SMP and CONFIG_PREEMPT are enabled, so this option is
-           currently disabled if you are building an SMP kernel.
-
-           Say Y here if you are building a kernel for a desktop, embedded
-           or real-time system.  Say N if you are unsure.
+       help
+         The Xtensa architecture currently does not handle unaligned
+         memory accesses in hardware but through an exception handler.
+         Per default, unaligned memory accesses are disabled in user space.
+
+         Say Y here to enable unaligned memory access in user space.
+
+source "kernel/Kconfig.preempt"
 
 config MATH_EMULATION
        bool "Math emulation"
        help
        Can we use information of configuration file?
 
-config HIGHMEM
-       bool "High memory support"
+endmenu
+
+config XTENSA_CALIBRATE_CCOUNT
+       def_bool n
+       help
+         On some platforms (XT2000, for example), the CPU clock rate can
+         vary.  The frequency can be determined, however, by measuring
+         against a well known, fixed frequency, such as an UART oscillator.
+
+config SERIAL_CONSOLE
+       def_bool n
+
+config XTENSA_ISS_NETWORK
+       def_bool n
+
+menu "Bus options"
+
+config PCI
+       bool "PCI support"
+       default y
+       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
+         your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
+         VESA. If you have PCI, say Y, otherwise N.
+
+source "drivers/pci/Kconfig"
 
 endmenu
 
@@ -109,6 +128,9 @@ choice
 
 config XTENSA_PLATFORM_ISS
        bool "ISS"
+       select XTENSA_CALIBRATE_CCOUNT
+       select SERIAL_CONSOLE
+       select XTENSA_ISS_NETWORK
        help
          ISS is an acronym for Tensilica's Instruction Set Simulator.
 
@@ -118,24 +140,21 @@ config XTENSA_PLATFORM_XT2000
          XT2000 is the name of Tensilica's feature-rich emulation platform.
          This hardware is capable of running a full Linux distribution.
 
-endchoice
+config XTENSA_PLATFORM_S6105
+       bool "S6105"
+       select SERIAL_CONSOLE
 
+endchoice
 
-config XTENSA_CALIBRATE_CCOUNT
-       bool "Auto calibration of the CPU clock rate"
-       ---help---
-         On some platforms (XT2000, for example), the CPU clock rate can
-         vary.  The frequency can be determined, however, by measuring
-         against a well known, fixed frequency, such as an UART oscillator.
 
 config XTENSA_CPU_CLOCK
        int "CPU clock rate [MHz]"
        depends on !XTENSA_CALIBRATE_CCOUNT
-       default "16"
+       default 16
 
 config GENERIC_CALIBRATE_DELAY
        bool "Auto calibration of the BogoMIPS value"
-       ---help---
+       help
          The BogoMIPS value can easily be derived from the CPU frequency.
 
 config CMDLINE_BOOL
@@ -152,52 +171,25 @@ config CMDLINE
          time by entering them here. As a minimum, you should specify the
          memory size and the root device (e.g., mem=64M root=/dev/nfs).
 
-config SERIAL_CONSOLE
-       bool
-       depends on XTENSA_PLATFORM_ISS
-       default y
-
-config XTENSA_ISS_NETWORK
-       bool
-       depends on XTENSA_PLATFORM_ISS
-       default y
-
 source "mm/Kconfig"
 
-endmenu
-
-menu "Bus options"
-
-config PCI
-       bool "PCI support" if !XTENSA_PLATFORM_ISS
-       depends on !XTENSA_PLATFORM_ISS
-       default y
+config HOTPLUG
+       bool "Support for hot-pluggable devices"
        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
-         your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
-         VESA. If you have PCI, say Y, otherwise N.
+         Say Y here if you want to plug devices into your computer while
+         the system is running, and be able to use them quickly.  In many
+         cases, the devices can likewise be unplugged at any time too.
 
-source "drivers/pci/Kconfig"
+         One well known example of this is PCMCIA- or PC-cards, credit-card
+         size devices such as network cards, modems or hard drives which are
+         plugged into slots found on all modern laptop computers.  Another
+         example, used on modern desktops as well as laptops, is USB.
 
-config HOTPLUG
-
-       bool "Support for hot-pluggable devices"
-       ---help---
-       Say Y here if you want to plug devices into your computer while
-       the system is running, and be able to use them quickly.  In many
-       cases, the devices can likewise be unplugged at any time too.
-
-       One well known example of this is PCMCIA- or PC-cards, credit-card
-       size devices such as network cards, modems or hard drives which are
-       plugged into slots found on all modern laptop computers.  Another
-       example, used on modern desktops as well as laptops, is USB.
-
-       Enable HOTPLUG and KMOD, and build a modular kernel.  Get agent
-       software (at <http://linux-hotplug.sourceforge.net/>) and install it.
-       Then your kernel will automatically call out to a user mode "policy
-       agent" (/sbin/hotplug) to load modules and set up software needed
-       to use devices as you hotplug them.
+         Enable HOTPLUG and build a modular kernel.  Get agent software
+         (from <http://linux-hotplug.sourceforge.net/>) and install it.
+         Then your kernel will automatically call out to a user mode "policy
+         agent" (/sbin/hotplug) to load modules and set up software needed
+         to use devices as you hotplug them.
 
 source "drivers/pcmcia/Kconfig"
 
@@ -209,9 +201,8 @@ menu "Executable file formats"
 
 # only elf supported
 config KCORE_ELF
-        bool
+       def_bool y
         depends on PROC_FS
-        default y
         help
           If you enabled support for /proc file system then the file
           /proc/kcore will contain the kernel core image in ELF format. This
@@ -236,7 +227,7 @@ source "fs/Kconfig"
 menu "Xtensa initrd options"
        depends on BLK_DEV_INITRD
 
-       config EMBEDDED_RAMDISK
+config EMBEDDED_RAMDISK
        bool "Embed root filesystem ramdisk into the kernel"
 
 config EMBEDDED_RAMDISK_IMAGE