Hi John, [...] > +#define gt_WARN_ON(_gt, _condition) \ > + gt_WARN(_gt, _condition, "%s", "gt_WARN_ON(" __stringify(_condition) ")") > + > +#define gt_WARN_ON_ONCE(_gt, _condition) \ > + gt_WARN_ONCE(_gt, _condition, "%s", "gt_WARN_ONCE(" __stringify(_condition) ")") > + > +#define gt_WARN(_gt, _condition, _fmt, ...) \ > + drm_WARN(&(_gt)->i915->drm, _condition, "GT%u: " _fmt, (_gt)->info.id, ##__VA_ARGS__) > + > +#define gt_WARN_ONCE(_gt, _condition, _fmt, ...) \ > + drm_WARN_ONCE(&(_gt)->i915->drm, _condition, "GT%u: " _fmt, (_gt)->info.id, ##__VA_ARGS__) do we need some order here? gt_WARN and gt_WARN_ONCE should go before respectively gt_WARN_ON and gt_WARN_ON_ONCE. The rest looks good. Andi