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);
        }
 
        }
 
        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);