summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHaavard Skinnemoen <hskinnemoen@atmel.com>2006-12-08 14:37:35 +0100
committerJeff Garzik <jeff@garzik.org>2006-12-11 09:31:28 -0500
commitd836cae4f683211f14c1fd8184f478622b185164 (patch)
tree006f96c4099116b3b0e55311f8ff33915ec30932
parent68dc44af632944dff6c8b36013d32a254fe62de4 (diff)
downloadlinux-d836cae4f683211f14c1fd8184f478622b185164.tar.bz2
[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 <hskinnemoen@atmel.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
-rw-r--r--drivers/net/macb.c6
-rw-r--r--drivers/net/macb.h2
2 files changed, 4 insertions, 4 deletions
diff --git a/drivers/net/macb.c b/drivers/net/macb.c
index bd0ce98c939c..3496d19c55e1 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 8c253db69881..e3fcb2e06fdc 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;