Moving tracing_path interface into api/fs/tracing_path.c
out of util.c. It seems generic enough to be used by
others, and I couldn't think of better place.

Link: http://lkml.kernel.org/n/tip-xqvrud2e3z4uynvnu3iml...@git.kernel.org
Signed-off-by: Jiri Olsa <jo...@kernel.org>
---
 tools/lib/api/fs/Build             |  1 +
 tools/lib/api/fs/tracing_path.c    | 83 ++++++++++++++++++++++++++++++++++++++
 tools/lib/api/fs/tracing_path.h    | 13 ++++++
 tools/perf/perf.c                  |  2 +-
 tools/perf/util/parse-events.c     |  2 +-
 tools/perf/util/trace-event-info.c |  2 +-
 tools/perf/util/trace-event.c      |  1 +
 tools/perf/util/util.c             | 70 --------------------------------
 tools/perf/util/util.h             |  6 ---
 9 files changed, 101 insertions(+), 79 deletions(-)
 create mode 100644 tools/lib/api/fs/tracing_path.c
 create mode 100644 tools/lib/api/fs/tracing_path.h

diff --git a/tools/lib/api/fs/Build b/tools/lib/api/fs/Build
index 6de5a4f0b501..fa726f679b29 100644
--- a/tools/lib/api/fs/Build
+++ b/tools/lib/api/fs/Build
@@ -1,4 +1,5 @@
 libapi-y += fs.o
+libapi-y += tracing_path.o
 libapi-y += debugfs.o
 libapi-y += findfs.o
 libapi-y += tracefs.o
diff --git a/tools/lib/api/fs/tracing_path.c b/tools/lib/api/fs/tracing_path.c
new file mode 100644
index 000000000000..1fd6e1f99234
--- /dev/null
+++ b/tools/lib/api/fs/tracing_path.c
@@ -0,0 +1,83 @@
+#ifndef _GNU_SOURCE
+# define _GNU_SOURCE
+#endif
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "debugfs.h"
+#include "tracefs.h"
+
+#include "tracing_path.h"
+
+
+char tracing_path[PATH_MAX + 1]        = "/sys/kernel/debug/tracing";
+char tracing_events_path[PATH_MAX + 1] = "/sys/kernel/debug/tracing/events";
+
+
+static void __tracing_path_set(const char *tracing, const char *mountpoint)
+{
+       snprintf(tracing_path, sizeof(tracing_path), "%s/%s",
+                mountpoint, tracing);
+       snprintf(tracing_events_path, sizeof(tracing_events_path), "%s/%s%s",
+                mountpoint, tracing, "events");
+}
+
+static const char *tracing_path_tracefs_mount(void)
+{
+       const char *mnt;
+
+       mnt = tracefs_mount(NULL);
+       if (!mnt)
+               return NULL;
+
+       __tracing_path_set("", mnt);
+
+       return mnt;
+}
+
+static const char *tracing_path_debugfs_mount(void)
+{
+       const char *mnt;
+
+       mnt = debugfs_mount(NULL);
+       if (!mnt)
+               return NULL;
+
+       __tracing_path_set("tracing/", mnt);
+
+       return mnt;
+}
+
+const char *tracing_path_mount(void)
+{
+       const char *mnt;
+
+       mnt = tracing_path_tracefs_mount();
+       if (mnt)
+               return mnt;
+
+       mnt = tracing_path_debugfs_mount();
+
+       return mnt;
+}
+
+void tracing_path_set(const char *mntpt)
+{
+       __tracing_path_set("tracing/", mntpt);
+}
+
+char *get_tracing_file(const char *name)
+{
+       char *file;
+
+       if (asprintf(&file, "%s/%s", tracing_path, name) < 0)
+               return NULL;
+
+       return file;
+}
+
+void put_tracing_file(char *file)
+{
+       free(file);
+}
diff --git a/tools/lib/api/fs/tracing_path.h b/tools/lib/api/fs/tracing_path.h
new file mode 100644
index 000000000000..b132dc599fe5
--- /dev/null
+++ b/tools/lib/api/fs/tracing_path.h
@@ -0,0 +1,13 @@
+#ifndef __API_FS_TRACING_PATH_H
+#define __API_FS_TRACING_PATH_H
+
+extern char tracing_path[];
+extern char tracing_events_path[];
+
+void tracing_path_set(const char *mountpoint);
+const char *tracing_path_mount(void);
+
+char *get_tracing_file(const char *name);
+void put_tracing_file(char *file);
+
+#endif /* __API_FS_TRACING_PATH_H */
diff --git a/tools/perf/perf.c b/tools/perf/perf.c
index 0e99cd1de9dd..f2fc019b3671 100644
--- a/tools/perf/perf.c
+++ b/tools/perf/perf.c
@@ -15,7 +15,7 @@
 #include "util/parse-events.h"
 #include "util/parse-options.h"
 #include "util/debug.h"
-#include <api/fs/debugfs.h>
+#include <api/fs/tracing_path.h>
 #include <pthread.h>
 
 const char perf_usage_string[] =
diff --git a/tools/perf/util/parse-events.c b/tools/perf/util/parse-events.c
index d826e6f515db..3840176642f8 100644
--- a/tools/perf/util/parse-events.c
+++ b/tools/perf/util/parse-events.c
@@ -11,7 +11,7 @@
 #include "cache.h"
 #include "header.h"
 #include "debug.h"
-#include <api/fs/debugfs.h>
+#include <api/fs/tracing_path.h>
 #include "parse-events-bison.h"
 #define YY_EXTRA_TYPE int
 #include "parse-events-flex.h"
diff --git a/tools/perf/util/trace-event-info.c 
b/tools/perf/util/trace-event-info.c
index 22245986e59e..d995743cb673 100644
--- a/tools/perf/util/trace-event-info.c
+++ b/tools/perf/util/trace-event-info.c
@@ -38,7 +38,7 @@
 
 #include "../perf.h"
 #include "trace-event.h"
-#include <api/fs/debugfs.h>
+#include <api/fs/tracing_path.h>
 #include "evsel.h"
 #include "debug.h"
 
diff --git a/tools/perf/util/trace-event.c b/tools/perf/util/trace-event.c
index b90e646c7a91..2f4996ab313d 100644
--- a/tools/perf/util/trace-event.c
+++ b/tools/perf/util/trace-event.c
@@ -8,6 +8,7 @@
 #include <fcntl.h>
 #include <linux/kernel.h>
 #include <traceevent/event-parse.h>
+#include <api/fs/tracing_path.h>
 #include "trace-event.h"
 #include "machine.h"
 #include "util.h"
diff --git a/tools/perf/util/util.c b/tools/perf/util/util.c
index b959f783f6cd..49a5c6ad55f5 100644
--- a/tools/perf/util/util.c
+++ b/tools/perf/util/util.c
@@ -34,9 +34,6 @@ bool test_attr__enabled;
 bool perf_host  = true;
 bool perf_guest = false;
 
-char tracing_path[PATH_MAX + 1]        = "/sys/kernel/debug/tracing";
-char tracing_events_path[PATH_MAX + 1] = "/sys/kernel/debug/tracing/events";
-
 void event_attr_init(struct perf_event_attr *attr)
 {
        if (!perf_host)
@@ -390,73 +387,6 @@ void set_term_quiet_input(struct termios *old)
        tcsetattr(0, TCSANOW, &tc);
 }
 
-static void __tracing_path_set(const char *tracing, const char *mountpoint)
-{
-       snprintf(tracing_path, sizeof(tracing_path), "%s/%s",
-                mountpoint, tracing);
-       snprintf(tracing_events_path, sizeof(tracing_events_path), "%s/%s%s",
-                mountpoint, tracing, "events");
-}
-
-static const char *tracing_path_tracefs_mount(void)
-{
-       const char *mnt;
-
-       mnt = tracefs_mount(NULL);
-       if (!mnt)
-               return NULL;
-
-       __tracing_path_set("", mnt);
-
-       return mnt;
-}
-
-static const char *tracing_path_debugfs_mount(void)
-{
-       const char *mnt;
-
-       mnt = debugfs_mount(NULL);
-       if (!mnt)
-               return NULL;
-
-       __tracing_path_set("tracing/", mnt);
-
-       return mnt;
-}
-
-const char *tracing_path_mount(void)
-{
-       const char *mnt;
-
-       mnt = tracing_path_tracefs_mount();
-       if (mnt)
-               return mnt;
-
-       mnt = tracing_path_debugfs_mount();
-
-       return mnt;
-}
-
-void tracing_path_set(const char *mntpt)
-{
-       __tracing_path_set("tracing/", mntpt);
-}
-
-char *get_tracing_file(const char *name)
-{
-       char *file;
-
-       if (asprintf(&file, "%s/%s", tracing_path, name) < 0)
-               return NULL;
-
-       return file;
-}
-
-void put_tracing_file(char *file)
-{
-       free(file);
-}
-
 int parse_nsec_time(const char *str, u64 *ptime)
 {
        u64 time_sec, time_nsec;
diff --git a/tools/perf/util/util.h b/tools/perf/util/util.h
index 230c4124bfa7..f9a9717d2aff 100644
--- a/tools/perf/util/util.h
+++ b/tools/perf/util/util.h
@@ -83,12 +83,6 @@
 extern const char *graph_line;
 extern const char *graph_dotted_line;
 extern char buildid_dir[];
-extern char tracing_path[];
-extern char tracing_events_path[];
-extern void tracing_path_set(const char *mountpoint);
-const char *tracing_path_mount(void);
-char *get_tracing_file(const char *name);
-void put_tracing_file(char *file);
 
 /* On most systems <limits.h> would have given us this, but
  * not on some systems (e.g. GNU/Hurd).
-- 
2.4.3

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

Reply via email to