diff options
author | Johannes Weiner <jw@emlix.com> | 2009-03-04 10:21:28 -0500 |
---|---|---|
committer | Chris Zankel <chris@zankel.net> | 2009-04-03 02:38:35 -0400 |
commit | 35f9cd083b350ad4eb3b5f159c7738fa9ddff40a (patch) | |
tree | 61d12098ad66fce1cb8a957881440c8e1998b46b /arch/xtensa | |
parent | 4f682fbb27deb308ca6a1e24ec9c2be41e6d1026 (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/Kconfig | 166 |
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 @@ | |||
4 | mainmenu "Linux/Xtensa Kernel Configuration" | 4 | mainmenu "Linux/Xtensa Kernel Configuration" |
5 | 5 | ||
6 | config FRAME_POINTER | 6 | config FRAME_POINTER |
7 | bool | 7 | def_bool n |
8 | default n | ||
9 | 8 | ||
10 | config ZONE_DMA | 9 | config ZONE_DMA |
11 | bool | 10 | def_bool y |
12 | default y | ||
13 | 11 | ||
14 | config XTENSA | 12 | config 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 | ||
26 | config RWSEM_XCHGADD_ALGORITHM | 23 | config RWSEM_XCHGADD_ALGORITHM |
27 | bool | 24 | def_bool y |
28 | default y | ||
29 | 25 | ||
30 | config GENERIC_FIND_NEXT_BIT | 26 | config GENERIC_FIND_NEXT_BIT |
31 | bool | 27 | def_bool y |
32 | default y | ||
33 | 28 | ||
34 | config GENERIC_HWEIGHT | 29 | config GENERIC_HWEIGHT |
35 | bool | 30 | def_bool y |
36 | default y | ||
37 | 31 | ||
38 | config GENERIC_HARDIRQS | 32 | config GENERIC_HARDIRQS |
39 | bool | 33 | def_bool y |
40 | default y | ||
41 | 34 | ||
42 | config ARCH_HAS_ILOG2_U32 | 35 | config ARCH_HAS_ILOG2_U32 |
43 | bool | 36 | def_bool n |
44 | default n | ||
45 | 37 | ||
46 | config ARCH_HAS_ILOG2_U64 | 38 | config ARCH_HAS_ILOG2_U64 |
47 | bool | 39 | def_bool n |
48 | default n | ||
49 | 40 | ||
50 | config NO_IOPORT | 41 | config NO_IOPORT |
51 | def_bool y | 42 | def_bool y |
@@ -57,6 +48,9 @@ config HZ | |||
57 | source "init/Kconfig" | 48 | source "init/Kconfig" |
58 | source "kernel/Kconfig.freezer" | 49 | source "kernel/Kconfig.freezer" |
59 | 50 | ||
51 | config MMU | ||
52 | def_bool n | ||
53 | |||
60 | menu "Processor type and features" | 54 | menu "Processor type and features" |
61 | 55 | ||
62 | choice | 56 | choice |
@@ -65,38 +59,36 @@ choice | |||
65 | 59 | ||
66 | config XTENSA_VARIANT_FSF | 60 | config XTENSA_VARIANT_FSF |
67 | bool "fsf - default (not generic) configuration" | 61 | bool "fsf - default (not generic) configuration" |
62 | select MMU | ||
68 | 63 | ||
69 | config XTENSA_VARIANT_DC232B | 64 | config 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). |
73 | endchoice | 69 | endchoice |
74 | 70 | ||
75 | config MMU | ||
76 | bool | ||
77 | default y | ||
78 | |||
79 | config XTENSA_UNALIGNED_USER | 71 | config 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 | ||
88 | config PREEMPT | 80 | config 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 | ||
101 | config MATH_EMULATION | 93 | config MATH_EMULATION |
102 | bool "Math emulation" | 94 | bool "Math emulation" |
@@ -105,6 +97,32 @@ config MATH_EMULATION | |||
105 | 97 | ||
106 | endmenu | 98 | endmenu |
107 | 99 | ||
100 | config 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 | |||
107 | config SERIAL_CONSOLE | ||
108 | def_bool n | ||
109 | |||
110 | config XTENSA_ISS_NETWORK | ||
111 | def_bool n | ||
112 | |||
113 | menu "Bus options" | ||
114 | |||
115 | config 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 | |||
124 | source "drivers/pci/Kconfig" | ||
125 | |||
108 | menu "Platform options" | 126 | menu "Platform options" |
109 | 127 | ||
110 | choice | 128 | choice |
@@ -113,11 +131,16 @@ choice | |||
113 | 131 | ||
114 | config XTENSA_PLATFORM_ISS | 132 | config 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 | ||
119 | config XTENSA_PLATFORM_XT2000 | 140 | config 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 | |||
125 | endchoice | 148 | endchoice |
126 | 149 | ||
127 | 150 | ||
128 | config 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 | |||
135 | config XTENSA_CPU_CLOCK | 151 | config 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 | ||
140 | config GENERIC_CALIBRATE_DELAY | 156 | config 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 | ||
145 | config CMDLINE_BOOL | 161 | config 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 | ||
159 | config SERIAL_CONSOLE | ||
160 | bool | ||
161 | depends on XTENSA_PLATFORM_ISS | ||
162 | default y | ||
163 | |||
164 | config XTENSA_ISS_NETWORK | ||
165 | bool | ||
166 | depends on XTENSA_PLATFORM_ISS | ||
167 | default y | ||
168 | |||
169 | source "mm/Kconfig" | 175 | source "mm/Kconfig" |
170 | 176 | ||
171 | endmenu | 177 | endmenu |
172 | 178 | ||
173 | menu "Bus options" | 179 | config HOTPLUG |
174 | 180 | bool "Support for hot-pluggable devices" | |
175 | config 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 | |||
185 | source "drivers/pci/Kconfig" | ||
186 | 185 | ||
187 | config 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 | ||
206 | source "drivers/pcmcia/Kconfig" | 197 | source "drivers/pcmcia/Kconfig" |
207 | 198 | ||
@@ -213,9 +204,8 @@ menu "Executable file formats" | |||
213 | 204 | ||
214 | # only elf supported | 205 | # only elf supported |
215 | config KCORE_ELF | 206 | config 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" | |||
240 | menu "Xtensa initrd options" | 230 | menu "Xtensa initrd options" |
241 | depends on BLK_DEV_INITRD | 231 | depends on BLK_DEV_INITRD |
242 | 232 | ||
243 | config EMBEDDED_RAMDISK | 233 | config EMBEDDED_RAMDISK |
244 | bool "Embed root filesystem ramdisk into the kernel" | 234 | bool "Embed root filesystem ramdisk into the kernel" |
245 | 235 | ||
246 | config EMBEDDED_RAMDISK_IMAGE | 236 | config EMBEDDED_RAMDISK_IMAGE |