[block:for-5.15/block 48/54] mm/page-writeback.c:2036:6: error: redefinition of 'laptop_sync_completion'

From: kernel test robot
Date: Wed Aug 11 2021 - 02:14:20 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-5.15/block
head: 99d26de2f6d79badc80f55b54bd90d4cb9d1ad90
commit: 5ed964f8e54eb3191b8b7b45aeb52672a0c995dc [48/54] mm: hide laptop_mode_wb_timer entirely behind the BDI API
config: hexagon-randconfig-r032-20210810 (attached as .config)
compiler: clang version 12.0.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://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git/commit/?id=5ed964f8e54eb3191b8b7b45aeb52672a0c995dc
git remote add block https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git
git fetch --no-tags block for-5.15/block
git checkout 5ed964f8e54eb3191b8b7b45aeb52672a0c995dc
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross O=build_dir ARCH=hexagon SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

Note: the block/for-5.15/block HEAD 99d26de2f6d79badc80f55b54bd90d4cb9d1ad90 builds fine.
It only hurts bisectibility.

All errors (new ones prefixed by >>):

mm/page-writeback.c:2013:6: warning: no previous prototype for function 'laptop_mode_timer_fn' [-Wmissing-prototypes]
void laptop_mode_timer_fn(struct timer_list *t)
^
mm/page-writeback.c:2013:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void laptop_mode_timer_fn(struct timer_list *t)
^
static
mm/page-writeback.c:2026:6: warning: no previous prototype for function 'laptop_io_completion' [-Wmissing-prototypes]
void laptop_io_completion(struct backing_dev_info *info)
^
mm/page-writeback.c:2026:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void laptop_io_completion(struct backing_dev_info *info)
^
static
>> mm/page-writeback.c:2036:6: error: redefinition of 'laptop_sync_completion'
void laptop_sync_completion(void)
^
include/linux/writeback.h:345:20: note: previous definition is here
static inline void laptop_sync_completion(void) { }
^
2 warnings and 1 error generated.
--
>> mm/backing-dev.c:810:42: error: use of undeclared identifier 'laptop_mode_timer_fn'
timer_setup(&bdi->laptop_mode_wb_timer, laptop_mode_timer_fn, 0);
^
1 error generated.


vim +/laptop_sync_completion +2036 mm/page-writeback.c

^1da177e4c3f41 Linus Torvalds 2005-04-16 2030
^1da177e4c3f41 Linus Torvalds 2005-04-16 2031 /*
^1da177e4c3f41 Linus Torvalds 2005-04-16 2032 * We're in laptop mode and we've just synced. The sync's writes will have
^1da177e4c3f41 Linus Torvalds 2005-04-16 2033 * caused another writeback to be scheduled by laptop_io_completion.
^1da177e4c3f41 Linus Torvalds 2005-04-16 2034 * Nothing needs to be written back anymore, so we unschedule the writeback.
^1da177e4c3f41 Linus Torvalds 2005-04-16 2035 */
^1da177e4c3f41 Linus Torvalds 2005-04-16 @2036 void laptop_sync_completion(void)
^1da177e4c3f41 Linus Torvalds 2005-04-16 2037 {
31373d09da5b7f Matthew Garrett 2010-04-06 2038 struct backing_dev_info *bdi;
31373d09da5b7f Matthew Garrett 2010-04-06 2039
31373d09da5b7f Matthew Garrett 2010-04-06 2040 rcu_read_lock();
31373d09da5b7f Matthew Garrett 2010-04-06 2041
31373d09da5b7f Matthew Garrett 2010-04-06 2042 list_for_each_entry_rcu(bdi, &bdi_list, bdi_list)
31373d09da5b7f Matthew Garrett 2010-04-06 2043 del_timer(&bdi->laptop_mode_wb_timer);
31373d09da5b7f Matthew Garrett 2010-04-06 2044
31373d09da5b7f Matthew Garrett 2010-04-06 2045 rcu_read_unlock();
^1da177e4c3f41 Linus Torvalds 2005-04-16 2046 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 2047

:::::: The code at line 2036 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2

:::::: TO: Linus Torvalds <torvalds@xxxxxxxxxxxxxxx>
:::::: CC: Linus Torvalds <torvalds@xxxxxxxxxxxxxxx>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip