diff --git a/drivers/mmc/host/omap.c b/drivers/mmc/host/omap.c index a1dfa74c50ab..9075838f712f 100644 --- a/drivers/mmc/host/omap.c +++ b/drivers/mmc/host/omap.c @@ -1235,9 +1235,8 @@ static int __init mmc_omap_new_slot(struct mmc_omap_host *host, int id) goto err_remove_slot_name; INIT_WORK(&slot->switch_work, mmc_omap_cover_handler); - init_timer(&slot->switch_timer); - slot->switch_timer.function = mmc_omap_switch_timer; - slot->switch_timer.data = (unsigned long) slot; + setup_timer(&slot->switch_timer, mmc_omap_switch_timer, + (unsigned long) slot); schedule_work(&slot->switch_work); } @@ -1302,18 +1301,13 @@ static int __init mmc_omap_probe(struct platform_device *pdev) } INIT_WORK(&host->cmd_abort, mmc_omap_abort_command); - init_timer(&host->cmd_timer); - host->cmd_timer.function = mmc_omap_cmd_timer; - host->cmd_timer.data = (unsigned long) host; + setup_timer(&host->cmd_timer, mmc_omap_cmd_timer, (unsigned long) host); spin_lock_init(&host->dma_lock); - init_timer(&host->dma_timer); + setup_timer(&host->dma_timer, mmc_omap_dma_timer, (unsigned long) host); spin_lock_init(&host->slot_lock); init_waitqueue_head(&host->slot_wq); - host->dma_timer.function = mmc_omap_dma_timer; - host->dma_timer.data = (unsigned long) host; - host->pdata = pdata; host->dev = &pdev->dev; platform_set_drvdata(pdev, host);