]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - tools/perf/util/trace-event-info.c
perf trace: Clean up find_debugfs()
[mv-sheeva.git] / tools / perf / util / trace-event-info.c
index dfef238ce1582152a3a64c5bdefa5b0c5409315d..535176dc95b6e9b54cf1173401af189c95c1d30b 100644 (file)
@@ -38,6 +38,7 @@
 
 #include "../perf.h"
 #include "trace-event.h"
+#include "debugfs.h"
 
 #define VERSION "0.5"
 
@@ -102,32 +103,12 @@ void *malloc_or_die(unsigned int size)
 
 static const char *find_debugfs(void)
 {
-       static char debugfs[MAX_PATH+1];
-       static int debugfs_found;
-       FILE *fp;
-       struct mntent *m;
-
-       if (debugfs_found)
-               return debugfs;
-
-       fp = setmntent("/proc/mounts", "r");
-       if (!fp)
-               die("Can't open /proc/mounts for read");
-
-       while ((m = getmntent(fp)) != NULL) {
-               if (strcmp(m->mnt_type, "debugfs") == 0) {
-                       strcpy(debugfs, m->mnt_dir);
-                       debugfs_found = 1;
-                       break;
-               }
-       }
-
-       endmntent(fp);
+       const char *path = debugfs_mount(NULL);
 
-       if (!debugfs_found)
-               die("debugfs not mounted, please mount");
+       if (!path)
+               die("Your kernel not support debugfs filesystem");
 
-       return debugfs;
+       return path;
 }
 
 /*