Skip to content

Commit

Permalink
OMAPDSS: get the dss version from core pdev
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Tomi Valkeinen committed Oct 24, 2012
1 parent 998c336 commit b2c7d54
Show file tree
Hide file tree
Showing 5 changed files with 13 additions and 7 deletions.
9 changes: 8 additions & 1 deletion drivers/video/omap2/dss/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,13 @@ const char *dss_get_default_display_name(void)
return core.default_display_name;
}

enum omapdss_version omapdss_get_version(void)
{
struct omap_dss_board_info *pdata = core.pdev->dev.platform_data;
return pdata->version;
}
EXPORT_SYMBOL(omapdss_get_version);

/* REGULATORS */

struct regulator *dss_get_vdds_dsi(void)
Expand Down Expand Up @@ -232,7 +239,7 @@ static int __init omap_dss_probe(struct platform_device *pdev)

core.pdev = pdev;

dss_features_init(pdata->version);
dss_features_init(omapdss_get_version());

dss_apply_init();

Expand Down
3 changes: 1 addition & 2 deletions drivers/video/omap2/dss/dispc.c
Original file line number Diff line number Diff line change
Expand Up @@ -4098,7 +4098,6 @@ static const struct dispc_features omap44xx_dispc_feats __initconst = {

static int __init dispc_init_features(struct platform_device *pdev)
{
struct omap_dss_board_info *pdata = pdev->dev.platform_data;
const struct dispc_features *src;
struct dispc_features *dst;

Expand All @@ -4108,7 +4107,7 @@ static int __init dispc_init_features(struct platform_device *pdev)
return -ENOMEM;
}

switch (pdata->version) {
switch (omapdss_get_version()) {
case OMAPDSS_VER_OMAP24xx:
src = &omap24xx_dispc_feats;
break;
Expand Down
3 changes: 1 addition & 2 deletions drivers/video/omap2/dss/dss.c
Original file line number Diff line number Diff line change
Expand Up @@ -793,7 +793,6 @@ static const struct dss_features omap54xx_dss_feats __initconst = {

static int __init dss_init_features(struct platform_device *pdev)
{
struct omap_dss_board_info *pdata = pdev->dev.platform_data;
const struct dss_features *src;
struct dss_features *dst;

Expand All @@ -803,7 +802,7 @@ static int __init dss_init_features(struct platform_device *pdev)
return -ENOMEM;
}

switch (pdata->version) {
switch (omapdss_get_version()) {
case OMAPDSS_VER_OMAP24xx:
src = &omap24xx_dss_feats;
break;
Expand Down
3 changes: 1 addition & 2 deletions drivers/video/omap2/dss/hdmi.c
Original file line number Diff line number Diff line change
Expand Up @@ -323,7 +323,6 @@ static void hdmi_runtime_put(void)

static int __init hdmi_init_display(struct omap_dss_device *dssdev)
{
struct omap_dss_board_info *pdata = hdmi.pdev->dev.platform_data;
int r;

struct gpio gpios[] = {
Expand All @@ -334,7 +333,7 @@ static int __init hdmi_init_display(struct omap_dss_device *dssdev)

DSSDBG("init_display\n");

dss_init_hdmi_ip_ops(&hdmi.ip_data, pdata->version);
dss_init_hdmi_ip_ops(&hdmi.ip_data, omapdss_get_version());

if (hdmi.vdda_hdmi_dac_reg == NULL) {
struct regulator *reg;
Expand Down
2 changes: 2 additions & 0 deletions include/video/omapdss.h
Original file line number Diff line number Diff line change
Expand Up @@ -742,6 +742,8 @@ struct omap_dss_driver {

};

enum omapdss_version omapdss_get_version(void);

int omap_dss_register_driver(struct omap_dss_driver *);
void omap_dss_unregister_driver(struct omap_dss_driver *);

Expand Down

0 comments on commit b2c7d54

Please sign in to comment.