Date: Fri, 22 Jul 2005 12:25:19 -0700 From: Nate Lawson <nate@root.org> To: acpi@FreeBSD.org Cc: FreeBSD Current <freebsd-current@FreeBSD.org> Subject: acpi battery rework patch Message-ID: <42E1481F.5040306@root.org>
next in thread | raw e-mail | index | archive | help
I have completed a rework of the battery subsystem and would like
testing of the patch. I'd like this to go into 6.0. It should have no
effect for people with working batteries and fixes some bugs for those
who don't. It also makes it possible to import support for smart
batteries (not in this patch).
API changes:
apm compatibility device: no change
sysctl: no change
kernel function call: API reduced.
ioctl: API reduced.
kernel function access:
Access individual batteries via devclass_find("battery"). Methods are
ACPI_BATT_GET_STATUS (for _BST-formatted data) and ACPI_BATT_GET_INFO
(for _BIF-formatted data). The helper function
acpi_battery_get_battinfo() has been changed to take a device_t instead
of 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 no mapping between "virtual" unit and actual
unit, just specify the unit directly and skip the old translation steps.
For instance, in the future if you have two smart batteries and two
control-method batteries, they'll be battery0-3.
Patch can be found here:
http://root.org/~nate/freebsd/batt-rework.diff.gz
Please test to be sure your battery status works as usual, along with
any apps. Since most apps (xbatt, gnome, etc.) use the apm compat
layer, they should work as before with no recompilation needed.
--
Nate
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?42E1481F.5040306>
