瀏覽代碼

xtensa: beat Kconfig into shape

Instead of making support code depend on variants or platforms, the
latter should select what they need explicitely.

Otherwise this starts looking weird when support code depends on
!XTENSA_PLATFORM_FOO && !XTENSA_PLATFORM_BAR etc.

This also includes some minor fixlets like converting bool and default
to def_bool and fixing indentation and whitespace errors.

Signed-off-by: Johannes Weiner <jw@emlix.com>
Signed-off-by: Chris Zankel <chris@zankel.net>
Johannes Weiner 16 年之前
父節點
當前提交
35f9cd083b
共有 1 個文件被更改,包括 78 次插入88 次删除
  1. 78 88
      arch/xtensa/Kconfig

+ 78 - 88
arch/xtensa/Kconfig

@@ -4,16 +4,13 @@
 mainmenu "Linux/Xtensa Kernel Configuration"
 mainmenu "Linux/Xtensa Kernel Configuration"
 
 
 config FRAME_POINTER
 config FRAME_POINTER
-	bool
-	default n
+	def_bool n
 
 
 config ZONE_DMA
 config ZONE_DMA
-	bool
-	default y
+	def_bool y
 
 
 config XTENSA
 config XTENSA
-	bool
-	default y
+	def_bool y
 	select HAVE_IDE
 	select HAVE_IDE
 	help
 	help
 	  Xtensa processors are 32-bit RISC machines designed by Tensilica
 	  Xtensa processors are 32-bit RISC machines designed by Tensilica
@@ -24,28 +21,22 @@ config XTENSA
 	  a home page at <http://xtensa.sourceforge.net/>.
 	  a home page at <http://xtensa.sourceforge.net/>.
 
 
 config RWSEM_XCHGADD_ALGORITHM
 config RWSEM_XCHGADD_ALGORITHM
-	bool
-	default y
+	def_bool y
 
 
 config GENERIC_FIND_NEXT_BIT
 config GENERIC_FIND_NEXT_BIT
-	bool
-	default y
+	def_bool y
 
 
 config GENERIC_HWEIGHT
 config GENERIC_HWEIGHT
-	bool
-	default y
+	def_bool y
 
 
 config GENERIC_HARDIRQS
 config GENERIC_HARDIRQS
-	bool
-	default y
+	def_bool y
 
 
 config ARCH_HAS_ILOG2_U32
 config ARCH_HAS_ILOG2_U32
-	bool
-	default n
+	def_bool n
 
 
 config ARCH_HAS_ILOG2_U64
 config ARCH_HAS_ILOG2_U64
-	bool
-	default n
+	def_bool n
 
 
 config NO_IOPORT
 config NO_IOPORT
 	def_bool y
 	def_bool y
@@ -57,6 +48,9 @@ config HZ
 source "init/Kconfig"
 source "init/Kconfig"
 source "kernel/Kconfig.freezer"
 source "kernel/Kconfig.freezer"
 
 
+config MMU
+	def_bool n
+
 menu "Processor type and features"
 menu "Processor type and features"
 
 
 choice
 choice
@@ -65,38 +59,36 @@ choice
 
 
 config XTENSA_VARIANT_FSF
 config XTENSA_VARIANT_FSF
 	bool "fsf - default (not generic) configuration"
 	bool "fsf - default (not generic) configuration"
+	select MMU
 
 
 config XTENSA_VARIANT_DC232B
 config XTENSA_VARIANT_DC232B
 	bool "dc232b - Diamond 232L Standard Core Rev.B (LE)"
 	bool "dc232b - Diamond 232L Standard Core Rev.B (LE)"
+	select MMU
 	help
 	help
-	This variant refers to Tensilica's Diamond 232L Standard core Rev.B (LE).
+	  This variant refers to Tensilica's Diamond 232L Standard core Rev.B (LE).
 endchoice
 endchoice
 
 
-config MMU
-	bool
-	default y
-
 config XTENSA_UNALIGNED_USER
 config XTENSA_UNALIGNED_USER
 	bool "Unaligned memory access in use space"
 	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.
+	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.
+	  Say Y here to enable unaligned memory access in user space.
 
 
 config PREEMPT
 config PREEMPT
 	bool "Preemptible Kernel"
 	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.
+	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.
+          Say Y here if you are building a kernel for a desktop, embedded
+          or real-time system.  Say N if you are unsure.
 
 
 config MATH_EMULATION
 config MATH_EMULATION
 	bool "Math emulation"
 	bool "Math emulation"
@@ -105,6 +97,32 @@ config MATH_EMULATION
 
 
 endmenu
 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"
+
 menu "Platform options"
 menu "Platform options"
 
 
 choice
 choice
@@ -113,11 +131,16 @@ choice
 
 
 config XTENSA_PLATFORM_ISS
 config XTENSA_PLATFORM_ISS
 	bool "ISS"
 	bool "ISS"
+	select XTENSA_CALIBRATE_CCOUNT
+	select SERIAL_CONSOLE
+	select XTENSA_ISS_NETWORK
 	help
 	help
 	  ISS is an acronym for Tensilica's Instruction Set Simulator.
 	  ISS is an acronym for Tensilica's Instruction Set Simulator.
 
 
 config XTENSA_PLATFORM_XT2000
 config XTENSA_PLATFORM_XT2000
 	bool "XT2000"
 	bool "XT2000"
+	select XTENSA_CALIBRATE_CCOUNT
+	select PCI
 	help
 	help
 	  XT2000 is the name of Tensilica's feature-rich emulation platform.
 	  XT2000 is the name of Tensilica's feature-rich emulation platform.
 	  This hardware is capable of running a full Linux distribution.
 	  This hardware is capable of running a full Linux distribution.
@@ -125,21 +148,14 @@ config XTENSA_PLATFORM_XT2000
 endchoice
 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
 config XTENSA_CPU_CLOCK
 	int "CPU clock rate [MHz]"
 	int "CPU clock rate [MHz]"
 	depends on !XTENSA_CALIBRATE_CCOUNT
 	depends on !XTENSA_CALIBRATE_CCOUNT
-	default "16"
+	default 16
 
 
 config GENERIC_CALIBRATE_DELAY
 config GENERIC_CALIBRATE_DELAY
 	bool "Auto calibration of the BogoMIPS value"
 	bool "Auto calibration of the BogoMIPS value"
-	---help---
+	help
 	  The BogoMIPS value can easily be derived from the CPU frequency.
 	  The BogoMIPS value can easily be derived from the CPU frequency.
 
 
 config CMDLINE_BOOL
 config CMDLINE_BOOL
@@ -156,52 +172,27 @@ config CMDLINE
 	  time by entering them here. As a minimum, you should specify the
 	  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).
 	  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"
 source "mm/Kconfig"
 
 
 endmenu
 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
 	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"
+	  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.
 
 
-config HOTPLUG
+	  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.
 
 
-	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 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.
+	  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"
 source "drivers/pcmcia/Kconfig"
 
 
@@ -213,9 +204,8 @@ menu "Executable file formats"
 
 
 # only elf supported
 # only elf supported
 config KCORE_ELF
 config KCORE_ELF
-        bool
+	def_bool y
         depends on PROC_FS
         depends on PROC_FS
-        default y
         help
         help
           If you enabled support for /proc file system then the file
           If you enabled support for /proc file system then the file
           /proc/kcore will contain the kernel core image in ELF format. This
           /proc/kcore will contain the kernel core image in ELF format. This
@@ -240,7 +230,7 @@ source "fs/Kconfig"
 menu "Xtensa initrd options"
 menu "Xtensa initrd options"
 	depends on BLK_DEV_INITRD
 	depends on BLK_DEV_INITRD
 
 
-	config EMBEDDED_RAMDISK
+config EMBEDDED_RAMDISK
 	bool "Embed root filesystem ramdisk into the kernel"
 	bool "Embed root filesystem ramdisk into the kernel"
 
 
 config EMBEDDED_RAMDISK_IMAGE
 config EMBEDDED_RAMDISK_IMAGE