Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Andy Gross and committed by
Greg Kroah-Hartman
132390c7 f6b6036e

+13 -8
+7 -8
drivers/staging/omapdrm/omap_debugfs.c
··· 112 112 return ret; 113 113 } 114 114 115 - /* TODO: only do this if has_dmm.. but this fxn gets called before 116 - * dev_load() so we don't know this yet.. 117 - */ 118 - ret = drm_debugfs_create_files(omap_dmm_debugfs_list, 119 - ARRAY_SIZE(omap_dmm_debugfs_list), 120 - minor->debugfs_root, minor); 115 + if (dmm_is_available()) 116 + ret = drm_debugfs_create_files(omap_dmm_debugfs_list, 117 + ARRAY_SIZE(omap_dmm_debugfs_list), 118 + minor->debugfs_root, minor); 121 119 122 120 if (ret) { 123 121 dev_err(dev->dev, "could not install omap_dmm_debugfs_list\n"); ··· 129 131 { 130 132 drm_debugfs_remove_files(omap_debugfs_list, 131 133 ARRAY_SIZE(omap_debugfs_list), minor); 132 - drm_debugfs_remove_files(omap_dmm_debugfs_list, 133 - ARRAY_SIZE(omap_dmm_debugfs_list), minor); 134 + if (dmm_is_available()) 135 + drm_debugfs_remove_files(omap_dmm_debugfs_list, 136 + ARRAY_SIZE(omap_dmm_debugfs_list), minor); 134 137 } 135 138 136 139 #endif
+6
drivers/staging/omapdrm/omap_dmm_tiler.h
··· 16 16 #ifndef OMAP_DMM_TILER_H 17 17 #define OMAP_DMM_TILER_H 18 18 19 + #include <plat/cpu.h> 19 20 #include "omap_drv.h" 20 21 #include "tcm.h" 21 22 ··· 132 131 void __iomem *base; 133 132 int irq; 134 133 }; 134 + 135 + static inline int dmm_is_available(void) 136 + { 137 + return cpu_is_omap44xx(); 138 + } 135 139 136 140 #endif