Hi Zsolt, kernel test robot noticed the following build warnings: [auto build test WARNING on linus/master] [also build test WARNING on v6.14-rc6 next-20250307] [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/Zsolt-Kajtar/Refactoring-the-fbcon-packed-pixel-drawing-routines/20250310-025619 base: linus/master patch link: https://lore.kernel.org/r/20250309184716.13732-2-soci%40c64.rulez.org patch subject: [PATCH RESEND 1/2] Refactoring the fbcon packed pixel drawing routines config: hexagon-allyesconfig (https://download.01.org/0day-ci/archive/20250310/202503102312.rSGvBwl1-lkp@xxxxxxxxx/config) compiler: clang version 18.1.8 (https://github.com/llvm/llvm-project 3b5b5c1ec4a3095ab096dd780e84d7ab81f3d7ff) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250310/202503102312.rSGvBwl1-lkp@xxxxxxxxx/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@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202503102312.rSGvBwl1-lkp@xxxxxxxxx/ All warnings (new ones prefixed by >>): In file included from drivers/video/fbdev/wmt_ge_rops.c:15: >> drivers/video/fbdev/core/fb_draw.h:16:48: warning: declaration of 'struct fb_address' will not be visible outside of this function [-Wvisibility] 16 | static inline void fb_address_move_long(struct fb_address *adr, int offset) | ^ drivers/video/fbdev/core/fb_draw.h:18:5: error: incomplete definition of type 'struct fb_address' 18 | adr->address += offset * (BITS_PER_LONG / BITS_PER_BYTE); | ~~~^ drivers/video/fbdev/core/fb_draw.h:16:48: note: forward declaration of 'struct fb_address' 16 | static inline void fb_address_move_long(struct fb_address *adr, int offset) | ^ drivers/video/fbdev/core/fb_draw.h:22:46: warning: declaration of 'struct fb_address' will not be visible outside of this function [-Wvisibility] 22 | static inline void fb_address_forward(struct fb_address *adr, unsigned int offset) | ^ drivers/video/fbdev/core/fb_draw.h:24:39: error: incomplete definition of type 'struct fb_address' 24 | unsigned int bits = (unsigned int)adr->bits + offset; | ~~~^ drivers/video/fbdev/core/fb_draw.h:22:46: note: forward declaration of 'struct fb_address' 22 | static inline void fb_address_forward(struct fb_address *adr, unsigned int offset) | ^ drivers/video/fbdev/core/fb_draw.h:26:5: error: incomplete definition of type 'struct fb_address' 26 | adr->bits = bits & (BITS_PER_LONG - 1u); | ~~~^ drivers/video/fbdev/core/fb_draw.h:22:46: note: forward declaration of 'struct fb_address' 22 | static inline void fb_address_forward(struct fb_address *adr, unsigned int offset) | ^ drivers/video/fbdev/core/fb_draw.h:27:5: error: incomplete definition of type 'struct fb_address' 27 | adr->address += (bits & ~(BITS_PER_LONG - 1u)) / BITS_PER_BYTE; | ~~~^ drivers/video/fbdev/core/fb_draw.h:22:46: note: forward declaration of 'struct fb_address' 22 | static inline void fb_address_forward(struct fb_address *adr, unsigned int offset) | ^ drivers/video/fbdev/core/fb_draw.h:31:47: warning: declaration of 'struct fb_address' will not be visible outside of this function [-Wvisibility] 31 | static inline void fb_address_backward(struct fb_address *adr, unsigned int offset) | ^ drivers/video/fbdev/core/fb_draw.h:33:16: error: incomplete definition of type 'struct fb_address' 33 | int bits = adr->bits - (int)offset; | ~~~^ drivers/video/fbdev/core/fb_draw.h:31:47: note: forward declaration of 'struct fb_address' 31 | static inline void fb_address_backward(struct fb_address *adr, unsigned int offset) | ^ drivers/video/fbdev/core/fb_draw.h:35:5: error: incomplete definition of type 'struct fb_address' 35 | adr->bits = bits & (BITS_PER_LONG - 1); | ~~~^ drivers/video/fbdev/core/fb_draw.h:31:47: note: forward declaration of 'struct fb_address' 31 | static inline void fb_address_backward(struct fb_address *adr, unsigned int offset) | ^ drivers/video/fbdev/core/fb_draw.h:37:6: error: incomplete definition of type 'struct fb_address' 37 | adr->address -= (adr->bits - bits) / BITS_PER_BYTE; | ~~~^ drivers/video/fbdev/core/fb_draw.h:31:47: note: forward declaration of 'struct fb_address' 31 | static inline void fb_address_backward(struct fb_address *adr, unsigned int offset) | ^ drivers/video/fbdev/core/fb_draw.h:37:23: error: incomplete definition of type 'struct fb_address' 37 | adr->address -= (adr->bits - bits) / BITS_PER_BYTE; | ~~~^ drivers/video/fbdev/core/fb_draw.h:31:47: note: forward declaration of 'struct fb_address' 31 | static inline void fb_address_backward(struct fb_address *adr, unsigned int offset) | ^ drivers/video/fbdev/core/fb_draw.h:39:6: error: incomplete definition of type 'struct fb_address' 39 | adr->address += (bits - adr->bits) / BITS_PER_BYTE; | ~~~^ drivers/video/fbdev/core/fb_draw.h:31:47: note: forward declaration of 'struct fb_address' 31 | static inline void fb_address_backward(struct fb_address *adr, unsigned int offset) | ^ drivers/video/fbdev/core/fb_draw.h:39:30: error: incomplete definition of type 'struct fb_address' 39 | adr->address += (bits - adr->bits) / BITS_PER_BYTE; | ~~~^ drivers/video/fbdev/core/fb_draw.h:31:47: note: forward declaration of 'struct fb_address' 31 | static inline void fb_address_backward(struct fb_address *adr, unsigned int offset) | ^ drivers/video/fbdev/core/fb_draw.h:50:34: warning: declaration of 'struct fb_address' will not be visible outside of this function [-Wvisibility] 50 | int offset, const struct fb_address *dst) | ^ drivers/video/fbdev/core/fb_draw.h:52:2: error: call to undeclared function 'fb_write_offset'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 52 | fb_write_offset(fb_comp(val, fb_read_offset(offset, dst), mask), offset, dst); | ^ drivers/video/fbdev/core/fb_draw.h:52:2: note: did you mean 'fb_modify_offset'? drivers/video/fbdev/core/fb_draw.h:49:20: note: 'fb_modify_offset' declared here 49 | static inline void fb_modify_offset(unsigned long val, unsigned long mask, | ^ 50 | int offset, const struct fb_address *dst) 51 | { 52 | fb_write_offset(fb_comp(val, fb_read_offset(offset, dst), mask), offset, dst); | ~~~~~~~~~~~~~~~ | fb_modify_offset drivers/video/fbdev/core/fb_draw.h:52:31: error: call to undeclared function 'fb_read_offset'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 52 | fb_write_offset(fb_comp(val, fb_read_offset(offset, dst), mask), offset, dst); | ^ drivers/video/fbdev/wmt_ge_rops.c:57:8: error: call to undeclared function 'pixel_to_pat'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 57 | pat = pixel_to_pat(p->var.bits_per_pixel, fg); | ^ 4 warnings and 13 errors generated. vim +16 drivers/video/fbdev/core/fb_draw.h 14 15 /* move the address pointer by the number of words */ > 16 static inline void fb_address_move_long(struct fb_address *adr, int offset) 17 { 18 adr->address += offset * (BITS_PER_LONG / BITS_PER_BYTE); 19 } 20 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki