On Mon, Dec 15, 2008 at 11:15:54AM -0800, David Brownell wrote: > Should be platform_driver_probe() since you made davinci_mmcsd_probe() > live in the __init section.
here you are: ==================== cut here ==================== >From 5f6cdc58a34e0f1a7c6eded1aff8e744cae22688 Mon Sep 17 00:00:00 2001 From: Felipe Balbi <[email protected]> Date: Mon, 15 Dec 2008 18:17:40 +0200 Subject: [patch-v2.6.28 5/8] mmc: host: davinci: add missing section definitions Add missing __init and __exit where appropriate. Signed-off-by: Felipe Balbi <[email protected]> --- drivers/mmc/host/davinci_mmc.c | 14 +++++++------- 1 files changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/mmc/host/davinci_mmc.c b/drivers/mmc/host/davinci_mmc.c index c7e38ab..58f0146 100644 --- a/drivers/mmc/host/davinci_mmc.c +++ b/drivers/mmc/host/davinci_mmc.c @@ -564,7 +564,7 @@ static int davinci_release_dma_channels(struct mmc_davinci_host *host) return 0; } -static int davinci_acquire_dma_channels(struct mmc_davinci_host *host) +static int __init davinci_acquire_dma_channels(struct mmc_davinci_host *host) { int edma_chan_num, tcc = 0, r, sync_dev; enum dma_event_q queue_no = EVENTQ_0; @@ -1061,7 +1061,7 @@ static void init_mmcsd_host(struct mmc_davinci_host *host) udelay(10); } -static int davinci_mmcsd_probe(struct platform_device *pdev) +static int __init davinci_mmcsd_probe(struct platform_device *pdev) { struct davinci_mmc_config *pdata = pdev->dev.platform_data; struct mmc_davinci_host *host = NULL; @@ -1196,10 +1196,11 @@ out: release_resource(mem); dev_dbg(&pdev->dev, "probe err %d\n", ret); + return ret; } -static int davinci_mmcsd_remove(struct platform_device *pdev) +static int __exit davinci_mmcsd_remove(struct platform_device *pdev) { struct mmc_davinci_host *host = platform_get_drvdata(pdev); @@ -1247,15 +1248,14 @@ static struct platform_driver davinci_mmcsd_driver = { .name = DRIVER_NAME, .owner = THIS_MODULE, }, - .probe = davinci_mmcsd_probe, - .remove = davinci_mmcsd_remove, + .remove = __exit_p(davinci_mmcsd_remove), .suspend = davinci_mmcsd_suspend, .resume = davinci_mmcsd_resume, }; -static int davinci_mmcsd_init(void) +static int __init davinci_mmcsd_init(void) { - return platform_driver_register(&davinci_mmcsd_driver); + return platform_driver_probe(&davinci_mmcsd_driver, davinci_mmcsd_probe); } module_init(davinci_mmcsd_init); -- 1.6.0.4.617.g2baf1 -- balbi _______________________________________________ Davinci-linux-open-source mailing list [email protected] http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
