summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authorriastradh <riastradh@NetBSD.org>2023-03-01 08:42:33 +0000
committerriastradh <riastradh@NetBSD.org>2023-03-01 08:42:33 +0000
commit087c187e15c5ce5a3f5d864f2d6a2dc6019d7761 (patch)
treed412d6c6577426ca66791eb9bd2be18c9407bd44 /sys/dev
parentde64ca6f1b83eed7a1504f411a8e141413d833da (diff)
nouveau: Kick out genfb on firmware framebuffer before initializing.
PR kern/53126
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/wscons/wsdisplay.c13
-rw-r--r--sys/dev/wscons/wsdisplayvar.h3
2 files changed, 13 insertions, 3 deletions
diff --git a/sys/dev/wscons/wsdisplay.c b/sys/dev/wscons/wsdisplay.c
index dc4c526625d..64f1d2ed211 100644
--- a/sys/dev/wscons/wsdisplay.c
+++ b/sys/dev/wscons/wsdisplay.c
@@ -1,4 +1,4 @@
-/* $NetBSD: wsdisplay.c,v 1.165 2022/07/17 11:43:39 riastradh Exp $ */
+/* $NetBSD: wsdisplay.c,v 1.166 2023/03/01 08:42:33 riastradh Exp $ */
/*
* Copyright (c) 1996, 1997 Christopher G. Demetriou. All rights reserved.
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: wsdisplay.c,v 1.165 2022/07/17 11:43:39 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: wsdisplay.c,v 1.166 2023/03/01 08:42:33 riastradh Exp $");
#ifdef _KERNEL_OPT
#include "opt_wsdisplay_compat.h"
@@ -982,6 +982,15 @@ wsdisplay_preattach(const struct wsscreen_descr *type, void *cookie,
}
void
+wsdisplay_predetach(void)
+{
+ KASSERT(wsdisplay_console_initted == 1);
+
+ cn_tab = wsdisplay_ocn;
+ wsdisplay_console_initted = 0;
+}
+
+void
wsdisplay_cndetach(void)
{
KASSERT(wsdisplay_console_initted == 2);
diff --git a/sys/dev/wscons/wsdisplayvar.h b/sys/dev/wscons/wsdisplayvar.h
index 281991e7d2b..3329671e6a8 100644
--- a/sys/dev/wscons/wsdisplayvar.h
+++ b/sys/dev/wscons/wsdisplayvar.h
@@ -1,4 +1,4 @@
-/* $NetBSD: wsdisplayvar.h,v 1.56 2022/01/29 01:19:30 uwe Exp $ */
+/* $NetBSD: wsdisplayvar.h,v 1.57 2023/03/01 08:42:33 riastradh Exp $ */
/*
* Copyright (c) 1996, 1997 Christopher G. Demetriou. All rights reserved.
@@ -172,6 +172,7 @@ void wsdisplay_cnattach(const struct wsscreen_descr *, void *, int, int,
long);
void wsdisplay_preattach(const struct wsscreen_descr *, void *, int, int,
long);
+void wsdisplay_predetach(void);
void wsdisplay_cndetach(void);
void wsdisplay_multicons_suspend(bool);