Browse Source

staging: drm/omap: Disable DMM debugfs for OMAP3

OMAP3 does not contain a DMM/Tiler block.  As such, we should not
be exposing any DMM debugfs entries on OMAP3 platforms.

Added inline helper function to verify existence of DMM.

Signed-off-by: Andy Gross <andy.gross@ti.com>
Signed-off-by: Rob Clark <rob@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Andy Gross 13 years ago
parent
commit
132390c79e
2 changed files with 13 additions and 8 deletions
  1. 7 8
      drivers/staging/omapdrm/omap_debugfs.c
  2. 6 0
      drivers/staging/omapdrm/omap_dmm_tiler.h

+ 7 - 8
drivers/staging/omapdrm/omap_debugfs.c

@@ -112,12 +112,10 @@ int omap_debugfs_init(struct drm_minor *minor)
 		return ret;
 	}
 
-	/* TODO: only do this if has_dmm.. but this fxn gets called before
-	 * dev_load() so we don't know this yet..
-	 */
-	ret = drm_debugfs_create_files(omap_dmm_debugfs_list,
-			ARRAY_SIZE(omap_dmm_debugfs_list),
-			minor->debugfs_root, minor);
+	if (dmm_is_available())
+		ret = drm_debugfs_create_files(omap_dmm_debugfs_list,
+				ARRAY_SIZE(omap_dmm_debugfs_list),
+				minor->debugfs_root, minor);
 
 	if (ret) {
 		dev_err(dev->dev, "could not install omap_dmm_debugfs_list\n");
@@ -131,8 +129,9 @@ void omap_debugfs_cleanup(struct drm_minor *minor)
 {
 	drm_debugfs_remove_files(omap_debugfs_list,
 			ARRAY_SIZE(omap_debugfs_list), minor);
-	drm_debugfs_remove_files(omap_dmm_debugfs_list,
-			ARRAY_SIZE(omap_dmm_debugfs_list), minor);
+	if (dmm_is_available())
+		drm_debugfs_remove_files(omap_dmm_debugfs_list,
+				ARRAY_SIZE(omap_dmm_debugfs_list), minor);
 }
 
 #endif

+ 6 - 0
drivers/staging/omapdrm/omap_dmm_tiler.h

@@ -16,6 +16,7 @@
 #ifndef OMAP_DMM_TILER_H
 #define OMAP_DMM_TILER_H
 
+#include <plat/cpu.h>
 #include "omap_drv.h"
 #include "tcm.h"
 
@@ -132,4 +133,9 @@ struct omap_dmm_platform_data {
 	int irq;
 };
 
+static inline int dmm_is_available(void)
+{
+	return cpu_is_omap44xx();
+}
+
 #endif