On 22-10-19, 17:09, Nathan Chancellor wrote: > When building with Clang + -Wtautological-pointer-compare: > > drivers/cpufreq/s3c64xx-cpufreq.c:152:6: warning: comparison of array > 's3c64xx_freq_table' equal to a null pointer is always false > [-Wtautological-pointer-compare] > if (s3c64xx_freq_table == NULL) { > ^~~~~~~~~~~~~~~~~~ ~~~~ > 1 warning generated. > > The definition of s3c64xx_freq_table is surrounded by an ifdef > directive for CONFIG_CPU_S3C6410, which is always true for this driver > because it depends on it in drivers/cpufreq/Kconfig.arm (and if it > weren't, there would be a build error because s3c64xx_freq_table would > not be a defined symbol). > > Resolve this warning by removing the unnecessary NULL check because it > is always false as Clang notes. While we are at it, remove the > unnecessary ifdef conditional because it is always true. > > Fixes: b3748ddd8056 ("[ARM] S3C64XX: Initial support for DVFS") +broonie, who wrote this patch to see his views on why he kept it like this. > Link: https://github.com/ClangBuiltLinux/linux/issues/748 > Signed-off-by: Nathan Chancellor <natechancellor@xxxxxxxxx> > --- > drivers/cpufreq/s3c64xx-cpufreq.c | 7 ------- > 1 file changed, 7 deletions(-) > > diff --git a/drivers/cpufreq/s3c64xx-cpufreq.c b/drivers/cpufreq/s3c64xx-cpufreq.c > index af0c00dabb22..c6bdfc308e99 100644 > --- a/drivers/cpufreq/s3c64xx-cpufreq.c > +++ b/drivers/cpufreq/s3c64xx-cpufreq.c > @@ -19,7 +19,6 @@ > static struct regulator *vddarm; > static unsigned long regulator_latency; > > -#ifdef CONFIG_CPU_S3C6410 > struct s3c64xx_dvfs { > unsigned int vddarm_min; > unsigned int vddarm_max; > @@ -48,7 +47,6 @@ static struct cpufreq_frequency_table s3c64xx_freq_table[] = { > { 0, 4, 800000 }, > { 0, 0, CPUFREQ_TABLE_END }, > }; > -#endif > > static int s3c64xx_cpufreq_set_target(struct cpufreq_policy *policy, > unsigned int index) > @@ -149,11 +147,6 @@ static int s3c64xx_cpufreq_driver_init(struct cpufreq_policy *policy) > if (policy->cpu != 0) > return -EINVAL; > > - if (s3c64xx_freq_table == NULL) { > - pr_err("No frequency information for this CPU\n"); > - return -ENODEV; > - } > - > policy->clk = clk_get(NULL, "armclk"); > if (IS_ERR(policy->clk)) { > pr_err("Unable to obtain ARMCLK: %ld\n", > -- > 2.23.0 -- viresh