OMAPDSS: move display sysfs init to compat layer
Move creation of the sysfs files for displays to the compat layer.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
diff --git a/drivers/video/omap2/dss/apply.c b/drivers/video/omap2/dss/apply.c
index 29e1143..d446bdf 100644
--- a/drivers/video/omap2/dss/apply.c
+++ b/drivers/video/omap2/dss/apply.c
@@ -1562,6 +1562,7 @@
int omapdss_compat_init(void)
{
struct platform_device *pdev = dss_get_core_pdev();
+ struct omap_dss_device *dssdev = NULL;
int i, r;
mutex_lock(&compat_init_lock);
@@ -1607,6 +1608,13 @@
if (r)
goto err_mgr_ops;
+ for_each_dss_dev(dssdev) {
+ r = display_init_sysfs(pdev, dssdev);
+ /* XXX uninit sysfs files on error */
+ if (r)
+ goto err_disp_sysfs;
+ }
+
dispc_runtime_get();
r = dss_dispc_initialize_irq();
@@ -1622,6 +1630,8 @@
err_init_irq:
dispc_runtime_put();
+
+err_disp_sysfs:
dss_uninstall_mgr_ops();
err_mgr_ops:
@@ -1639,6 +1649,7 @@
void omapdss_compat_uninit(void)
{
struct platform_device *pdev = dss_get_core_pdev();
+ struct omap_dss_device *dssdev = NULL;
mutex_lock(&compat_init_lock);
@@ -1647,6 +1658,9 @@
dss_dispc_uninitialize_irq();
+ for_each_dss_dev(dssdev)
+ display_uninit_sysfs(pdev, dssdev);
+
dss_uninstall_mgr_ops();
dss_uninit_overlay_managers(pdev);