Thread (22 messages) 22 messages, 3 authors, 2020-05-15

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help