Re: [PATCH 4/7] fbdev/core: Move logo functions into separate source file

From: kernel test robot
Date: Tue Aug 29 2023 - 11:57:30 EST


Hi Thomas,

kernel test robot noticed the following build warnings:

[auto build test WARNING on drm-misc/drm-misc-next]
[also build test WARNING on next-20230829]
[cannot apply to linus/master v6.5]
[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/fbdev-au1200fb-Do-not-display-boot-up-logo/20230829-222419
base: git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
patch link: https://lore.kernel.org/r/20230829142109.4521-5-tzimmermann%40suse.de
patch subject: [PATCH 4/7] fbdev/core: Move logo functions into separate source file
config: alpha-allyesconfig (https://download.01.org/0day-ci/archive/20230829/202308292302.bkYBkvrg-lkp@xxxxxxxxx/config)
compiler: alpha-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230829/202308292302.bkYBkvrg-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/202308292302.bkYBkvrg-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

>> drivers/video/fbdev/core/fb_logo.c:433:5: warning: no previous prototype for 'fb_prepare_logo' [-Wmissing-prototypes]
433 | int fb_prepare_logo(struct fb_info *info, int rotate)
| ^~~~~~~~~~~~~~~
>> drivers/video/fbdev/core/fb_logo.c:506:5: warning: no previous prototype for 'fb_show_logo' [-Wmissing-prototypes]
506 | int fb_show_logo(struct fb_info *info, int rotate)
| ^~~~~~~~~~~~


vim +/fb_prepare_logo +433 drivers/video/fbdev/core/fb_logo.c

432
> 433 int fb_prepare_logo(struct fb_info *info, int rotate)
434 {
435 int depth = fb_get_color_depth(&info->var, &info->fix);
436 unsigned int yres;
437 int height;
438
439 memset(&fb_logo, 0, sizeof(struct logo_data));
440
441 if (info->flags & FBINFO_MISC_TILEBLITTING ||
442 info->fbops->owner || !fb_logo_count)
443 return 0;
444
445 if (info->fix.visual == FB_VISUAL_DIRECTCOLOR) {
446 depth = info->var.blue.length;
447 if (info->var.red.length < depth)
448 depth = info->var.red.length;
449 if (info->var.green.length < depth)
450 depth = info->var.green.length;
451 }
452
453 if (info->fix.visual == FB_VISUAL_STATIC_PSEUDOCOLOR && depth > 4) {
454 /* assume console colormap */
455 depth = 4;
456 }
457
458 /* Return if no suitable logo was found */
459 fb_logo.logo = fb_find_logo(depth);
460
461 if (!fb_logo.logo)
462 return 0;
463
464 if (rotate == FB_ROTATE_UR || rotate == FB_ROTATE_UD)
465 yres = info->var.yres;
466 else
467 yres = info->var.xres;
468
469 if (fb_logo.logo->height > yres) {
470 fb_logo.logo = NULL;
471 return 0;
472 }
473
474 /* What depth we asked for might be different from what we get */
475 if (fb_logo.logo->type == LINUX_LOGO_CLUT224)
476 fb_logo.depth = 8;
477 else if (fb_logo.logo->type == LINUX_LOGO_VGA16)
478 fb_logo.depth = 4;
479 else
480 fb_logo.depth = 1;
481
482
483 if (fb_logo.depth > 4 && depth > 4) {
484 switch (info->fix.visual) {
485 case FB_VISUAL_TRUECOLOR:
486 fb_logo.needs_truepalette = 1;
487 break;
488 case FB_VISUAL_DIRECTCOLOR:
489 fb_logo.needs_directpalette = 1;
490 fb_logo.needs_cmapreset = 1;
491 break;
492 case FB_VISUAL_PSEUDOCOLOR:
493 fb_logo.needs_cmapreset = 1;
494 break;
495 }
496 }
497
498 height = fb_logo.logo->height;
499 if (fb_center_logo)
500 height += (yres - fb_logo.logo->height) / 2;
501
502 return fb_prepare_extra_logos(info, height, yres);
503 }
504 EXPORT_SYMBOL(fb_prepare_logo);
505
> 506 int fb_show_logo(struct fb_info *info, int rotate)
507 {
508 unsigned int count;
509 int y;
510
511 if (!fb_logo_count)
512 return 0;
513
514 count = fb_logo_count < 0 ? num_online_cpus() : fb_logo_count;
515 y = fb_show_logo_line(info, rotate, fb_logo.logo, 0, count);
516 y = fb_show_extra_logos(info, y, rotate);
517
518 return y;
519 }
520 EXPORT_SYMBOL(fb_show_logo);
521 #else
522 int fb_prepare_logo(struct fb_info *info, int rotate)
523 {
524 return 0;
525 }
526 EXPORT_SYMBOL(fb_prepare_logo);
527

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki