From: Kyungmin Park Date: Fri, 22 Dec 2006 20:19:43 +0000 (-0800) Subject: ARM: OMAP: fix workqueue changes X-Git-Tag: v2.6.21-omap1~203 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=5bb99a2a21470f7488139274a382ae1d0de57e07;p=linux-2.6-omap-h63xx.git ARM: OMAP: fix workqueue changes fix workqueue changes Signed-off-by: Kyungmin Park -- Signed-off-by: Tony Lindgren --- diff --git a/drivers/mmc/omap.c b/drivers/mmc/omap.c index 1852268ab40..f46aed79550 100644 --- a/drivers/mmc/omap.c +++ b/drivers/mmc/omap.c @@ -582,9 +582,9 @@ static void mmc_omap_switch_timer(unsigned long arg) schedule_work(&host->switch_work); } -static void mmc_omap_switch_handler(void *data) +static void mmc_omap_switch_handler(struct work_struct *work) { - struct mmc_omap_host *host = (struct mmc_omap_host *) data; + struct mmc_omap_host *host = container_of(work, struct mmc_omap_host, switch_work); struct mmc_card *card; static int complained = 0; int cards = 0, cover_open; @@ -1122,7 +1122,7 @@ static int __init mmc_omap_probe(struct platform_device *pdev) platform_set_drvdata(pdev, host); if (host->switch_pin >= 0) { - INIT_WORK(&host->switch_work, mmc_omap_switch_handler, host); + INIT_WORK(&host->switch_work, mmc_omap_switch_handler); init_timer(&host->switch_timer); host->switch_timer.function = mmc_omap_switch_timer; host->switch_timer.data = (unsigned long) host; diff --git a/drivers/spi/omap2_mcspi.c b/drivers/spi/omap2_mcspi.c index 634aca188f1..b8d0ec0e16a 100644 --- a/drivers/spi/omap2_mcspi.c +++ b/drivers/spi/omap2_mcspi.c @@ -634,7 +634,7 @@ static int omap2_mcspi_setup(struct spi_device *spi) mcspi_dma = &mcspi->dma_channels[spi->chip_select]; if (!cs) { - cs = kzalloc(sizeof *cs, SLAB_KERNEL); + cs = kzalloc(sizeof *cs, GFP_KERNEL); if (!cs) return -ENOMEM; spi->controller_state = cs; @@ -669,9 +669,9 @@ static void omap2_mcspi_cleanup(const struct spi_device *spi) } -static void omap2_mcspi_work(void * arg) +static void omap2_mcspi_work(struct work_struct *work) { - struct omap2_mcspi *mcspi = (struct omap2_mcspi *) arg; + struct omap2_mcspi *mcspi = container_of(work, struct omap2_mcspi, work); unsigned long flags; spin_lock_irqsave(&mcspi->lock, flags); @@ -820,7 +820,7 @@ static int __devinit omap2_mcspi_probe(struct platform_device *pdev) mcspi->base = io_p2v(r->start); - INIT_WORK(&mcspi->work, omap2_mcspi_work, mcspi); + INIT_WORK(&mcspi->work, omap2_mcspi_work); spin_lock_init(&mcspi->lock); INIT_LIST_HEAD(&mcspi->msg_queue);