[Intel-gfx] [PATCH 1/3] drm: extra printk() wrapper macros

Dave Gordon david.s.gordon at intel.com
Tue Jul 12 14:53:55 UTC 2016


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.

.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
>



More information about the dri-devel mailing list