Added code to conditionally skip over creating a DMM device from the
hwmod information if there is a DMM node present in the DT.

Signed-off-by: Andy Gross <andy.gr...@ti.com>
---
 arch/arm/mach-omap2/drm.c |   18 ++++++++++++------
 1 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/arch/arm/mach-omap2/drm.c b/arch/arm/mach-omap2/drm.c
index 59a4af7..01a0c6a 100644
--- a/arch/arm/mach-omap2/drm.c
+++ b/arch/arm/mach-omap2/drm.c
@@ -24,6 +24,7 @@
 #include <linux/platform_device.h>
 #include <linux/dma-mapping.h>
 #include <linux/platform_data/omap_drm.h>
+#include <linux/of.h>
 
 #include "soc.h"
 #include "omap_device.h"
@@ -47,13 +48,18 @@ static int __init omap_init_drm(void)
        struct omap_hwmod *oh = NULL;
        struct platform_device *pdev;
 
-       /* lookup and populate the DMM information, if present - OMAP4+ */
-       oh = omap_hwmod_lookup("dmm");
+       if (!of_have_populated_dt()  ||
+               !of_find_compatible_node(NULL, NULL, "ti,dmm")) {
 
-       if (oh) {
-               pdev = omap_device_build(oh->name, -1, oh, NULL, 0);
-               WARN(IS_ERR(pdev), "Could not build omap_device for %s\n",
-                       oh->name);
+               /* resort to hwmod lookup - LEGACY */
+               /* lookup and populate the DMM information, OMAP4+ only */
+               oh = omap_hwmod_lookup("dmm");
+
+               if (oh) {
+                       pdev = omap_device_build(oh->name, -1, oh, NULL, 0);
+                       WARN(IS_ERR(pdev), "Could not build device for %s\n",
+                               oh->name);
+               }
        }
 
        platform_data.omaprev = GET_OMAP_TYPE;
-- 
1.7.5.4

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to