Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 09e82ba7 authored by Tomi Valkeinen's avatar Tomi Valkeinen
Browse files

OMAPDSS: move display sysfs init to compat layer



Move creation of the sysfs files for displays to the compat layer.

Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
parent 8b095513
Loading
Loading
Loading
Loading
+14 −0
Original line number Original line Diff line number Diff line
@@ -1562,6 +1562,7 @@ static DEFINE_MUTEX(compat_init_lock);
int omapdss_compat_init(void)
int omapdss_compat_init(void)
{
{
	struct platform_device *pdev = dss_get_core_pdev();
	struct platform_device *pdev = dss_get_core_pdev();
	struct omap_dss_device *dssdev = NULL;
	int i, r;
	int i, r;


	mutex_lock(&compat_init_lock);
	mutex_lock(&compat_init_lock);
@@ -1607,6 +1608,13 @@ int omapdss_compat_init(void)
	if (r)
	if (r)
		goto err_mgr_ops;
		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();
	dispc_runtime_get();


	r = dss_dispc_initialize_irq();
	r = dss_dispc_initialize_irq();
@@ -1622,6 +1630,8 @@ int omapdss_compat_init(void)


err_init_irq:
err_init_irq:
	dispc_runtime_put();
	dispc_runtime_put();

err_disp_sysfs:
	dss_uninstall_mgr_ops();
	dss_uninstall_mgr_ops();


err_mgr_ops:
err_mgr_ops:
@@ -1639,6 +1649,7 @@ EXPORT_SYMBOL(omapdss_compat_init);
void omapdss_compat_uninit(void)
void omapdss_compat_uninit(void)
{
{
	struct platform_device *pdev = dss_get_core_pdev();
	struct platform_device *pdev = dss_get_core_pdev();
	struct omap_dss_device *dssdev = NULL;


	mutex_lock(&compat_init_lock);
	mutex_lock(&compat_init_lock);


@@ -1647,6 +1658,9 @@ void omapdss_compat_uninit(void)


	dss_dispc_uninitialize_irq();
	dss_dispc_uninitialize_irq();


	for_each_dss_dev(dssdev)
		display_uninit_sysfs(pdev, dssdev);

	dss_uninstall_mgr_ops();
	dss_uninstall_mgr_ops();


	dss_uninit_overlay_managers(pdev);
	dss_uninit_overlay_managers(pdev);
+0 −7
Original line number Original line Diff line number Diff line
@@ -347,15 +347,10 @@ static int dss_driver_probe(struct device *dev)
				dev_name(dev), dssdev->driver_name,
				dev_name(dev), dssdev->driver_name,
				dssdrv->driver.name);
				dssdrv->driver.name);


	r = dss_init_device(core.pdev, dssdev);
	if (r)
		return r;

	r = dssdrv->probe(dssdev);
	r = dssdrv->probe(dssdev);


	if (r) {
	if (r) {
		DSSERR("driver probe failed: %d\n", r);
		DSSERR("driver probe failed: %d\n", r);
		dss_uninit_device(core.pdev, dssdev);
		return r;
		return r;
	}
	}


@@ -376,8 +371,6 @@ static int dss_driver_remove(struct device *dev)


	dssdrv->remove(dssdev);
	dssdrv->remove(dssdev);


	dss_uninit_device(core.pdev, dssdev);

	dssdev->driver = NULL;
	dssdev->driver = NULL;


	return 0;
	return 0;
+0 −20
Original line number Original line Diff line number Diff line
@@ -76,26 +76,6 @@ void omapdss_default_get_timings(struct omap_dss_device *dssdev,
}
}
EXPORT_SYMBOL(omapdss_default_get_timings);
EXPORT_SYMBOL(omapdss_default_get_timings);


int dss_init_device(struct platform_device *pdev,
		struct omap_dss_device *dssdev)
{
	int r;

	r = display_init_sysfs(pdev, dssdev);
	if (r) {
		omapdss_output_unset_device(dssdev->output);
		return r;
	}

	return 0;
}

void dss_uninit_device(struct platform_device *pdev,
		struct omap_dss_device *dssdev)
{
	display_uninit_sysfs(pdev, dssdev);
}

static int dss_suspend_device(struct device *dev, void *data)
static int dss_suspend_device(struct device *dev, void *data)
{
{
	struct omap_dss_device *dssdev = to_dss_device(dev);
	struct omap_dss_device *dssdev = to_dss_device(dev);
+0 −5
Original line number Original line Diff line number Diff line
@@ -201,11 +201,6 @@ int dss_suspend_all_devices(void);
int dss_resume_all_devices(void);
int dss_resume_all_devices(void);
void dss_disable_all_devices(void);
void dss_disable_all_devices(void);


int dss_init_device(struct platform_device *pdev,
		struct omap_dss_device *dssdev);
void dss_uninit_device(struct platform_device *pdev,
		struct omap_dss_device *dssdev);

int display_init_sysfs(struct platform_device *pdev,
int display_init_sysfs(struct platform_device *pdev,
		struct omap_dss_device *dssdev);
		struct omap_dss_device *dssdev);
void display_uninit_sysfs(struct platform_device *pdev,
void display_uninit_sysfs(struct platform_device *pdev,