perf: sort-pmuevents: don't drop elements

If a struct element neither has an element cpuid or name it gets silenty
dropped.
Kernel 5.15 for some ARCHs have at least one array of structs matching
this.
e.g. for arm pmu-events.c:

|#include "pmu-events/pmu-events.h"
struct pmu_events_map pmu_events_map[] = {
{
	.cpuid = 0,
	.version = 0,
	.type = 0,
	.table = 0,
},
};

struct pmu_sys_events pmu_sys_event_tables[] = {
	{
		.table = 0
	},
};

Before this patch the second struct is translated to an empty array::

struct pmu_sys_events pmu_sys_event_tables[] = {
};

(From OE-Core rev: e1382583cd5060be301afaa9998ccf250cc8bca3)

Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Max Krummenacher
2021-11-22 17:34:58 +01:00
committed by Richard Purdie
parent 1bac831fba
commit c67fab09fe

View File

@@ -61,6 +61,8 @@ for struct in re.findall( struct_block_regex, data ):
#print( " name found: %s" % name.group(1) )
entry_dict[struct[1]]['fields'][name.group(1)] = entry
if not entry_dict[struct[1]]['fields']:
entry_dict[struct[1]]['fields']['0'] = entry
# created ordered dictionaries from the captured values. These are ordered by
# a sorted() iteration of the keys. We don't care about the order we read