summaryrefslogtreecommitdiffstats
path: root/sys/isa/atkbd_isa.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/isa/atkbd_isa.c')
-rw-r--r--sys/isa/atkbd_isa.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/sys/isa/atkbd_isa.c b/sys/isa/atkbd_isa.c
index 65f0b23..1941612 100644
--- a/sys/isa/atkbd_isa.c
+++ b/sys/isa/atkbd_isa.c
@@ -53,11 +53,13 @@ devclass_t atkbd_devclass;
static int atkbdprobe(device_t dev);
static int atkbdattach(device_t dev);
+static int atkbdresume(device_t dev);
static void atkbd_isa_intr(void *arg);
static device_method_t atkbd_methods[] = {
DEVMETHOD(device_probe, atkbdprobe),
DEVMETHOD(device_attach, atkbdattach),
+ DEVMETHOD(device_resume, atkbdresume),
{ 0, 0 }
};
@@ -116,6 +118,18 @@ atkbdattach(device_t dev)
return 0;
}
+static int
+atkbdresume(device_t dev)
+{
+ keyboard_t *kbd;
+
+ kbd = kbd_get_keyboard(kbd_find_keyboard(ATKBD_DRIVER_NAME,
+ device_get_unit(dev)));
+ if (kbd)
+ (*kbdsw[kbd->kb_index]->clear_state)(kbd);
+ return 0;
+}
+
static void
atkbd_isa_intr(void *arg)
{
OpenPOWER on IntegriCloud