diff options
author | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2013-05-23 05:07:50 -0400 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2013-05-23 05:54:21 -0400 |
commit | 591a0ac7f14aae6bf11b1cb6b5a68480bd644ddb (patch) | |
tree | cb2b4707ecd8aaac1eff6901b311d4f839c69383 /include/video | |
parent | b358c6cf029cb67b3ed9cc367fb46f1fa3228c5b (diff) |
OMAPDSS: Fix crash with DT boot
When booting with DT, there's a crash when omapfb is probed. This is
caused by the fact that omapdss+DT is not yet supported, and thus
omapdss is not probed at all. On the other hand, omapfb is always
probed. When omapfb tries to use omapdss, there's a NULL pointer
dereference crash. The same error should most likely happen with omapdrm
and omap_vout also.
To fix this, add an "initialized" state to omapdss. When omapdss has
been probed, it's marked as initialized. omapfb, omapdrm and omap_vout
check this state when they are probed to see that omapdss is actually
there.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tested-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Diffstat (limited to 'include/video')
-rw-r--r-- | include/video/omapdss.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/video/omapdss.h b/include/video/omapdss.h index caefa093337d..9b52340ec3ff 100644 --- a/include/video/omapdss.h +++ b/include/video/omapdss.h | |||
@@ -741,6 +741,7 @@ struct omap_dss_driver { | |||
741 | }; | 741 | }; |
742 | 742 | ||
743 | enum omapdss_version omapdss_get_version(void); | 743 | enum omapdss_version omapdss_get_version(void); |
744 | bool omapdss_is_initialized(void); | ||
744 | 745 | ||
745 | int omap_dss_register_driver(struct omap_dss_driver *); | 746 | int omap_dss_register_driver(struct omap_dss_driver *); |
746 | void omap_dss_unregister_driver(struct omap_dss_driver *); | 747 | void omap_dss_unregister_driver(struct omap_dss_driver *); |