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    [W:0.041 / U:62.300 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site