OMAPDSS: public omapdss_register_output()
authorTomi Valkeinen <tomi.valkeinen@ti.com>
Wed, 24 Apr 2013 10:32:51 +0000 (13:32 +0300)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Mon, 17 Jun 2013 11:00:57 +0000 (14:00 +0300)
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: Tomi Valkeinen <tomi.valkeinen@ti.com>
drivers/video/omap2/dss/dpi.c
drivers/video/omap2/dss/dsi.c
drivers/video/omap2/dss/dss.h
drivers/video/omap2/dss/hdmi.c
drivers/video/omap2/dss/output.c
drivers/video/omap2/dss/rfbi.c
drivers/video/omap2/dss/sdi.c
drivers/video/omap2/dss/venc.c
include/video/omapdss.h

index 892a2b207ee425b94670aae557fb7751cf04a609..5351d02e3064049f600aab6e08d4474826faaf0f 100644 (file)
@@ -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)
index d6b019faed23f4e1856faa1e4b7cad0d8eead4ed..58fbff94e0188143dfe13e4588aa9fc7eef49445 100644 (file)
@@ -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 */
index ed70fa01d192fe7cd4fe449a2e44c339b47bd494..50a2362ef8f882cba159af3ad0a1c6defd6a820b 100644 (file)
@@ -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);
index e1c0992b522b29c0dfaebf9796dc67926a5e6207..2b0a2aac8aeda04e8584cc068ec429bdd98978d6 100644 (file)
@@ -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 */
index 9ad7d2175a7b2dbba920ef651b99943e4b3193f7..0ba168e239077d9411324b96b2c63b29758cb2f2 100644 (file)
@@ -92,15 +92,18 @@ err:
 }
 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)
 {
index f18c9466849bdfbb646245dd8dd79100b96b74c9..fdfe6e6f25df6f1ae89df6a8eb9c0f3c00680a44 100644 (file)
@@ -1022,14 +1022,14 @@ static void rfbi_init_output(struct platform_device *pdev)
        out->dispc_channel = OMAP_DSS_CHANNEL_LCD;
        out->owner = THIS_MODULE;
 
-       dss_register_output(out);
+       omapdss_register_output(out);
 }
 
 static void __exit rfbi_uninit_output(struct platform_device *pdev)
 {
        struct omap_dss_device *out = &rfbi.output;
 
-       dss_unregister_output(out);
+       omapdss_unregister_output(out);
 }
 
 /* RFBI HW IP initialisation */
index bcb75f5d537325276779a46ec92e12d68a397cf9..69d907f7df4a3e29dd137e4c75e5073df4a6a5cb 100644 (file)
@@ -344,14 +344,14 @@ static void sdi_init_output(struct platform_device *pdev)
        out->dispc_channel = OMAP_DSS_CHANNEL_LCD;
        out->owner = THIS_MODULE;
 
-       dss_register_output(out);
+       omapdss_register_output(out);
 }
 
 static void __exit sdi_uninit_output(struct platform_device *pdev)
 {
        struct omap_dss_device *out = &sdi.output;
 
-       dss_unregister_output(out);
+       omapdss_unregister_output(out);
 }
 
 static int omap_sdi_probe(struct platform_device *pdev)
index 8720f137d4f8b7800eeaeea0c2a3c7deb4bdcca6..e47b64eee62cdf67dac8da459eda61c5c75fb5ac 100644 (file)
@@ -790,14 +790,14 @@ static void venc_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 venc_uninit_output(struct platform_device *pdev)
 {
        struct omap_dss_device *out = &venc.output;
 
-       dss_unregister_output(out);
+       omapdss_unregister_output(out);
 }
 
 /* VENC HW IP initialisation */
index ef9db241b4a1a23d2e2696159ea58b5eab45522e..cca912a5f32e4eade542ef36705ea4c36474c6d5 100644 (file)
@@ -780,6 +780,8 @@ struct omap_overlay_manager *omap_dss_get_overlay_manager(int num);
 int omap_dss_get_num_overlays(void);
 struct omap_overlay *omap_dss_get_overlay(int num);
 
+int omapdss_register_output(struct omap_dss_device *output);
+void omapdss_unregister_output(struct omap_dss_device *output);
 struct omap_dss_device *omap_dss_get_output(enum omap_dss_output_id id);
 struct omap_dss_device *omap_dss_find_output(const char *name);
 struct omap_dss_device *omap_dss_find_output_by_node(struct device_node *node);