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.

Reply via email to