kern/124223: [acpi] [patch] acpi_battery.c -- Notify user-defined critical level via devd(8)

Nate Lawson nate at root.org
Mon Sep 8 22:32:02 UTC 2008


Pietro Cerutti wrote:
> Nate Lawson wrote:
> | Pietro Cerutti wrote:
> |> Nate Lawson wrote:
> |> | There are a few problems with your approach.
> |> |
> |> | Critical status is already reported with a flag when usermode polls
> for
> |> | the battery status:
> |> |> if (sc->bst.state & ACPI_BATT_STAT_CRITICAL) {
> |> |>     if ((sc->flags & ACPI_BATT_STAT_CRITICAL) == 0) {
> |> |>         sc->flags |= ACPI_BATT_STAT_CRITICAL;
> |> |>         device_printf(dev, "critically low charge!\n");
> |> |>     }
> |> |> }
> |>
> |> I agree. Critical level is already checked for in the cmbat module.
> |> However, reporting is not done in a "standardized" way. My patch would
> |> just like to add notification through devd.
> |
> | But it doesn't just add notification through devd.  It adds a thread,
> | that separately polls for battery state and sends a notify through devd.
> |  If the user is running any battery app, there's a double poll for the
> | same info.
> |
> | I subscribe to the design approach that where it makes sense to do
> | something in usermode, don't do it in kernel mode.  In this case, the IO
> | interface is poll-only, and any user app that is running can set its own
> | policy for how to deal with the information it gets from polling.
> 
> [snip xbatt-related stuff]
> 
> | Let's keep this in usermode, where policy belongs.
> 
> That's fine. Thanks for reviewing that!

Thanks for helping with FreeBSD.  Hope you'll work on other stuff in the
future.

-- 
Nate


More information about the freebsd-acpi mailing list