Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 294353
b: refs/heads/master
c: dc7e57f
h: refs/heads/master
i:
  294351: 42aae3e
v: v3
  • Loading branch information
Tomi Valkeinen authored and Florian Tobias Schandinat committed Mar 21, 2012
1 parent d873e89 commit 2370d6f
Show file tree
Hide file tree
Showing 2 changed files with 78 additions and 59 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: b622f1b538f91ab320838656fc0b31d11a67c5fc
refs/heads/master: dc7e57fa80ec5231e33ee2f51f6211c9fb84b9e3
135 changes: 77 additions & 58 deletions trunk/drivers/video/omap2/dss/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -183,42 +183,6 @@ static int omap_dss_probe(struct platform_device *pdev)
dss_init_overlay_managers(pdev);
dss_init_overlays(pdev);

r = dss_init_platform_driver();
if (r) {
DSSERR("Failed to initialize DSS platform driver\n");
goto err_dss;
}

r = dispc_init_platform_driver();
if (r) {
DSSERR("Failed to initialize dispc platform driver\n");
goto err_dispc;
}

r = rfbi_init_platform_driver();
if (r) {
DSSERR("Failed to initialize rfbi platform driver\n");
goto err_rfbi;
}

r = venc_init_platform_driver();
if (r) {
DSSERR("Failed to initialize venc platform driver\n");
goto err_venc;
}

r = dsi_init_platform_driver();
if (r) {
DSSERR("Failed to initialize DSI platform driver\n");
goto err_dsi;
}

r = hdmi_init_platform_driver();
if (r) {
DSSERR("Failed to initialize hdmi\n");
goto err_hdmi;
}

r = dss_initialize_debugfs();
if (r)
goto err_debugfs;
Expand Down Expand Up @@ -246,18 +210,6 @@ static int omap_dss_probe(struct platform_device *pdev)
err_register:
dss_uninitialize_debugfs();
err_debugfs:
hdmi_uninit_platform_driver();
err_hdmi:
dsi_uninit_platform_driver();
err_dsi:
venc_uninit_platform_driver();
err_venc:
dispc_uninit_platform_driver();
err_dispc:
rfbi_uninit_platform_driver();
err_rfbi:
dss_uninit_platform_driver();
err_dss:

return r;
}
Expand All @@ -269,13 +221,6 @@ static int omap_dss_remove(struct platform_device *pdev)

dss_uninitialize_debugfs();

hdmi_uninit_platform_driver();
dsi_uninit_platform_driver();
venc_uninit_platform_driver();
rfbi_uninit_platform_driver();
dispc_uninit_platform_driver();
dss_uninit_platform_driver();

dss_uninit_overlays(pdev);
dss_uninit_overlay_managers(pdev);

Expand Down Expand Up @@ -525,6 +470,80 @@ static int omap_dss_bus_register(void)

/* INIT */

static int __init omap_dss_register_drivers(void)
{
int r;

r = platform_driver_register(&omap_dss_driver);
if (r)
return r;

r = dss_init_platform_driver();
if (r) {
DSSERR("Failed to initialize DSS platform driver\n");
goto err_dss;
}

r = dispc_init_platform_driver();
if (r) {
DSSERR("Failed to initialize dispc platform driver\n");
goto err_dispc;
}

r = rfbi_init_platform_driver();
if (r) {
DSSERR("Failed to initialize rfbi platform driver\n");
goto err_rfbi;
}

r = venc_init_platform_driver();
if (r) {
DSSERR("Failed to initialize venc platform driver\n");
goto err_venc;
}

r = dsi_init_platform_driver();
if (r) {
DSSERR("Failed to initialize DSI platform driver\n");
goto err_dsi;
}

r = hdmi_init_platform_driver();
if (r) {
DSSERR("Failed to initialize hdmi\n");
goto err_hdmi;
}

return 0;

err_hdmi:
dsi_uninit_platform_driver();
err_dsi:
venc_uninit_platform_driver();
err_venc:
rfbi_uninit_platform_driver();
err_rfbi:
dispc_uninit_platform_driver();
err_dispc:
dss_uninit_platform_driver();
err_dss:
platform_driver_unregister(&omap_dss_driver);

return r;
}

static void __exit omap_dss_unregister_drivers(void)
{
hdmi_uninit_platform_driver();
dsi_uninit_platform_driver();
venc_uninit_platform_driver();
rfbi_uninit_platform_driver();
dispc_uninit_platform_driver();
dss_uninit_platform_driver();

platform_driver_unregister(&omap_dss_driver);
}

#ifdef CONFIG_OMAP2_DSS_MODULE
static void omap_dss_bus_unregister(void)
{
Expand All @@ -541,7 +560,7 @@ static int __init omap_dss_init(void)
if (r)
return r;

r = platform_driver_register(&omap_dss_driver);
r = omap_dss_register_drivers();
if (r) {
omap_dss_bus_unregister();
return r;
Expand All @@ -562,7 +581,7 @@ static void __exit omap_dss_exit(void)
core.vdds_sdi_reg = NULL;
}

platform_driver_unregister(&omap_dss_driver);
omap_dss_unregister_drivers();

omap_dss_bus_unregister();
}
Expand All @@ -577,7 +596,7 @@ static int __init omap_dss_init(void)

static int __init omap_dss_init2(void)
{
return platform_driver_register(&omap_dss_driver);
return omap_dss_register_drivers();
}

core_initcall(omap_dss_init);
Expand Down

0 comments on commit 2370d6f

Please sign in to comment.