From owner-freebsd-hackers  Sun Dec 31  1: 2:25 2000
From owner-freebsd-hackers@FreeBSD.ORG  Sun Dec 31 01:02:21 2000
Return-Path: <owner-freebsd-hackers@FreeBSD.ORG>
Delivered-To: freebsd-hackers@freebsd.org
Received: from tasogare.imasy.or.jp (tasogare.imasy.or.jp [202.227.24.5])
	by hub.freebsd.org (Postfix) with ESMTP
	id 5569837B400; Sun, 31 Dec 2000 01:02:20 -0800 (PST)
Received: from localhost (iwasaki.imasy.or.jp [202.227.24.92])
	by tasogare.imasy.or.jp (8.11.1+3.4W/3.7W-tasogare/smtpfeed 1.07) with ESMTP id eBV92Hk18135;
	Sun, 31 Dec 2000 18:02:17 +0900 (JST)
	(envelope-from iwasaki@jp.FreeBSD.org)
To: current@freebsd.org
Cc: hackers@freebsd.org
Subject: CFR: Generalized power-management interface
X-Mailer: Mew version 1.94.1 on Emacs 19.34 / Mule 2.3 (SUETSUMUHANA)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-Id: <20001231180216L.iwasaki@jp.FreeBSD.org>
Date: Sun, 31 Dec 2000 18:02:16 +0900
From: Mitsuru IWASAKI <iwasaki@jp.FreeBSD.org>
X-Dispatcher: imput version 20000228(IM140)
Lines: 41
Sender: owner-freebsd-hackers@FreeBSD.ORG
Precedence: bulk
X-Loop: FreeBSD.ORG

Hi,

I've created new common framework on generalized power-management
interface for userland utilities.

http://people.freebsd.org/~iwasaki/acpi/power-20001229.tar.gz

This provides some PM APIs to APM applications, such as wmapm, so that
these applications can be ported smoothly to use ACPI (power
management portion).  Currently following APIs are implemented;

int	 power_get_syspm_info(struct power_syspm_info *);
int	 power_get_batt_info(u_int, struct power_batt_info *);
int	 power_standby(void);
int	 power_suspend(void);
int	 power_hibernate(void);

And PM event notification mechanism is suggested to be implemented so far.

Sample application is included in usr.sbin/power/ which is very similar
to apm(8) but supports ACPI as well.

usr.sbin/acpi/acpibatt/ is for displaying acpi_cmbat (ACPI Control
Method Battery), can be used to verify that generalized
power-management interface is working correctly.
Note that many ACPI BIOS give us unknown battery remaining time when
ac-line is plugged in.  MIB 'hw.battery.full_charge_time' can be used to
specify the full charged remaining time of batteries in minutes, like
	sysctl -w hw.battery.full_charge_time=60,60
for multiple number of batteries, or
	sysctl -w hw.battery.full_charge_time=120
for a battery installed.

To test them, /dev/power is required as a device control file.

% ls -l /dev/power
crw-r--r--  1 root  wheel  210,   0  12/19 04:51 /dev/power

I'll commit them at sometime early in coming century.

Any comments would be appreciated.  Thanks!


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message


