Commit 5ad3d883 authored by Joe Perches's avatar Joe Perches Committed by Dave Airlie

drm: Create and use drm_err

Reduce drm text size ~1% by using drm_err and
printf extension %pV to emit error messages.

Remove unused macro DRM_MEM_ERROR.

$ size drivers/gpu/drm/built-in.o*
   text	   data	    bss	    dec	    hex	filename
 361159	   9663	    256	 371078	  5a986	drivers/gpu/drm/built-in.o.new
 365416	   9663	    256	 375335	  5ba27	drivers/gpu/drm/built-in.o.old
Signed-off-by: default avatarJoe Perches <joe@perches.com>
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parent cb49ba0b
...@@ -62,6 +62,26 @@ struct idr drm_minors_idr; ...@@ -62,6 +62,26 @@ struct idr drm_minors_idr;
struct class *drm_class; struct class *drm_class;
struct proc_dir_entry *drm_proc_root; struct proc_dir_entry *drm_proc_root;
struct dentry *drm_debugfs_root; struct dentry *drm_debugfs_root;
int drm_err(const char *func, const char *format, ...)
{
struct va_format vaf;
va_list args;
int r;
va_start(args, format);
vaf.fmt = format;
vaf.va = &args;
r = printk(KERN_ERR "[" DRM_NAME ":%s] *ERROR* %pV", func, &vaf);
va_end(args);
return r;
}
EXPORT_SYMBOL(drm_err);
void drm_ut_debug_printk(unsigned int request_level, void drm_ut_debug_printk(unsigned int request_level,
const char *prefix, const char *prefix,
const char *function_name, const char *function_name,
...@@ -78,6 +98,7 @@ void drm_ut_debug_printk(unsigned int request_level, ...@@ -78,6 +98,7 @@ void drm_ut_debug_printk(unsigned int request_level,
} }
} }
EXPORT_SYMBOL(drm_ut_debug_printk); EXPORT_SYMBOL(drm_ut_debug_printk);
static int drm_minor_get_id(struct drm_device *dev, int type) static int drm_minor_get_id(struct drm_device *dev, int type)
{ {
int new_id; int new_id;
......
...@@ -126,6 +126,9 @@ extern void drm_ut_debug_printk(unsigned int request_level, ...@@ -126,6 +126,9 @@ extern void drm_ut_debug_printk(unsigned int request_level,
const char *prefix, const char *prefix,
const char *function_name, const char *function_name,
const char *format, ...); const char *format, ...);
extern __attribute__((format (printf, 2, 3)))
int drm_err(const char *func, const char *format, ...);
/***********************************************************************/ /***********************************************************************/
/** \name DRM template customization defaults */ /** \name DRM template customization defaults */
/*@{*/ /*@{*/
...@@ -181,21 +184,11 @@ extern void drm_ut_debug_printk(unsigned int request_level, ...@@ -181,21 +184,11 @@ extern void drm_ut_debug_printk(unsigned int request_level,
* \param fmt printf() like format string. * \param fmt printf() like format string.
* \param arg arguments * \param arg arguments
*/ */
#define DRM_ERROR(fmt, arg...) \ #define DRM_ERROR(fmt, ...) \
printk(KERN_ERR "[" DRM_NAME ":%s] *ERROR* " fmt , __func__ , ##arg) drm_err(__func__, fmt, ##__VA_ARGS__)
/**
* Memory error output.
*
* \param area memory area where the error occurred.
* \param fmt printf() like format string.
* \param arg arguments
*/
#define DRM_MEM_ERROR(area, fmt, arg...) \
printk(KERN_ERR "[" DRM_NAME ":%s:%s] *ERROR* " fmt , __func__, \
drm_mem_stats[area].name , ##arg)
#define DRM_INFO(fmt, arg...) printk(KERN_INFO "[" DRM_NAME "] " fmt , ##arg) #define DRM_INFO(fmt, ...) \
printk(KERN_INFO "[" DRM_NAME "] " fmt, ##__VA_ARGS__)
/** /**
* Debug output. * Debug output.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment