[Intel-gfx] [PATCH 1/3] drm: extra printk() wrapper macros
Daniel Vetter
daniel at ffwll.ch
Tue Jul 12 14:59:08 UTC 2016
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 at intel.com>
> >
> > 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 at lists.freedesktop.org
> > > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
> >
>
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
More information about the dri-devel
mailing list