@@ -629,9 +629,15 @@ static inline struct drm_printer drm_line_printer(struct drm_printer *p,
629
629
* Prefer drm_device based logging over device or prink based logging.
630
630
*/
631
631
632
+ /* Helper to enforce struct drm_device type */
633
+ static inline struct device * __drm_to_dev (const struct drm_device * drm )
634
+ {
635
+ return drm ? drm -> dev : NULL ;
636
+ }
637
+
632
638
/* Helper for struct drm_device based logging. */
633
639
#define __drm_printk (drm , level , type , fmt , ...) \
634
- dev_##level##type((drm) ? (drm)->dev : NULL , "[drm] " fmt, ##__VA_ARGS__)
640
+ dev_##level##type(__drm_to_dev (drm), "[drm] " fmt, ##__VA_ARGS__)
635
641
636
642
637
643
#define drm_info (drm , fmt , ...) \
@@ -667,47 +673,47 @@ static inline struct drm_printer drm_line_printer(struct drm_printer *p,
667
673
#ifdef __linux__
668
674
669
675
#define drm_dbg_core (drm , fmt , ...) \
670
- drm_dev_dbg((drm) ? (drm)->dev : NULL , DRM_UT_CORE, fmt, ##__VA_ARGS__)
676
+ drm_dev_dbg(__drm_to_dev (drm), DRM_UT_CORE, fmt, ##__VA_ARGS__)
671
677
#define drm_dbg_driver (drm , fmt , ...) \
672
- drm_dev_dbg((drm) ? (drm)->dev : NULL , DRM_UT_DRIVER, fmt, ##__VA_ARGS__)
678
+ drm_dev_dbg(__drm_to_dev (drm), DRM_UT_DRIVER, fmt, ##__VA_ARGS__)
673
679
#define drm_dbg_kms (drm , fmt , ...) \
674
- drm_dev_dbg((drm) ? (drm)->dev : NULL , DRM_UT_KMS, fmt, ##__VA_ARGS__)
680
+ drm_dev_dbg(__drm_to_dev (drm), DRM_UT_KMS, fmt, ##__VA_ARGS__)
675
681
#define drm_dbg_prime (drm , fmt , ...) \
676
- drm_dev_dbg((drm) ? (drm)->dev : NULL , DRM_UT_PRIME, fmt, ##__VA_ARGS__)
682
+ drm_dev_dbg(__drm_to_dev (drm), DRM_UT_PRIME, fmt, ##__VA_ARGS__)
677
683
#define drm_dbg_atomic (drm , fmt , ...) \
678
- drm_dev_dbg((drm) ? (drm)->dev : NULL , DRM_UT_ATOMIC, fmt, ##__VA_ARGS__)
684
+ drm_dev_dbg(__drm_to_dev (drm), DRM_UT_ATOMIC, fmt, ##__VA_ARGS__)
679
685
#define drm_dbg_vbl (drm , fmt , ...) \
680
- drm_dev_dbg((drm) ? (drm)->dev : NULL , DRM_UT_VBL, fmt, ##__VA_ARGS__)
686
+ drm_dev_dbg(__drm_to_dev (drm), DRM_UT_VBL, fmt, ##__VA_ARGS__)
681
687
#define drm_dbg_state (drm , fmt , ...) \
682
- drm_dev_dbg((drm) ? (drm)->dev : NULL , DRM_UT_STATE, fmt, ##__VA_ARGS__)
688
+ drm_dev_dbg(__drm_to_dev (drm), DRM_UT_STATE, fmt, ##__VA_ARGS__)
683
689
#define drm_dbg_lease (drm , fmt , ...) \
684
- drm_dev_dbg((drm) ? (drm)->dev : NULL , DRM_UT_LEASE, fmt, ##__VA_ARGS__)
690
+ drm_dev_dbg(__drm_to_dev (drm), DRM_UT_LEASE, fmt, ##__VA_ARGS__)
685
691
#define drm_dbg_dp (drm , fmt , ...) \
686
- drm_dev_dbg((drm) ? (drm)->dev : NULL , DRM_UT_DP, fmt, ##__VA_ARGS__)
692
+ drm_dev_dbg(__drm_to_dev (drm), DRM_UT_DP, fmt, ##__VA_ARGS__)
687
693
#define drm_dbg_drmres (drm , fmt , ...) \
688
- drm_dev_dbg((drm) ? (drm)->dev : NULL , DRM_UT_DRMRES, fmt, ##__VA_ARGS__)
694
+ drm_dev_dbg(__drm_to_dev (drm), DRM_UT_DRMRES, fmt, ##__VA_ARGS__)
689
695
#else
690
696
691
697
#define drm_dbg_core (drm , fmt , ...) \
692
- drm_dev_dbg((drm)->dev , DRM_UT_CORE, __func__, fmt, ##__VA_ARGS__)
698
+ drm_dev_dbg(__drm_to_dev (drm), DRM_UT_CORE, __func__, fmt, ##__VA_ARGS__)
693
699
#define drm_dbg_driver (drm , fmt , ...) \
694
- drm_dev_dbg((drm)->dev , DRM_UT_DRIVER, __func__, fmt, ##__VA_ARGS__)
700
+ drm_dev_dbg(__drm_to_dev (drm), DRM_UT_DRIVER, __func__, fmt, ##__VA_ARGS__)
695
701
#define drm_dbg_kms (drm , fmt , ...) \
696
- drm_dev_dbg((drm)->dev , DRM_UT_KMS, __func__, fmt, ##__VA_ARGS__)
702
+ drm_dev_dbg(__drm_to_dev (drm), DRM_UT_KMS, __func__, fmt, ##__VA_ARGS__)
697
703
#define drm_dbg_prime (drm , fmt , ...) \
698
- drm_dev_dbg((drm)->dev , DRM_UT_PRIME, __func__, fmt, ##__VA_ARGS__)
704
+ drm_dev_dbg(__drm_to_dev (drm), DRM_UT_PRIME, __func__, fmt, ##__VA_ARGS__)
699
705
#define drm_dbg_atomic (drm , fmt , ...) \
700
- drm_dev_dbg((drm)->dev , DRM_UT_ATOMIC, __func__, fmt, ##__VA_ARGS__)
706
+ drm_dev_dbg(__drm_to_dev (drm), DRM_UT_ATOMIC, __func__, fmt, ##__VA_ARGS__)
701
707
#define drm_dbg_vbl (drm , fmt , ...) \
702
- drm_dev_dbg((drm)->dev , DRM_UT_VBL, __func__, fmt, ##__VA_ARGS__)
708
+ drm_dev_dbg(__drm_to_dev (drm), DRM_UT_VBL, __func__, fmt, ##__VA_ARGS__)
703
709
#define drm_dbg_state (drm , fmt , ...) \
704
- drm_dev_dbg((drm)->dev , DRM_UT_STATE, __func__, fmt, ##__VA_ARGS__)
710
+ drm_dev_dbg(__drm_to_dev (drm), DRM_UT_STATE, __func__, fmt, ##__VA_ARGS__)
705
711
#define drm_dbg_lease (drm , fmt , ...) \
706
- drm_dev_dbg((drm)->dev , DRM_UT_LEASE, __func__, fmt, ##__VA_ARGS__)
712
+ drm_dev_dbg(__drm_to_dev (drm), DRM_UT_LEASE, __func__, fmt, ##__VA_ARGS__)
707
713
#define drm_dbg_dp (drm , fmt , ...) \
708
- drm_dev_dbg((drm)->dev , DRM_UT_DP, __func__, fmt, ##__VA_ARGS__)
714
+ drm_dev_dbg(__drm_to_dev (drm), DRM_UT_DP, __func__, fmt, ##__VA_ARGS__)
709
715
#define drm_dbg_drmres (drm , fmt , ...) \
710
- drm_dev_dbg((drm)->dev , DRM_UT_DRMRES, __func__, fmt, ##__VA_ARGS__)
716
+ drm_dev_dbg(__drm_to_dev (drm), DRM_UT_DRMRES, __func__, fmt, ##__VA_ARGS__)
711
717
#endif
712
718
713
719
#define drm_dbg (drm , fmt , ...) drm_dbg_driver(drm, fmt, ##__VA_ARGS__)
@@ -839,10 +845,9 @@ void __drm_err(const char *function_name, const char *format, ...);
839
845
#define __DRM_DEFINE_DBG_RATELIMITED (category , drm , fmt , ...) \
840
846
({ \
841
847
static DEFINE_RATELIMIT_STATE(rs_, DEFAULT_RATELIMIT_INTERVAL, DEFAULT_RATELIMIT_BURST);\
842
- const struct drm_device *drm_ = (drm); \
843
848
\
844
849
if (drm_debug_enabled(DRM_UT_ ## category) && __ratelimit(&rs_)) \
845
- drm_dev_printk(drm_ ? drm_->dev : NULL , KERN_DEBUG, fmt, ## __VA_ARGS__); \
850
+ drm_dev_printk(__drm_to_dev(drm) , KERN_DEBUG, fmt, ## __VA_ARGS__); \
846
851
})
847
852
848
853
#define drm_dbg_ratelimited (drm , fmt , ...) \
@@ -864,13 +869,13 @@ void __drm_err(const char *function_name, const char *format, ...);
864
869
/* Helper for struct drm_device based WARNs */
865
870
#define drm_WARN (drm , condition , format , arg ...) \
866
871
WARN(condition, "%s %s: [drm] " format, \
867
- dev_driver_string((drm)->dev), \
868
- dev_name((drm)->dev ), ## arg)
872
+ dev_driver_string(__drm_to_dev (drm)), \
873
+ dev_name(__drm_to_dev (drm)), ## arg)
869
874
870
875
#define drm_WARN_ONCE (drm , condition , format , arg ...) \
871
876
WARN_ONCE(condition, "%s %s: [drm] " format, \
872
- dev_driver_string((drm)->dev), \
873
- dev_name((drm)->dev ), ## arg)
877
+ dev_driver_string(__drm_to_dev (drm)), \
878
+ dev_name(__drm_to_dev (drm)), ## arg)
874
879
875
880
#define drm_WARN_ON (drm , x ) \
876
881
drm_WARN((drm), (x), "%s", \
0 commit comments