Hi Jani,

I love your patch! Yet something to improve:

[auto build test ERROR on drm-intel/for-linux-next]
[also build test ERROR on v5.4 next-20191129]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    
https://github.com/0day-ci/linux/commits/Jani-Nikula/video-drm-etc-constify-fbops-in-struct-fb_info/20191129-193852
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
config: ia64-allmodconfig (attached as .config)
compiler: ia64-linux-gcc (GCC) 7.4.0
reproduce:
        wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        GCC_VERSION=7.4.0 make.cross ARCH=ia64 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <l...@intel.com>

All errors (new ones prefixed by >>):

   drivers/video/fbdev/uvesafb.c: In function 'uvesafb_init_info':
>> drivers/video/fbdev/uvesafb.c:1443:25: error: assignment of member 
>> 'fb_blank' in read-only object
      info->fbops->fb_blank = NULL;
                            ^
   drivers/video/fbdev/uvesafb.c:1513:31: error: assignment of member 
'fb_pan_display' in read-only object
      info->fbops->fb_pan_display = NULL;
                                  ^
--
   drivers/video/fbdev/aty/atyfb_base.c: In function 'atyfb_set_par':
>> drivers/video/fbdev/aty/atyfb_base.c:1319:24: error: assignment of member 
>> 'fb_sync' in read-only object
      info->fbops->fb_sync = atyfb_sync;
                           ^
   drivers/video/fbdev/aty/atyfb_base.c:1322:24: error: assignment of member 
'fb_sync' in read-only object
      info->fbops->fb_sync = NULL;
                           ^
--
   drivers/video/fbdev/mb862xx/mb862xxfb_accel.c: In function 
'mb862xxfb_init_accel':
>> drivers/video/fbdev/mb862xx/mb862xxfb_accel.c:311:28: error: assignment of 
>> member 'fb_fillrect' in read-only object
      info->fbops->fb_fillrect = cfb_fillrect;
                               ^
>> drivers/video/fbdev/mb862xx/mb862xxfb_accel.c:312:28: error: assignment of 
>> member 'fb_copyarea' in read-only object
      info->fbops->fb_copyarea = cfb_copyarea;
                               ^
>> drivers/video/fbdev/mb862xx/mb862xxfb_accel.c:313:29: error: assignment of 
>> member 'fb_imageblit' in read-only object
      info->fbops->fb_imageblit = cfb_imageblit;
                                ^
   drivers/video/fbdev/mb862xx/mb862xxfb_accel.c:316:28: error: assignment of 
member 'fb_fillrect' in read-only object
      info->fbops->fb_fillrect = mb86290fb_fillrect;
                               ^
   drivers/video/fbdev/mb862xx/mb862xxfb_accel.c:317:28: error: assignment of 
member 'fb_copyarea' in read-only object
      info->fbops->fb_copyarea = mb86290fb_copyarea;
                               ^
   drivers/video/fbdev/mb862xx/mb862xxfb_accel.c:318:29: error: assignment of 
member 'fb_imageblit' in read-only object
      info->fbops->fb_imageblit = mb86290fb_imageblit;
                                ^
--
   drivers/video/fbdev/nvidia/nvidia.c: In function 'nvidiafb_set_par':
>> drivers/video/fbdev/nvidia/nvidia.c:663:29: error: assignment of member 
>> 'fb_imageblit' in read-only object
      info->fbops->fb_imageblit = nvidiafb_imageblit;
                                ^
>> drivers/video/fbdev/nvidia/nvidia.c:664:28: error: assignment of member 
>> 'fb_fillrect' in read-only object
      info->fbops->fb_fillrect = nvidiafb_fillrect;
                               ^
   drivers/video/fbdev/nvidia/nvidia.c:665:28: error: assignment of member 
'fb_copyarea' in read-only object
      info->fbops->fb_copyarea = nvidiafb_copyarea;
                               ^
   drivers/video/fbdev/nvidia/nvidia.c:666:24: error: assignment of member 
'fb_sync' in read-only object
      info->fbops->fb_sync = nvidiafb_sync;
                           ^
   drivers/video/fbdev/nvidia/nvidia.c:672:29: error: assignment of member 
'fb_imageblit' in read-only object
      info->fbops->fb_imageblit = cfb_imageblit;
                                ^
   drivers/video/fbdev/nvidia/nvidia.c:673:28: error: assignment of member 
'fb_fillrect' in read-only object
      info->fbops->fb_fillrect = cfb_fillrect;
                               ^
   drivers/video/fbdev/nvidia/nvidia.c:674:28: error: assignment of member 
'fb_copyarea' in read-only object
      info->fbops->fb_copyarea = cfb_copyarea;
                               ^
   drivers/video/fbdev/nvidia/nvidia.c:675:24: error: assignment of member 
'fb_sync' in read-only object
      info->fbops->fb_sync = NULL;
                           ^
   drivers/video/fbdev/nvidia/nvidia.c: In function 'nvidia_set_fbinfo':
   drivers/video/fbdev/nvidia/nvidia.c:1168:29: error: assignment of member 
'fb_cursor' in read-only object
         info->fbops->fb_cursor = NULL;
                                ^

vim +/fb_blank +1443 drivers/video/fbdev/uvesafb.c

8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1427  
48c68c4f1b5424 drivers/video/uvesafb.c       Greg Kroah-Hartman 2012-12-21  
1428  static void uvesafb_init_info(struct fb_info *info, struct vbe_mode_ib 
*mode)
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1429  {
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1430        unsigned int size_vmode;
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1431        unsigned int size_remap;
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1432        unsigned int size_total;
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1433        struct uvesafb_par *par = info->par;
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1434        int i, h;
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1435  
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1436        info->pseudo_palette = ((u8 *)info->par + sizeof(struct 
uvesafb_par));
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1437        info->fix = uvesafb_fix;
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1438        info->fix.ypanstep = par->ypan ? 1 : 0;
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1439        info->fix.ywrapstep = (par->ypan > 1) ? 1 : 0;
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1440  
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1441        /* Disable blanking if the user requested so. */
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1442        if (!blank)
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16 
@1443                info->fbops->fb_blank = NULL;
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1444  
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1445        /*
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1446         * Find out how much IO memory is required for the mode with
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1447         * the highest resolution.
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1448         */
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1449        size_remap = 0;
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1450        for (i = 0; i < par->vbe_modes_cnt; i++) {
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1451                h = par->vbe_modes[i].bytes_per_scan_line *
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1452                                        par->vbe_modes[i].y_res;
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1453                if (h > size_remap)
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1454                        size_remap = h;
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1455        }
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1456        size_remap *= 2;
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1457  
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1458        /*
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1459         *   size_vmode -- that is the amount of memory needed for the
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1460         *                 used video mode, i.e. the minimum amount of
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1461         *                 memory we need.
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1462         */
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1463        size_vmode = info->var.yres * mode->bytes_per_scan_line;
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1464  
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1465        /*
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1466         *   size_total -- all video memory we have. Used for mtrr
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1467         *                 entries, resource allocation and bounds
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1468         *                 checking.
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1469         */
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1470        size_total = par->vbe_ib.total_memory * 65536;
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1471        if (vram_total)
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1472                size_total = vram_total * 1024 * 1024;
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1473        if (size_total < size_vmode)
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1474                size_total = size_vmode;
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1475  
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1476        /*
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1477         *   size_remap -- the amount of video memory we are going to
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1478         *                 use for vesafb.  With modern cards it is no
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1479         *                 option to simply use size_total as th
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1480         *                 wastes plenty of kernel address space.
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1481         */
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1482        if (vram_remap)
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1483                size_remap = vram_remap * 1024 * 1024;
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1484        if (size_remap < size_vmode)
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1485                size_remap = size_vmode;
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1486        if (size_remap > size_total)
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1487                size_remap = size_total;
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1488  
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1489        info->fix.smem_len = size_remap;
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1490        info->fix.smem_start = mode->phys_base_ptr;
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1491  
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1492        /*
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1493         * We have to set yres_virtual here because when setup_var() was
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1494         * called, smem_len wasn't defined yet.
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1495         */
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1496        info->var.yres_virtual = info->fix.smem_len /
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1497                                 mode->bytes_per_scan_line;
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1498  
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1499        if (par->ypan && info->var.yres_virtual > info->var.yres) {
a8feae09110675 drivers/video/fbdev/uvesafb.c Joe Perches        2017-06-14  
1500                pr_info("scrolling: %s using protected mode interface, 
yres_virtual=%d\n",
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1501                        (par->ypan > 1) ? "ywrap" : "ypan",
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1502                        info->var.yres_virtual);
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1503        } else {
a8feae09110675 drivers/video/fbdev/uvesafb.c Joe Perches        2017-06-14  
1504                pr_info("scrolling: redraw\n");
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1505                info->var.yres_virtual = info->var.yres;
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1506                par->ypan = 0;
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1507        }
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1508  
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1509        info->flags = FBINFO_FLAG_DEFAULT |
1cc9fb6dbf915e drivers/video/uvesafb.c       Roel Kluin         2009-03-31  
1510                        (par->ypan ? FBINFO_HWACCEL_YPAN : 0);
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1511  
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1512        if (!par->ypan)
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1513                info->fbops->fb_pan_display = NULL;
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1514  }
8bdb3a2d7df48b drivers/video/uvesafb.c       Michal Januszewski 2007-10-16  
1515  

:::::: The code at line 1443 was first introduced by commit
:::::: 8bdb3a2d7df48b861972c4bfb58490853a228f51 uvesafb: the driver core

:::::: TO: Michal Januszewski <sp...@gentoo.org>
:::::: CC: Linus Torvalds <torva...@woody.linux-foundation.org>

---
0-DAY kernel test infrastructure                 Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org Intel Corporation

Attachment: .config.gz
Description: application/gzip

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to