[PATCH 1/6] powerpc/pseries: Define common functions for RTAS sequence HCALLs

kernel test robot lkp at intel.com
Sun Jan 5 13:53:24 AEDT 2025


Hi Haren,

kernel test robot noticed the following build warnings:

[auto build test WARNING on powerpc/next]
[also build test WARNING on powerpc/fixes linus/master v6.13-rc5 next-20241220]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Haren-Myneni/powerpc-pseries-Define-common-functions-for-RTAS-sequence-HCALLs/20250105-045010
base:   https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
patch link:    https://lore.kernel.org/r/20250104204652.388720-2-haren%40linux.ibm.com
patch subject: [PATCH 1/6] powerpc/pseries: Define common functions for RTAS sequence HCALLs
config: powerpc64-randconfig-002-20250105 (https://download.01.org/0day-ci/archive/20250105/202501051055.oZDoR4fH-lkp@intel.com/config)
compiler: clang version 20.0.0git (https://github.com/llvm/llvm-project 096551537b2a747a3387726ca618ceeb3950e9bc)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250105/202501051055.oZDoR4fH-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp at intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202501051055.oZDoR4fH-lkp@intel.com/

All warnings (new ones prefixed by >>):

>> arch/powerpc/platforms/pseries/papr-vpd.c:141: warning: Function parameter or struct member 'param' not described in 'vpd_sequence_begin'
>> arch/powerpc/platforms/pseries/papr-vpd.c:141: warning: Excess function parameter 'loc_code' description in 'vpd_sequence_begin'


vim +141 arch/powerpc/platforms/pseries/papr-vpd.c

514f6ff4369a30 Nathan Lynch 2023-12-12  121  
514f6ff4369a30 Nathan Lynch 2023-12-12  122  /*
514f6ff4369a30 Nathan Lynch 2023-12-12  123   * Internal VPD sequence APIs. A VPD sequence is a series of calls to
514f6ff4369a30 Nathan Lynch 2023-12-12  124   * ibm,get-vpd for a given location code. The sequence ends when an
514f6ff4369a30 Nathan Lynch 2023-12-12  125   * error is encountered or all VPD for the location code has been
514f6ff4369a30 Nathan Lynch 2023-12-12  126   * returned.
514f6ff4369a30 Nathan Lynch 2023-12-12  127   */
514f6ff4369a30 Nathan Lynch 2023-12-12  128  
514f6ff4369a30 Nathan Lynch 2023-12-12  129  /**
514f6ff4369a30 Nathan Lynch 2023-12-12  130   * vpd_sequence_begin() - Begin a VPD retrieval sequence.
514f6ff4369a30 Nathan Lynch 2023-12-12  131   * @seq:      Uninitialized sequence state.
514f6ff4369a30 Nathan Lynch 2023-12-12  132   * @loc_code: Location code that defines the scope of the VPD to return.
514f6ff4369a30 Nathan Lynch 2023-12-12  133   *
514f6ff4369a30 Nathan Lynch 2023-12-12  134   * Initializes @seq with the resources necessary to carry out a VPD
514f6ff4369a30 Nathan Lynch 2023-12-12  135   * sequence. Callers must pass @seq to vpd_sequence_end() regardless
514f6ff4369a30 Nathan Lynch 2023-12-12  136   * of whether the sequence succeeds.
514f6ff4369a30 Nathan Lynch 2023-12-12  137   *
514f6ff4369a30 Nathan Lynch 2023-12-12  138   * Context: May sleep.
514f6ff4369a30 Nathan Lynch 2023-12-12  139   */
5d8b0014124124 Haren Myneni 2025-01-04  140  static void vpd_sequence_begin(struct papr_rtas_sequence *seq, void *param)
514f6ff4369a30 Nathan Lynch 2023-12-12 @141  {
5d8b0014124124 Haren Myneni 2025-01-04  142  	struct rtas_ibm_get_vpd_params *vpd_params;
514f6ff4369a30 Nathan Lynch 2023-12-12  143  	/*
514f6ff4369a30 Nathan Lynch 2023-12-12  144  	 * Use a static data structure for the location code passed to
514f6ff4369a30 Nathan Lynch 2023-12-12  145  	 * RTAS to ensure it's in the RMA and avoid a separate work
514f6ff4369a30 Nathan Lynch 2023-12-12  146  	 * area allocation. Guarded by the function lock.
514f6ff4369a30 Nathan Lynch 2023-12-12  147  	 */
514f6ff4369a30 Nathan Lynch 2023-12-12  148  	static struct papr_location_code static_loc_code;
514f6ff4369a30 Nathan Lynch 2023-12-12  149  
514f6ff4369a30 Nathan Lynch 2023-12-12  150  	/*
514f6ff4369a30 Nathan Lynch 2023-12-12  151  	 * We could allocate the work area before acquiring the
514f6ff4369a30 Nathan Lynch 2023-12-12  152  	 * function lock, but that would allow concurrent requests to
514f6ff4369a30 Nathan Lynch 2023-12-12  153  	 * exhaust the limited work area pool for no benefit. So
514f6ff4369a30 Nathan Lynch 2023-12-12  154  	 * allocate the work area under the lock.
514f6ff4369a30 Nathan Lynch 2023-12-12  155  	 */
514f6ff4369a30 Nathan Lynch 2023-12-12  156  	mutex_lock(&rtas_ibm_get_vpd_lock);
5d8b0014124124 Haren Myneni 2025-01-04  157  	static_loc_code = *(struct papr_location_code *)param;
5d8b0014124124 Haren Myneni 2025-01-04  158  	vpd_params =  (struct rtas_ibm_get_vpd_params *)seq->params;
5d8b0014124124 Haren Myneni 2025-01-04  159  	vpd_params->work_area = rtas_work_area_alloc(SZ_4K);
5d8b0014124124 Haren Myneni 2025-01-04  160  	vpd_params->loc_code = &static_loc_code;
5d8b0014124124 Haren Myneni 2025-01-04  161  	vpd_params->sequence = 1;
5d8b0014124124 Haren Myneni 2025-01-04  162  	vpd_params->status = 0;
514f6ff4369a30 Nathan Lynch 2023-12-12  163  }
514f6ff4369a30 Nathan Lynch 2023-12-12  164  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki


More information about the Linuxppc-dev mailing list