@@ -1145,17 +1145,26 @@ static int armv8_pmu_init_nogroups(struct arm_pmu *cpu_pmu, char *name,
11451145 return armv8_pmu_init (cpu_pmu , name , map_event , NULL , NULL , NULL );
11461146}
11471147
1148- static int armv8_pmuv3_init ( struct arm_pmu * cpu_pmu )
1149- {
1150- return armv8_pmu_init_nogroups ( cpu_pmu , "armv8_pmuv3" ,
1151- armv8_pmuv3_map_event );
1148+ #define PMUV3_INIT_SIMPLE ( name ) \
1149+ static int name##_pmu_init(struct arm_pmu *cpu_pmu) \
1150+ { \
1151+ return armv8_pmu_init_nogroups(cpu_pmu, #name, armv8_pmuv3_map_event);\
11521152}
11531153
1154- static int armv8_a34_pmu_init (struct arm_pmu * cpu_pmu )
1155- {
1156- return armv8_pmu_init_nogroups (cpu_pmu , "armv8_cortex_a34" ,
1157- armv8_pmuv3_map_event );
1158- }
1154+ PMUV3_INIT_SIMPLE (armv8_pmuv3 )
1155+
1156+ PMUV3_INIT_SIMPLE (armv8_cortex_a34 )
1157+ PMUV3_INIT_SIMPLE (armv8_cortex_a55 )
1158+ PMUV3_INIT_SIMPLE (armv8_cortex_a65 )
1159+ PMUV3_INIT_SIMPLE (armv8_cortex_a75 )
1160+ PMUV3_INIT_SIMPLE (armv8_cortex_a76 )
1161+ PMUV3_INIT_SIMPLE (armv8_cortex_a77 )
1162+ PMUV3_INIT_SIMPLE (armv8_cortex_a78 )
1163+ PMUV3_INIT_SIMPLE (armv8_neoverse_e1 )
1164+ PMUV3_INIT_SIMPLE (armv8_neoverse_n1 )
1165+
1166+ PMUV3_INIT_SIMPLE (armv8_nvidia_carmel )
1167+ PMUV3_INIT_SIMPLE (armv8_nvidia_denver )
11591168
11601169static int armv8_a35_pmu_init (struct arm_pmu * cpu_pmu )
11611170{
@@ -1169,24 +1178,12 @@ static int armv8_a53_pmu_init(struct arm_pmu *cpu_pmu)
11691178 armv8_a53_map_event );
11701179}
11711180
1172- static int armv8_a55_pmu_init (struct arm_pmu * cpu_pmu )
1173- {
1174- return armv8_pmu_init_nogroups (cpu_pmu , "armv8_cortex_a55" ,
1175- armv8_pmuv3_map_event );
1176- }
1177-
11781181static int armv8_a57_pmu_init (struct arm_pmu * cpu_pmu )
11791182{
11801183 return armv8_pmu_init_nogroups (cpu_pmu , "armv8_cortex_a57" ,
11811184 armv8_a57_map_event );
11821185}
11831186
1184- static int armv8_a65_pmu_init (struct arm_pmu * cpu_pmu )
1185- {
1186- return armv8_pmu_init_nogroups (cpu_pmu , "armv8_cortex_a65" ,
1187- armv8_pmuv3_map_event );
1188- }
1189-
11901187static int armv8_a72_pmu_init (struct arm_pmu * cpu_pmu )
11911188{
11921189 return armv8_pmu_init_nogroups (cpu_pmu , "armv8_cortex_a72" ,
@@ -1199,42 +1196,6 @@ static int armv8_a73_pmu_init(struct arm_pmu *cpu_pmu)
11991196 armv8_a73_map_event );
12001197}
12011198
1202- static int armv8_a75_pmu_init (struct arm_pmu * cpu_pmu )
1203- {
1204- return armv8_pmu_init_nogroups (cpu_pmu , "armv8_cortex_a75" ,
1205- armv8_pmuv3_map_event );
1206- }
1207-
1208- static int armv8_a76_pmu_init (struct arm_pmu * cpu_pmu )
1209- {
1210- return armv8_pmu_init_nogroups (cpu_pmu , "armv8_cortex_a76" ,
1211- armv8_pmuv3_map_event );
1212- }
1213-
1214- static int armv8_a77_pmu_init (struct arm_pmu * cpu_pmu )
1215- {
1216- return armv8_pmu_init_nogroups (cpu_pmu , "armv8_cortex_a77" ,
1217- armv8_pmuv3_map_event );
1218- }
1219-
1220- static int armv8_a78_pmu_init (struct arm_pmu * cpu_pmu )
1221- {
1222- return armv8_pmu_init_nogroups (cpu_pmu , "armv8_cortex_a78" ,
1223- armv8_pmuv3_map_event );
1224- }
1225-
1226- static int armv8_e1_pmu_init (struct arm_pmu * cpu_pmu )
1227- {
1228- return armv8_pmu_init_nogroups (cpu_pmu , "armv8_neoverse_e1" ,
1229- armv8_pmuv3_map_event );
1230- }
1231-
1232- static int armv8_n1_pmu_init (struct arm_pmu * cpu_pmu )
1233- {
1234- return armv8_pmu_init_nogroups (cpu_pmu , "armv8_neoverse_n1" ,
1235- armv8_pmuv3_map_event );
1236- }
1237-
12381199static int armv8_thunder_pmu_init (struct arm_pmu * cpu_pmu )
12391200{
12401201 return armv8_pmu_init_nogroups (cpu_pmu , "armv8_cavium_thunder" ,
@@ -1247,38 +1208,26 @@ static int armv8_vulcan_pmu_init(struct arm_pmu *cpu_pmu)
12471208 armv8_vulcan_map_event );
12481209}
12491210
1250- static int armv8_carmel_pmu_init (struct arm_pmu * cpu_pmu )
1251- {
1252- return armv8_pmu_init_nogroups (cpu_pmu , "armv8_nvidia_carmel" ,
1253- armv8_pmuv3_map_event );
1254- }
1255-
1256- static int armv8_denver_pmu_init (struct arm_pmu * cpu_pmu )
1257- {
1258- return armv8_pmu_init_nogroups (cpu_pmu , "armv8_nvidia_denver" ,
1259- armv8_pmuv3_map_event );
1260- }
1261-
12621211static const struct of_device_id armv8_pmu_of_device_ids [] = {
1263- {.compatible = "arm,armv8-pmuv3" , .data = armv8_pmuv3_init },
1264- {.compatible = "arm,cortex-a34-pmu" , .data = armv8_a34_pmu_init },
1212+ {.compatible = "arm,armv8-pmuv3" , .data = armv8_pmuv3_pmu_init },
1213+ {.compatible = "arm,cortex-a34-pmu" , .data = armv8_cortex_a34_pmu_init },
12651214 {.compatible = "arm,cortex-a35-pmu" , .data = armv8_a35_pmu_init },
12661215 {.compatible = "arm,cortex-a53-pmu" , .data = armv8_a53_pmu_init },
1267- {.compatible = "arm,cortex-a55-pmu" , .data = armv8_a55_pmu_init },
1216+ {.compatible = "arm,cortex-a55-pmu" , .data = armv8_cortex_a55_pmu_init },
12681217 {.compatible = "arm,cortex-a57-pmu" , .data = armv8_a57_pmu_init },
1269- {.compatible = "arm,cortex-a65-pmu" , .data = armv8_a65_pmu_init },
1218+ {.compatible = "arm,cortex-a65-pmu" , .data = armv8_cortex_a65_pmu_init },
12701219 {.compatible = "arm,cortex-a72-pmu" , .data = armv8_a72_pmu_init },
12711220 {.compatible = "arm,cortex-a73-pmu" , .data = armv8_a73_pmu_init },
1272- {.compatible = "arm,cortex-a75-pmu" , .data = armv8_a75_pmu_init },
1273- {.compatible = "arm,cortex-a76-pmu" , .data = armv8_a76_pmu_init },
1274- {.compatible = "arm,cortex-a77-pmu" , .data = armv8_a77_pmu_init },
1275- {.compatible = "arm,cortex-a78-pmu" , .data = armv8_a78_pmu_init },
1276- {.compatible = "arm,neoverse-e1-pmu" , .data = armv8_e1_pmu_init },
1277- {.compatible = "arm,neoverse-n1-pmu" , .data = armv8_n1_pmu_init },
1221+ {.compatible = "arm,cortex-a75-pmu" , .data = armv8_cortex_a75_pmu_init },
1222+ {.compatible = "arm,cortex-a76-pmu" , .data = armv8_cortex_a76_pmu_init },
1223+ {.compatible = "arm,cortex-a77-pmu" , .data = armv8_cortex_a77_pmu_init },
1224+ {.compatible = "arm,cortex-a78-pmu" , .data = armv8_cortex_a78_pmu_init },
1225+ {.compatible = "arm,neoverse-e1-pmu" , .data = armv8_neoverse_e1_pmu_init },
1226+ {.compatible = "arm,neoverse-n1-pmu" , .data = armv8_neoverse_n1_pmu_init },
12781227 {.compatible = "cavium,thunder-pmu" , .data = armv8_thunder_pmu_init },
12791228 {.compatible = "brcm,vulcan-pmu" , .data = armv8_vulcan_pmu_init },
1280- {.compatible = "nvidia,carmel-pmu" , .data = armv8_carmel_pmu_init },
1281- {.compatible = "nvidia,denver-pmu" , .data = armv8_denver_pmu_init },
1229+ {.compatible = "nvidia,carmel-pmu" , .data = armv8_nvidia_carmel_pmu_init },
1230+ {.compatible = "nvidia,denver-pmu" , .data = armv8_nvidia_denver_pmu_init },
12821231 {},
12831232};
12841233
@@ -1301,7 +1250,7 @@ static int __init armv8_pmu_driver_init(void)
13011250 if (acpi_disabled )
13021251 return platform_driver_register (& armv8_pmu_driver );
13031252 else
1304- return arm_pmu_acpi_probe (armv8_pmuv3_init );
1253+ return arm_pmu_acpi_probe (armv8_pmuv3_pmu_init );
13051254}
13061255device_initcall (armv8_pmu_driver_init )
13071256
0 commit comments