@@ -1259,17 +1259,32 @@ static int armv8_pmu_init_nogroups(struct arm_pmu *cpu_pmu, char *name,
1259
1259
return armv8_pmu_init (cpu_pmu , name , map_event , NULL , NULL , NULL );
1260
1260
}
1261
1261
1262
- static int armv8_pmuv3_init (struct arm_pmu * cpu_pmu )
1263
- {
1264
- return armv8_pmu_init_nogroups (cpu_pmu , "armv8_pmuv3" ,
1265
- armv8_pmuv3_map_event );
1266
- }
1267
-
1268
- static int armv8_a34_pmu_init (struct arm_pmu * cpu_pmu )
1269
- {
1270
- return armv8_pmu_init_nogroups (cpu_pmu , "armv8_cortex_a34" ,
1271
- armv8_pmuv3_map_event );
1272
- }
1262
+ #define PMUV3_INIT_SIMPLE (name ) \
1263
+ static int name##_pmu_init(struct arm_pmu *cpu_pmu) \
1264
+ { \
1265
+ return armv8_pmu_init_nogroups(cpu_pmu, #name, armv8_pmuv3_map_event);\
1266
+ }
1267
+
1268
+ PMUV3_INIT_SIMPLE (armv8_pmuv3 )
1269
+
1270
+ PMUV3_INIT_SIMPLE (armv8_cortex_a34 )
1271
+ PMUV3_INIT_SIMPLE (armv8_cortex_a55 )
1272
+ PMUV3_INIT_SIMPLE (armv8_cortex_a65 )
1273
+ PMUV3_INIT_SIMPLE (armv8_cortex_a75 )
1274
+ PMUV3_INIT_SIMPLE (armv8_cortex_a76 )
1275
+ PMUV3_INIT_SIMPLE (armv8_cortex_a77 )
1276
+ PMUV3_INIT_SIMPLE (armv8_cortex_a78 )
1277
+ PMUV3_INIT_SIMPLE (armv9_cortex_a510 )
1278
+ PMUV3_INIT_SIMPLE (armv9_cortex_a710 )
1279
+ PMUV3_INIT_SIMPLE (armv8_cortex_x1 )
1280
+ PMUV3_INIT_SIMPLE (armv9_cortex_x2 )
1281
+ PMUV3_INIT_SIMPLE (armv8_neoverse_e1 )
1282
+ PMUV3_INIT_SIMPLE (armv8_neoverse_n1 )
1283
+ PMUV3_INIT_SIMPLE (armv9_neoverse_n2 )
1284
+ PMUV3_INIT_SIMPLE (armv8_neoverse_v1 )
1285
+
1286
+ PMUV3_INIT_SIMPLE (armv8_nvidia_carmel )
1287
+ PMUV3_INIT_SIMPLE (armv8_nvidia_denver )
1273
1288
1274
1289
static int armv8_a35_pmu_init (struct arm_pmu * cpu_pmu )
1275
1290
{
@@ -1283,24 +1298,12 @@ static int armv8_a53_pmu_init(struct arm_pmu *cpu_pmu)
1283
1298
armv8_a53_map_event );
1284
1299
}
1285
1300
1286
- static int armv8_a55_pmu_init (struct arm_pmu * cpu_pmu )
1287
- {
1288
- return armv8_pmu_init_nogroups (cpu_pmu , "armv8_cortex_a55" ,
1289
- armv8_pmuv3_map_event );
1290
- }
1291
-
1292
1301
static int armv8_a57_pmu_init (struct arm_pmu * cpu_pmu )
1293
1302
{
1294
1303
return armv8_pmu_init_nogroups (cpu_pmu , "armv8_cortex_a57" ,
1295
1304
armv8_a57_map_event );
1296
1305
}
1297
1306
1298
- static int armv8_a65_pmu_init (struct arm_pmu * cpu_pmu )
1299
- {
1300
- return armv8_pmu_init_nogroups (cpu_pmu , "armv8_cortex_a65" ,
1301
- armv8_pmuv3_map_event );
1302
- }
1303
-
1304
1307
static int armv8_a72_pmu_init (struct arm_pmu * cpu_pmu )
1305
1308
{
1306
1309
return armv8_pmu_init_nogroups (cpu_pmu , "armv8_cortex_a72" ,
@@ -1313,42 +1316,6 @@ static int armv8_a73_pmu_init(struct arm_pmu *cpu_pmu)
1313
1316
armv8_a73_map_event );
1314
1317
}
1315
1318
1316
- static int armv8_a75_pmu_init (struct arm_pmu * cpu_pmu )
1317
- {
1318
- return armv8_pmu_init_nogroups (cpu_pmu , "armv8_cortex_a75" ,
1319
- armv8_pmuv3_map_event );
1320
- }
1321
-
1322
- static int armv8_a76_pmu_init (struct arm_pmu * cpu_pmu )
1323
- {
1324
- return armv8_pmu_init_nogroups (cpu_pmu , "armv8_cortex_a76" ,
1325
- armv8_pmuv3_map_event );
1326
- }
1327
-
1328
- static int armv8_a77_pmu_init (struct arm_pmu * cpu_pmu )
1329
- {
1330
- return armv8_pmu_init_nogroups (cpu_pmu , "armv8_cortex_a77" ,
1331
- armv8_pmuv3_map_event );
1332
- }
1333
-
1334
- static int armv8_a78_pmu_init (struct arm_pmu * cpu_pmu )
1335
- {
1336
- return armv8_pmu_init_nogroups (cpu_pmu , "armv8_cortex_a78" ,
1337
- armv8_pmuv3_map_event );
1338
- }
1339
-
1340
- static int armv8_e1_pmu_init (struct arm_pmu * cpu_pmu )
1341
- {
1342
- return armv8_pmu_init_nogroups (cpu_pmu , "armv8_neoverse_e1" ,
1343
- armv8_pmuv3_map_event );
1344
- }
1345
-
1346
- static int armv8_n1_pmu_init (struct arm_pmu * cpu_pmu )
1347
- {
1348
- return armv8_pmu_init_nogroups (cpu_pmu , "armv8_neoverse_n1" ,
1349
- armv8_pmuv3_map_event );
1350
- }
1351
-
1352
1319
static int armv8_thunder_pmu_init (struct arm_pmu * cpu_pmu )
1353
1320
{
1354
1321
return armv8_pmu_init_nogroups (cpu_pmu , "armv8_cavium_thunder" ,
@@ -1362,23 +1329,31 @@ static int armv8_vulcan_pmu_init(struct arm_pmu *cpu_pmu)
1362
1329
}
1363
1330
1364
1331
static const struct of_device_id armv8_pmu_of_device_ids [] = {
1365
- {.compatible = "arm,armv8-pmuv3" , .data = armv8_pmuv3_init },
1366
- {.compatible = "arm,cortex-a34-pmu" , .data = armv8_a34_pmu_init },
1332
+ {.compatible = "arm,armv8-pmuv3" , .data = armv8_pmuv3_pmu_init },
1333
+ {.compatible = "arm,cortex-a34-pmu" , .data = armv8_cortex_a34_pmu_init },
1367
1334
{.compatible = "arm,cortex-a35-pmu" , .data = armv8_a35_pmu_init },
1368
1335
{.compatible = "arm,cortex-a53-pmu" , .data = armv8_a53_pmu_init },
1369
- {.compatible = "arm,cortex-a55-pmu" , .data = armv8_a55_pmu_init },
1336
+ {.compatible = "arm,cortex-a55-pmu" , .data = armv8_cortex_a55_pmu_init },
1370
1337
{.compatible = "arm,cortex-a57-pmu" , .data = armv8_a57_pmu_init },
1371
- {.compatible = "arm,cortex-a65-pmu" , .data = armv8_a65_pmu_init },
1338
+ {.compatible = "arm,cortex-a65-pmu" , .data = armv8_cortex_a65_pmu_init },
1372
1339
{.compatible = "arm,cortex-a72-pmu" , .data = armv8_a72_pmu_init },
1373
1340
{.compatible = "arm,cortex-a73-pmu" , .data = armv8_a73_pmu_init },
1374
- {.compatible = "arm,cortex-a75-pmu" , .data = armv8_a75_pmu_init },
1375
- {.compatible = "arm,cortex-a76-pmu" , .data = armv8_a76_pmu_init },
1376
- {.compatible = "arm,cortex-a77-pmu" , .data = armv8_a77_pmu_init },
1377
- {.compatible = "arm,cortex-a78-pmu" , .data = armv8_a78_pmu_init },
1378
- {.compatible = "arm,neoverse-e1-pmu" , .data = armv8_e1_pmu_init },
1379
- {.compatible = "arm,neoverse-n1-pmu" , .data = armv8_n1_pmu_init },
1341
+ {.compatible = "arm,cortex-a75-pmu" , .data = armv8_cortex_a75_pmu_init },
1342
+ {.compatible = "arm,cortex-a76-pmu" , .data = armv8_cortex_a76_pmu_init },
1343
+ {.compatible = "arm,cortex-a77-pmu" , .data = armv8_cortex_a77_pmu_init },
1344
+ {.compatible = "arm,cortex-a78-pmu" , .data = armv8_cortex_a78_pmu_init },
1345
+ {.compatible = "arm,cortex-a510-pmu" , .data = armv9_cortex_a510_pmu_init },
1346
+ {.compatible = "arm,cortex-a710-pmu" , .data = armv9_cortex_a710_pmu_init },
1347
+ {.compatible = "arm,cortex-x1-pmu" , .data = armv8_cortex_x1_pmu_init },
1348
+ {.compatible = "arm,cortex-x2-pmu" , .data = armv9_cortex_x2_pmu_init },
1349
+ {.compatible = "arm,neoverse-e1-pmu" , .data = armv8_neoverse_e1_pmu_init },
1350
+ {.compatible = "arm,neoverse-n1-pmu" , .data = armv8_neoverse_n1_pmu_init },
1351
+ {.compatible = "arm,neoverse-n2-pmu" , .data = armv9_neoverse_n2_pmu_init },
1352
+ {.compatible = "arm,neoverse-v1-pmu" , .data = armv8_neoverse_v1_pmu_init },
1380
1353
{.compatible = "cavium,thunder-pmu" , .data = armv8_thunder_pmu_init },
1381
1354
{.compatible = "brcm,vulcan-pmu" , .data = armv8_vulcan_pmu_init },
1355
+ {.compatible = "nvidia,carmel-pmu" , .data = armv8_nvidia_carmel_pmu_init },
1356
+ {.compatible = "nvidia,denver-pmu" , .data = armv8_nvidia_denver_pmu_init },
1382
1357
{},
1383
1358
};
1384
1359
@@ -1401,7 +1376,7 @@ static int __init armv8_pmu_driver_init(void)
1401
1376
if (acpi_disabled )
1402
1377
return platform_driver_register (& armv8_pmu_driver );
1403
1378
else
1404
- return arm_pmu_acpi_probe (armv8_pmuv3_init );
1379
+ return arm_pmu_acpi_probe (armv8_pmuv3_pmu_init );
1405
1380
}
1406
1381
device_initcall (armv8_pmu_driver_init )
1407
1382
0 commit comments