On Tue, Jul 12, 2016 at 03:53:55PM +0100, Dave Gordon wrote: > On 12/07/16 15:25, Daniel Vetter wrote: > > On Mon, Jul 11, 2016 at 07:01:27PM +0100, Dave Gordon wrote: > > > We had only DRM_INFO() and DRM_ERROR(), whereas the underlying printk() > > > provides several other useful intermediate levels such as NOTICE and > > > WARNING. So this patch fills out the set by providing both regular and > > > once-only macros for each of the levels INFO, NOTICE, and WARNING, using > > > a common underlying macro that does all the token-pasting. > > > > > > DRM_ERROR is unchanged, as it's not just a printk wrapper. > > > > > > Signed-off-by: Dave Gordon <david.s.gordon@xxxxxxxxx> > > > > I'm not sure what exactly the brave new drm debug model should look like > > (probably some form of pimped dynamic debug printk, to be able to be > > backwards compatible with the gazillion of blog posts recommending to > > capture dmesg with drm.debug=0xe). But extending these is probably not > > what we want ... > > -Daniel > > These are not debug of any sort, these message are intended to be seen by > the user (or administrator), and these macros allow us to emit the messages > at the most appropriate kernel message level. Hm ok, I guess we can extend them for that. -Daniel > > .Dave. > > > > --- > > > include/drm/drmP.h | 26 ++++++++++++++++++++------ > > > 1 file changed, 20 insertions(+), 6 deletions(-) > > > > > > diff --git a/include/drm/drmP.h b/include/drm/drmP.h > > > index cf918e3e..82648b1 100644 > > > --- a/include/drm/drmP.h > > > +++ b/include/drm/drmP.h > > > @@ -162,6 +162,26 @@ void drm_err(const char *format, ...); > > > /** \name Macros to make printk easier */ > > > /*@{*/ > > > > > > +#define _DRM_PRINTK(once, level, fmt, ...) \ > > > + do { \ > > > + printk##once(KERN_##level "[" DRM_NAME "] " fmt, \ > > > + ##__VA_ARGS__); \ > > > + } while (0) > > > + > > > +#define DRM_INFO(fmt, ...) \ > > > + _DRM_PRINTK(, INFO, fmt, ##__VA_ARGS__) > > > +#define DRM_NOTE(fmt, ...) \ > > > + _DRM_PRINTK(, NOTICE, fmt, ##__VA_ARGS__) > > > +#define DRM_WARN(fmt, ...) \ > > > + _DRM_PRINTK(, WARNING, fmt, ##__VA_ARGS__) > > > + > > > +#define DRM_INFO_ONCE(fmt, ...) \ > > > + _DRM_PRINTK(_once, INFO, fmt, __VA_ARGS__) > > > +#define DRM_NOTE_ONCE(fmt, ...) \ > > > + _DRM_PRINTK(_once, NOTICE, fmt, ##__VA_ARGS__) > > > +#define DRM_WARN_ONCE(fmt, ...) \ > > > + _DRM_PRINTK(_once, WARNING, fmt, ##__VA_ARGS__) > > > + > > > /** > > > * Error output. > > > * > > > @@ -187,12 +207,6 @@ void drm_err(const char *format, ...); > > > drm_err(fmt, ##__VA_ARGS__); \ > > > }) > > > > > > -#define DRM_INFO(fmt, ...) \ > > > - printk(KERN_INFO "[" DRM_NAME "] " fmt, ##__VA_ARGS__) > > > - > > > -#define DRM_INFO_ONCE(fmt, ...) \ > > > - printk_once(KERN_INFO "[" DRM_NAME "] " fmt, ##__VA_ARGS__) > > > - > > > /** > > > * Debug output. > > > * > > > -- > > > 1.9.1 > > > > > > _______________________________________________ > > > Intel-gfx mailing list > > > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > > > https://lists.freedesktop.org/mailman/listinfo/intel-gfx > > > -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel