cvs commit: src/sys/dev/acpica acpi_battery.c acpi_cmbat.c
acpi_if.m acpiio.h acpivar.h src/sys/i386/acpica acpi_machdep.c
Nate Lawson
njl at FreeBSD.org
Sat Jul 23 19:36:02 GMT 2005
njl 2005-07-23 19:36:00 UTC
FreeBSD src repository
Modified files:
sys/dev/acpica acpi_battery.c acpi_cmbat.c acpivar.h
acpiio.h acpi_if.m
sys/i386/acpica acpi_machdep.c
Log:
Rewrite the acpi_battery interface to allow for other battery types
(i.e., smart battery) and fix various bugs found during the cleanup.
API changes:
* kernel access:
Access to individual batteries is now via devclass_find("battery").
Introduce new methods ACPI_BATT_GET_STATUS (for _BST-formatted data) and
ACPI_BATT_GET_INFO (for _BIF-formatted data). The helper function
acpi_battery_get_battinfo() now takes a device_t instead of a unit #
argument. If dev is NULL, this signifies all batteries.
* ioctl access:
The ACPIIO_BATT_GET_TYPE and ACPIIO_BATT_GET_BATTDESC ioctls have been
removed. Since there is now no need for a mapping between "virtual" unit
and physical unit, usermode programs can just specify the unit directly and
skip the old translation steps. In fact, acpiconf(8) was actually already
doing this and virtual unit was the same as physical unit in all cases
since there was previously only one battery type (acpi_cmbat). Additionally,
we now map the ACPIIO_BATT_GET_BIF and ACPIIO_BATT_GET_BST ioctls for all
batteries, if they provide the associated methods.
* apm compatibility device/ioctls: no change
* sysctl: no change
Since most third-party applications use the apm(4) compat interface, there
should be very few affected applications (if any).
Reviewed by: bruno
MFC after: 5 days
Revision Changes Path
1.13 +251 -129 src/sys/dev/acpica/acpi_battery.c
1.40 +149 -360 src/sys/dev/acpica/acpi_cmbat.c
1.7 +25 -0 src/sys/dev/acpica/acpi_if.m
1.15 +18 -26 src/sys/dev/acpica/acpiio.h
1.96 +6 -10 src/sys/dev/acpica/acpivar.h
1.29 +13 -8 src/sys/i386/acpica/acpi_machdep.c
More information about the cvs-src
mailing list