PSCI fixup logic is useful when kernel DT contains just arm,psci and expects firmware to update compatible as PSCI v0.1 doesn't have a command for querying PSCI version. The fixup was too zealous though and hardcoded the method to smc, breaking hvc boot. The result was also not confirming to the current bindings, so fix that up. This fixes boot on QEMU ARM Virt64, which previously crashed when smc was executed. Ahmad Fatoum (4): ARM: psci: of: fixup only version if node already exists ARM: psci: client: match most specific compatible first ARM: psci: client: always register OF fixup ARM: psci: keep older PSCI versions in compatible fixup arch/arm/cpu/psci-client.c | 12 ++++-------- arch/arm/cpu/psci-of.c | 39 +++++++++++++++++++++----------------- 2 files changed, 26 insertions(+), 25 deletions(-) -- 2.30.2