Index: sys/dev/wsfb/genfb.c =================================================================== RCS file: /cvsroot/src/sys/dev/wsfb/genfb.c,v retrieving revision 1.51 diff -u -p -u -r1.51 genfb.c --- sys/dev/wsfb/genfb.c 9 Oct 2013 17:20:54 -0000 1.51 +++ sys/dev/wsfb/genfb.c 20 Jan 2014 18:33:42 -0000 @@ -68,6 +68,8 @@ __KERNEL_RCSID(0, "$NetBSD: genfb.c,v 1. static int genfb_ioctl(void *, void *, u_long, void *, int, struct lwp *); static paddr_t genfb_mmap(void *, void *, off_t, int); +static void genfb_pollc(void *, int); + static void genfb_init_screen(void *, struct vcons_screen *, int, long *); static int genfb_putcmap(struct genfb_softc *, struct wsdisplay_cmap *); @@ -234,6 +236,7 @@ genfb_attach(struct genfb_softc *sc, str sc->sc_accessops.ioctl = genfb_ioctl; sc->sc_accessops.mmap = genfb_mmap; + sc->sc_accessops.pollc = genfb_pollc; #ifdef GENFB_SHADOWFB sc->sc_shadowfb = kmem_alloc(sc->sc_fbsize, KM_SLEEP); @@ -485,6 +488,21 @@ genfb_mmap(void *v, void *vs, off_t offs } static void +genfb_pollc(void *v, int on) +{ + struct vcons_data *vd = v; + struct genfb_softc *sc = vd->cookie; + + if (sc == NULL) + return; + + if (on) + genfb_enable_polling(sc->sc_dev); + else + genfb_disable_polling(sc->sc_dev); +} + +static void genfb_init_screen(void *cookie, struct vcons_screen *scr, int existing, long *defattr) {