mirror of
https://github.com/freebsd/freebsd-src.git
synced 2024-12-03 14:48:57 +00:00
Reinitialize the keyboard after the ACPI resume event.
I am not sure if this is absolutely necessary on all systems. Yet, there certainly are motherboards and notebook systems which require this, although there are other systems which just don't. I hope we shall know when to do this on which systems, as the development of our ACPI subsystem progresses... (I know we didn't need this for the APM resume.)
This commit is contained in:
parent
5d78522dd4
commit
275658afcc
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=83855
@ -148,12 +148,21 @@ atkbdattach(device_t dev)
|
||||
static int
|
||||
atkbdresume(device_t dev)
|
||||
{
|
||||
atkbd_softc_t *sc;
|
||||
keyboard_t *kbd;
|
||||
int args[2];
|
||||
|
||||
sc = device_get_softc(dev);
|
||||
kbd = kbd_get_keyboard(kbd_find_keyboard(ATKBD_DRIVER_NAME,
|
||||
device_get_unit(dev)));
|
||||
if (kbd)
|
||||
if (kbd) {
|
||||
kbd->kb_flags &= ~KB_INITIALIZED;
|
||||
args[0] = device_get_unit(device_get_parent(dev));
|
||||
args[1] = rman_get_start(sc->intr);
|
||||
(*kbdsw[kbd->kb_index]->init)(device_get_unit(dev), &kbd,
|
||||
args, device_get_flags(dev));
|
||||
(*kbdsw[kbd->kb_index]->clear_state)(kbd);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -148,12 +148,21 @@ atkbdattach(device_t dev)
|
||||
static int
|
||||
atkbdresume(device_t dev)
|
||||
{
|
||||
atkbd_softc_t *sc;
|
||||
keyboard_t *kbd;
|
||||
int args[2];
|
||||
|
||||
sc = device_get_softc(dev);
|
||||
kbd = kbd_get_keyboard(kbd_find_keyboard(ATKBD_DRIVER_NAME,
|
||||
device_get_unit(dev)));
|
||||
if (kbd)
|
||||
if (kbd) {
|
||||
kbd->kb_flags &= ~KB_INITIALIZED;
|
||||
args[0] = device_get_unit(device_get_parent(dev));
|
||||
args[1] = rman_get_start(sc->intr);
|
||||
(*kbdsw[kbd->kb_index]->init)(device_get_unit(dev), &kbd,
|
||||
args, device_get_flags(dev));
|
||||
(*kbdsw[kbd->kb_index]->clear_state)(kbd);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -148,12 +148,21 @@ atkbdattach(device_t dev)
|
||||
static int
|
||||
atkbdresume(device_t dev)
|
||||
{
|
||||
atkbd_softc_t *sc;
|
||||
keyboard_t *kbd;
|
||||
int args[2];
|
||||
|
||||
sc = device_get_softc(dev);
|
||||
kbd = kbd_get_keyboard(kbd_find_keyboard(ATKBD_DRIVER_NAME,
|
||||
device_get_unit(dev)));
|
||||
if (kbd)
|
||||
if (kbd) {
|
||||
kbd->kb_flags &= ~KB_INITIALIZED;
|
||||
args[0] = device_get_unit(device_get_parent(dev));
|
||||
args[1] = rman_get_start(sc->intr);
|
||||
(*kbdsw[kbd->kb_index]->init)(device_get_unit(dev), &kbd,
|
||||
args, device_get_flags(dev));
|
||||
(*kbdsw[kbd->kb_index]->clear_state)(kbd);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user