Hi Thomas, kernel test robot noticed the following build errors: [auto build test ERROR on drm-misc/drm-misc-next] [also build test ERROR on linus/master v6.8-rc4 next-20240212] [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/Thomas-Zimmermann/drm-nouveau-Include-linux-backlight-h/20240212-181930 base: git://anongit.freedesktop.org/drm/drm-misc drm-misc-next patch link: https://lore.kernel.org/r/20240212101712.23675-3-tzimmermann%40suse.de patch subject: [PATCH 2/7] fbdev: Do not include <linux/backlight.h> in header config: riscv-allmodconfig (https://download.01.org/0day-ci/archive/20240213/202402130346.2iGNwgDE-lkp@xxxxxxxxx/config) compiler: clang version 19.0.0git (https://github.com/llvm/llvm-project c08b90c50bcac9f3f563c79491c8dbcbe7c3b574) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240213/202402130346.2iGNwgDE-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/202402130346.2iGNwgDE-lkp@xxxxxxxxx/ All errors (new ones prefixed by >>): >> drivers/staging/fbtft/fb_ssd1351.c:192:26: error: call to undeclared function 'bl_get_data'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 192 | struct fbtft_par *par = bl_get_data(bd); | ^ >> drivers/staging/fbtft/fb_ssd1351.c:192:20: error: incompatible integer to pointer conversion initializing 'struct fbtft_par *' with an expression of type 'int' [-Wint-conversion] 192 | struct fbtft_par *par = bl_get_data(bd); | ^ ~~~~~~~~~~~~~~~ >> drivers/staging/fbtft/fb_ssd1351.c:197:21: error: incomplete definition of type 'struct backlight_device' 197 | __func__, bd->props.power, bd->props.fb_blank); | ~~^ drivers/staging/fbtft/fbtft.h:433:43: note: expanded from macro 'fbtft_par_dbg' 433 | dev_info((par)->info->device, format, ##arg); \ | ^~~ include/linux/dev_printk.h:150:67: note: expanded from macro 'dev_info' 150 | dev_printk_index_wrap(_dev_info, KERN_INFO, dev, dev_fmt(fmt), ##__VA_ARGS__) | ^~~~~~~~~~~ include/linux/dev_printk.h:110:23: note: expanded from macro 'dev_printk_index_wrap' 110 | _p_func(dev, fmt, ##__VA_ARGS__); \ | ^~~~~~~~~~~ include/linux/fb.h:20:8: note: forward declaration of 'struct backlight_device' 20 | struct backlight_device; | ^ drivers/staging/fbtft/fb_ssd1351.c:197:38: error: incomplete definition of type 'struct backlight_device' 197 | __func__, bd->props.power, bd->props.fb_blank); | ~~^ drivers/staging/fbtft/fbtft.h:433:43: note: expanded from macro 'fbtft_par_dbg' 433 | dev_info((par)->info->device, format, ##arg); \ | ^~~ include/linux/dev_printk.h:150:67: note: expanded from macro 'dev_info' 150 | dev_printk_index_wrap(_dev_info, KERN_INFO, dev, dev_fmt(fmt), ##__VA_ARGS__) | ^~~~~~~~~~~ include/linux/dev_printk.h:110:23: note: expanded from macro 'dev_printk_index_wrap' 110 | _p_func(dev, fmt, ##__VA_ARGS__); \ | ^~~~~~~~~~~ include/linux/fb.h:20:8: note: forward declaration of 'struct backlight_device' 20 | struct backlight_device; | ^ >> drivers/staging/fbtft/fb_ssd1351.c:199:8: error: call to undeclared function 'backlight_is_blank'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 199 | on = !backlight_is_blank(bd); | ^ >> drivers/staging/fbtft/fb_ssd1351.c:206:35: error: variable has incomplete type 'const struct backlight_ops' 206 | static const struct backlight_ops bl_ops = { | ^ drivers/staging/fbtft/fb_ssd1351.c:206:21: note: forward declaration of 'struct backlight_ops' 206 | static const struct backlight_ops bl_ops = { | ^ >> drivers/staging/fbtft/fb_ssd1351.c:213:30: error: variable has incomplete type 'struct backlight_properties' 213 | struct backlight_properties bl_props = { 0, }; | ^ drivers/staging/fbtft/fb_ssd1351.c:213:9: note: forward declaration of 'struct backlight_properties' 213 | struct backlight_properties bl_props = { 0, }; | ^ >> drivers/staging/fbtft/fb_ssd1351.c:215:18: error: use of undeclared identifier 'BACKLIGHT_RAW' 215 | bl_props.type = BACKLIGHT_RAW; | ^ >> drivers/staging/fbtft/fb_ssd1351.c:218:7: error: call to undeclared function 'backlight_device_register'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 218 | bd = backlight_device_register(dev_driver_string(par->info->device), | ^ drivers/staging/fbtft/fb_ssd1351.c:218:7: note: did you mean '__root_device_register'? include/linux/device.h:1143:16: note: '__root_device_register' declared here 1143 | struct device *__root_device_register(const char *name, struct module *owner); | ^ 9 errors generated. vim +197 drivers/staging/fbtft/fb_ssd1351.c 883daf0a5c35c8 Thomas Petazzoni 2014-12-31 189 883daf0a5c35c8 Thomas Petazzoni 2014-12-31 190 static int update_onboard_backlight(struct backlight_device *bd) 883daf0a5c35c8 Thomas Petazzoni 2014-12-31 191 { 883daf0a5c35c8 Thomas Petazzoni 2014-12-31 @192 struct fbtft_par *par = bl_get_data(bd); 883daf0a5c35c8 Thomas Petazzoni 2014-12-31 193 bool on; 883daf0a5c35c8 Thomas Petazzoni 2014-12-31 194 883daf0a5c35c8 Thomas Petazzoni 2014-12-31 195 fbtft_par_dbg(DEBUG_BACKLIGHT, par, 883daf0a5c35c8 Thomas Petazzoni 2014-12-31 196 "%s: power=%d, fb_blank=%d\n", 883daf0a5c35c8 Thomas Petazzoni 2014-12-31 @197 __func__, bd->props.power, bd->props.fb_blank); 883daf0a5c35c8 Thomas Petazzoni 2014-12-31 198 66d653c37228cb Stephen Kitt 2022-06-07 @199 on = !backlight_is_blank(bd); 883daf0a5c35c8 Thomas Petazzoni 2014-12-31 200 /* Onboard backlight connected to GPIO0 on SSD1351, GPIO1 unused */ 883daf0a5c35c8 Thomas Petazzoni 2014-12-31 201 write_reg(par, 0xB5, on ? 0x03 : 0x02); 883daf0a5c35c8 Thomas Petazzoni 2014-12-31 202 883daf0a5c35c8 Thomas Petazzoni 2014-12-31 203 return 0; 883daf0a5c35c8 Thomas Petazzoni 2014-12-31 204 } 883daf0a5c35c8 Thomas Petazzoni 2014-12-31 205 23801e3438f6ce Mike Rapoport 2015-09-03 @206 static const struct backlight_ops bl_ops = { 23801e3438f6ce Mike Rapoport 2015-09-03 207 .update_status = update_onboard_backlight, 23801e3438f6ce Mike Rapoport 2015-09-03 208 }; 23801e3438f6ce Mike Rapoport 2015-09-03 209 883daf0a5c35c8 Thomas Petazzoni 2014-12-31 210 static void register_onboard_backlight(struct fbtft_par *par) 883daf0a5c35c8 Thomas Petazzoni 2014-12-31 211 { 883daf0a5c35c8 Thomas Petazzoni 2014-12-31 212 struct backlight_device *bd; 883daf0a5c35c8 Thomas Petazzoni 2014-12-31 @213 struct backlight_properties bl_props = { 0, }; 883daf0a5c35c8 Thomas Petazzoni 2014-12-31 214 883daf0a5c35c8 Thomas Petazzoni 2014-12-31 @215 bl_props.type = BACKLIGHT_RAW; 883daf0a5c35c8 Thomas Petazzoni 2014-12-31 216 bl_props.power = FB_BLANK_POWERDOWN; 883daf0a5c35c8 Thomas Petazzoni 2014-12-31 217 883daf0a5c35c8 Thomas Petazzoni 2014-12-31 @218 bd = backlight_device_register(dev_driver_string(par->info->device), 333c7b940526be Leonardo Brás 2018-08-07 219 par->info->device, par, &bl_ops, 333c7b940526be Leonardo Brás 2018-08-07 220 &bl_props); 883daf0a5c35c8 Thomas Petazzoni 2014-12-31 221 if (IS_ERR(bd)) { 883daf0a5c35c8 Thomas Petazzoni 2014-12-31 222 dev_err(par->info->device, 883daf0a5c35c8 Thomas Petazzoni 2014-12-31 223 "cannot register backlight device (%ld)\n", 883daf0a5c35c8 Thomas Petazzoni 2014-12-31 224 PTR_ERR(bd)); 883daf0a5c35c8 Thomas Petazzoni 2014-12-31 225 return; 883daf0a5c35c8 Thomas Petazzoni 2014-12-31 226 } 883daf0a5c35c8 Thomas Petazzoni 2014-12-31 227 par->info->bl_dev = bd; 883daf0a5c35c8 Thomas Petazzoni 2014-12-31 228 883daf0a5c35c8 Thomas Petazzoni 2014-12-31 229 if (!par->fbtftops.unregister_backlight) 883daf0a5c35c8 Thomas Petazzoni 2014-12-31 230 par->fbtftops.unregister_backlight = fbtft_unregister_backlight; 883daf0a5c35c8 Thomas Petazzoni 2014-12-31 231 } 883daf0a5c35c8 Thomas Petazzoni 2014-12-31 232 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki