Re: [PATCH v3 5/7] firmware: smccc: Refactor SMCCC specific bits into separate file
From: Mark Rutland <mark.rutland@arm.com>
Date: 2020-05-15 11:50:02
Also in:
lkml
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 <redacted> --- 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 [off-list ref] +M: Lorenzo Pieralisi [off-list ref] +M: Sudeep Holla [off-list ref] +L: linux-arm-kernel@lists.infradead.org +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.
quoted hunk ↗ jump to hunk
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@arm.com> Thanks, Mark. _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel