lkml.org 
[lkml]   [2020]   [May]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v3 5/7] firmware: smccc: Refactor SMCCC specific bits into separate file
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@arm.com>
> ---
> 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@arm.com>
> +M: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
> +M: Sudeep Holla <sudeep.holla@arm.com>
> +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.

> 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.

\
 
 \ /
  Last update: 2020-05-15 13:50    [W:0.239 / U:0.652 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site