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

Jeff Garzik (jgarzik@pobox.com)
Sun, 06 Jul 2003 13:15:12 -0400


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/