diff options
author | iwasaki <iwasaki@FreeBSD.org> | 2006-04-15 12:31:34 +0000 |
---|---|---|
committer | iwasaki <iwasaki@FreeBSD.org> | 2006-04-15 12:31:34 +0000 |
commit | 0613b693d0f3abaab631563bf8317bf448193a01 (patch) | |
tree | 57443a0c29eee4bcf962bf261e8f771819778250 /sys/dev/acpica/acpi_cmbat.c | |
parent | e3ccf599d517db9884169bea0bcb19634b43317a (diff) | |
download | FreeBSD-src-0613b693d0f3abaab631563bf8317bf448193a01.zip FreeBSD-src-0613b693d0f3abaab631563bf8317bf448193a01.tar.gz |
Import ACPI Dock Station support. Note that this is still very young.
Additional detach implementaions (or maybe improvement) for other
deivce drivers is required.
Reviewed by: njl, imp
MFC after: 1 week
Diffstat (limited to 'sys/dev/acpica/acpi_cmbat.c')
-rw-r--r-- | sys/dev/acpica/acpi_cmbat.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/dev/acpica/acpi_cmbat.c b/sys/dev/acpica/acpi_cmbat.c index e27ffcb..92a8db7 100644 --- a/sys/dev/acpica/acpi_cmbat.c +++ b/sys/dev/acpica/acpi_cmbat.c @@ -159,6 +159,7 @@ acpi_cmbat_detach(device_t dev) { acpi_battery_remove(dev); + AcpiRemoveNotifyHandler(handle, ACPI_ALL_NOTIFY, acpi_cmbat_notify_handler); return (0); } @@ -435,6 +436,10 @@ acpi_cmbat_init_battery(void *arg) * to wait a while. */ for (retry = 0; retry < ACPI_CMBAT_RETRY_MAX; retry++, AcpiOsSleep(10000)) { + /* batteries on DOCK can be ejected w/ DOCK during retrying */ + if (!device_is_attached(dev)) + return; + if (!acpi_BatteryIsPresent(dev)) continue; |