Subject: [powerpc:next-test 105/159] arch/powerpc/kernel/syscall_64.c:177:28: error: unused function 'prep_irq_for_enabled_exit'

From: kernel test robot <[email-masked]>
Date: Wed, 10 Feb 2021 19:42:13 +0800

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next-test
head:   5811244192fc4e18c001c69300044c2acf30bd91
commit: 2a06bf3e95cd93e3640d431960181b8e47415f33 [105/159] powerpc/64: context tracking remove _TIF_NOHZ
config: powerpc-randconfig-r022-20210209 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project c9439ca36342fb6013187d0a69aef92736951476)
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=2a06bf3e95cd93e3640d431960181b8e47415f33
        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 2a06bf3e95cd93e3640d431960181b8e47415f33
        # 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/syscall_64.c:177:28: error: unused function 'prep_irq_for_enabled_exit' [-Werror,-Wunused-function]
   static notrace inline bool prep_irq_for_enabled_exit(bool clear_ri, bool irqs_enabled)
                              ^
   1 error generated.

vim +/prep_irq_for_enabled_exit +177 arch/powerpc/kernel/syscall_64.c

   176	
 > 177	static notrace inline bool prep_irq_for_enabled_exit(bool clear_ri, bool irqs_enabled)
   178	{
   179		if (__prep_irq_for_enabled_exit(clear_ri))
   180			return true;
   181	
   182		/*
   183		 * Must replay pending soft-masked interrupts now. Don't just
   184		 * local_irq_enabe(); local_irq_disable(); because if we are
   185		 * returning from an asynchronous interrupt here, another one
   186		 * might hit after irqs are enabled, and it would exit via this
   187		 * same path allowing another to fire, and so on unbounded.
   188		 *
   189		 * If interrupts were enabled when this interrupt exited,
   190		 * indicating a process context (synchronous) interrupt,
   191		 * local_irq_enable/disable can be used, which will enable
   192		 * interrupts rather than keeping them masked (unclear how
   193		 * much benefit this is over just replaying for all cases,
   194		 * because we immediately disable again, so all we're really
   195		 * doing is allowing hard interrupts to execute directly for
   196		 * a very small time, rather than being masked and replayed).
   197		 */
   198		if (irqs_enabled) {
   199			local_irq_enable();
   200			local_irq_disable();
   201		} else {
   202			replay_soft_interrupts();
   203		}
   204	
   205		return false;
   206	}
   207	

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