mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: David Woodhouse <dwmw2@infradead.org>
To: Richard Hughes <hughsient@gmail.com>
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: Mon, 23 Oct 2006 21:48:33 +0100	[thread overview]
Message-ID: <1161636514.27622.30.camel@shinybook.infradead.org> (raw)
In-Reply-To: <1161633509.4994.16.camel@hughsie-laptop>

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.

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.

It makes _less_ sense, imho, to have 'ac present' as a property of a
battery -- which is what I've done for now.

> 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.

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. 

> 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.

> 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.

> > +#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.

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.

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.

-- 
dwmw2


  parent reply	other threads:[~2006-10-23 20:48 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 [this message]
2006-10-24  3:44       ` Benjamin Herrenschmidt
2006-10-24 17:18       ` Richard Hughes
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=1161636514.27622.30.camel@shinybook.infradead.org \
    --to=dwmw2@infradead.org \
    --cc=benh@kernel.crashing.org \
    --cc=davidz@redhat.com \
    --cc=dcbw@redhat.com \
    --cc=devel@laptop.org \
    --cc=greg@kroah.com \
    --cc=hughsient@gmail.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

all inboxes | Powered by JetHome®