Re: [PATCH] Add to_delayed_work macro

From: Stefan Richter
Date: Tue Mar 03 2009 - 10:34:07 EST


Jean Delvare wrote:
> On Tue, 3 Mar 2009 00:29:52 -0800, Andrew Morton wrote:
>> On Tue, 3 Mar 2009 08:34:40 +0100 Jean Delvare <khali@xxxxxxxxxxxx> wrote:
>>
>> > +#define to_delayed_work(_work) container_of(_work, struct delayed_work, work)
>>
>> As this is specifically designed to operate on a `struct work*', as
>> opposed to "any struct which has a field called `work'", we can get
>> additional type-safety by putting a C interface around it.
>
> This is what I wanted to do in the first place, but then I noticed that
> _all_ such wrappers around container_of are implemented as macros
> rather than inline functions.

/Almost/ all.

http://lxr.linux.no/linux+v2.6.28/drivers/firewire/fw-device.h#L73

> So I decided to follow the crowd. Any idea why it is so?

Merely old habits.
--
Stefan Richter
-=====-==--= --== ---==
http://arcgraph.de/sr/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/