drm/print: Handle NULL drm device in __drm_printk()
authorLuben Tuikov <ltuikov89@gmail.com>
Fri, 17 Nov 2023 03:44:53 +0000 (22:44 -0500)
committerLuben Tuikov <ltuikov89@gmail.com>
Mon, 20 Nov 2023 03:14:25 +0000 (22:14 -0500)
drm_{err,warn,...}() use __drm_printk() which takes a drm device pointer and
uses the embedded device pointer to print the device. This facility handles
NULL device pointer, but not NULL drm device pointer. This patch makes
__drm_printk() also handle a NULL drm device pointer. The printed output is
identical to if drm->dev had been NULL.

Signed-off-by: Luben Tuikov <ltuikov89@gmail.com>
Reviewed-by: Jani Nikula <jani.nikula@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20231117035427.68125-2-ltuikov89@gmail.com
include/drm/drm_print.h

index a93a387f8a1a15b17fe2826e4b09017189394e02..dd4883df876a6d0f508338371f5fdefbdeaafeaa 100644 (file)
@@ -453,7 +453,7 @@ void __drm_dev_dbg(struct _ddebug *desc, const struct device *dev,
 
 /* Helper for struct drm_device based logging. */
 #define __drm_printk(drm, level, type, fmt, ...)                       \
-       dev_##level##type((drm)->dev, "[drm] " fmt, ##__VA_ARGS__)
+       dev_##level##type((drm) ? (drm)->dev : NULL, "[drm] " fmt, ##__VA_ARGS__)
 
 
 #define drm_info(drm, fmt, ...)                                        \