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 {