Module Name:    src
Committed By:   riastradh
Date:           Thu Jul 24 21:35:13 UTC 2014

Modified Files:
        src/sys/arch/arm/broadcom: bcm2835_genfb.c
        src/sys/dev/pci: genfb_pci.c
        src/sys/dev/sbus: genfb_sbus.c
        src/sys/dev/wsfb: genfb.c genfbvar.h

Log Message:
Add enable/disable polling hooks to genfb_ops.


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/arm/broadcom/bcm2835_genfb.c
cvs rdiff -u -r1.36 -r1.37 src/sys/dev/pci/genfb_pci.c
cvs rdiff -u -r1.10 -r1.11 src/sys/dev/sbus/genfb_sbus.c
cvs rdiff -u -r1.54 -r1.55 src/sys/dev/wsfb/genfb.c
cvs rdiff -u -r1.23 -r1.24 src/sys/dev/wsfb/genfbvar.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/arch/arm/broadcom/bcm2835_genfb.c
diff -u src/sys/arch/arm/broadcom/bcm2835_genfb.c:1.5 src/sys/arch/arm/broadcom/bcm2835_genfb.c:1.6
--- src/sys/arch/arm/broadcom/bcm2835_genfb.c:1.5	Sat May 11 07:42:34 2013
+++ src/sys/arch/arm/broadcom/bcm2835_genfb.c	Thu Jul 24 21:35:12 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: bcm2835_genfb.c,v 1.5 2013/05/11 07:42:34 skrll Exp $ */
+/* $NetBSD: bcm2835_genfb.c,v 1.6 2014/07/24 21:35:12 riastradh Exp $ */
 
 /*-
  * Copyright (c) 2013 Jared D. McNeill <jmcne...@invisible.ca>
@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: bcm2835_genfb.c,v 1.5 2013/05/11 07:42:34 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: bcm2835_genfb.c,v 1.6 2014/07/24 21:35:12 riastradh Exp $");
 
 #include <sys/param.h>
 #include <sys/types.h>
@@ -82,7 +82,8 @@ bcmgenfb_attach(device_t parent, device_
 	struct bcmgenfb_softc *sc = device_private(self);
 	struct amba_attach_args *aaa = aux;
 	prop_dictionary_t dict = device_properties(self);
-	struct genfb_ops ops;
+	static const struct genfb_ops zero_ops;
+	struct genfb_ops ops = zero_ops;
 	bool is_console = false;
 	int error;
 
@@ -113,7 +114,6 @@ bcmgenfb_attach(device_t parent, device_
 	}
 	sc->sc_gen.sc_fbaddr = bus_space_vaddr(sc->sc_iot, sc->sc_ioh);
 
-	memset(&ops, 0, sizeof(ops));
 	ops.genfb_ioctl = bcmgenfb_ioctl;
 	ops.genfb_mmap = bcmgenfb_mmap;
 

Index: src/sys/dev/pci/genfb_pci.c
diff -u src/sys/dev/pci/genfb_pci.c:1.36 src/sys/dev/pci/genfb_pci.c:1.37
--- src/sys/dev/pci/genfb_pci.c:1.36	Mon Jan 27 13:22:55 2014
+++ src/sys/dev/pci/genfb_pci.c	Thu Jul 24 21:35:13 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: genfb_pci.c,v 1.36 2014/01/27 13:22:55 macallan Exp $ */
+/*	$NetBSD: genfb_pci.c,v 1.37 2014/07/24 21:35:13 riastradh Exp $ */
 
 /*-
  * Copyright (c) 2007 Michael Lorenz
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: genfb_pci.c,v 1.36 2014/01/27 13:22:55 macallan Exp $");
+__KERNEL_RCSID(0, "$NetBSD: genfb_pci.c,v 1.37 2014/07/24 21:35:13 riastradh Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -98,7 +98,8 @@ pci_genfb_attach(device_t parent, device
 {
 	struct pci_genfb_softc *sc = device_private(self);
 	struct pci_attach_args *pa = aux;
-	struct genfb_ops ops;
+	static const struct genfb_ops zero_ops;
+	struct genfb_ops ops = zero_ops;
 	pcireg_t rom;
 	int idx, bar, type;
 

Index: src/sys/dev/sbus/genfb_sbus.c
diff -u src/sys/dev/sbus/genfb_sbus.c:1.10 src/sys/dev/sbus/genfb_sbus.c:1.11
--- src/sys/dev/sbus/genfb_sbus.c:1.10	Thu Oct  7 07:53:54 2010
+++ src/sys/dev/sbus/genfb_sbus.c	Thu Jul 24 21:35:13 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: genfb_sbus.c,v 1.10 2010/10/07 07:53:54 macallan Exp $ */
+/*	$NetBSD: genfb_sbus.c,v 1.11 2014/07/24 21:35:13 riastradh Exp $ */
 
 /*-
  * Copyright (c) 2007 Michael Lorenz
@@ -29,7 +29,7 @@
 /* an SBus frontend for the generic fb console driver */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: genfb_sbus.c,v 1.10 2010/10/07 07:53:54 macallan Exp $");
+__KERNEL_RCSID(0, "$NetBSD: genfb_sbus.c,v 1.11 2014/07/24 21:35:13 riastradh Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -91,7 +91,8 @@ genfb_attach_sbus(device_t parent, devic
 {
 	struct genfb_sbus_softc *sc = device_private(self);
 	struct sbus_attach_args *sa = args;
-	struct genfb_ops ops;
+	static const struct genfb_ops zero_ops;
+	struct genfb_ops ops = zero_ops;
 	prop_dictionary_t dict;
 	bus_space_handle_t bh;
 	paddr_t fbpa;

Index: src/sys/dev/wsfb/genfb.c
diff -u src/sys/dev/wsfb/genfb.c:1.54 src/sys/dev/wsfb/genfb.c:1.55
--- src/sys/dev/wsfb/genfb.c:1.54	Tue Jul 22 15:42:59 2014
+++ src/sys/dev/wsfb/genfb.c	Thu Jul 24 21:35:13 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: genfb.c,v 1.54 2014/07/22 15:42:59 riastradh Exp $ */
+/*	$NetBSD: genfb.c,v 1.55 2014/07/24 21:35:13 riastradh Exp $ */
 
 /*-
  * Copyright (c) 2007 Michael Lorenz
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: genfb.c,v 1.54 2014/07/22 15:42:59 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: genfb.c,v 1.55 2014/07/24 21:35:13 riastradh Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -779,6 +779,8 @@ genfb_enable_polling(device_t dev)
 		SCREEN_ENABLE_DRAWING(&sc->sc_console_screen);
 		vcons_hard_switch(&sc->sc_console_screen);
 		vcons_enable_polling(&sc->vd);
+		if (sc->sc_ops.genfb_enable_polling)
+			(*sc->sc_ops.genfb_enable_polling)(sc);
 	}
 }
 
@@ -788,6 +790,8 @@ genfb_disable_polling(device_t dev)
 	struct genfb_softc *sc = device_private(dev);
 
 	if (sc->sc_console_screen.scr_vd) {
+		if (sc->sc_ops.genfb_disable_polling)
+			(*sc->sc_ops.genfb_disable_polling)(sc);
 		vcons_disable_polling(&sc->vd);
 	}
 }

Index: src/sys/dev/wsfb/genfbvar.h
diff -u src/sys/dev/wsfb/genfbvar.h:1.23 src/sys/dev/wsfb/genfbvar.h:1.24
--- src/sys/dev/wsfb/genfbvar.h:1.23	Wed Jul 23 16:56:49 2014
+++ src/sys/dev/wsfb/genfbvar.h	Thu Jul 24 21:35:13 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: genfbvar.h,v 1.23 2014/07/23 16:56:49 riastradh Exp $ */
+/*	$NetBSD: genfbvar.h,v 1.24 2014/07/24 21:35:13 riastradh Exp $ */
 
 /*-
  * Copyright (c) 2007 Michael Lorenz
@@ -60,6 +60,8 @@ struct genfb_ops {
 	int (*genfb_ioctl)(void *, void *, u_long, void *, int, struct lwp *);
 	paddr_t	(*genfb_mmap)(void *, void *, off_t, int);
 	int (*genfb_borrow)(void *, bus_addr_t, bus_space_handle_t *);
+	int (*genfb_enable_polling)(void *);
+	int (*genfb_disable_polling)(void *);
 };
 
 struct genfb_colormap_callback {

Reply via email to