summaryrefslogtreecommitdiffstats
path: root/sys/dev/acpica/acpi_cmbat.c
diff options
context:
space:
mode:
authoriwasaki <iwasaki@FreeBSD.org>2006-04-15 12:31:34 +0000
committeriwasaki <iwasaki@FreeBSD.org>2006-04-15 12:31:34 +0000
commit0613b693d0f3abaab631563bf8317bf448193a01 (patch)
tree57443a0c29eee4bcf962bf261e8f771819778250 /sys/dev/acpica/acpi_cmbat.c
parente3ccf599d517db9884169bea0bcb19634b43317a (diff)
downloadFreeBSD-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.c5
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;
OpenPOWER on IntegriCloud