Re: [PATCH v3 5/7] firmware: smccc: Refactor SMCCC specific bits into separate file
From: Mark Rutland
Date: Fri May 15 2020 - 07:50:01 EST
On Wed, May 06, 2020 at 05:44:09PM +0100, Sudeep Holla wrote:
> In order to add newer SMCCC v1.1+ functionality and to avoid cluttering
> PSCI firmware driver with SMCCC bits, let us move the SMCCC specific
> details under drivers/firmware/smccc/smccc.c
>
> We can also drop conduit and smccc_version from psci_operations structure
> as SMCCC was the sole user and now it maintains those.
>
> No functionality change in this patch though.
>
> Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx>
> ---
> MAINTAINERS | 9 +++++++++
> drivers/firmware/Makefile | 3 ++-
> drivers/firmware/psci/psci.c | 19 ++++---------------
> drivers/firmware/smccc/Makefile | 3 +++
> drivers/firmware/smccc/smccc.c | 26 ++++++++++++++++++++++++++
> include/linux/arm-smccc.h | 11 +++++++++++
> include/linux/psci.h | 2 --
> 7 files changed, 55 insertions(+), 18 deletions(-)
> create mode 100644 drivers/firmware/smccc/Makefile
> create mode 100644 drivers/firmware/smccc/smccc.c
>
> Hi Mark, Lorenzo,
>
> I have replicated PSCI entry in MAINTAINERS file and added myself to
> for SMCCC entry. If you prefer I can merge it under PSCI. Let me know
> your preference along with other review comments.
> +SECURE MONITOR CALL(SMC) CALLING CONVENTION (SMCCC)
> +M: Mark Rutland <mark.rutland@xxxxxxx>
> +M: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx>
> +M: Sudeep Holla <sudeep.holla@xxxxxxx>
> +L: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
> +S: Maintained
> +F: drivers/firmware/smccc/
> +F: include/linux/arm-smccc.h
As per the above, I'm fine with having this separate from the PSCI
entry, and I'm fine with sharing this maintainership.
> diff --git a/include/linux/arm-smccc.h b/include/linux/arm-smccc.h
> +/**
> + * arm_smccc_version_init() - Sets SMCCC version and conduit
> + * @version: SMCCC version v1.1 or above
> + * @conduit: SMCCC_CONDUIT_SMC or SMCCC_CONDUIT_HVC
> + *
> + * When SMCCCv1.1 or above is not present, defaults to ARM_SMCCC_VERSION_1_0
> + * and SMCCC_CONDUIT_NONE respectively.
> + */
> +void __init arm_smccc_version_init(u32 version, enum arm_smccc_conduit conduit);
Given we only expect the PSCI code to call this, could we avoid putting
this in a header and just define it within psci.c?
Either way:
Acked-by: Mark Rutland <mark.rutland@xxxxxxx>
Thanks,
Mark.