Subject: [powerpc:next-test 192/220] arch/powerpc/kernel/rtas.c:938:21: error: no member named 'rtas_args_reentrant' in 'struct paca_struct'

From: kernel test robot <[email-masked]>
Date: Sat, 5 Dec 2020 04:05:37 +0800

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next-test
head:   4e4ed87981c764498942c52004c620bb8f104eac
commit: e2f67efc6c8654d7aed885e943499f00a29eecdc [192/220] powerpc/rtas: move rtas_call_reentrant() out of pseries guards
config: powerpc-randconfig-r016-20201204 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 32c501dd88b62787d3a5ffda7aabcf4650dbe3cd)
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 powerpc cross compiling tool for clang build
        # apt-get install binutils-powerpc-linux-gnu
        # https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/commit/?id=e2f67efc6c8654d7aed885e943499f00a29eecdc
        git remote add powerpc https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git
        git fetch --no-tags powerpc next-test
        git checkout e2f67efc6c8654d7aed885e943499f00a29eecdc
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=powerpc 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email-masked]>

All errors (new ones prefixed by >>):

>> arch/powerpc/kernel/rtas.c:938:21: error: no member named 'rtas_args_reentrant' in 'struct paca_struct'
           args = local_paca->rtas_args_reentrant;
                  ~~~~~~~~~~  ^
   1 error generated.

vim +938 arch/powerpc/kernel/rtas.c

b664db8e3f976d Leonardo Bras 2020-05-18  906  
b664db8e3f976d Leonardo Bras 2020-05-18  907  /**
b664db8e3f976d Leonardo Bras 2020-05-18  908   * rtas_call_reentrant() - Used for reentrant rtas calls
b664db8e3f976d Leonardo Bras 2020-05-18  909   * @token:	Token for desired reentrant RTAS call
b664db8e3f976d Leonardo Bras 2020-05-18  910   * @nargs:	Number of Input Parameters
b664db8e3f976d Leonardo Bras 2020-05-18  911   * @nret:	Number of Output Parameters
b664db8e3f976d Leonardo Bras 2020-05-18  912   * @outputs:	Array of outputs
b664db8e3f976d Leonardo Bras 2020-05-18  913   * @...:	Inputs for desired RTAS call
b664db8e3f976d Leonardo Bras 2020-05-18  914   *
b664db8e3f976d Leonardo Bras 2020-05-18  915   * According to LoPAR documentation, only "ibm,int-on", "ibm,int-off",
b664db8e3f976d Leonardo Bras 2020-05-18  916   * "ibm,get-xive" and "ibm,set-xive" are currently reentrant.
b664db8e3f976d Leonardo Bras 2020-05-18  917   * Reentrant calls need their own rtas_args buffer, so not using rtas.args, but
b664db8e3f976d Leonardo Bras 2020-05-18  918   * PACA one instead.
b664db8e3f976d Leonardo Bras 2020-05-18  919   *
b664db8e3f976d Leonardo Bras 2020-05-18  920   * Return:	-1 on error,
b664db8e3f976d Leonardo Bras 2020-05-18  921   *		First output value of RTAS call if (nret > 0),
b664db8e3f976d Leonardo Bras 2020-05-18  922   *		0 otherwise,
b664db8e3f976d Leonardo Bras 2020-05-18  923   */
b664db8e3f976d Leonardo Bras 2020-05-18  924  int rtas_call_reentrant(int token, int nargs, int nret, int *outputs, ...)
b664db8e3f976d Leonardo Bras 2020-05-18  925  {
b664db8e3f976d Leonardo Bras 2020-05-18  926  	va_list list;
b664db8e3f976d Leonardo Bras 2020-05-18  927  	struct rtas_args *args;
b664db8e3f976d Leonardo Bras 2020-05-18  928  	unsigned long flags;
b664db8e3f976d Leonardo Bras 2020-05-18  929  	int i, ret = 0;
b664db8e3f976d Leonardo Bras 2020-05-18  930  
b664db8e3f976d Leonardo Bras 2020-05-18  931  	if (!rtas.entry || token == RTAS_UNKNOWN_SERVICE)
b664db8e3f976d Leonardo Bras 2020-05-18  932  		return -1;
b664db8e3f976d Leonardo Bras 2020-05-18  933  
b664db8e3f976d Leonardo Bras 2020-05-18  934  	local_irq_save(flags);
b664db8e3f976d Leonardo Bras 2020-05-18  935  	preempt_disable();
b664db8e3f976d Leonardo Bras 2020-05-18  936  
b664db8e3f976d Leonardo Bras 2020-05-18  937  	/* We use the per-cpu (PACA) rtas args buffer */
b664db8e3f976d Leonardo Bras 2020-05-18 @938  	args = local_paca->rtas_args_reentrant;
b664db8e3f976d Leonardo Bras 2020-05-18  939  
b664db8e3f976d Leonardo Bras 2020-05-18  940  	va_start(list, outputs);
b664db8e3f976d Leonardo Bras 2020-05-18  941  	va_rtas_call_unlocked(args, token, nargs, nret, list);
b664db8e3f976d Leonardo Bras 2020-05-18  942  	va_end(list);
b664db8e3f976d Leonardo Bras 2020-05-18  943  
b664db8e3f976d Leonardo Bras 2020-05-18  944  	if (nret > 1 && outputs)
b664db8e3f976d Leonardo Bras 2020-05-18  945  		for (i = 0; i < nret - 1; ++i)
b664db8e3f976d Leonardo Bras 2020-05-18  946  			outputs[i] = be32_to_cpu(args->rets[i + 1]);
b664db8e3f976d Leonardo Bras 2020-05-18  947  
b664db8e3f976d Leonardo Bras 2020-05-18  948  	if (nret > 0)
b664db8e3f976d Leonardo Bras 2020-05-18  949  		ret = be32_to_cpu(args->rets[0]);
b664db8e3f976d Leonardo Bras 2020-05-18  950  
b664db8e3f976d Leonardo Bras 2020-05-18  951  	local_irq_restore(flags);
b664db8e3f976d Leonardo Bras 2020-05-18  952  	preempt_enable();
b664db8e3f976d Leonardo Bras 2020-05-18  953  
b664db8e3f976d Leonardo Bras 2020-05-18  954  	return ret;
b664db8e3f976d Leonardo Bras 2020-05-18  955  }
b664db8e3f976d Leonardo Bras 2020-05-18  956  

:::::: The code at line 938 was first introduced by commit
:::::: b664db8e3f976d9233cc9ea5e3f8a8c0bcabeb48 powerpc/rtas: Implement reentrant rtas call

:::::: TO: Leonardo Bras <[email-masked]>
:::::: CC: Michael Ellerman <[email-masked]>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email-masked]