From: Richard Hughes <hughsient@gmail.com>
To: David Woodhouse <dwmw2@infradead.org>
Cc: Dan Williams <dcbw@redhat.com>,
linux-kernel@vger.kernel.org, devel@laptop.org,
sfr@canb.auug.org.au, len.brown@intel.com, greg@kroah.com,
benh@kernel.crashing.org, David Zeuthen <davidz@redhat.com>
Subject: Re: Battery class driver.
Date: Tue, 24 Oct 2006 18:18:48 +0100 [thread overview]
Message-ID: <1161710328.17816.10.camel@hughsie-laptop> (raw)
In-Reply-To: <1161636514.27622.30.camel@shinybook.infradead.org>
On Mon, 2006-10-23 at 21:48 +0100, David Woodhouse wrote:
> On Mon, 2006-10-23 at 20:58 +0100, Richard Hughes wrote:
> > No, I think the distinction between batteries and ac_adapter is large
> > enough to have different classes of devices. You may have many
> > batteries, but you'll only ever have one ac_adapter. I'm not sure it's
> > an obvious abstraction to make.
>
> ∃ machines with more than one individual AC adapter. Which want
> individual notification when one of them goes down.
>
> You're right that they don't necessarily fit into the 'battery' class,
> but I'm not entirely sure if it's worth putting them elsewhere, because
> the information about them is usually available in the same place as the
> information about the batteries, at least in the laptop case.
Sure, makes sense I guess.
> The simple case of AC adapters, where we have only 'present' or
> 'absent', is a subset of what batteries can do. If you have more
> complicated monitoring, then it's _also_ going to bear a remarkable
> similarity to what you get from batteries -- you'll be able to monitor
> temperatures, voltage, current, etc. So they're not _that_ much out of
> place in a 'power supply' class.
Sure, psu could be a nice class. We would need buy-in from ACPI, APM and
PMU maintainers to avoid just creating *another* standard that HAL has
to read.
> It makes _less_ sense, imho, to have 'ac present' as a property of a
> battery -- which is what I've done for now.
Agree.
> > How are battery change notifications delivered to userspace? I know acpi
> > is using the input layer for buttons in the future (very sane IMO), so
> > using sysfs events for each property changing would probably be nice.
>
> For selected properties, yes. I wouldn't want it happening every time
> the current draw changes by a millivolt but for 'battery removed' or 'ac
> power applied' events it makes some sense.
Maybe still send events for large changes, like > whole % changes in
value. Then HAL hasn't got to poll at all.
> For sane hardware where we get an interrupt on such changes, that's fine
> -- but I'm wary of having to implement that by making the kernel poll
> for them; especially if/when there's nothing in userspace which cares.
HAL and gnome-power-manager? There should only be a few changing values
on charging and discharging, and one every percentage point change isn't
a lot.
> > Comments on your patch:
> >
> > > +#define BAT_INFO_TEMP2 (2) /* °C/1000 */
> > Temperature expressed in degrees C/1000? - what if the temperature goes
> > below 0?
>
> It's signed.
Sure, n/p.
> > What about just using mK (kelvin / 1000) - I don't know what is
> > used in the kernel elsewhere tho. Also, are you allowed the ° sign in
> > kernel source now?
>
> Welcome to the 21st century.
Fair play. :-)
> > > +#define BAT_INFO_CURRENT (6) /* mA */
> > Can't this also be expressed in mW according to the ACPI spec?
>
> No, it can't. The Watt is not a unit of current.
Ahh, current as in electron flow, rather than current power use,
apologies.
> I intended the ACPI 'present rate' to map to the 'charge_rate' property,
> which is why we have the 'charge_unit' property. I don't like that much,
> but it seems necessary unless we're going to do something like separate
> 'charge_rate_mA' and 'charge_rate_mW' properties.
Not sure how to best do this for the kernel - maybe just expose the
value and the format separately. In HAL we normalise the rate to mWh
anyway using the rate in mAh and reported voltage.
> Actually, I suspect that on reflection I would prefer that latter
> option. DavidZ?
>
> > > +#define BAT_STAT_FIRE (1<<7)
> > I know there is precedent for "FIRE" but maybe CRITICAL or DANGER might
> > be better chosen words. We can reserve the word FIRE for when the faulty
> > battery really is going to explode...
>
> Yes, feasibly. I don't quite know what the 'destroy' bit in the OLPC
> embedded controller is supposed to mean, and 'FIRE' seemed as good as
> anything else.
Then maybe just set present to false as a destroyed battery isn't much
use anyway...
Richard.
next prev parent reply other threads:[~2006-10-24 17:19 UTC|newest]
Thread overview: 87+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1161628327.19446.391.camel@pmac.infradead.org>
2006-10-23 19:18 ` Battery class driver Dan Williams
2006-10-23 19:58 ` Richard Hughes
2006-10-23 20:10 ` Roland Dreier
2006-10-23 20:48 ` David Woodhouse
2006-10-24 3:44 ` Benjamin Herrenschmidt
2006-10-24 17:18 ` Richard Hughes [this message]
2006-10-25 7:42 ` [PATCH v2] " David Woodhouse
2006-10-25 9:54 ` Shem Multinymous
2006-10-25 12:11 ` David Woodhouse
2006-10-25 14:42 ` Shem Multinymous
2006-10-25 22:25 ` David Woodhouse
2006-10-25 23:39 ` Shem Multinymous
2006-10-28 12:15 ` David Woodhouse
2006-10-28 13:22 ` Richard Hughes
2006-10-28 14:34 ` Shem Multinymous
2006-10-28 14:36 ` David Woodhouse
2006-10-28 14:55 ` David Zeuthen
2006-10-28 18:52 ` Pavel Machek
2006-10-28 19:48 ` David Zeuthen
2006-10-28 21:10 ` Pavel Machek
2006-10-28 15:09 ` David Zeuthen
2006-10-28 15:31 ` David Zeuthen
2006-10-28 18:12 ` Shem Multinymous
2006-10-31 7:49 ` Greg KH
2006-10-31 13:28 ` Shem Multinymous
2006-11-01 19:31 ` Greg KH
2006-11-01 19:53 ` Shem Multinymous
2006-11-01 20:53 ` Greg KH
2006-11-01 23:55 ` [ltp] " Henrique de Moraes Holschuh
2006-11-02 3:45 ` Greg KH
2006-11-02 17:49 ` Bill Davidsen
2006-11-02 19:19 ` Richard Hughes
2006-11-02 21:20 ` Pavel Machek
2006-11-03 12:46 ` Henrique de Moraes Holschuh
2006-11-03 15:13 ` Stefan Seyfried
2006-11-02 22:01 ` Pavel Machek
2006-11-03 13:12 ` U Kuehn
2006-11-05 20:52 ` Pavel Machek
2006-11-05 21:02 ` Jean Delvare
2006-11-01 21:27 ` Pavel Machek
2006-11-01 21:32 ` Richard Hughes
2006-10-31 7:59 ` Jean Delvare
2006-10-31 13:42 ` Shem Multinymous
2006-10-31 13:51 ` Xavier Bestel
2006-10-31 14:06 ` Shem Multinymous
2006-11-01 13:26 ` Richard Hughes
2006-11-01 13:54 ` David Woodhouse
2006-11-01 14:36 ` Henrique de Moraes Holschuh
2006-11-01 16:36 ` Shem Multinymous
2006-11-01 16:55 ` Henrique de Moraes Holschuh
2006-11-01 19:30 ` Greg KH
2006-11-02 7:52 ` Jean Delvare
2006-11-02 8:39 ` Richard Hughes
2006-11-02 13:54 ` Henrique de Moraes Holschuh
2006-11-02 17:52 ` Bill Davidsen
2006-11-02 19:26 ` Richard B. Johnson
2006-11-03 13:23 ` Henrique de Moraes Holschuh
2006-11-03 14:20 ` Richard B. Johnson
2006-11-03 16:10 ` [ltp] " Henrique de Moraes Holschuh
2006-10-28 18:55 ` Pavel Machek
2006-10-28 19:53 ` David Zeuthen
2006-10-28 21:05 ` Pavel Machek
2006-10-28 21:54 ` Henrique de Moraes Holschuh
2006-10-26 9:55 ` [ltp] " FeRD
2006-10-28 5:12 ` Pavel Machek
2006-10-24 3:41 ` Benjamin Herrenschmidt
2006-10-23 18:20 David Woodhouse
2006-10-23 18:26 ` Matthew Garrett
2006-10-23 18:30 ` David Woodhouse
2006-10-24 3:36 ` Benjamin Herrenschmidt
2006-10-23 18:30 ` Greg KH
2006-10-23 18:32 ` Greg KH
2006-10-23 18:50 ` David Woodhouse
2006-10-24 3:39 ` Benjamin Herrenschmidt
2006-10-23 21:04 ` Jean Delvare
2006-10-23 22:15 ` David Zeuthen
2006-10-23 22:59 ` Greg KH
2006-10-24 1:31 ` David Zeuthen
2006-10-24 3:04 ` Shem Multinymous
2006-10-24 2:56 ` Shem Multinymous
2006-10-24 3:27 ` Matthew Garrett
2006-10-24 3:48 ` Benjamin Herrenschmidt
2006-10-24 3:53 ` Matthew Garrett
2006-10-24 5:43 ` Benjamin Herrenschmidt
2006-10-24 11:09 ` Shem Multinymous
2006-10-24 2:04 ` Shem Multinymous
2006-10-25 10:45 ` Pavel Machek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1161710328.17816.10.camel@hughsie-laptop \
--to=hughsient@gmail.com \
--cc=benh@kernel.crashing.org \
--cc=davidz@redhat.com \
--cc=dcbw@redhat.com \
--cc=devel@laptop.org \
--cc=dwmw2@infradead.org \
--cc=greg@kroah.com \
--cc=len.brown@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=sfr@canb.auug.org.au \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.