cpufreq: Fix build error on some platforms that use cpufreq_for_each_*
On platforms that use cpufreq_for_each_* macros, build fails if
CONFIG_CPU_FREQ=n, e.g. ARM/shmobile/koelsch/non-multiplatform:
drivers/built-in.o: In function `clk_round_parent':
clkdev.c:(.text+0xcf168): undefined reference to `cpufreq_next_valid'
drivers/built-in.o: In function `clk_rate_table_find':
clkdev.c:(.text+0xcf820): undefined reference to `cpufreq_next_valid'
make[3]: *** [vmlinux] Error 1
Fix this making cpufreq_next_valid function inline and move it to
cpufreq.h.
Fixes: 27e289dce2 (cpufreq: Introduce macros for cpufreq_frequency_table iteration)
Reported-and-tested-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Stratos Karafotis <stratosk@semaphore.gr>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
	
	
This commit is contained in:
		
					parent
					
						
							
								37c1479487
							
						
					
				
			
			
				commit
				
					
						5eeaf1f189
					
				
			
		
					 2 changed files with 9 additions and 13 deletions
				
			
		|  | @ -237,17 +237,6 @@ void cpufreq_cpu_put(struct cpufreq_policy *policy) | |||
| } | ||||
| EXPORT_SYMBOL_GPL(cpufreq_cpu_put); | ||||
| 
 | ||||
| bool cpufreq_next_valid(struct cpufreq_frequency_table **pos) | ||||
| { | ||||
| 	while ((*pos)->frequency != CPUFREQ_TABLE_END) | ||||
| 		if ((*pos)->frequency != CPUFREQ_ENTRY_INVALID) | ||||
| 			return true; | ||||
| 		else | ||||
| 			(*pos)++; | ||||
| 	return false; | ||||
| } | ||||
| EXPORT_SYMBOL_GPL(cpufreq_next_valid); | ||||
| 
 | ||||
| /*********************************************************************
 | ||||
|  *            EXTERNALLY AFFECTING FREQUENCY CHANGES                 * | ||||
|  *********************************************************************/ | ||||
|  |  | |||
|  | @ -489,8 +489,15 @@ static inline void dev_pm_opp_free_cpufreq_table(struct device *dev, | |||
| } | ||||
| #endif | ||||
| 
 | ||||
| 
 | ||||
| bool cpufreq_next_valid(struct cpufreq_frequency_table **pos); | ||||
| static inline bool cpufreq_next_valid(struct cpufreq_frequency_table **pos) | ||||
| { | ||||
| 	while ((*pos)->frequency != CPUFREQ_TABLE_END) | ||||
| 		if ((*pos)->frequency != CPUFREQ_ENTRY_INVALID) | ||||
| 			return true; | ||||
| 		else | ||||
| 			(*pos)++; | ||||
| 	return false; | ||||
| } | ||||
| 
 | ||||
| /*
 | ||||
|  * cpufreq_for_each_entry -	iterate over a cpufreq_frequency_table | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Stratos Karafotis
				Stratos Karafotis