Module Name: src Committed By: jruoho Date: Tue Oct 26 05:12:34 UTC 2010
Modified Files: src/sys/dev/wscons: wskbd.c wskbdvar.h Log Message: Add wskbd_hotkey_deregister() to match wskbd_hotkey_register(). XXX: This is kind of futile; the only user of the wskbd(4)'s hotkey interface is hpqlb(4), which is a questionable driver, being, by design, limited only to the laptop model for which the driver was written. To generate a diff of this commit: cvs rdiff -u -r1.129 -r1.130 src/sys/dev/wscons/wskbd.c cvs rdiff -u -r1.16 -r1.17 src/sys/dev/wscons/wskbdvar.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/dev/wscons/wskbd.c diff -u src/sys/dev/wscons/wskbd.c:1.129 src/sys/dev/wscons/wskbd.c:1.130 --- src/sys/dev/wscons/wskbd.c:1.129 Thu Jul 1 14:49:34 2010 +++ src/sys/dev/wscons/wskbd.c Tue Oct 26 05:12:34 2010 @@ -1,4 +1,4 @@ -/* $NetBSD: wskbd.c,v 1.129 2010/07/01 14:49:34 ahoka Exp $ */ +/* $NetBSD: wskbd.c,v 1.130 2010/10/26 05:12:34 jruoho Exp $ */ /* * Copyright (c) 1996, 1997 Christopher G. Demetriou. All rights reserved. @@ -105,7 +105,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: wskbd.c,v 1.129 2010/07/01 14:49:34 ahoka Exp $"); +__KERNEL_RCSID(0, "$NetBSD: wskbd.c,v 1.130 2010/10/26 05:12:34 jruoho Exp $"); #include "opt_ddb.h" #include "opt_kgdb.h" @@ -1653,11 +1653,26 @@ { struct wskbd_softc *sc = device_private(self); + KASSERT(sc != NULL); + KASSERT(hotkey != NULL); + sc->sc_hotkey = hotkey; sc->sc_hotkeycookie = cookie; + return sc->sc_base.me_dv; } +void +wskbd_hotkey_deregister(device_t self) +{ + struct wskbd_softc *sc = device_private(self); + + KASSERT(sc != NULL); + + sc->sc_hotkey = NULL; + sc->sc_hotkeycookie = NULL; +} + static int wskbd_translate(struct wskbd_internal *id, u_int type, int value) { Index: src/sys/dev/wscons/wskbdvar.h diff -u src/sys/dev/wscons/wskbdvar.h:1.16 src/sys/dev/wscons/wskbdvar.h:1.17 --- src/sys/dev/wscons/wskbdvar.h:1.16 Thu May 1 20:18:19 2008 +++ src/sys/dev/wscons/wskbdvar.h Tue Oct 26 05:12:34 2010 @@ -1,4 +1,4 @@ -/* $NetBSD: wskbdvar.h,v 1.16 2008/05/01 20:18:19 cegger Exp $ */ +/* $NetBSD: wskbdvar.h,v 1.17 2010/10/26 05:12:34 jruoho Exp $ */ /* * Copyright (c) 1996, 1997 Christopher G. Demetriou. All rights reserved. @@ -100,6 +100,7 @@ typedef int (wskbd_hotkey_plugin)(struct wskbd_softc *, void *, u_int, int); device_t wskbd_hotkey_register(device_t, void *, wskbd_hotkey_plugin *); +void wskbd_hotkey_deregister(device_t); /* * Console interface.