Hi all, Here's v2, with the DSU binding actually finished (oh the shame...) and the NVIDIA PMU patch pulled in to benefit from the cleanup and keep things manageably together. The initial binding patch from v1 is no longer included since Rob has picked it up separately. Refactoring arm_pmu's probing to be more modular turns out to be a substantial yak to shave, so in the end I decided it *is* worth implementing Mark's macro suggestion now - after all, it can simply be converted from a function template to a structure template as and when the time comes. Cheers, Robin. Robin Murphy (4): arm64: perf: Simplify registration boilerplate arm64: perf: Support new DT compatibles dt-bindings: perf: Convert Arm DSU to schema dt-bindings: perf: Add compatible for Arm DSU-110 Thierry Reding (1): arm64: perf: Support Denver and Carmel PMUs .../devicetree/bindings/arm/arm-dsu-pmu.txt | 27 ----- .../devicetree/bindings/perf/arm,dsu-pmu.yaml | 45 +++++++ arch/arm64/kernel/perf_event.c | 111 +++++++----------- 3 files changed, 88 insertions(+), 95 deletions(-) delete mode 100644 Documentation/devicetree/bindings/arm/arm-dsu-pmu.txt create mode 100644 Documentation/devicetree/bindings/perf/arm,dsu-pmu.yaml -- 2.28.0.dirty