Commit af56fe3c authored by Tomi Valkeinen's avatar Tomi Valkeinen

OMAPFB: use module_platform_driver()

Instead of using platform_driver_probe(), use module_platform_driver()
so that we can support deferred probing.
Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
parent ca96e201
...@@ -2422,7 +2422,7 @@ static int omapfb_init_connections(struct omapfb2_device *fbdev, ...@@ -2422,7 +2422,7 @@ static int omapfb_init_connections(struct omapfb2_device *fbdev,
return 0; return 0;
} }
static int __init omapfb_probe(struct platform_device *pdev) static int omapfb_probe(struct platform_device *pdev)
{ {
struct omapfb2_device *fbdev = NULL; struct omapfb2_device *fbdev = NULL;
int r = 0; int r = 0;
...@@ -2595,6 +2595,7 @@ static int __exit omapfb_remove(struct platform_device *pdev) ...@@ -2595,6 +2595,7 @@ static int __exit omapfb_remove(struct platform_device *pdev)
} }
static struct platform_driver omapfb_driver = { static struct platform_driver omapfb_driver = {
.probe = omapfb_probe,
.remove = __exit_p(omapfb_remove), .remove = __exit_p(omapfb_remove),
.driver = { .driver = {
.name = "omapfb", .name = "omapfb",
...@@ -2602,36 +2603,13 @@ static struct platform_driver omapfb_driver = { ...@@ -2602,36 +2603,13 @@ static struct platform_driver omapfb_driver = {
}, },
}; };
static int __init omapfb_init(void)
{
DBG("omapfb_init\n");
if (platform_driver_probe(&omapfb_driver, omapfb_probe)) {
printk(KERN_ERR "failed to register omapfb driver\n");
return -ENODEV;
}
return 0;
}
static void __exit omapfb_exit(void)
{
DBG("omapfb_exit\n");
platform_driver_unregister(&omapfb_driver);
}
module_param_named(mode, def_mode, charp, 0); module_param_named(mode, def_mode, charp, 0);
module_param_named(vram, def_vram, charp, 0); module_param_named(vram, def_vram, charp, 0);
module_param_named(rotate, def_rotate, int, 0); module_param_named(rotate, def_rotate, int, 0);
module_param_named(vrfb, def_vrfb, bool, 0); module_param_named(vrfb, def_vrfb, bool, 0);
module_param_named(mirror, def_mirror, bool, 0); module_param_named(mirror, def_mirror, bool, 0);
/* late_initcall to let panel/ctrl drivers loaded first. module_platform_driver(omapfb_driver);
* I guess better option would be a more dynamic approach,
* so that omapfb reacts to new panels when they are loaded */
late_initcall(omapfb_init);
/*module_init(omapfb_init);*/
module_exit(omapfb_exit);
MODULE_AUTHOR("Tomi Valkeinen <tomi.valkeinen@nokia.com>"); MODULE_AUTHOR("Tomi Valkeinen <tomi.valkeinen@nokia.com>");
MODULE_DESCRIPTION("OMAP2/3 Framebuffer"); MODULE_DESCRIPTION("OMAP2/3 Framebuffer");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment