✗ CI.checkpatch: warning for drm/xe: Fix build error for XE_IOCTL_DBG macro (rev3)

Patchwork patchwork at emeril.freedesktop.org
Fri Nov 1 10:11:46 UTC 2024


== Series Details ==

Series: drm/xe: Fix build error for XE_IOCTL_DBG macro (rev3)
URL   : https://patchwork.freedesktop.org/series/140594/
State : warning

== Summary ==

+ KERNEL=/kernel
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools mt
Cloning into 'mt'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ git -C mt rev-list -n1 origin/master
30ab6715fc09baee6cc14cb3c89ad8858688d474
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit 173447bfb1cba2481cce57a600a56fd9f354050c
Author: Gyeyoung Baek <gye976 at gmail.com>
Date:   Tue Oct 29 17:48:58 2024 +0900

    drm/xe: Fix build error for XE_IOCTL_DBG macro
    
    if CONFIG_DRM_USE_DYNAMIC_DEBUG is set,
    'drm_dbg' function is replaced with '__dynamic_func_call_cls',
    which is replaced with a do while statement.
    so in the previous code, there are the following build errors.
    
    include/linux/dynamic_debug.h:221:58: error: expected expression before ‘do’
      221 | #define __dynamic_func_call_cls(id, cls, fmt, func, ...) do {   \
          |                                                          ^~
    include/linux/dynamic_debug.h:248:9: note: in expansion of macro ‘__dynamic_func_call_cls’
      248 |         __dynamic_func_call_cls(__UNIQUE_ID(ddebug), cls, fmt, func, ##__VA_ARGS__)
          |         ^~~~~~~~~~~~~~~~~~~~~~~
    include/drm/drm_print.h:425:9: note: in expansion of macro ‘_dynamic_func_call_cls’
      425 |         _dynamic_func_call_cls(cat, fmt, __drm_dev_dbg,         \
          |         ^~~~~~~~~~~~~~~~~~~~~~
    include/drm/drm_print.h:504:9: note: in expansion of macro ‘drm_dev_dbg’
      504 |         drm_dev_dbg((drm) ? (drm)->dev : NULL, DRM_UT_DRIVER, fmt, ##__VA_ARGS__)
          |         ^~~~~~~~~~~
    include/drm/drm_print.h:522:33: note: in expansion of macro ‘drm_dbg_driver’
      522 | #define drm_dbg(drm, fmt, ...)  drm_dbg_driver(drm, fmt, ##__VA_ARGS__)
          |                                 ^~~~~~~~~~~~~~
    drivers/gpu/drm/xe/xe_macros.h:14:21: note: in expansion of macro ‘drm_dbg’
       14 |         ((cond) && (drm_dbg(&(xe)->drm, \
          |                     ^~~~~~~
    drivers/gpu/drm/xe/xe_bo.c:2029:13: note: in expansion of macro ‘XE_IOCTL_DBG’
     2029 |         if (XE_IOCTL_DBG(xe, !gem_obj))
    
    the problem is that,
    XE_IOCTL_DBG uses this function for conditional expr.
    
    so I fix the expr to be compatible with the do while statement,
    by referring to "https://gcc.gnu.org/onlinedocs/gcc/Statement-Exprs.html".
    
    v2: I modified this to print when only cond is true.
    
    Signed-off-by: Gyeyoung Baek <gye976 at gmail.com>
+ /mt/dim checkpatch 73837e0500d417f9ff3afdf145ee7e1b152d9c24 drm-intel
173447bfb1cb drm/xe: Fix build error for XE_IOCTL_DBG macro
-:18: WARNING:COMMIT_LOG_LONG_LINE: Prefer a maximum 75 chars per line (possible unwrapped commit description?)
#18: 
  248 |         __dynamic_func_call_cls(__UNIQUE_ID(ddebug), cls, fmt, func, ##__VA_ARGS__)

total: 0 errors, 1 warnings, 0 checks, 15 lines checked




More information about the Intel-xe mailing list