diff options
| author | Joe Perches <joe@perches.com> | 2011-04-17 20:35:51 -0700 | 
|---|---|---|
| committer | Dave Airlie <airlied@redhat.com> | 2011-04-28 14:53:02 +1000 | 
| commit | 5ad3d8831f0c97257460c11ddcc1cc0466c762d4 (patch) | |
| tree | 8ab86a7b1c0ebfcfdbf24270ac1f54ed1bed8a6e | |
| parent | cb49ba0bb18632faa7c5ce1dcb095eaa70821c1d (diff) | |
| download | olio-linux-3.10-5ad3d8831f0c97257460c11ddcc1cc0466c762d4.tar.xz olio-linux-3.10-5ad3d8831f0c97257460c11ddcc1cc0466c762d4.zip  | |
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: Joe Perches <joe@perches.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
| -rw-r--r-- | drivers/gpu/drm/drm_stub.c | 21 | ||||
| -rw-r--r-- | include/drm/drmP.h | 21 | 
2 files changed, 28 insertions, 14 deletions
diff --git a/drivers/gpu/drm/drm_stub.c b/drivers/gpu/drm/drm_stub.c index 001273d57f2..6d7b083c5b7 100644 --- a/drivers/gpu/drm/drm_stub.c +++ b/drivers/gpu/drm/drm_stub.c @@ -62,6 +62,26 @@ struct idr drm_minors_idr;  struct class *drm_class;  struct proc_dir_entry *drm_proc_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,  			 const char *prefix,  			 const char *function_name, @@ -78,6 +98,7 @@ void drm_ut_debug_printk(unsigned int request_level,  	}  }  EXPORT_SYMBOL(drm_ut_debug_printk); +  static int drm_minor_get_id(struct drm_device *dev, int type)  {  	int new_id; diff --git a/include/drm/drmP.h b/include/drm/drmP.h index 202424d17ed..22db51d1061 100644 --- a/include/drm/drmP.h +++ b/include/drm/drmP.h @@ -126,6 +126,9 @@ extern void drm_ut_debug_printk(unsigned int request_level,  				const char *prefix,  				const char *function_name,  				const char *format, ...); +extern __attribute__((format (printf, 2, 3))) +int drm_err(const char *func, const char *format, ...); +  /***********************************************************************/  /** \name DRM template customization defaults */  /*@{*/ @@ -181,21 +184,11 @@ extern void drm_ut_debug_printk(unsigned int request_level,   * \param fmt printf() like format string.   * \param arg arguments   */ -#define DRM_ERROR(fmt, arg...) \ -	printk(KERN_ERR "[" DRM_NAME ":%s] *ERROR* " fmt , __func__ , ##arg) - -/** - * 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_ERROR(fmt, ...)				\ +	drm_err(__func__, fmt, ##__VA_ARGS__) -#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.  |