@@ -584,9 +584,15 @@ void __drm_dev_dbg(struct _ddebug *desc, const struct device *dev,
584584 * Prefer drm_device based logging over device or prink based logging.
585585 */
586586
587+ /* Helper to enforce struct drm_device type */
588+ static inline struct device * __drm_to_dev (const struct drm_device * drm )
589+ {
590+ return drm ? drm -> dev : NULL ;
591+ }
592+
587593/* Helper for struct drm_device based logging. */
588594#define __drm_printk (drm , level , type , fmt , ...) \
589- dev_##level##type((drm) ? (drm)->dev : NULL , "[drm] " fmt, ##__VA_ARGS__)
595+ dev_##level##type(__drm_to_dev (drm), "[drm] " fmt, ##__VA_ARGS__)
590596
591597
592598#define drm_info (drm , fmt , ...) \
@@ -620,25 +626,25 @@ void __drm_dev_dbg(struct _ddebug *desc, const struct device *dev,
620626
621627
622628#define drm_dbg_core (drm , fmt , ...) \
623- drm_dev_dbg((drm) ? (drm)->dev : NULL , DRM_UT_CORE, fmt, ##__VA_ARGS__)
624- #define drm_dbg_driver (drm , fmt , ...) \
625- drm_dev_dbg((drm) ? (drm)->dev : NULL , DRM_UT_DRIVER, fmt, ##__VA_ARGS__)
629+ drm_dev_dbg(__drm_to_dev (drm), DRM_UT_CORE, fmt, ##__VA_ARGS__)
630+ #define drm_dbg_driver (drm , fmt , ...) \
631+ drm_dev_dbg(__drm_to_dev (drm), DRM_UT_DRIVER, fmt, ##__VA_ARGS__)
626632#define drm_dbg_kms (drm , fmt , ...) \
627- drm_dev_dbg((drm) ? (drm)->dev : NULL , DRM_UT_KMS, fmt, ##__VA_ARGS__)
633+ drm_dev_dbg(__drm_to_dev (drm), DRM_UT_KMS, fmt, ##__VA_ARGS__)
628634#define drm_dbg_prime (drm , fmt , ...) \
629- drm_dev_dbg((drm) ? (drm)->dev : NULL , DRM_UT_PRIME, fmt, ##__VA_ARGS__)
635+ drm_dev_dbg(__drm_to_dev (drm), DRM_UT_PRIME, fmt, ##__VA_ARGS__)
630636#define drm_dbg_atomic (drm , fmt , ...) \
631- drm_dev_dbg((drm) ? (drm)->dev : NULL , DRM_UT_ATOMIC, fmt, ##__VA_ARGS__)
637+ drm_dev_dbg(__drm_to_dev (drm), DRM_UT_ATOMIC, fmt, ##__VA_ARGS__)
632638#define drm_dbg_vbl (drm , fmt , ...) \
633- drm_dev_dbg((drm) ? (drm)->dev : NULL , DRM_UT_VBL, fmt, ##__VA_ARGS__)
639+ drm_dev_dbg(__drm_to_dev (drm), DRM_UT_VBL, fmt, ##__VA_ARGS__)
634640#define drm_dbg_state (drm , fmt , ...) \
635- drm_dev_dbg((drm) ? (drm)->dev : NULL , DRM_UT_STATE, fmt, ##__VA_ARGS__)
641+ drm_dev_dbg(__drm_to_dev (drm), DRM_UT_STATE, fmt, ##__VA_ARGS__)
636642#define drm_dbg_lease (drm , fmt , ...) \
637- drm_dev_dbg((drm) ? (drm)->dev : NULL , DRM_UT_LEASE, fmt, ##__VA_ARGS__)
643+ drm_dev_dbg(__drm_to_dev (drm), DRM_UT_LEASE, fmt, ##__VA_ARGS__)
638644#define drm_dbg_dp (drm , fmt , ...) \
639- drm_dev_dbg((drm) ? (drm)->dev : NULL , DRM_UT_DP, fmt, ##__VA_ARGS__)
645+ drm_dev_dbg(__drm_to_dev (drm), DRM_UT_DP, fmt, ##__VA_ARGS__)
640646#define drm_dbg_drmres (drm , fmt , ...) \
641- drm_dev_dbg((drm) ? (drm)->dev : NULL , DRM_UT_DRMRES, fmt, ##__VA_ARGS__)
647+ drm_dev_dbg(__drm_to_dev (drm), DRM_UT_DRMRES, fmt, ##__VA_ARGS__)
642648
643649#define drm_dbg (drm , fmt , ...) drm_dbg_driver(drm, fmt, ##__VA_ARGS__)
644650
@@ -727,10 +733,9 @@ void __drm_err(const char *format, ...);
727733#define __DRM_DEFINE_DBG_RATELIMITED (category , drm , fmt , ...) \
728734({ \
729735 static DEFINE_RATELIMIT_STATE(rs_, DEFAULT_RATELIMIT_INTERVAL, DEFAULT_RATELIMIT_BURST);\
730- const struct drm_device *drm_ = (drm); \
731736 \
732737 if (drm_debug_enabled(DRM_UT_ ## category) && __ratelimit(&rs_)) \
733- drm_dev_printk(drm_ ? drm_->dev : NULL , KERN_DEBUG, fmt, ## __VA_ARGS__); \
738+ drm_dev_printk(__drm_to_dev(drm) , KERN_DEBUG, fmt, ## __VA_ARGS__); \
734739})
735740
736741#define drm_dbg_ratelimited (drm , fmt , ...) \
@@ -752,13 +757,13 @@ void __drm_err(const char *format, ...);
752757/* Helper for struct drm_device based WARNs */
753758#define drm_WARN (drm , condition , format , arg ...) \
754759 WARN(condition, "%s %s: [drm] " format, \
755- dev_driver_string((drm)->dev), \
756- dev_name((drm)->dev ), ## arg)
760+ dev_driver_string(__drm_to_dev (drm)), \
761+ dev_name(__drm_to_dev (drm)), ## arg)
757762
758763#define drm_WARN_ONCE (drm , condition , format , arg ...) \
759764 WARN_ONCE(condition, "%s %s: [drm] " format, \
760- dev_driver_string((drm)->dev), \
761- dev_name((drm)->dev ), ## arg)
765+ dev_driver_string(__drm_to_dev (drm)), \
766+ dev_name(__drm_to_dev (drm)), ## arg)
762767
763768#define drm_WARN_ON (drm , x ) \
764769 drm_WARN((drm), (x), "%s", \
0 commit comments