On Thu, Nov 26, 2020 at 03:53:59PM +0000, David Brazdil wrote: > KVM's host PSCI SMC filter needs to be aware of the PSCI version of the > system but currently it is impossible to distinguish between v0.1 and > PSCI disabled because both have get_version == NULL. > > Populate get_version for v0.1 with a function that returns a constant. > > psci_opt.get_version is currently unused so this has no effect on > existing functionality. > > Signed-off-by: David Brazdil <dbrazdil@xxxxxxxxxx> > --- > drivers/firmware/psci/psci.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/drivers/firmware/psci/psci.c b/drivers/firmware/psci/psci.c > index 00af99b6f97c..213c68418a65 100644 > --- a/drivers/firmware/psci/psci.c > +++ b/drivers/firmware/psci/psci.c > @@ -146,6 +146,11 @@ static int psci_to_linux_errno(int errno) > return -EINVAL; > } > > +static u32 psci_get_version_0_1(void) > +{ > + return PSCI_VERSION(0, 1); > +} Elsewhere in this file we've used a psci_${MAJOR}_${MINOR}_* naming scheme. To match that, I'd prefer we call this psci_0_1_get_version(), and rename psci_get_version() to psci_0_2_get_version(). With that: Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Thanks, Mark. > + > static u32 psci_get_version(void) > { > return invoke_psci_fn(PSCI_0_2_FN_PSCI_VERSION, 0, 0, 0); > @@ -514,6 +519,8 @@ static int __init psci_0_1_init(struct device_node *np) > > pr_info("Using PSCI v0.1 Function IDs from DT\n"); > > + psci_ops.get_version = psci_get_version_0_1; > + > if (!of_property_read_u32(np, "cpu_suspend", &id)) { > psci_function_id[PSCI_FN_CPU_SUSPEND] = id; > psci_ops.cpu_suspend = psci_cpu_suspend; > -- > 2.29.2.454.gaff20da3a2-goog >