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. -- NateReceived on Fri Jul 22 2005 - 17:25:20 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:39 UTC