Re: [PATCH] Add to_delayed_work helper function

Ingo Molnar
2009-03-03T12:12:16Z

* Jean Delvare <khali@linux-fr.org> wrote:

> It is a fairly common operation to have a pointer to a work and to
> need a pointer to the delayed work it is contained in. In particular,
> all delayed works which want to rearm themselves will have to do that.
> So it would seem fair to offer a helper function for this operation.
>
> Signed-off-by: Jean Delvare <khali@linux-fr.org>
> ---
> Andrew, does this variant please you better?
>
> arch/powerpc/kernel/vio.c | 2 +-
> drivers/crypto/hifn_795x.c | 2 +-
> drivers/input/mouse/hgpk.c | 2 +-
> drivers/net/dm9000.c | 2 +-
> drivers/net/mlx4/en_netdev.c | 2 +-
> drivers/net/mlx4/en_rx.c | 2 +-
> drivers/s390/scsi/zfcp_fc.c | 2 +-
> drivers/staging/rtl8187se/ieee80211/ieee80211_softmac.c | 8 ++++----
> drivers/staging/rtl8187se/r8180_core.c | 8 ++++----
> drivers/staging/rtl8187se/r8180_dm.c | 6 +++---
> drivers/usb/wusbcore/devconnect.c | 2 +-
> include/linux/workqueue.h | 5 +++++
> mm/slab.c | 3 +--
> 13 files changed, 25 insertions(+), 21 deletions(-)

looks good,

Acked-by: Ingo Molnar <mingo@elte.hu>

one small detail:

> --- linux-2.6.29-rc6.orig/include/linux/workqueue.h 2009-01-29 08:27:20.000000000 +0100
> +++ linux-2.6.29-rc6/include/linux/workqueue.h 2009-03-03 10:36:53.000000000 +0100
> @@ -41,6 +41,11 @@ struct delayed_work {
> struct timer_list timer;
> };
>
> +static inline struct delayed_work *to_delayed_work(struct work_struct *_work)
> +{
> + return container_of(_work, struct delayed_work, work);
> +}
> +

there's no need to name it _work i think and '*work' should be
just fine - this isnt a macro so there's no danger of namespace
interactions.

Ingo