aboutsummaryrefslogtreecommitdiffstats
path: root/init/calibrate.c
diff options
context:
space:
mode:
authorPaul Gortmaker <paul.gortmaker@windriver.com>2013-06-19 14:53:51 -0400
committerPaul Gortmaker <paul.gortmaker@windriver.com>2013-07-14 19:36:59 -0400
commit0db0628d90125193280eabb501c94feaf48fa9ab (patch)
tree0e0ef0c4eac101d25a3bd125c4a9200ac4d294c0 /init/calibrate.c
parent49fb4c6290c70c418a5c25eee996d6b55ea132d6 (diff)
kernel: delete __cpuinit usage from all core kernel files
The __cpuinit type of throwaway sections might have made sense some time ago when RAM was more constrained, but now the savings do not offset the cost and complications. For example, the fix in commit 5e427ec2d0 ("x86: Fix bit corruption at CPU resume time") is a good example of the nasty type of bugs that can be created with improper use of the various __init prefixes. After a discussion on LKML[1] it was decided that cpuinit should go the way of devinit and be phased out. Once all the users are gone, we can then finally remove the macros themselves from linux/init.h. This removes all the uses of the __cpuinit macros from C files in the core kernel directories (kernel, init, lib, mm, and include) that don't really have a specific maintainer. [1] https://lkml.org/lkml/2013/5/20/589 Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Diffstat (limited to 'init/calibrate.c')
-rw-r--r--init/calibrate.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/init/calibrate.c b/init/calibrate.c
index fda0a7b0f06c..520702db9acc 100644
--- a/init/calibrate.c
+++ b/init/calibrate.c
@@ -31,7 +31,7 @@ __setup("lpj=", lpj_setup);
31#define DELAY_CALIBRATION_TICKS ((HZ < 100) ? 1 : (HZ/100)) 31#define DELAY_CALIBRATION_TICKS ((HZ < 100) ? 1 : (HZ/100))
32#define MAX_DIRECT_CALIBRATION_RETRIES 5 32#define MAX_DIRECT_CALIBRATION_RETRIES 5
33 33
34static unsigned long __cpuinit calibrate_delay_direct(void) 34static unsigned long calibrate_delay_direct(void)
35{ 35{
36 unsigned long pre_start, start, post_start; 36 unsigned long pre_start, start, post_start;
37 unsigned long pre_end, end, post_end; 37 unsigned long pre_end, end, post_end;
@@ -166,7 +166,10 @@ static unsigned long __cpuinit calibrate_delay_direct(void)
166 return 0; 166 return 0;
167} 167}
168#else 168#else
169static unsigned long __cpuinit calibrate_delay_direct(void) {return 0;} 169static unsigned long calibrate_delay_direct(void)
170{
171 return 0;
172}
170#endif 173#endif
171 174
172/* 175/*
@@ -180,7 +183,7 @@ static unsigned long __cpuinit calibrate_delay_direct(void) {return 0;}
180 */ 183 */
181#define LPS_PREC 8 184#define LPS_PREC 8
182 185
183static unsigned long __cpuinit calibrate_delay_converge(void) 186static unsigned long calibrate_delay_converge(void)
184{ 187{
185 /* First stage - slowly accelerate to find initial bounds */ 188 /* First stage - slowly accelerate to find initial bounds */
186 unsigned long lpj, lpj_base, ticks, loopadd, loopadd_base, chop_limit; 189 unsigned long lpj, lpj_base, ticks, loopadd, loopadd_base, chop_limit;
@@ -254,12 +257,12 @@ static DEFINE_PER_CPU(unsigned long, cpu_loops_per_jiffy) = { 0 };
254 * Architectures should override this function if a faster calibration 257 * Architectures should override this function if a faster calibration
255 * method is available. 258 * method is available.
256 */ 259 */
257unsigned long __attribute__((weak)) __cpuinit calibrate_delay_is_known(void) 260unsigned long __attribute__((weak)) calibrate_delay_is_known(void)
258{ 261{
259 return 0; 262 return 0;
260} 263}
261 264
262void __cpuinit calibrate_delay(void) 265void calibrate_delay(void)
263{ 266{
264 unsigned long lpj; 267 unsigned long lpj;
265 static bool printed; 268 static bool printed;