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

Greg KH linux-thinkpad@linux-thinkpad.org
Wed, 1 Nov 2006 12:53:30 -0800


On Wed, Nov 01, 2006 at 09:53:12PM +0200, Shem Multinymous wrote:
> Hi Greg,
> 
> On 11/1/06, Greg KH <greg@kroah.com> wrote:
> >> 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?

No silly ":mV" on the file name.

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

Sure, what's wrong with:
	capacity_remaining_power
	capacity_last_full_power
	capacity_design_min_power
if you can read that from the battery, and:
	capacity_remaining_current
	capacity_last_full_current
	capacity_design_min_current
if you can read that instead.

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

If the file isn't there, they the attribute isn't present.  It doesn't
get easier than that.

And of course user apps will have to change, but only once.  And then
they will work with all types of batterys, unlike today.

thanks,

greg k-h