mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
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.



  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 ` 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome