Module Name:    src
Committed By:   riastradh
Date:           Sun Dec 19 01:07:52 UTC 2021

Modified Files:
        src/sys/external/bsd/drm2/dist/drm: drm_print.c

Log Message:
Rework drm print routines for NetBSD.


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/sys/external/bsd/drm2/dist/drm/drm_print.c

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_print.c
diff -u src/sys/external/bsd/drm2/dist/drm/drm_print.c:1.3 src/sys/external/bsd/drm2/dist/drm/drm_print.c:1.4
--- src/sys/external/bsd/drm2/dist/drm/drm_print.c:1.3	Sun Dec 19 00:29:09 2021
+++ src/sys/external/bsd/drm2/dist/drm/drm_print.c	Sun Dec 19 01:07:52 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: drm_print.c,v 1.3 2021/12/19 00:29:09 riastradh Exp $	*/
+/*	$NetBSD: drm_print.c,v 1.4 2021/12/19 01:07:52 riastradh Exp $	*/
 
 /*
  * Copyright (C) 2016 Red Hat
@@ -26,9 +26,11 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: drm_print.c,v 1.3 2021/12/19 00:29:09 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: drm_print.c,v 1.4 2021/12/19 01:07:52 riastradh Exp $");
 
+#ifndef __NetBSD__		/* XXX ??? */
 #define DEBUG /* for pr_debug() */
+#endif
 
 #ifdef __NetBSD__
 #include <sys/stdarg.h>
@@ -97,7 +99,7 @@ void __drm_puts_coredump(struct drm_prin
 
 		len = min_t(ssize_t, strlen(str), iterator->remain);
 
-		memcpy(iterator->data + pos, str, len);
+		memcpy((char *)iterator->data + pos, str, len);
 
 		iterator->offset += len;
 		iterator->remain -= len;
@@ -151,17 +153,21 @@ void __drm_printfn_coredump(struct drm_p
 }
 EXPORT_SYMBOL(__drm_printfn_coredump);
 
+#ifndef __NetBSD__		/* XXX seq file */
 void __drm_puts_seq_file(struct drm_printer *p, const char *str)
 {
 	seq_puts(p->arg, str);
 }
 EXPORT_SYMBOL(__drm_puts_seq_file);
+#endif
 
+#ifndef __NetBSD__		/* XXX seq file */
 void __drm_printfn_seq_file(struct drm_printer *p, struct va_format *vaf)
 {
 	seq_printf(p->arg, "%pV", vaf);
 }
 EXPORT_SYMBOL(__drm_printfn_seq_file);
+#endif
 
 void __drm_printfn_info(struct drm_printer *p, struct va_format *vaf)
 {
@@ -247,6 +253,15 @@ EXPORT_SYMBOL(drm_print_bits);
 void drm_dev_printk(const struct device *dev, const char *level,
 		    const char *format, ...)
 {
+#ifdef __NetBSD__
+	va_list va;
+
+	va_start(va, format);
+	if (dev)
+		printf("%s: ", device_xname(__UNCONST(dev)));
+	vprintf(format, va);
+	va_end(va);
+#else
 	struct va_format vaf;
 	va_list args;
 
@@ -262,12 +277,25 @@ void drm_dev_printk(const struct device 
 		       level, __builtin_return_address(0), &vaf);
 
 	va_end(args);
+#endif
 }
 EXPORT_SYMBOL(drm_dev_printk);
 
 void drm_dev_dbg(const struct device *dev, enum drm_debug_category category,
 		 const char *format, ...)
 {
+#ifdef __NetBSD__
+	va_list va;
+
+	if (!(drm_debug & category))
+		return;
+
+	va_start(va, format);
+	if (dev)
+		printf("%s: ", device_xname(__UNCONST(dev)));
+	vprintf(format, va);
+	va_end(va);
+#else
 	struct va_format vaf;
 	va_list args;
 
@@ -286,11 +314,22 @@ void drm_dev_dbg(const struct device *de
 		       __builtin_return_address(0), &vaf);
 
 	va_end(args);
+#endif
 }
 EXPORT_SYMBOL(drm_dev_dbg);
 
 void __drm_dbg(enum drm_debug_category category, const char *format, ...)
 {
+#ifdef __NetBSD__
+	va_list va;
+
+	if (!(drm_debug & category))
+		return;
+
+	va_start(va, format);
+	vprintf(format, va);
+	va_end(va);
+#else
 	struct va_format vaf;
 	va_list args;
 
@@ -305,6 +344,7 @@ void __drm_dbg(enum drm_debug_category c
 	       __builtin_return_address(0), &vaf);
 
 	va_end(args);
+#endif
 }
 EXPORT_SYMBOL(__drm_dbg);
 

Reply via email to