aboutsummaryrefslogtreecommitdiffstats
path: root/arch/xtensa
diff options
context:
space:
mode:
authorJohannes Weiner <jw@emlix.com>2009-03-04 10:21:28 -0500
committerChris Zankel <chris@zankel.net>2009-04-03 02:38:35 -0400
commit35f9cd083b350ad4eb3b5f159c7738fa9ddff40a (patch)
tree61d12098ad66fce1cb8a957881440c8e1998b46b /arch/xtensa
parent4f682fbb27deb308ca6a1e24ec9c2be41e6d1026 (diff)
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>
Diffstat (limited to 'arch/xtensa')
-rw-r--r--arch/xtensa/Kconfig166
1 files changed, 78 insertions, 88 deletions
diff --git a/arch/xtensa/Kconfig b/arch/xtensa/Kconfig
index 981200830432..cf2501b5afd4 100644
--- a/arch/xtensa/Kconfig
+++ b/arch/xtensa/Kconfig
@@ -4,16 +4,13 @@
4mainmenu "Linux/Xtensa Kernel Configuration" 4mainmenu "Linux/Xtensa Kernel Configuration"
5 5
6config FRAME_POINTER 6config FRAME_POINTER
7 bool 7 def_bool n
8 default n
9 8
10config ZONE_DMA 9config ZONE_DMA
11 bool 10 def_bool y
12 default y
13 11
14config XTENSA 12config XTENSA
15 bool 13 def_bool y
16 default y
17 select HAVE_IDE 14 select HAVE_IDE
18 help 15 help
19 Xtensa processors are 32-bit RISC machines designed by Tensilica 16 Xtensa processors are 32-bit RISC machines designed by Tensilica
@@ -24,28 +21,22 @@ config XTENSA
24 a home page at <http://xtensa.sourceforge.net/>. 21 a home page at <http://xtensa.sourceforge.net/>.
25 22
26config RWSEM_XCHGADD_ALGORITHM 23config RWSEM_XCHGADD_ALGORITHM
27 bool 24 def_bool y
28 default y
29 25
30config GENERIC_FIND_NEXT_BIT 26config GENERIC_FIND_NEXT_BIT
31 bool 27 def_bool y
32 default y
33 28
34config GENERIC_HWEIGHT 29config GENERIC_HWEIGHT
35 bool 30 def_bool y
36 default y
37 31
38config GENERIC_HARDIRQS 32config GENERIC_HARDIRQS
39 bool 33 def_bool y
40 default y
41 34
42config ARCH_HAS_ILOG2_U32 35config ARCH_HAS_ILOG2_U32
43 bool 36 def_bool n
44 default n
45 37
46config ARCH_HAS_ILOG2_U64 38config ARCH_HAS_ILOG2_U64
47 bool 39 def_bool n
48 default n
49 40
50config NO_IOPORT 41config NO_IOPORT
51 def_bool y 42 def_bool y
@@ -57,6 +48,9 @@ config HZ
57source "init/Kconfig" 48source "init/Kconfig"
58source "kernel/Kconfig.freezer" 49source "kernel/Kconfig.freezer"
59 50
51config MMU
52 def_bool n
53
60menu "Processor type and features" 54menu "Processor type and features"
61 55
62choice 56choice
@@ -65,38 +59,36 @@ choice
65 59
66config XTENSA_VARIANT_FSF 60config XTENSA_VARIANT_FSF
67 bool "fsf - default (not generic) configuration" 61 bool "fsf - default (not generic) configuration"
62 select MMU
68 63
69config XTENSA_VARIANT_DC232B 64config XTENSA_VARIANT_DC232B
70 bool "dc232b - Diamond 232L Standard Core Rev.B (LE)" 65 bool "dc232b - Diamond 232L Standard Core Rev.B (LE)"
66 select MMU
71 help 67 help
72 This variant refers to Tensilica's Diamond 232L Standard core Rev.B (LE). 68 This variant refers to Tensilica's Diamond 232L Standard core Rev.B (LE).
73endchoice 69endchoice
74 70
75config MMU
76 bool
77 default y
78
79config XTENSA_UNALIGNED_USER 71config XTENSA_UNALIGNED_USER
80 bool "Unaligned memory access in use space" 72 bool "Unaligned memory access in use space"
81 ---help--- 73 help
82 The Xtensa architecture currently does not handle unaligned 74 The Xtensa architecture currently does not handle unaligned
83 memory accesses in hardware but through an exception handler. 75 memory accesses in hardware but through an exception handler.
84 Per default, unaligned memory accesses are disabled in user space. 76 Per default, unaligned memory accesses are disabled in user space.
85 77
86 Say Y here to enable unaligned memory access in user space. 78 Say Y here to enable unaligned memory access in user space.
87 79
88config PREEMPT 80config PREEMPT
89 bool "Preemptible Kernel" 81 bool "Preemptible Kernel"
90 ---help--- 82 help
91 This option reduces the latency of the kernel when reacting to 83 This option reduces the latency of the kernel when reacting to
92 real-time or interactive events by allowing a low priority process to 84 real-time or interactive events by allowing a low priority process to
93 be preempted even if it is in kernel mode executing a system call. 85 be preempted even if it is in kernel mode executing a system call.
94 Unfortunately the kernel code has some race conditions if both 86 Unfortunately the kernel code has some race conditions if both
95 CONFIG_SMP and CONFIG_PREEMPT are enabled, so this option is 87 CONFIG_SMP and CONFIG_PREEMPT are enabled, so this option is
96 currently disabled if you are building an SMP kernel. 88 currently disabled if you are building an SMP kernel.
97 89
98 Say Y here if you are building a kernel for a desktop, embedded 90 Say Y here if you are building a kernel for a desktop, embedded
99 or real-time system. Say N if you are unsure. 91 or real-time system. Say N if you are unsure.
100 92
101config MATH_EMULATION 93config MATH_EMULATION
102 bool "Math emulation" 94 bool "Math emulation"
@@ -105,6 +97,32 @@ config MATH_EMULATION
105 97
106endmenu 98endmenu
107 99
100config XTENSA_CALIBRATE_CCOUNT
101 def_bool n
102 help
103 On some platforms (XT2000, for example), the CPU clock rate can
104 vary. The frequency can be determined, however, by measuring
105 against a well known, fixed frequency, such as an UART oscillator.
106
107config SERIAL_CONSOLE
108 def_bool n
109
110config XTENSA_ISS_NETWORK
111 def_bool n
112
113menu "Bus options"
114
115config PCI
116 bool "PCI support"
117 default y
118 help
119 Find out whether you have a PCI motherboard. PCI is the name of a
120 bus system, i.e. the way the CPU talks to the other stuff inside
121 your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
122 VESA. If you have PCI, say Y, otherwise N.
123
124source "drivers/pci/Kconfig"
125
108menu "Platform options" 126menu "Platform options"
109 127
110choice 128choice
@@ -113,11 +131,16 @@ choice
113 131
114config XTENSA_PLATFORM_ISS 132config XTENSA_PLATFORM_ISS
115 bool "ISS" 133 bool "ISS"
134 select XTENSA_CALIBRATE_CCOUNT
135 select SERIAL_CONSOLE
136 select XTENSA_ISS_NETWORK
116 help 137 help
117 ISS is an acronym for Tensilica's Instruction Set Simulator. 138 ISS is an acronym for Tensilica's Instruction Set Simulator.
118 139
119config XTENSA_PLATFORM_XT2000 140config XTENSA_PLATFORM_XT2000
120 bool "XT2000" 141 bool "XT2000"
142 select XTENSA_CALIBRATE_CCOUNT
143 select PCI
121 help 144 help
122 XT2000 is the name of Tensilica's feature-rich emulation platform. 145 XT2000 is the name of Tensilica's feature-rich emulation platform.
123 This hardware is capable of running a full Linux distribution. 146 This hardware is capable of running a full Linux distribution.
@@ -125,21 +148,14 @@ config XTENSA_PLATFORM_XT2000
125endchoice 148endchoice
126 149
127 150
128config XTENSA_CALIBRATE_CCOUNT
129 bool "Auto calibration of the CPU clock rate"
130 ---help---
131 On some platforms (XT2000, for example), the CPU clock rate can
132 vary. The frequency can be determined, however, by measuring
133 against a well known, fixed frequency, such as an UART oscillator.
134
135config XTENSA_CPU_CLOCK 151config XTENSA_CPU_CLOCK
136 int "CPU clock rate [MHz]" 152 int "CPU clock rate [MHz]"
137 depends on !XTENSA_CALIBRATE_CCOUNT 153 depends on !XTENSA_CALIBRATE_CCOUNT
138 default "16" 154 default 16
139 155
140config GENERIC_CALIBRATE_DELAY 156config GENERIC_CALIBRATE_DELAY
141 bool "Auto calibration of the BogoMIPS value" 157 bool "Auto calibration of the BogoMIPS value"
142 ---help--- 158 help
143 The BogoMIPS value can easily be derived from the CPU frequency. 159 The BogoMIPS value can easily be derived from the CPU frequency.
144 160
145config CMDLINE_BOOL 161config CMDLINE_BOOL
@@ -156,52 +172,27 @@ config CMDLINE
156 time by entering them here. As a minimum, you should specify the 172 time by entering them here. As a minimum, you should specify the
157 memory size and the root device (e.g., mem=64M root=/dev/nfs). 173 memory size and the root device (e.g., mem=64M root=/dev/nfs).
158 174
159config SERIAL_CONSOLE
160 bool
161 depends on XTENSA_PLATFORM_ISS
162 default y
163
164config XTENSA_ISS_NETWORK
165 bool
166 depends on XTENSA_PLATFORM_ISS
167 default y
168
169source "mm/Kconfig" 175source "mm/Kconfig"
170 176
171endmenu 177endmenu
172 178
173menu "Bus options" 179config HOTPLUG
174 180 bool "Support for hot-pluggable devices"
175config PCI
176 bool "PCI support" if !XTENSA_PLATFORM_ISS
177 depends on !XTENSA_PLATFORM_ISS
178 default y
179 help 181 help
180 Find out whether you have a PCI motherboard. PCI is the name of a 182 Say Y here if you want to plug devices into your computer while
181 bus system, i.e. the way the CPU talks to the other stuff inside 183 the system is running, and be able to use them quickly. In many
182 your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or 184 cases, the devices can likewise be unplugged at any time too.
183 VESA. If you have PCI, say Y, otherwise N.
184
185source "drivers/pci/Kconfig"
186 185
187config HOTPLUG 186 One well known example of this is PCMCIA- or PC-cards, credit-card
187 size devices such as network cards, modems or hard drives which are
188 plugged into slots found on all modern laptop computers. Another
189 example, used on modern desktops as well as laptops, is USB.
188 190
189 bool "Support for hot-pluggable devices" 191 Enable HOTPLUG and build a modular kernel. Get agent software
190 ---help--- 192 (from <http://linux-hotplug.sourceforge.net/>) and install it.
191 Say Y here if you want to plug devices into your computer while 193 Then your kernel will automatically call out to a user mode "policy
192 the system is running, and be able to use them quickly. In many 194 agent" (/sbin/hotplug) to load modules and set up software needed
193 cases, the devices can likewise be unplugged at any time too. 195 to use devices as you hotplug them.
194
195 One well known example of this is PCMCIA- or PC-cards, credit-card
196 size devices such as network cards, modems or hard drives which are
197 plugged into slots found on all modern laptop computers. Another
198 example, used on modern desktops as well as laptops, is USB.
199
200 Enable HOTPLUG and build a modular kernel. Get agent software
201 (from <http://linux-hotplug.sourceforge.net/>) and install it.
202 Then your kernel will automatically call out to a user mode "policy
203 agent" (/sbin/hotplug) to load modules and set up software needed
204 to use devices as you hotplug them.
205 196
206source "drivers/pcmcia/Kconfig" 197source "drivers/pcmcia/Kconfig"
207 198
@@ -213,9 +204,8 @@ menu "Executable file formats"
213 204
214# only elf supported 205# only elf supported
215config KCORE_ELF 206config KCORE_ELF
216 bool 207 def_bool y
217 depends on PROC_FS 208 depends on PROC_FS
218 default y
219 help 209 help
220 If you enabled support for /proc file system then the file 210 If you enabled support for /proc file system then the file
221 /proc/kcore will contain the kernel core image in ELF format. This 211 /proc/kcore will contain the kernel core image in ELF format. This
@@ -240,7 +230,7 @@ source "fs/Kconfig"
240menu "Xtensa initrd options" 230menu "Xtensa initrd options"
241 depends on BLK_DEV_INITRD 231 depends on BLK_DEV_INITRD
242 232
243 config EMBEDDED_RAMDISK 233config EMBEDDED_RAMDISK
244 bool "Embed root filesystem ramdisk into the kernel" 234 bool "Embed root filesystem ramdisk into the kernel"
245 235
246config EMBEDDED_RAMDISK_IMAGE 236config EMBEDDED_RAMDISK_IMAGE