]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
perf units: Move parse_tag_value() to units.[ch]
authorArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 26 Apr 2017 18:40:31 +0000 (15:40 -0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 26 Apr 2017 18:40:31 +0000 (15:40 -0300)
Its basically to do units handling, so move to a more appropriately
named object.

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/n/tip-90ob9vfepui24l8l2makhd9u@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/units.c
tools/perf/util/units.h
tools/perf/util/util.c
tools/perf/util/util.h

index f6a2a3d117d5857143ccc92508d370d8c32c64a0..4767ec2c5ef63cefbb03464fd244002ae6f5d54e 100644 (file)
@@ -1,8 +1,37 @@
 #include "units.h"
 #include <inttypes.h>
+#include <limits.h>
+#include <stdlib.h>
+#include <string.h>
 #include <linux/kernel.h>
 #include <linux/time64.h>
 
+unsigned long parse_tag_value(const char *str, struct parse_tag *tags)
+{
+       struct parse_tag *i = tags;
+
+       while (i->tag) {
+               char *s = strchr(str, i->tag);
+
+               if (s) {
+                       unsigned long int value;
+                       char *endptr;
+
+                       value = strtoul(str, &endptr, 10);
+                       if (s != endptr)
+                               break;
+
+                       if (value > ULONG_MAX / i->mult)
+                               break;
+                       value *= i->mult;
+                       return value;
+               }
+               i++;
+       }
+
+       return (unsigned long) -1;
+}
+
 unsigned long convert_unit(unsigned long value, char *unit)
 {
        *unit = ' ';
index 3ed7774afaa98b93f168659535f77eeacb4080b7..f02c87317150e0d5f50296b33bb29fd96b6b9edb 100644 (file)
@@ -4,6 +4,13 @@
 #include <stddef.h>
 #include <linux/types.h>
 
+struct parse_tag {
+       char tag;
+       int  mult;
+};
+
+unsigned long parse_tag_value(const char *str, struct parse_tag *tags);
+
 unsigned long convert_unit(unsigned long value, char *unit);
 int unit_number__scnprintf(char *buf, size_t size, u64 n);
 
index b460f0db84d103b008a716bd99940c36f6aa1ded..28c9f335006c962a5df924e30d9a45687775c201 100644 (file)
@@ -334,33 +334,6 @@ int hex2u64(const char *ptr, u64 *long_val)
        return p - ptr;
 }
 
-unsigned long parse_tag_value(const char *str, struct parse_tag *tags)
-{
-       struct parse_tag *i = tags;
-
-       while (i->tag) {
-               char *s;
-
-               s = strchr(str, i->tag);
-               if (s) {
-                       unsigned long int value;
-                       char *endptr;
-
-                       value = strtoul(str, &endptr, 10);
-                       if (s != endptr)
-                               break;
-
-                       if (value > ULONG_MAX / i->mult)
-                               break;
-                       value *= i->mult;
-                       return value;
-               }
-               i++;
-       }
-
-       return (unsigned long) -1;
-}
-
 int perf_event_paranoid(void)
 {
        int value;
index dabdc810ffdcb31a09462b1f3012eb2a2ed2fdce..d620719775a8a509c90409fe83a68dd0a6a1f13f 100644 (file)
@@ -59,13 +59,6 @@ int hex2u64(const char *ptr, u64 *val);
 extern unsigned int page_size;
 extern int cacheline_size;
 
-struct parse_tag {
-       char tag;
-       int mult;
-};
-
-unsigned long parse_tag_value(const char *str, struct parse_tag *tags);
-
 bool find_process(const char *name);
 
 int fetch_kernel_version(unsigned int *puint,