]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
lscpu: add lscpu_cpus_loopup_by_type(), improve readability
authorKarel Zak <kzak@redhat.com>
Wed, 15 Jul 2020 11:07:15 +0000 (13:07 +0200)
committerKarel Zak <kzak@redhat.com>
Fri, 13 Nov 2020 08:19:02 +0000 (09:19 +0100)
Signed-off-by: Karel Zak <kzak@redhat.com>
sys-utils/lscpu-api.h
sys-utils/lscpu-cpu.c
sys-utils/lscpu-cputype.c

index 1d979e787de370b6994f551258b9d07165a21394..0b35bc5a3f5010f791d5d5e4fc5944fa6652fb01 100644 (file)
@@ -173,7 +173,7 @@ struct lscpu_cputype *lscpu_cputype_get_default(struct lscpu_cxt *cxt);
 
 int lscpu_read_cpuinfo(struct lscpu_cxt *cxt);
 int lscpu_read_cpulists(struct lscpu_cxt *cxt);
-int lscpu_read_extra(struct lscpu_cxt *cxt);
+int lscpu_read_archext(struct lscpu_cxt *cxt);
 int lscpu_read_vulnerabilities(struct lscpu_cxt *cxt);
 int lscpu_read_numas(struct lscpu_cxt *cxt);
 
@@ -190,6 +190,7 @@ int lscpu_add_cpu(struct lscpu_cxt *cxt,
                   struct lscpu_cpu *cpu,
                   struct lscpu_cputype *ct);
 int lscpu_cpus_apply_type(struct lscpu_cxt *cxt, struct lscpu_cputype *type);
+struct lscpu_cpu *lscpu_cpus_loopup_by_type(struct lscpu_cxt *cxt, struct lscpu_cputype *ct);
 
 void lscpu_decode_arm(struct lscpu_cxt *cxt);
 
index 81e3f691c69ba8ed2393d5014bec369e6f7bafbf..f31dcba4d5e12843291c1f86c78eb0cca8c385b7 100644 (file)
@@ -75,3 +75,16 @@ int lscpu_cpus_apply_type(struct lscpu_cxt *cxt, struct lscpu_cputype *type)
        return 0;
 }
 
+/* returns first CPU which represents the type */
+struct lscpu_cpu *lscpu_cpus_loopup_by_type(struct lscpu_cxt *cxt, struct lscpu_cputype *ct)
+{
+       size_t i;
+
+       for (i = 0; i < cxt->ncpus; i++) {
+               struct lscpu_cpu *cpu = cxt->cpus[i];
+
+               if (cpu->type == ct)
+                       return cpu;
+       }
+       return NULL;
+}
index 632b5c4cfca0cb8f2144d9fcd31abd8ac43f791d..a9313215450b1d921536aaa07dc799f71f54036f 100644 (file)
@@ -343,7 +343,6 @@ static int cpuinfo_parse_line(      struct lscpu_cputype **ct,
                break;
        default:
                /* set value as a string and cleanup */
-               fprintf(stderr, "str=%s\n", str);
                strdup_to_offset(stru, pat->offset, v);
                data = (char **) ((char *) stru + pat->offset);
                rtrim_whitespace((unsigned char *) *data);
@@ -553,7 +552,7 @@ static int strbe16toh(const char *buf, int offset)
 #endif
 
 /* some extra information for the default CPU type */
-int lscpu_read_extra(struct lscpu_cxt *cxt)
+int lscpu_read_archext(struct lscpu_cxt *cxt)
 {
        FILE *f;
        char buf[BUFSIZ];
@@ -810,9 +809,10 @@ int main(int argc, char **argv)
        cxt->arch = lscpu_read_architecture(cxt);
 
        lscpu_read_cpulists(cxt);
-       lscpu_read_extra(cxt);
+       lscpu_read_archext(cxt);
        lscpu_read_vulnerabilities(cxt);
        lscpu_read_numas(cxt);
+
        lscpu_decode_arm(cxt);
 
        cxt->virt = lscpu_read_virtualization(cxt);