aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys-utils/lscpu-arm.c9
-rw-r--r--sys-utils/lscpu.h1
2 files changed, 9 insertions, 1 deletions
diff --git a/sys-utils/lscpu-arm.c b/sys-utils/lscpu-arm.c
index 313efbd16e..5611aacb73 100644
--- a/sys-utils/lscpu-arm.c
+++ b/sys-utils/lscpu-arm.c
@@ -225,9 +225,16 @@ static int parse_id(const char *str)
return id;
}
-#define parse_implementer_id(_cxt) (parse_id((_cxt)->vendor))
#define parse_model_id(_cxt) (parse_id((_cxt)->model))
+static inline int parse_implementer_id(struct lscpu_cputype *ct)
+{
+ if (ct->vendor_id)
+ return ct->vendor_id;
+ ct->vendor_id = parse_id(ct->vendor);
+ return ct->vendor_id;
+}
+
/*
* Use model and vendor IDs to decode to human readable names.
*/
diff --git a/sys-utils/lscpu.h b/sys-utils/lscpu.h
index 7a8835f879..013d58f3c6 100644
--- a/sys-utils/lscpu.h
+++ b/sys-utils/lscpu.h
@@ -57,6 +57,7 @@ struct lscpu_cputype {
int refcount;
char *vendor;
+ int vendor_id; /* created by lscpu_decode_arm() */
char *machinetype; /* s390 */
char *family;
char *model;