Hi Maxime,

I love your patch! Yet something to improve:
[auto build test ERROR on linus/master]
[also build test ERROR on v5.1-rc4 next-20190412]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:    
https://github.com/0day-ci/linux/commits/Maxime-Ripard/drm-modes-Rewrite-the-command-line-parser/20190412-122837
config: x86_64-randconfig-s1-04121728 (attached as .config)
compiler: gcc-6 (Debian 6.4.0-9) 6.4.0 20171026
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

Note: the 
linux-review/Maxime-Ripard/drm-modes-Rewrite-the-command-line-parser/20190412-122837
 HEAD 6993bfc971bbb32a70c38ec6e89a92c658f21f74 builds fine.
      It only hurts bisectibility.

All error/warnings (new ones prefixed by >>):

   In file included from include/linux/kernel.h:11:0,
                    from include/linux/list.h:9,
                    from drivers/gpu//drm/drm_modes.c:34:
   drivers/gpu//drm/drm_modes.c: In function 
'drm_mode_parse_command_line_for_connector':
>> drivers/gpu//drm/drm_modes.c:1591:7: error: 'named_mode' undeclared (first 
>> use in this function)
      if (named_mode)
          ^
   include/linux/compiler.h:58:30: note: in definition of macro '__trace_if'
     if (__builtin_constant_p(!!(cond)) ? !!(cond) :   \
                                 ^~~~
>> drivers/gpu//drm/drm_modes.c:1591:3: note: in expansion of macro 'if'
      if (named_mode)
      ^~
   drivers/gpu//drm/drm_modes.c:1591:7: note: each undeclared identifier is 
reported only once for each function it appears in
      if (named_mode)
          ^
   include/linux/compiler.h:58:30: note: in definition of macro '__trace_if'
     if (__builtin_constant_p(!!(cond)) ? !!(cond) :   \
                                 ^~~~
>> drivers/gpu//drm/drm_modes.c:1591:3: note: in expansion of macro 'if'
      if (named_mode)
      ^~

vim +/named_mode +1591 drivers/gpu//drm/drm_modes.c

  1571  
  1572          if (!mode_option) {
  1573                  mode->specified = false;
  1574                  return false;
  1575          }
  1576  
  1577          name = mode_option;
  1578  
  1579          if (!isdigit(name[0]))
  1580                  return false;
  1581  
  1582          /* Try to locate the bpp and refresh specifiers, if any */
  1583          bpp_ptr = strchr(name, '-');
  1584          if (bpp_ptr) {
  1585                  bpp_off = bpp_ptr - name;
  1586                  mode->bpp_specified = true;
  1587          }
  1588  
  1589          refresh_ptr = strchr(name, '@');
  1590          if (refresh_ptr) {
> 1591                  if (named_mode)
  1592                          return false;
  1593  
  1594                  refresh_off = refresh_ptr - name;
  1595                  mode->refresh_specified = true;
  1596          }
  1597  
  1598          /* Locate the end of the name / resolution, and parse it */
  1599          if (bpp_ptr && refresh_ptr) {
  1600                  mode_end = min(bpp_off, refresh_off);
  1601          } else if (bpp_ptr) {
  1602                  mode_end = bpp_off;
  1603          } else if (refresh_ptr) {
  1604                  mode_end = refresh_off;
  1605          } else {
  1606                  mode_end = strlen(name);
  1607                  parse_extras = true;
  1608          }
  1609  
  1610          ret = drm_mode_parse_cmdline_res_mode(name, mode_end,
  1611                                                parse_extras,
  1612                                                connector,
  1613                                                mode);
  1614          if (ret)
  1615                  return false;
  1616          mode->specified = true;
  1617  
  1618          if (bpp_ptr) {
  1619                  ret = drm_mode_parse_cmdline_bpp(bpp_ptr, &bpp_end_ptr, 
mode);
  1620                  if (ret)
  1621                          return false;
  1622          }
  1623  
  1624          if (refresh_ptr) {
  1625                  ret = drm_mode_parse_cmdline_refresh(refresh_ptr,
  1626                                                       &refresh_end_ptr, 
mode);
  1627                  if (ret)
  1628                          return false;
  1629          }
  1630  
  1631          /*
  1632           * Locate the end of the bpp / refresh, and parse the extras
  1633           * if relevant
  1634           */
  1635          if (bpp_ptr && refresh_ptr)
  1636                  extra_ptr = max(bpp_end_ptr, refresh_end_ptr);
  1637          else if (bpp_ptr)
  1638                  extra_ptr = bpp_end_ptr;
  1639          else if (refresh_ptr)
  1640                  extra_ptr = refresh_end_ptr;
  1641  
  1642          if (extra_ptr) {
  1643                  int remaining = strlen(name) - (extra_ptr - name);
  1644  
  1645                  /*
  1646                   * We still have characters to process, while
  1647                   * we shouldn't have any
  1648                   */
  1649                  if (remaining > 0)
  1650                          return false;
  1651          }
  1652  
  1653          return true;
  1654  }
  1655  EXPORT_SYMBOL(drm_mode_parse_command_line_for_connector);
  1656  

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

Attachment: .config.gz
Description: application/gzip

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to