On Mon, 13 Jan 2020, Pankaj Bharadiya <pankaj.laxminarayan.bharadiya@xxxxxxxxx> wrote: > Add new struct drm_device based WARN* macros. These are modeled after > the core kernel device based WARN* macros. These would be preferred > over the regular WARN* macros, where possible. > > These macros include device information in the backtrace, so we know > what device the warnings originate from. > > Knowing the device specific information in the backtrace would be > helpful in development all around. > > Signed-off-by: Pankaj Bharadiya <pankaj.laxminarayan.bharadiya@xxxxxxxxx> > --- > include/drm/drm_print.h | 30 ++++++++++++++++++++++++++++++ > 1 file changed, 30 insertions(+) > > diff --git a/include/drm/drm_print.h b/include/drm/drm_print.h > index 8f99d389792d..61a7224e697d 100644 > --- a/include/drm/drm_print.h > +++ b/include/drm/drm_print.h > @@ -553,4 +553,34 @@ void __drm_err(const char *format, ...); > #define DRM_DEBUG_PRIME_RATELIMITED(fmt, ...) \ > DRM_DEV_DEBUG_PRIME_RATELIMITED(NULL, fmt, ##__VA_ARGS__) > > +/* > + * struct drm_device based WARNs > + * > + * > + * drm_WARN*() acts like WARN*(), but with the key difference of > + * using device specific information so that we know from which device > + * warning is originating from. > + * > + * Prefer drm_device based dev_WARN* over regular WARN* drm_WARN, not dev_WARN. I don't really appreciated changing case mid-symbol, but that matches dev_WARN. :/ Other than that, Acked-by: Jani Nikula <jani.nikula@xxxxxxxxx> > + */ > + > +/* Helper for struct drm_device based WARNs */ > +#define drm_WARN(drm, condition, format, arg...) \ > + WARN(condition, "%s %s: " format, \ > + dev_driver_string((drm)->dev), \ > + dev_name((drm)->dev), ## arg) > + > +#define drm_WARN_ONCE(drm, condition, format, arg...) \ > + WARN_ONCE(condition, "%s %s: " format, \ > + dev_driver_string((drm)->dev), \ > + dev_name((drm)->dev), ## arg) > + > +#define drm_WARN_ON(drm, x) \ > + drm_WARN((drm), (x), "%s", \ > + "drm_WARN_ON(" __stringify(x) ")") > + > +#define drm_WARN_ON_ONCE(drm, x) \ > + drm_WARN_ONCE((drm), (x), "%s", \ > + "drm_WARN_ON_ONCE(" __stringify(x) ")") > + > #endif /* DRM_PRINT_H_ */ -- Jani Nikula, Intel Open Source Graphics Center _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel