FreeBSD src
Go to file
Nate Lawson 76f6fe4f31 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
2005-07-23 19:36:00 +00:00
bin Fix a bug when shell expansion is done against dangling symlinks, by 2005-07-07 18:10:33 +00:00
contrib Fix bug where GCC thought athlon-tbird had SSE support. 2005-07-19 21:53:22 +00:00
crypto This is sort of an MFS. Peter made these changes to the RELENG_* 2005-07-07 14:16:38 +00:00
etc Require that DESTDIR be set before running "make distribution". 2005-07-22 10:35:35 +00:00
games My change, namely srandomdev() addition, was backed out even without 2005-07-23 18:24:47 +00:00
gnu Bump the shared library version number of all libraries that have not 2005-07-22 17:19:05 +00:00
include Remove padding for ABI compatibility of ai_addrlen member 2005-07-22 18:21:28 +00:00
kerberos5 Bump the shared library version number of all libraries that have not 2005-07-22 17:19:05 +00:00
lib fix innetgr() returning false positives and negatives when reverse netgroup 2005-07-22 22:20:26 +00:00
libexec Clean out the leftovers from the i386_set_gsbase() TLS conversion. 2005-06-29 23:15:36 +00:00
release New release notes: 2005-07-15 16:38:52 +00:00
rescue Fix path to dhclient-script and reconnect to build. 2005-06-07 04:51:24 +00:00
sbin Interpret correctly the glob(3) return value. 2005-07-21 16:12:35 +00:00
secure Bump the shared library version number of all libraries that have not 2005-07-22 17:19:05 +00:00
share s/Lefler/Leffler/ 2005-07-23 15:09:27 +00:00
sys Rewrite the acpi_battery interface to allow for other battery types 2005-07-23 19:36:00 +00:00
tools Change jail IP from 1.0.0.127 to 127.0.0.1, which shows, that this test 2005-07-23 05:40:17 +00:00
usr.bin In 2003, a -s flag was added to ministat to separate the 2005-07-21 08:32:56 +00:00
usr.sbin (More thoroughly) fix the problem with the EGREP lines that was reported 2005-07-23 18:47:18 +00:00
COPYRIGHT Complete 2005 transition. 2005-01-01 07:29:20 +00:00
LOCKS Document the previously existing RELENG_[45]_* security branch locks. 2005-06-02 22:57:30 +00:00
MAINTAINERS Since there's no emulation person, move the entry to upper section 2005-06-04 16:56:35 +00:00
Makefile Add delete-old and delete-old-libs targets: 2005-07-23 14:23:30 +00:00
Makefile.inc1 Add delete-old and delete-old-libs targets: 2005-07-23 14:23:30 +00:00
ObsoleteFiles.inc Add delete-old and delete-old-libs targets: 2005-07-23 14:23:30 +00:00
README KerberosIV de-orbit burn continues. Disconnect from "make world". 2003-03-08 10:01:26 +00:00
UPDATING Add delete-old and delete-old-libs targets: 2005-07-23 14:23:30 +00:00

This is the top level of the FreeBSD source directory.  This file
was last revised on:
$FreeBSD$

For copyright information, please see the file COPYRIGHT in this
directory (additional copyright information also exists for some
sources in this tree - please see the specific source directories for
more information).

The Makefile in this directory supports a number of targets for
building components (or all) of the FreeBSD source tree, the most
commonly used one being ``world'', which rebuilds and installs
everything in the FreeBSD system from the source tree except the
kernel, the kernel-modules and the contents of /etc.  The
``buildkernel'' and ``installkernel'' targets build and install
the kernel and the modules (see below).  Please see the top of
the Makefile in this directory for more information on the
standard build targets and compile-time flags.

Building a kernel is a somewhat more involved process, documentation
for which can be found at:
   http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig.html
And in the config(8) man page.
Note: If you want to build and install the kernel with the
``buildkernel'' and ``installkernel'' targets, you might need to build
world before.  More information is available in the handbook.

The sample kernel configuration files reside in the sys/<arch>/conf
sub-directory (assuming that you've installed the kernel sources), the
file named GENERIC being the one used to build your initial installation
kernel.  The file NOTES contains entries and documentation for all possible
devices, not just those commonly used.  It is the successor of the ancient
LINT file, but in contrast to LINT, it is not buildable as a kernel but a
pure reference and documentation file.


Source Roadmap:
---------------
bin		System/user commands.

contrib		Packages contributed by 3rd parties.

crypto		Cryptography stuff (see crypto/README).

etc		Template files for /etc.

games		Amusements.

gnu		Various commands and libraries under the GNU Public License.
		Please see gnu/COPYING* for more information.

include		System include files.

kerberos5	Kerberos5 (Heimdal) package.

lib		System libraries.

libexec		System daemons.

release		Release building Makefile & associated tools.

sbin		System commands.

secure		Cryptographic libraries and commands.

share		Shared resources.

sys		Kernel sources.

tools		Utilities for regression testing and miscellaneous tasks.

usr.bin		User commands.

usr.sbin	System administration commands.


For information on synchronizing your source tree with one or more of
the FreeBSD Project's development branches, please see:

  http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/synching.html