aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@ti.com>2013-05-02 04:56:35 -0400
committerTomi Valkeinen <tomi.valkeinen@ti.com>2013-05-02 05:23:31 -0400
commitd23b3357a3beab8ab0f3248f8b4b04dee1fb142b (patch)
tree50bb8cf563d540835e67d2ccfd9f423038a897e4
parent94cf394b15f94090c8ebd874b29725d35eb54663 (diff)
OMAPDSS: SDI: use platform_driver_register()
Use platform_driver_register() instead of platform_driver_probe() so that we can support EPROBE_DEFER. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
-rw-r--r--drivers/video/omap2/dss/sdi.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/drivers/video/omap2/dss/sdi.c b/drivers/video/omap2/dss/sdi.c
index e6baee2e84f8..af7d6aefe423 100644
--- a/drivers/video/omap2/dss/sdi.c
+++ b/drivers/video/omap2/dss/sdi.c
@@ -248,7 +248,7 @@ void omapdss_sdi_set_datapairs(struct omap_dss_device *dssdev, int datapairs)
248} 248}
249EXPORT_SYMBOL(omapdss_sdi_set_datapairs); 249EXPORT_SYMBOL(omapdss_sdi_set_datapairs);
250 250
251static int __init sdi_init_display(struct omap_dss_device *dssdev) 251static int sdi_init_display(struct omap_dss_device *dssdev)
252{ 252{
253 DSSDBG("SDI init\n"); 253 DSSDBG("SDI init\n");
254 254
@@ -268,7 +268,7 @@ static int __init sdi_init_display(struct omap_dss_device *dssdev)
268 return 0; 268 return 0;
269} 269}
270 270
271static struct omap_dss_device * __init sdi_find_dssdev(struct platform_device *pdev) 271static struct omap_dss_device *sdi_find_dssdev(struct platform_device *pdev)
272{ 272{
273 struct omap_dss_board_info *pdata = pdev->dev.platform_data; 273 struct omap_dss_board_info *pdata = pdev->dev.platform_data;
274 const char *def_disp_name = omapdss_get_default_display_name(); 274 const char *def_disp_name = omapdss_get_default_display_name();
@@ -296,7 +296,7 @@ static struct omap_dss_device * __init sdi_find_dssdev(struct platform_device *p
296 return def_dssdev; 296 return def_dssdev;
297} 297}
298 298
299static void __init sdi_probe_pdata(struct platform_device *sdidev) 299static void sdi_probe_pdata(struct platform_device *sdidev)
300{ 300{
301 struct omap_dss_device *plat_dssdev; 301 struct omap_dss_device *plat_dssdev;
302 struct omap_dss_device *dssdev; 302 struct omap_dss_device *dssdev;
@@ -337,7 +337,7 @@ static void __init sdi_probe_pdata(struct platform_device *sdidev)
337 } 337 }
338} 338}
339 339
340static void __init sdi_init_output(struct platform_device *pdev) 340static void sdi_init_output(struct platform_device *pdev)
341{ 341{
342 struct omap_dss_output *out = &sdi.output; 342 struct omap_dss_output *out = &sdi.output;
343 343
@@ -357,7 +357,7 @@ static void __exit sdi_uninit_output(struct platform_device *pdev)
357 dss_unregister_output(out); 357 dss_unregister_output(out);
358} 358}
359 359
360static int __init omap_sdi_probe(struct platform_device *pdev) 360static int omap_sdi_probe(struct platform_device *pdev)
361{ 361{
362 sdi_init_output(pdev); 362 sdi_init_output(pdev);
363 363
@@ -376,6 +376,7 @@ static int __exit omap_sdi_remove(struct platform_device *pdev)
376} 376}
377 377
378static struct platform_driver omap_sdi_driver = { 378static struct platform_driver omap_sdi_driver = {
379 .probe = omap_sdi_probe,
379 .remove = __exit_p(omap_sdi_remove), 380 .remove = __exit_p(omap_sdi_remove),
380 .driver = { 381 .driver = {
381 .name = "omapdss_sdi", 382 .name = "omapdss_sdi",
@@ -385,7 +386,7 @@ static struct platform_driver omap_sdi_driver = {
385 386
386int __init sdi_init_platform_driver(void) 387int __init sdi_init_platform_driver(void)
387{ 388{
388 return platform_driver_probe(&omap_sdi_driver, omap_sdi_probe); 389 return platform_driver_register(&omap_sdi_driver);
389} 390}
390 391
391void __exit sdi_uninit_platform_driver(void) 392void __exit sdi_uninit_platform_driver(void)