[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202207221331.FOo1C9qW-lkp@intel.com>
Date: Fri, 22 Jul 2022 14:07:14 +0800
From: kernel test robot <lkp@...el.com>
To: Maximilian Luz <luzmaximilian@...il.com>
Cc: llvm@...ts.linux.dev, kbuild-all@...ts.01.org,
linux-kernel@...r.kernel.org, Steev Klimaszewski <steev@...i.org>
Subject: [steev:linux-5.19.0-rc7+thinkpad-x13s 117/122]
drivers/firmware/qcom_scm.c:176: warning: expecting prototype for
qcom_scm_call(). Prototype was for __qcom_scm_call() instead
tree: https://github.com/steev/linux linux-5.19.0-rc7+thinkpad-x13s
head: 5c9f7a9316d17912ed92e6d6b6b1f89561270896
commit: 67a79524f0074c3a9abd9c489521ff0647b72192 [117/122] firmware: qcom_scm: Export SCM call functions
config: hexagon-randconfig-r023-20220721 (https://download.01.org/0day-ci/archive/20220722/202207221331.FOo1C9qW-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 72686d68c137551cce816416190a18d45b4d4e2a)
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/steev/linux/commit/67a79524f0074c3a9abd9c489521ff0647b72192
git remote add steev https://github.com/steev/linux
git fetch --no-tags steev linux-5.19.0-rc7+thinkpad-x13s
git checkout 67a79524f0074c3a9abd9c489521ff0647b72192
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=hexagon SHELL=/bin/bash drivers/firmware/
If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@...el.com>
All warnings (new ones prefixed by >>):
>> drivers/firmware/qcom_scm.c:176: warning: expecting prototype for qcom_scm_call(). Prototype was for __qcom_scm_call() instead
>> drivers/firmware/qcom_scm.c:211: warning: expecting prototype for qcom_scm_call_atomic(). Prototype was for __qcom_scm_call_atomic() instead
vim +176 drivers/firmware/qcom_scm.c
9a434cee773ae1 Elliot Berman 2020-01-07 164
9a434cee773ae1 Elliot Berman 2020-01-07 165 /**
9a434cee773ae1 Elliot Berman 2020-01-07 166 * qcom_scm_call() - Invoke a syscall in the secure world
9a434cee773ae1 Elliot Berman 2020-01-07 167 * @dev: device
9a434cee773ae1 Elliot Berman 2020-01-07 168 * @desc: Descriptor structure containing arguments and return values
a5d32f6d2e59a6 Yang Li 2021-12-30 169 * @res: Structure containing results from SMC/HVC call
9a434cee773ae1 Elliot Berman 2020-01-07 170 *
9a434cee773ae1 Elliot Berman 2020-01-07 171 * Sends a command to the SCM and waits for the command to finish processing.
9a434cee773ae1 Elliot Berman 2020-01-07 172 * This should *only* be called in pre-emptible context.
9a434cee773ae1 Elliot Berman 2020-01-07 173 */
67a79524f0074c Maximilian Luz 2022-07-19 174 static int __qcom_scm_call(struct device *dev, const struct qcom_scm_desc *desc,
9a434cee773ae1 Elliot Berman 2020-01-07 175 struct qcom_scm_res *res)
9a434cee773ae1 Elliot Berman 2020-01-07 @176 {
9a434cee773ae1 Elliot Berman 2020-01-07 177 might_sleep();
9a434cee773ae1 Elliot Berman 2020-01-07 178 switch (__get_convention()) {
9a434cee773ae1 Elliot Berman 2020-01-07 179 case SMC_CONVENTION_ARM_32:
9a434cee773ae1 Elliot Berman 2020-01-07 180 case SMC_CONVENTION_ARM_64:
9a434cee773ae1 Elliot Berman 2020-01-07 181 return scm_smc_call(dev, desc, res, false);
9a434cee773ae1 Elliot Berman 2020-01-07 182 case SMC_CONVENTION_LEGACY:
9a434cee773ae1 Elliot Berman 2020-01-07 183 return scm_legacy_call(dev, desc, res);
9a434cee773ae1 Elliot Berman 2020-01-07 184 default:
9a434cee773ae1 Elliot Berman 2020-01-07 185 pr_err("Unknown current SCM calling convention.\n");
9a434cee773ae1 Elliot Berman 2020-01-07 186 return -EINVAL;
9a434cee773ae1 Elliot Berman 2020-01-07 187 }
9a434cee773ae1 Elliot Berman 2020-01-07 188 }
9a434cee773ae1 Elliot Berman 2020-01-07 189
67a79524f0074c Maximilian Luz 2022-07-19 190 int qcom_scm_call(const struct qcom_scm_desc *desc, struct qcom_scm_res *res)
67a79524f0074c Maximilian Luz 2022-07-19 191 {
67a79524f0074c Maximilian Luz 2022-07-19 192 if (!__scm)
67a79524f0074c Maximilian Luz 2022-07-19 193 return -ENODEV;
67a79524f0074c Maximilian Luz 2022-07-19 194
67a79524f0074c Maximilian Luz 2022-07-19 195 return __qcom_scm_call(__scm->dev, desc, res);
67a79524f0074c Maximilian Luz 2022-07-19 196 }
67a79524f0074c Maximilian Luz 2022-07-19 197 EXPORT_SYMBOL_GPL(qcom_scm_call);
67a79524f0074c Maximilian Luz 2022-07-19 198
9a434cee773ae1 Elliot Berman 2020-01-07 199 /**
9a434cee773ae1 Elliot Berman 2020-01-07 200 * qcom_scm_call_atomic() - atomic variation of qcom_scm_call()
9a434cee773ae1 Elliot Berman 2020-01-07 201 * @dev: device
9a434cee773ae1 Elliot Berman 2020-01-07 202 * @desc: Descriptor structure containing arguments and return values
9a434cee773ae1 Elliot Berman 2020-01-07 203 * @res: Structure containing results from SMC/HVC call
9a434cee773ae1 Elliot Berman 2020-01-07 204 *
9a434cee773ae1 Elliot Berman 2020-01-07 205 * Sends a command to the SCM and waits for the command to finish processing.
9a434cee773ae1 Elliot Berman 2020-01-07 206 * This can be called in atomic context.
9a434cee773ae1 Elliot Berman 2020-01-07 207 */
67a79524f0074c Maximilian Luz 2022-07-19 208 static int __qcom_scm_call_atomic(struct device *dev,
9a434cee773ae1 Elliot Berman 2020-01-07 209 const struct qcom_scm_desc *desc,
9a434cee773ae1 Elliot Berman 2020-01-07 210 struct qcom_scm_res *res)
9a434cee773ae1 Elliot Berman 2020-01-07 @211 {
9a434cee773ae1 Elliot Berman 2020-01-07 212 switch (__get_convention()) {
9a434cee773ae1 Elliot Berman 2020-01-07 213 case SMC_CONVENTION_ARM_32:
9a434cee773ae1 Elliot Berman 2020-01-07 214 case SMC_CONVENTION_ARM_64:
9a434cee773ae1 Elliot Berman 2020-01-07 215 return scm_smc_call(dev, desc, res, true);
9a434cee773ae1 Elliot Berman 2020-01-07 216 case SMC_CONVENTION_LEGACY:
9a434cee773ae1 Elliot Berman 2020-01-07 217 return scm_legacy_call_atomic(dev, desc, res);
9a434cee773ae1 Elliot Berman 2020-01-07 218 default:
9a434cee773ae1 Elliot Berman 2020-01-07 219 pr_err("Unknown current SCM calling convention.\n");
9a434cee773ae1 Elliot Berman 2020-01-07 220 return -EINVAL;
9a434cee773ae1 Elliot Berman 2020-01-07 221 }
9a434cee773ae1 Elliot Berman 2020-01-07 222 }
9a434cee773ae1 Elliot Berman 2020-01-07 223
:::::: The code at line 176 was first introduced by commit
:::::: 9a434cee773ae15309ac225f27551b5492618e4a firmware: qcom_scm: Dynamically support SMCCC and legacy conventions
:::::: TO: Elliot Berman <eberman@...eaurora.org>
:::::: CC: Bjorn Andersson <bjorn.andersson@...aro.org>
--
0-DAY CI Kernel Test Service
https://01.org/lkp
Powered by blists - more mailing lists