perf symbols: Move hex2u64 and strxfrchar to symbol.c
[safe/jmp/linux-2.6] / tools / perf / util / debugfs.c
index 06b73ee..a88fefc 100644 (file)
@@ -106,16 +106,14 @@ int debugfs_valid_entry(const char *path)
        return 0;
 }
 
-/* mount the debugfs somewhere */
+/* mount the debugfs somewhere if it's not mounted */
 
-int debugfs_mount(const char *mountpoint)
+char *debugfs_mount(const char *mountpoint)
 {
-       char mountcmd[128];
-
        /* see if it's already mounted */
        if (debugfs_find_mountpoint()) {
                debugfs_premounted = 1;
-               return 0;
+               return debugfs_mountpoint;
        }
 
        /* if not mounted and no argument */
@@ -127,13 +125,14 @@ int debugfs_mount(const char *mountpoint)
                        mountpoint = "/sys/kernel/debug";
        }
 
+       if (mount(NULL, mountpoint, "debugfs", 0, NULL) < 0)
+               return NULL;
+
        /* save the mountpoint */
        strncpy(debugfs_mountpoint, mountpoint, sizeof(debugfs_mountpoint));
+       debugfs_found = 1;
 
-       /* mount it */
-       snprintf(mountcmd, sizeof(mountcmd),
-                "/bin/mount -t debugfs debugfs %s", mountpoint);
-       return system(mountcmd);
+       return debugfs_mountpoint;
 }
 
 /* umount the debugfs */