summaryrefslogtreecommitdiffstats
path: root/tools/perf
diff options
context:
space:
mode:
authorJiri Olsa <jolsa@kernel.org>2015-02-12 15:56:21 +0100
committerArnaldo Carvalho de Melo <acme@redhat.com>2015-03-23 12:38:37 -0300
commit8dee9ff110f11fa536caef3cd2da23b74dceaf5b (patch)
tree521d4589e9c314c9a0fcb3c8535c1fea0d3c27c5 /tools/perf
parent914f85c4a2db34429b146a57652d2db24d063379 (diff)
downloadop-kernel-dev-8dee9ff110f11fa536caef3cd2da23b74dceaf5b.zip
op-kernel-dev-8dee9ff110f11fa536caef3cd2da23b74dceaf5b.tar.gz
perf tools: Use kmod_path__parse in is_kernel_module
Replacing the current parsing code with kmod_path__parse function call. Signed-off-by: Jiri Olsa <jolsa@kernel.org> Acked-by: Namhyung Kim <namhyung@kernel.org> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com> Cc: David Ahern <dsahern@gmail.com> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Stephane Eranian <eranian@google.com> Link: http://lkml.kernel.org/n/tip-r9mpbbgkp39wp1cdmv13ddq0@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf')
-rw-r--r--tools/perf/util/dso.c16
1 files changed, 6 insertions, 10 deletions
diff --git a/tools/perf/util/dso.c b/tools/perf/util/dso.c
index 7a7c54b..f375483 100644
--- a/tools/perf/util/dso.c
+++ b/tools/perf/util/dso.c
@@ -178,19 +178,15 @@ bool is_kmodule_extension(const char *ext)
bool is_kernel_module(const char *pathname, bool *compressed)
{
- const char *ext = strrchr(pathname, '.');
+ struct kmod_path m;
- if (ext == NULL)
- return false;
+ if (kmod_path__parse(&m, pathname))
+ return NULL;
- if (is_supported_compression(ext + 1)) {
- if (compressed)
- *compressed = true;
- ext -= 3;
- } else if (compressed)
- *compressed = false;
+ if (compressed)
+ *compressed = m.comp;
- return is_kmodule_extension(ext + 1);
+ return m.kmod;
}
bool decompress_to_file(const char *ext, const char *filename, int output_fd)
OpenPOWER on IntegriCloud