Module Name:    src
Committed By:   riastradh
Date:           Mon Aug 27 13:42:47 UTC 2018

Modified Files:
        src/sys/external/bsd/drm2/dist/drm: drm_drv.c
        src/sys/external/bsd/drm2/dist/include/drm: drmP.h

Log Message:
Put file, line, func in DRM_ERROR messages.


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/sys/external/bsd/drm2/dist/drm/drm_drv.c
cvs rdiff -u -r1.24 -r1.25 src/sys/external/bsd/drm2/dist/include/drm/drmP.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/drm2/dist/drm/drm_drv.c
diff -u src/sys/external/bsd/drm2/dist/drm/drm_drv.c:1.7 src/sys/external/bsd/drm2/dist/drm/drm_drv.c:1.8
--- src/sys/external/bsd/drm2/dist/drm/drm_drv.c:1.7	Mon Aug 27 13:42:24 2018
+++ src/sys/external/bsd/drm2/dist/drm/drm_drv.c	Mon Aug 27 13:42:47 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: drm_drv.c,v 1.7 2018/08/27 13:42:24 riastradh Exp $	*/
+/*	$NetBSD: drm_drv.c,v 1.8 2018/08/27 13:42:47 riastradh Exp $	*/
 
 /*
  * Created: Fri Jan 19 10:48:35 2001 by fa...@acm.org
@@ -29,7 +29,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: drm_drv.c,v 1.7 2018/08/27 13:42:24 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: drm_drv.c,v 1.8 2018/08/27 13:42:47 riastradh Exp $");
 
 #include <linux/err.h>
 #include <linux/export.h>
@@ -70,18 +70,20 @@ static struct idr drm_minors_idr;
 static struct dentry *drm_debugfs_root;
 #endif
 
-void drm_err(const char *format, ...)
-{
 #ifdef __NetBSD__
+void
+drm_err(const char *file, int line, const char *func, const char *format, ...)
+{
 	va_list args;
 
 	va_start(args, format);
-	/* XXX Convert this to a symbol name...  */
-	printf(KERN_ERR "[" DRM_NAME ":%p] *ERROR* ",
-	    __builtin_return_address(0));
+	printf(KERN_ERR "[" DRM_NAME ":(%s:%d)%s] *ERROR* ", file, line, func);
 	vprintf(format, args);
 	va_end(args);
+}
 #else
+void drm_err(const char *format, ...)
+{
 	struct va_format vaf;
 	va_list args;
 
@@ -94,8 +96,8 @@ void drm_err(const char *format, ...)
 	       __builtin_return_address(0), &vaf);
 
 	va_end(args);
-#endif
 }
+#endif
 EXPORT_SYMBOL(drm_err);
 
 void drm_ut_debug_printk(const char *function_name, const char *format, ...)

Index: src/sys/external/bsd/drm2/dist/include/drm/drmP.h
diff -u src/sys/external/bsd/drm2/dist/include/drm/drmP.h:1.24 src/sys/external/bsd/drm2/dist/include/drm/drmP.h:1.25
--- src/sys/external/bsd/drm2/dist/include/drm/drmP.h:1.24	Mon Aug 27 13:36:32 2018
+++ src/sys/external/bsd/drm2/dist/include/drm/drmP.h	Mon Aug 27 13:42:47 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: drmP.h,v 1.24 2018/08/27 13:36:32 riastradh Exp $	*/
+/*	$NetBSD: drmP.h,v 1.25 2018/08/27 13:42:47 riastradh Exp $	*/
 
 /*
  * Internal Header for the Direct Rendering Manager
@@ -149,8 +149,8 @@ struct dma_buf_attachment;
 extern __printf(2, 3)
 void drm_ut_debug_printk(const char *function_name,
 			 const char *format, ...);
-extern __printf(1, 2)
-void drm_err(const char *format, ...);
+extern __printf(4, 5)
+void drm_err(const char *file, int line, const char *func, const char *format, ...);
 
 /***********************************************************************/
 /** \name DRM template customization defaults */
@@ -201,7 +201,7 @@ void drm_err(const char *format, ...);
  * \param arg arguments
  */
 #define DRM_ERROR(fmt, ...)				\
-	drm_err(fmt, ##__VA_ARGS__)
+	drm_err(__FILE__, __LINE__, __func__, fmt, ##__VA_ARGS__)
 
 /**
  * Rate limited error output.  Like DRM_ERROR() but won't flood the log.
@@ -216,7 +216,7 @@ void drm_err(const char *format, ...);
 				      DEFAULT_RATELIMIT_BURST);		\
 									\
 	if (__ratelimit(&_rs))						\
-		drm_err(fmt, ##__VA_ARGS__);				\
+		drm_err(__FILE__, __LINE__, __func__, fmt, ##__VA_ARGS__);    \
 })
 
 /**

Reply via email to