Re: [PATCH v3 6/7] firmware: smccc: Add function to fetch SMCCC version

From: Mark Rutland
Date: Fri May 15 2020 - 08:08:19 EST


On Wed, May 06, 2020 at 05:44:10PM +0100, Sudeep Holla wrote:
> For backward compatibility reasons, PSCI maintains SMCCC version as
> SMCCC didn't provide ARM_SMCCC_VERSION_FUNC_ID until v1.1
>
> Let us provide accessors to fetch the SMCCC version in PSCI so that
> other SMCCC v1.1+ features can use it.

Stale commit message? This was factored out of PSCI in the prior commit.

> Reviewed-by: Steven Price <steven.price@xxxxxxx>
> Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx>
> ---
> drivers/firmware/smccc/smccc.c | 4 ++++
> include/linux/arm-smccc.h | 9 +++++++++
> 2 files changed, 13 insertions(+)
>
> diff --git a/drivers/firmware/smccc/smccc.c b/drivers/firmware/smccc/smccc.c
> index 488699aae24f..672974df0dfe 100644
> --- a/drivers/firmware/smccc/smccc.c
> +++ b/drivers/firmware/smccc/smccc.c
> @@ -24,3 +24,7 @@ enum arm_smccc_conduit arm_smccc_1_1_get_conduit(void)
> return smccc_conduit;
> }
>
> +u32 arm_smccc_version_get(void)
> +{
> + return smccc_version;
> +}

Could we please call this arm_smccc_get_version(), to align with the
existing arm_smccc_1_1_get_conduit()?

> diff --git a/include/linux/arm-smccc.h b/include/linux/arm-smccc.h
> index 11fb20bfa8f7..8dd54dad1ec5 100644
> --- a/include/linux/arm-smccc.h
> +++ b/include/linux/arm-smccc.h
> @@ -109,6 +109,15 @@ void __init arm_smccc_version_init(u32 version, enum arm_smccc_conduit conduit);
> */
> enum arm_smccc_conduit arm_smccc_1_1_get_conduit(void);
>
> +/**
> + * arm_smccc_version_get()
> + *
> + * Returns the version to be used for SMCCCv1.1 or later.
> + *
> + * When SMCCCv1.1 or above is not present, assumes and returns SMCCCv1.0.
> + */
> +u32 arm_smccc_version_get(void);

Can we please reword the last line to something like:

| When SMCCCv1.1 or above is not present, returns SMCCCv1.0, but this
| does not imply the presence of firmware or a valid conduit. Callers
| handling SMCCCv1.0 must determine the conduit by other means.

With all that:

Acked-by: Mark Rutland <mark.rutland@xxxxxxx>

Thanks,
Mark.