Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 376499
b: refs/heads/master
c: 591a0ac
h: refs/heads/master
i:
  376497: 0c1988a
  376495: f180351
v: v3
  • Loading branch information
Tomi Valkeinen committed May 23, 2013
1 parent 69a212b commit 7f237a6
Show file tree
Hide file tree
Showing 6 changed files with 30 additions and 2 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: b358c6cf029cb67b3ed9cc367fb46f1fa3228c5b
refs/heads/master: 591a0ac7f14aae6bf11b1cb6b5a68480bd644ddb
3 changes: 3 additions & 0 deletions trunk/drivers/gpu/drm/omapdrm/omap_drv.c
Original file line number Diff line number Diff line change
Expand Up @@ -548,6 +548,9 @@ static void pdev_shutdown(struct platform_device *device)

static int pdev_probe(struct platform_device *device)
{
if (omapdss_is_initialized() == false)
return -EPROBE_DEFER;

DBG("%s", device->name);
return drm_platform_init(&omap_drm_driver, device);
}
Expand Down
3 changes: 3 additions & 0 deletions trunk/drivers/media/platform/omap/omap_vout.c
Original file line number Diff line number Diff line change
Expand Up @@ -2144,6 +2144,9 @@ static int __init omap_vout_probe(struct platform_device *pdev)
struct omap_dss_device *def_display;
struct omap2video_device *vid_dev = NULL;

if (omapdss_is_initialized() == false)
return -EPROBE_DEFER;

ret = omapdss_compat_init();
if (ret) {
dev_err(&pdev->dev, "failed to init dss\n");
Expand Down
20 changes: 19 additions & 1 deletion trunk/drivers/video/omap2/dss/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,8 @@ static char *def_disp_name;
module_param_named(def_disp, def_disp_name, charp, 0);
MODULE_PARM_DESC(def_disp, "default display name");

static bool dss_initialized;

const char *omapdss_get_default_display_name(void)
{
return core.default_display_name;
Expand All @@ -66,6 +68,12 @@ enum omapdss_version omapdss_get_version(void)
}
EXPORT_SYMBOL(omapdss_get_version);

bool omapdss_is_initialized(void)
{
return dss_initialized;
}
EXPORT_SYMBOL(omapdss_is_initialized);

struct platform_device *dss_get_core_pdev(void)
{
return core.pdev;
Expand Down Expand Up @@ -606,6 +614,8 @@ static int __init omap_dss_init(void)
return r;
}

dss_initialized = true;

return 0;
}

Expand Down Expand Up @@ -636,7 +646,15 @@ static int __init omap_dss_init(void)

static int __init omap_dss_init2(void)
{
return omap_dss_register_drivers();
int r;

r = omap_dss_register_drivers();
if (r)
return r;

dss_initialized = true;

return 0;
}

core_initcall(omap_dss_init);
Expand Down
3 changes: 3 additions & 0 deletions trunk/drivers/video/omap2/omapfb/omapfb-main.c
Original file line number Diff line number Diff line change
Expand Up @@ -2416,6 +2416,9 @@ static int __init omapfb_probe(struct platform_device *pdev)

DBG("omapfb_probe\n");

if (omapdss_is_initialized() == false)
return -EPROBE_DEFER;

if (pdev->num_resources != 0) {
dev_err(&pdev->dev, "probed for an unknown device\n");
r = -ENODEV;
Expand Down
1 change: 1 addition & 0 deletions trunk/include/video/omapdss.h
Original file line number Diff line number Diff line change
Expand Up @@ -741,6 +741,7 @@ struct omap_dss_driver {
};

enum omapdss_version omapdss_get_version(void);
bool omapdss_is_initialized(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 7f237a6

Please sign in to comment.