Re: kobjects, sysfs and the driver model make my head hurt

From: Jeff Garzik (jgarzik@pobox.com)
Date: Sun Jul 06 2003 - 12:15:12 EST


James Morris wrote:
> On Sun, 6 Jul 2003, Davide Libenzi wrote:
>
>
>>On Sun, 6 Jul 2003, Matthew Wilcox wrote:
>>
>>
>>>Why on earth does it return the value of its argument?
>>
>>Maybe for the same reason 'strcpy' returns 'dest'. It allows you to use
>>the function in a function parameter :
>
>
> It also makes calling code cleaner when copying refcounted objects:
>
> e.g.
> new->foo = foo_get(old->foo);
> new->bar = bar_get(old->bar);
>
> otherwise, you'd have to do:
>
> foo_get(old->foo);
> new->foo = old->foo;
> bar_get(old->bar);
> new->bar = old->bar;

well...

        struct blah *foo_ref = foo;
        ... not using foo_ref ...
        foo_get(foo_ref);
        ... using foo_ref ...
        foo_put(foo_ref);

versus

        struct blah *foo_ref;
        ... not using foo_ref ...
        foo_ref = foo_get(foo);
        ... using foo_ref ...
        foo_put(foo_ref);

I suppose it's a matter of taste rather than necessity.

As a tangent, if kobject_get is so small now, why not just make it
static inline to optimize this case?

        Jeff

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



This archive was generated by hypermail 2b29 : Mon Jul 07 2003 - 22:00:27 EST