Messages in this thread | | | Date | Thu, 12 Apr 2007 17:43:54 +0400 | From | Anton Vorontsov <> | Subject | Re: [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/
| |