[ltp] Re: [PATCH v2] Re: Battery class driver.

Pavel Machek linux-thinkpad@linux-thinkpad.org
Wed, 1 Nov 2006 22:27:20 +0100


Hi!

> >> The suggestions so far were:
> >> 1. Append units string to the content of such attribute:
> >>   /sys/.../capacity_remaining reads "16495 mW".
> >> 2. Add a seprate *_units attribute saying what are units for other
> >> attribute:
> >>   /sys/.../capacity_units gives the units for
> >>   /sys/.../capacity_{remaining,last_full,design,min,...}.
> >> 3. Append the units to the attribute names:
> >>   capacity_{remaining,last_full,design_min,...}:mV.
> >
> >No, again, one for power and one for current.  Two different files
> >depending on the type of battery present.  That way there is no need to
> >worry about unit issues.
> 
> I'm missing something. How is that different from option 3 above?
> BTW, please note that we're talking about a large set of files that
> use these units (remaining, last full, design capacity, alarm
> thresholds, etc.), and not just a single attribute.
> 
> This particular alternative indeed seems cleanest for the kernel side.
> The drawback is that someone in userspace who doesn't care about units
> but just wants to show a status report or compute the amount of
> remaining fooergy divided by the amount of a fooergy when fully
> charged, like your typical battery applet, will need to parse
> filenames (or try out a fixed and possibly partial list) to find out
> which attribute files contain the numbers.

That's okay, we want userspace to use common library, and doing

echo $[`cat capacity_remaining:*` / `cat capacity_total:*`]

is not exactly rocket science. If greg does not like units suffixes,
that's okay, too, I'm sure handy wildcard match will be possible.
									Pavel
-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html