From: Haavard Skinnemoen Date: Fri, 8 Dec 2006 13:37:35 +0000 (+0100) Subject: [PATCH] MACB: Use struct delayed_work instead of struct work_struct X-Git-Tag: v2.6.20-rc1~146^2~25^2~10 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d836cae4f683211f14c1fd8184f478622b185164;p=linux-2.6 [PATCH] MACB: Use struct delayed_work instead of struct work_struct The macb driver calls schedule_delayed_work() and friends, so we need to use a struct delayed_work along with it. The conversion was explained by David Howells on lkml Dec 5 2006: http://lkml.org/lkml/2006/12/5/269 Signed-off-by: Haavard Skinnemoen Signed-off-by: Jeff Garzik --- diff --git a/drivers/net/macb.c b/drivers/net/macb.c index bd0ce98c93..3496d19c55 100644 --- a/drivers/net/macb.c +++ b/drivers/net/macb.c @@ -267,9 +267,9 @@ static void macb_update_stats(struct macb *bp) *p += readl(reg); } -static void macb_periodic_task(void *arg) +static void macb_periodic_task(struct work_struct *work) { - struct macb *bp = arg; + struct macb *bp = container_of(work, struct macb, periodic_task.work); macb_update_stats(bp); macb_check_media(bp, 1, 0); @@ -1088,7 +1088,7 @@ static int __devinit macb_probe(struct platform_device *pdev) dev->base_addr = regs->start; - INIT_WORK(&bp->periodic_task, macb_periodic_task, bp); + INIT_DELAYED_WORK(&bp->periodic_task, macb_periodic_task); mutex_init(&bp->mdio_mutex); init_completion(&bp->mdio_complete); diff --git a/drivers/net/macb.h b/drivers/net/macb.h index 8c253db698..e3fcb2e06f 100644 --- a/drivers/net/macb.h +++ b/drivers/net/macb.h @@ -377,7 +377,7 @@ struct macb { unsigned int rx_pending, tx_pending; - struct work_struct periodic_task; + struct delayed_work periodic_task; struct mutex mdio_mutex; struct completion mdio_complete;