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

Commit 5d47dbc8 authored by Tomi Valkeinen's avatar Tomi Valkeinen
Browse files

OMAPDSS: public omapdss_register_output()



In order to allow multiple display block in a video pipeline, we need to
give the drivers way to register themselves. For now we have
the omapdss_register_display() which is used to register panels, and
dss_register_output() which is used to register DSS encoders.

This patch makes dss_register_output() public (with the name of
omapdss_register_output), which can be used to register also external
encoders. The distinction between register_output and register_display
is that a "display" is an entity at the end of the videopipeline, and
"output" is something inside the pipeline.

The registration and naming will be made saner in the future, but the
current names and functions are kept to minimize changes during the dss
device model transition.

Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
parent 595470a7
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -689,14 +689,14 @@ static void dpi_init_output(struct platform_device *pdev)
	out->dispc_channel = dpi_get_channel();
	out->owner = THIS_MODULE;

	dss_register_output(out);
	omapdss_register_output(out);
}

static void __exit dpi_uninit_output(struct platform_device *pdev)
{
	struct omap_dss_device *out = &dpi.output;

	dss_unregister_output(out);
	omapdss_unregister_output(out);
}

static int omap_dpi_probe(struct platform_device *pdev)
+2 −2
Original line number Diff line number Diff line
@@ -5426,7 +5426,7 @@ static void dsi_init_output(struct platform_device *dsidev)
	out->dispc_channel = dsi_get_channel(dsi->module_id);
	out->owner = THIS_MODULE;

	dss_register_output(out);
	omapdss_register_output(out);
}

static void dsi_uninit_output(struct platform_device *dsidev)
@@ -5434,7 +5434,7 @@ static void dsi_uninit_output(struct platform_device *dsidev)
	struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev);
	struct omap_dss_device *out = &dsi->output;

	dss_unregister_output(out);
	omapdss_unregister_output(out);
}

/* DSI1 HW IP initialisation */
+0 −4
Original line number Diff line number Diff line
@@ -179,10 +179,6 @@ void dss_put_device(struct omap_dss_device *dssdev);
void dss_copy_device_pdata(struct omap_dss_device *dst,
		const struct omap_dss_device *src);

/* output */
void dss_register_output(struct omap_dss_device *out);
void dss_unregister_output(struct omap_dss_device *out);

/* display */
int dss_suspend_all_devices(void);
int dss_resume_all_devices(void);
+2 −2
Original line number Diff line number Diff line
@@ -1036,14 +1036,14 @@ static void hdmi_init_output(struct platform_device *pdev)
	out->dispc_channel = OMAP_DSS_CHANNEL_DIGIT;
	out->owner = THIS_MODULE;

	dss_register_output(out);
	omapdss_register_output(out);
}

static void __exit hdmi_uninit_output(struct platform_device *pdev)
{
	struct omap_dss_device *out = &hdmi.output;

	dss_unregister_output(out);
	omapdss_unregister_output(out);
}

/* HDMI HW IP initialisation */
+5 −2
Original line number Diff line number Diff line
@@ -92,15 +92,18 @@ int omapdss_output_unset_device(struct omap_dss_device *out)
}
EXPORT_SYMBOL(omapdss_output_unset_device);

void dss_register_output(struct omap_dss_device *out)
int omapdss_register_output(struct omap_dss_device *out)
{
	list_add_tail(&out->list, &output_list);
	return 0;
}
EXPORT_SYMBOL(omapdss_register_output);

void dss_unregister_output(struct omap_dss_device *out)
void omapdss_unregister_output(struct omap_dss_device *out)
{
	list_del(&out->list);
}
EXPORT_SYMBOL(omapdss_unregister_output);

struct omap_dss_device *omap_dss_get_output(enum omap_dss_output_id id)
{
Loading