[asahilinux:audio/testing 112/167] drivers/cpufreq/apple-soc-cpufreq.c:53:12: error: implicit declaration of function 'readq_relaxed' is invalid in C99

From: kernel test robot
Date: Sat Mar 12 2022 - 19:39:50 EST


tree: https://github.com/AsahiLinux/linux audio/testing
head: 878d09efcd811ce17adb15d9ee32a5b7130320b5
commit: 97012c133dff8f4ad7de4c8d34cf327567c8e3d8 [112/167] cpufreq: apple-soc: Add new driver to control Apple SoC CPU P-states
config: arm-buildonly-randconfig-r001-20220313 (https://download.01.org/0day-ci/archive/20220313/202203130855.uw6cQQRl-lkp@xxxxxxxxx/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 43f668b98e8d87290fc6bbf5ed13c3ab542e3497)
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
# install arm cross compiling tool for clang build
# apt-get install binutils-arm-linux-gnueabi
# https://github.com/AsahiLinux/linux/commit/97012c133dff8f4ad7de4c8d34cf327567c8e3d8
git remote add asahilinux https://github.com/AsahiLinux/linux
git fetch --no-tags asahilinux audio/testing
git checkout 97012c133dff8f4ad7de4c8d34cf327567c8e3d8
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 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:53:12: error: implicit declaration of function 'readq_relaxed' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
u64 reg = readq_relaxed(priv->reg_base + APPLE_CLUSTER_PSTATE);
^
>> drivers/cpufreq/apple-soc-cpufreq.c:71:6: error: implicit declaration of function 'readq' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
if (readq_poll_timeout_atomic(priv->reg_base + APPLE_CLUSTER_PSTATE, reg,
^
include/linux/iopoll.h:165:28: note: expanded from macro 'readq_poll_timeout_atomic'
readx_poll_timeout_atomic(readq, addr, val, cond, delay_us, timeout_us)
^
>> drivers/cpufreq/apple-soc-cpufreq.c:82:2: error: implicit declaration of function 'writeq_relaxed' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
writeq_relaxed(reg, priv->reg_base + APPLE_CLUSTER_PSTATE);
^
3 errors generated.


vim +/readq_relaxed +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_atomic(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
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx