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.