Messages in this thread | | | Date | Fri, 22 Jul 2022 14:07:14 +0800 | From | kernel test robot <> | 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@intel.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@codeaurora.org> :::::: CC: Bjorn Andersson <bjorn.andersson@linaro.org>
-- 0-DAY CI Kernel Test Service https://01.org/lkp
| |