On 2/24/21 4:46 AM, kernel test robot wrote: > Hi Randy, > > FYI, the error/warning still remains. > > tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master > head: 577c283560fe8a81a23a95654c6d13e8412d22f1 > commit: bfa5782b9caa26f93f42ad79804e1f75a1ce9f18 [11942/12503] fbdev: atyfb: add stubs for aty_{ld,st}_lcd() > config: arm64-randconfig-r004-20210223 (attached as .config) > compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project f14a14dd2564703db02f80c00db8ae492b594f77) > 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 arm64 cross compiling tool for clang build > # apt-get install binutils-aarch64-linux-gnu > # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=bfa5782b9caa26f93f42ad79804e1f75a1ce9f18 > git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git > git fetch --no-tags linux-next master > git checkout bfa5782b9caa26f93f42ad79804e1f75a1ce9f18 > # save the attached .config to linux build tree > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64 > > If you fix the issue, kindly add following tag as appropriate > Reported-by: kernel test robot <lkp@xxxxxxxxx> > > All warnings (new ones prefixed by >>): > >>> drivers/video/fbdev/aty/atyfb_base.c:180:6: warning: no previous prototype for function 'aty_st_lcd' [-Wmissing-prototypes] > void aty_st_lcd(int index, u32 val, const struct atyfb_par *par) > ^ > drivers/video/fbdev/aty/atyfb_base.c:180:1: note: declare 'static' if the function is not intended to be used outside of this translation unit > void aty_st_lcd(int index, u32 val, const struct atyfb_par *par) > ^ > static >>> drivers/video/fbdev/aty/atyfb_base.c:183:5: warning: no previous prototype for function 'aty_ld_lcd' [-Wmissing-prototypes] > u32 aty_ld_lcd(int index, const struct atyfb_par *par) > ^ > drivers/video/fbdev/aty/atyfb_base.c:183:1: note: declare 'static' if the function is not intended to be used outside of this translation unit > u32 aty_ld_lcd(int index, const struct atyfb_par *par) > ^ > static > 2 warnings generated. > These 2 functions are also used/usable (depending on CONFIG options) in mach64_ct.c so they can't be static. AFAIK, we don't make functions have different qualifiers depending on config options. > > vim +/aty_st_lcd +180 drivers/video/fbdev/aty/atyfb_base.c > > 163 > 164 u32 aty_ld_lcd(int index, const struct atyfb_par *par) > 165 { > 166 if (M64_HAS(LT_LCD_REGS)) { > 167 return aty_ld_le32(lt_lcd_regs[index], par); > 168 } else { > 169 unsigned long temp; > 170 > 171 /* write addr byte */ > 172 temp = aty_ld_le32(LCD_INDEX, par); > 173 aty_st_le32(LCD_INDEX, (temp & ~LCD_INDEX_MASK) | index, par); > 174 /* read the register value */ > 175 return aty_ld_le32(LCD_DATA, par); > 176 } > 177 } > 178 #else /* defined(CONFIG_PMAC_BACKLIGHT) || defined(CONFIG_FB_ATY_BACKLIGHT) \ > 179 defined(CONFIG_FB_ATY_GENERIC_LCD) */ > > 180 void aty_st_lcd(int index, u32 val, const struct atyfb_par *par) > 181 { } > 182 > > 183 u32 aty_ld_lcd(int index, const struct atyfb_par *par) > 184 { > 185 return 0; > 186 } > 187 #endif /* defined(CONFIG_PMAC_BACKLIGHT) || defined (CONFIG_FB_ATY_GENERIC_LCD) */ > 188 > > --- -- ~Randy