lkml.org 
[lkml]   [2007]   [Apr]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 3/7] [RFC] Battery monitoring class
Hello Greg,

On Wed, Apr 11, 2007 at 08:43:23PM -0700, Greg KH wrote:
> On Thu, Apr 12, 2007 at 03:25:03AM +0400, Anton Vorontsov wrote:
> > Here is battery monitor class. According to first copyright string, we're
> > maintaining it since 2003. I've took few days and cleaned it up to be
> > more suitable for mainline inclusion.
> >
> > It differs from battery class at git://git.infradead.org/battery-2.6.git:
>
> Why fork from David's work? Does he not like these changes for some
> reason?

It's not a fork, actually. Ian Molton started battery stuff years before
David's work.

Though ours and David's exported API functions are exactly the same
(don't count functions which are unique for our code), but our
implementation a little intersects with David's.

For me it was no matter if I'll take handhelds.org or David's code as a
start point, except that hh.o code familiar to me, and I can test it on
real devices.

Though, you're right, we're in situation when we've two battery classes
now. :-/ And another pity fact is that we also have 8 Mb of patches in
our CVS. It takes a lot of time to to cleanup code for mainline,
especially with limited man-power resources. But we're working hard.

So, this is brief explanation why it took so long for us to show up.

> > +static int battery_create_attrs(struct battery *bat)
> > +{
> > + int rc;
> > +
> > + #define create_bat_attr_conditional(name) \
> > + if(bat->get_##name) { \
> > + rc = device_create_file(bat->dev, &dev_attr_##name); \
> > + if (rc) goto name##_failed; \
> > + }
> > +
> > + create_bat_attr_conditional(status);
> > + create_bat_attr_conditional(min_voltage);
> > + create_bat_attr_conditional(min_current);
> > + create_bat_attr_conditional(min_capacity);
> > + create_bat_attr_conditional(max_voltage);
> > + create_bat_attr_conditional(max_current);
> > + create_bat_attr_conditional(max_capacity);
> > + create_bat_attr_conditional(temp);
> > + create_bat_attr_conditional(voltage);
> > + create_bat_attr_conditional(current);
> > + create_bat_attr_conditional(capacity);
>
> Use an attribute group please. It's much simpler and will be created at
> the proper time so your userspace tools don't have to sit and spin in
> order to properly wait for them to show up.
>
> Ok, yes, you want a conditional type of attribute group, like the
> new firewire code does. I have no problem adding that if you like.

I'm not sure if it's possible to create that type of conditional
attribute group. Because the condition is "bat->func != NULL", not
attribute' function. And that condition is battery-specific, not class
specific.

But anyway, I guess you're talking about not yet existent API, so I'd be
glad to take a look.

> thanks,
>
> greg k-h

Thanks for comments!

--
Anton Vorontsov
email: cbou@mail.ru
backup email: ya-cbou@yandex.ru
irc://irc.freenode.org/bd2
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2007-04-12 15:51    [from the cache]
©2003-2011 Jasper Spaans