Commit 35f9cd083b350ad4eb3b5f159c7738fa9ddff40a

Authored by Johannes Weiner
Committed by Chris Zankel
1 parent 4f682fbb27

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>

Showing 1 changed file with 78 additions and 88 deletions Side-by-side Diff

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