aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@ti.com>2012-10-18 06:46:29 -0400
committerTomi Valkeinen <tomi.valkeinen@ti.com>2012-10-24 01:48:16 -0400
commitb2c7d54f72c1c588e8851c882f0465705f5e9e55 (patch)
tree67fa3ecc82feef0f99acb938c613e355f87f0bf3 /drivers/video
parent998c336d4c7183301ed6a6ca93952f63e3cf694f (diff)
OMAPDSS: get the dss version from core pdev
The output drivers get the omapdss hw version from the platform data for their respective output device. This doesn't work with DT, as there's no platform data for them. Add a new function, omapdss_get_version(), which returns the dss version from the core device, which will have platform data on DT also. The function is exported so that users of omapdss can also use it. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers/video')
-rw-r--r--drivers/video/omap2/dss/core.c9
-rw-r--r--drivers/video/omap2/dss/dispc.c3
-rw-r--r--drivers/video/omap2/dss/dss.c3
-rw-r--r--drivers/video/omap2/dss/hdmi.c3
4 files changed, 11 insertions, 7 deletions
diff --git a/drivers/video/omap2/dss/core.c b/drivers/video/omap2/dss/core.c
index 00aa026e307c..685d9a957b19 100644
--- a/drivers/video/omap2/dss/core.c
+++ b/drivers/video/omap2/dss/core.c
@@ -58,6 +58,13 @@ const char *dss_get_default_display_name(void)
58 return core.default_display_name; 58 return core.default_display_name;
59} 59}
60 60
61enum omapdss_version omapdss_get_version(void)
62{
63 struct omap_dss_board_info *pdata = core.pdev->dev.platform_data;
64 return pdata->version;
65}
66EXPORT_SYMBOL(omapdss_get_version);
67
61/* REGULATORS */ 68/* REGULATORS */
62 69
63struct regulator *dss_get_vdds_dsi(void) 70struct regulator *dss_get_vdds_dsi(void)
@@ -232,7 +239,7 @@ static int __init omap_dss_probe(struct platform_device *pdev)
232 239
233 core.pdev = pdev; 240 core.pdev = pdev;
234 241
235 dss_features_init(pdata->version); 242 dss_features_init(omapdss_get_version());
236 243
237 dss_apply_init(); 244 dss_apply_init();
238 245
diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c
index 6dd9eb4a2c5b..817d671e2baa 100644
--- a/drivers/video/omap2/dss/dispc.c
+++ b/drivers/video/omap2/dss/dispc.c
@@ -4098,7 +4098,6 @@ static const struct dispc_features omap44xx_dispc_feats __initconst = {
4098 4098
4099static int __init dispc_init_features(struct platform_device *pdev) 4099static int __init dispc_init_features(struct platform_device *pdev)
4100{ 4100{
4101 struct omap_dss_board_info *pdata = pdev->dev.platform_data;
4102 const struct dispc_features *src; 4101 const struct dispc_features *src;
4103 struct dispc_features *dst; 4102 struct dispc_features *dst;
4104 4103
@@ -4108,7 +4107,7 @@ static int __init dispc_init_features(struct platform_device *pdev)
4108 return -ENOMEM; 4107 return -ENOMEM;
4109 } 4108 }
4110 4109
4111 switch (pdata->version) { 4110 switch (omapdss_get_version()) {
4112 case OMAPDSS_VER_OMAP24xx: 4111 case OMAPDSS_VER_OMAP24xx:
4113 src = &omap24xx_dispc_feats; 4112 src = &omap24xx_dispc_feats;
4114 break; 4113 break;
diff --git a/drivers/video/omap2/dss/dss.c b/drivers/video/omap2/dss/dss.c
index 37ee465c1a0e..d90de37288c4 100644
--- a/drivers/video/omap2/dss/dss.c
+++ b/drivers/video/omap2/dss/dss.c
@@ -793,7 +793,6 @@ static const struct dss_features omap54xx_dss_feats __initconst = {
793 793
794static int __init dss_init_features(struct platform_device *pdev) 794static int __init dss_init_features(struct platform_device *pdev)
795{ 795{
796 struct omap_dss_board_info *pdata = pdev->dev.platform_data;
797 const struct dss_features *src; 796 const struct dss_features *src;
798 struct dss_features *dst; 797 struct dss_features *dst;
799 798
@@ -803,7 +802,7 @@ static int __init dss_init_features(struct platform_device *pdev)
803 return -ENOMEM; 802 return -ENOMEM;
804 } 803 }
805 804
806 switch (pdata->version) { 805 switch (omapdss_get_version()) {
807 case OMAPDSS_VER_OMAP24xx: 806 case OMAPDSS_VER_OMAP24xx:
808 src = &omap24xx_dss_feats; 807 src = &omap24xx_dss_feats;
809 break; 808 break;
diff --git a/drivers/video/omap2/dss/hdmi.c b/drivers/video/omap2/dss/hdmi.c
index adcc906d12f8..c1c54883fbe7 100644
--- a/drivers/video/omap2/dss/hdmi.c
+++ b/drivers/video/omap2/dss/hdmi.c
@@ -323,7 +323,6 @@ static void hdmi_runtime_put(void)
323 323
324static int __init hdmi_init_display(struct omap_dss_device *dssdev) 324static int __init hdmi_init_display(struct omap_dss_device *dssdev)
325{ 325{
326 struct omap_dss_board_info *pdata = hdmi.pdev->dev.platform_data;
327 int r; 326 int r;
328 327
329 struct gpio gpios[] = { 328 struct gpio gpios[] = {
@@ -334,7 +333,7 @@ static int __init hdmi_init_display(struct omap_dss_device *dssdev)
334 333
335 DSSDBG("init_display\n"); 334 DSSDBG("init_display\n");
336 335
337 dss_init_hdmi_ip_ops(&hdmi.ip_data, pdata->version); 336 dss_init_hdmi_ip_ops(&hdmi.ip_data, omapdss_get_version());
338 337
339 if (hdmi.vdda_hdmi_dac_reg == NULL) { 338 if (hdmi.vdda_hdmi_dac_reg == NULL) {
340 struct regulator *reg; 339 struct regulator *reg;