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