Hi Thierry,

kernel test robot noticed the following build errors:

[auto build test ERROR on drm-misc/drm-misc-next]
[also build test ERROR on drm-tip/drm-tip linus/master v6.6-rc5 next-20231012]
[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/Thierry-Reding/fbdev-simplefb-Support-memory-region-property/20231011-223908
base:   git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
patch link:    
https://lore.kernel.org/r/20231011143809.1108034-3-thierry.reding%40gmail.com
patch subject: [PATCH 2/2] fbdev/simplefb: Add support for generic power-domains
config: sparc64-randconfig-001-20231012 
(https://download.01.org/0day-ci/archive/20231012/202310121911.nusbphr5-...@intel.com/config)
compiler: sparc64-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): 
(https://download.01.org/0day-ci/archive/20231012/202310121911.nusbphr5-...@intel.com/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 <l...@intel.com>
| Closes: 
https://lore.kernel.org/oe-kbuild-all/202310121911.nusbphr5-...@intel.com/

All errors (new ones prefixed by >>):

   drivers/video/fbdev/simplefb.c: In function 'simplefb_probe':
>> drivers/video/fbdev/simplefb.c:637:9: error: implicit declaration of 
>> function 'simplefb_detach_genpds'; did you mean 'simplefb_attach_genpd'? 
>> [-Werror=implicit-function-declaration]
     637 |         simplefb_detach_genpds(par);
         |         ^~~~~~~~~~~~~~~~~~~~~~
         |         simplefb_attach_genpd
   cc1: some warnings being treated as errors


vim +637 drivers/video/fbdev/simplefb.c

   517  
   518  static int simplefb_probe(struct platform_device *pdev)
   519  {
   520          int ret;
   521          struct simplefb_params params;
   522          struct fb_info *info;
   523          struct simplefb_par *par;
   524          struct resource *res, *mem;
   525  
   526          if (fb_get_options("simplefb", NULL))
   527                  return -ENODEV;
   528  
   529          ret = -ENODEV;
   530          if (dev_get_platdata(&pdev->dev))
   531                  ret = simplefb_parse_pd(pdev, &params);
   532          else if (pdev->dev.of_node)
   533                  ret = simplefb_parse_dt(pdev, &params);
   534  
   535          if (ret)
   536                  return ret;
   537  
   538          if (params.memory.start == 0 && params.memory.end == 0) {
   539                  res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
   540                  if (!res) {
   541                          dev_err(&pdev->dev, "No memory resource\n");
   542                          return -EINVAL;
   543                  }
   544          } else {
   545                  res = &params.memory;
   546          }
   547  
   548          mem = request_mem_region(res->start, resource_size(res), 
"simplefb");
   549          if (!mem) {
   550                  /*
   551                   * We cannot make this fatal. Sometimes this comes from 
magic
   552                   * spaces our resource handlers simply don't know 
about. Use
   553                   * the I/O-memory resource as-is and try to map that 
instead.
   554                   */
   555                  dev_warn(&pdev->dev, "simplefb: cannot reserve video 
memory at %pR\n", res);
   556                  mem = res;
   557          }
   558  
   559          info = framebuffer_alloc(sizeof(struct simplefb_par), 
&pdev->dev);
   560          if (!info) {
   561                  ret = -ENOMEM;
   562                  goto error_release_mem_region;
   563          }
   564          platform_set_drvdata(pdev, info);
   565  
   566          par = info->par;
   567  
   568          info->fix = simplefb_fix;
   569          info->fix.smem_start = mem->start;
   570          info->fix.smem_len = resource_size(mem);
   571          info->fix.line_length = params.stride;
   572  
   573          info->var = simplefb_var;
   574          info->var.xres = params.width;
   575          info->var.yres = params.height;
   576          info->var.xres_virtual = params.width;
   577          info->var.yres_virtual = params.height;
   578          info->var.bits_per_pixel = params.format->bits_per_pixel;
   579          info->var.red = params.format->red;
   580          info->var.green = params.format->green;
   581          info->var.blue = params.format->blue;
   582          info->var.transp = params.format->transp;
   583  
   584          par->base = info->fix.smem_start;
   585          par->size = info->fix.smem_len;
   586  
   587          info->fbops = &simplefb_ops;
   588          info->screen_base = ioremap_wc(info->fix.smem_start,
   589                                         info->fix.smem_len);
   590          if (!info->screen_base) {
   591                  ret = -ENOMEM;
   592                  goto error_fb_release;
   593          }
   594          info->pseudo_palette = par->palette;
   595  
   596          ret = simplefb_clocks_get(par, pdev);
   597          if (ret < 0)
   598                  goto error_unmap;
   599  
   600          ret = simplefb_regulators_get(par, pdev);
   601          if (ret < 0)
   602                  goto error_clocks;
   603  
   604          ret = simplefb_attach_genpd(par, pdev);
   605          if (ret < 0)
   606                  goto error_regulators;
   607  
   608          simplefb_clocks_enable(par, pdev);
   609          simplefb_regulators_enable(par, pdev);
   610  
   611          dev_info(&pdev->dev, "framebuffer at 0x%lx, 0x%x bytes\n",
   612                               info->fix.smem_start, info->fix.smem_len);
   613          dev_info(&pdev->dev, "format=%s, mode=%dx%dx%d, 
linelength=%d\n",
   614                               params.format->name,
   615                               info->var.xres, info->var.yres,
   616                               info->var.bits_per_pixel, 
info->fix.line_length);
   617  
   618          if (mem != res)
   619                  par->mem = mem; /* release in clean-up handler */
   620  
   621          ret = devm_aperture_acquire_for_platform_device(pdev, 
par->base, par->size);
   622          if (ret) {
   623                  dev_err(&pdev->dev, "Unable to acquire aperture: %d\n", 
ret);
   624                  goto error_genpds;
   625          }
   626          ret = register_framebuffer(info);
   627          if (ret < 0) {
   628                  dev_err(&pdev->dev, "Unable to register simplefb: 
%d\n", ret);
   629                  goto error_genpds;
   630          }
   631  
   632          dev_info(&pdev->dev, "fb%d: simplefb registered!\n", 
info->node);
   633  
   634          return 0;
   635  
   636  error_genpds:
 > 637          simplefb_detach_genpds(par);
   638  error_regulators:
   639          simplefb_regulators_destroy(par);
   640  error_clocks:
   641          simplefb_clocks_destroy(par);
   642  error_unmap:
   643          iounmap(info->screen_base);
   644  error_fb_release:
   645          framebuffer_release(info);
   646  error_release_mem_region:
   647          if (mem != res)
   648                  release_mem_region(mem->start, resource_size(mem));
   649          return ret;
   650  }
   651  

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

Reply via email to