[asahilinux:bits/130-cpufreq 1/1] drivers/cpufreq/apple-soc-cpufreq.c:53:19: error: implicit declaration of function 'readq_relaxed'; did you mean 'readw_relaxed'?

From: kernel test robot
Date: Mon Feb 21 2022 - 18:41:53 EST


tree: https://github.com/AsahiLinux/linux bits/130-cpufreq
head: d82b98403e6be88a172c566acc46f582ebd92420
commit: d82b98403e6be88a172c566acc46f582ebd92420 [1/1] cpufreq: apple-soc: Add new driver to control Apple SoC CPU P-states
config: arm-allmodconfig (https://download.01.org/0day-ci/archive/20220222/202202220731.UuKFmflY-lkp@xxxxxxxxx/config)
compiler: arm-linux-gnueabi-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/AsahiLinux/linux/commit/d82b98403e6be88a172c566acc46f582ebd92420
git remote add asahilinux https://github.com/AsahiLinux/linux
git fetch --no-tags asahilinux bits/130-cpufreq
git checkout d82b98403e6be88a172c566acc46f582ebd92420
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arm SHELL=/bin/bash drivers/cpufreq/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

drivers/cpufreq/apple-soc-cpufreq.c: In function 'apple_soc_cpufreq_get_rate':
>> drivers/cpufreq/apple-soc-cpufreq.c:53:19: error: implicit declaration of function 'readq_relaxed'; did you mean 'readw_relaxed'? [-Werror=implicit-function-declaration]
53 | u64 reg = readq_relaxed(priv->reg_base + APPLE_CLUSTER_PSTATE);
| ^~~~~~~~~~~~~
| readw_relaxed
In file included from drivers/cpufreq/apple-soc-cpufreq.c:20:
drivers/cpufreq/apple-soc-cpufreq.c: In function 'apple_soc_cpufreq_set_target':
>> include/linux/iopoll.h:162:28: error: implicit declaration of function 'readq'; did you mean 'readl'? [-Werror=implicit-function-declaration]
162 | readx_poll_timeout(readq, addr, val, cond, delay_us, timeout_us)
| ^~~~~
include/linux/iopoll.h:46:25: note: in definition of macro 'read_poll_timeout'
46 | (val) = op(args); \
| ^~
include/linux/iopoll.h:162:9: note: in expansion of macro 'readx_poll_timeout'
162 | readx_poll_timeout(readq, addr, val, cond, delay_us, timeout_us)
| ^~~~~~~~~~~~~~~~~~
drivers/cpufreq/apple-soc-cpufreq.c:71:13: note: in expansion of macro 'readq_poll_timeout'
71 | if (readq_poll_timeout(priv->reg_base + APPLE_CLUSTER_PSTATE, reg,
| ^~~~~~~~~~~~~~~~~~
>> drivers/cpufreq/apple-soc-cpufreq.c:82:9: error: implicit declaration of function 'writeq_relaxed'; did you mean 'writel_relaxed'? [-Werror=implicit-function-declaration]
82 | writeq_relaxed(reg, priv->reg_base + APPLE_CLUSTER_PSTATE);
| ^~~~~~~~~~~~~~
| writel_relaxed
cc1: some warnings being treated as errors


vim +53 drivers/cpufreq/apple-soc-cpufreq.c

48
49 static unsigned int apple_soc_cpufreq_get_rate(unsigned int cpu)
50 {
51 struct cpufreq_policy *policy = cpufreq_cpu_get_raw(cpu);
52 struct apple_cpu_priv *priv = policy->driver_data;
> 53 u64 reg = readq_relaxed(priv->reg_base + APPLE_CLUSTER_PSTATE);
54 unsigned int pstate = FIELD_GET(APPLE_CLUSTER_PSTATE_DESIRED1, reg);
55 unsigned int i;
56
57 for (i = 0; policy->freq_table[i].frequency != CPUFREQ_TABLE_END; i++)
58 if (policy->freq_table[i].driver_data == pstate)
59 return policy->freq_table[i].frequency;
60
61 dev_err(priv->cpu_dev, "could not find frequency for pstate %d\n", pstate);
62 return 0;
63 }
64
65 static int apple_soc_cpufreq_set_target(struct cpufreq_policy *policy, unsigned int index)
66 {
67 struct apple_cpu_priv *priv = policy->driver_data;
68 unsigned int pstate = policy->freq_table[index].driver_data;
69 u64 reg;
70
71 if (readq_poll_timeout(priv->reg_base + APPLE_CLUSTER_PSTATE, reg,
72 !(reg & APPLE_CLUSTER_PSTATE_BUSY), 2,
73 APPLE_CLUSTER_SWITCH_TIMEOUT)) {
74 return -EIO;
75 }
76
77 reg &= ~(APPLE_CLUSTER_PSTATE_DESIRED1 | APPLE_CLUSTER_PSTATE_DESIRED2);
78 reg |= FIELD_PREP(APPLE_CLUSTER_PSTATE_DESIRED1, pstate);
79 reg |= FIELD_PREP(APPLE_CLUSTER_PSTATE_DESIRED2, pstate);
80 reg |= APPLE_CLUSTER_PSTATE_SET;
81
> 82 writeq_relaxed(reg, priv->reg_base + APPLE_CLUSTER_PSTATE);
83
84 return 0;
85 }
86

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx