public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [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
@ 2022-07-22  3:34 kernel test robot
  0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2022-07-22  3:34 UTC (permalink / raw)
  To: Maximilian Luz; +Cc: kbuild-all, linux-kernel, Steev Klimaszewski

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: loongarch-allyesconfig (https://download.01.org/0day-ci/archive/20220722/202207221110.7CMk2Way-lkp@intel.com/config)
compiler: loongarch64-linux-gcc (GCC) 12.1.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/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=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=loongarch SHELL=/bin/bash drivers/clk/qcom/ 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

9a434cee773ae15 Elliot Berman  2020-01-07  164  
9a434cee773ae15 Elliot Berman  2020-01-07  165  /**
9a434cee773ae15 Elliot Berman  2020-01-07  166   * qcom_scm_call() - Invoke a syscall in the secure world
9a434cee773ae15 Elliot Berman  2020-01-07  167   * @dev:	device
9a434cee773ae15 Elliot Berman  2020-01-07  168   * @desc:	Descriptor structure containing arguments and return values
a5d32f6d2e59a65 Yang Li        2021-12-30  169   * @res:        Structure containing results from SMC/HVC call
9a434cee773ae15 Elliot Berman  2020-01-07  170   *
9a434cee773ae15 Elliot Berman  2020-01-07  171   * Sends a command to the SCM and waits for the command to finish processing.
9a434cee773ae15 Elliot Berman  2020-01-07  172   * This should *only* be called in pre-emptible context.
9a434cee773ae15 Elliot Berman  2020-01-07  173   */
67a79524f0074c3 Maximilian Luz 2022-07-19  174  static int __qcom_scm_call(struct device *dev, const struct qcom_scm_desc *desc,
9a434cee773ae15 Elliot Berman  2020-01-07  175  			   struct qcom_scm_res *res)
9a434cee773ae15 Elliot Berman  2020-01-07 @176  {
9a434cee773ae15 Elliot Berman  2020-01-07  177  	might_sleep();
9a434cee773ae15 Elliot Berman  2020-01-07  178  	switch (__get_convention()) {
9a434cee773ae15 Elliot Berman  2020-01-07  179  	case SMC_CONVENTION_ARM_32:
9a434cee773ae15 Elliot Berman  2020-01-07  180  	case SMC_CONVENTION_ARM_64:
9a434cee773ae15 Elliot Berman  2020-01-07  181  		return scm_smc_call(dev, desc, res, false);
9a434cee773ae15 Elliot Berman  2020-01-07  182  	case SMC_CONVENTION_LEGACY:
9a434cee773ae15 Elliot Berman  2020-01-07  183  		return scm_legacy_call(dev, desc, res);
9a434cee773ae15 Elliot Berman  2020-01-07  184  	default:
9a434cee773ae15 Elliot Berman  2020-01-07  185  		pr_err("Unknown current SCM calling convention.\n");
9a434cee773ae15 Elliot Berman  2020-01-07  186  		return -EINVAL;
9a434cee773ae15 Elliot Berman  2020-01-07  187  	}
9a434cee773ae15 Elliot Berman  2020-01-07  188  }
9a434cee773ae15 Elliot Berman  2020-01-07  189  
67a79524f0074c3 Maximilian Luz 2022-07-19  190  int qcom_scm_call(const struct qcom_scm_desc *desc, struct qcom_scm_res *res)
67a79524f0074c3 Maximilian Luz 2022-07-19  191  {
67a79524f0074c3 Maximilian Luz 2022-07-19  192  	if (!__scm)
67a79524f0074c3 Maximilian Luz 2022-07-19  193  		return -ENODEV;
67a79524f0074c3 Maximilian Luz 2022-07-19  194  
67a79524f0074c3 Maximilian Luz 2022-07-19  195  	return __qcom_scm_call(__scm->dev, desc, res);
67a79524f0074c3 Maximilian Luz 2022-07-19  196  }
67a79524f0074c3 Maximilian Luz 2022-07-19  197  EXPORT_SYMBOL_GPL(qcom_scm_call);
67a79524f0074c3 Maximilian Luz 2022-07-19  198  
9a434cee773ae15 Elliot Berman  2020-01-07  199  /**
9a434cee773ae15 Elliot Berman  2020-01-07  200   * qcom_scm_call_atomic() - atomic variation of qcom_scm_call()
9a434cee773ae15 Elliot Berman  2020-01-07  201   * @dev:	device
9a434cee773ae15 Elliot Berman  2020-01-07  202   * @desc:	Descriptor structure containing arguments and return values
9a434cee773ae15 Elliot Berman  2020-01-07  203   * @res:	Structure containing results from SMC/HVC call
9a434cee773ae15 Elliot Berman  2020-01-07  204   *
9a434cee773ae15 Elliot Berman  2020-01-07  205   * Sends a command to the SCM and waits for the command to finish processing.
9a434cee773ae15 Elliot Berman  2020-01-07  206   * This can be called in atomic context.
9a434cee773ae15 Elliot Berman  2020-01-07  207   */
67a79524f0074c3 Maximilian Luz 2022-07-19  208  static int __qcom_scm_call_atomic(struct device *dev,
9a434cee773ae15 Elliot Berman  2020-01-07  209  				  const struct qcom_scm_desc *desc,
9a434cee773ae15 Elliot Berman  2020-01-07  210  				  struct qcom_scm_res *res)
9a434cee773ae15 Elliot Berman  2020-01-07 @211  {
9a434cee773ae15 Elliot Berman  2020-01-07  212  	switch (__get_convention()) {
9a434cee773ae15 Elliot Berman  2020-01-07  213  	case SMC_CONVENTION_ARM_32:
9a434cee773ae15 Elliot Berman  2020-01-07  214  	case SMC_CONVENTION_ARM_64:
9a434cee773ae15 Elliot Berman  2020-01-07  215  		return scm_smc_call(dev, desc, res, true);
9a434cee773ae15 Elliot Berman  2020-01-07  216  	case SMC_CONVENTION_LEGACY:
9a434cee773ae15 Elliot Berman  2020-01-07  217  		return scm_legacy_call_atomic(dev, desc, res);
9a434cee773ae15 Elliot Berman  2020-01-07  218  	default:
9a434cee773ae15 Elliot Berman  2020-01-07  219  		pr_err("Unknown current SCM calling convention.\n");
9a434cee773ae15 Elliot Berman  2020-01-07  220  		return -EINVAL;
9a434cee773ae15 Elliot Berman  2020-01-07  221  	}
9a434cee773ae15 Elliot Berman  2020-01-07  222  }
9a434cee773ae15 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

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [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
@ 2022-07-22  6:07 kernel test robot
  0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2022-07-22  6:07 UTC (permalink / raw)
  To: Maximilian Luz; +Cc: llvm, kbuild-all, linux-kernel, Steev Klimaszewski

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-07-22  6:07 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-07-22  3:34 [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 kernel test robot
  -- strict thread matches above, loose matches on Subject: below --
2022-07-22  6:07 kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox