Re: [PATCH v3 5/7] firmware: smccc: Refactor SMCCC specific bits into separate file

From: Sudeep Holla
Date: Fri May 15 2020 - 08:53:50 EST


On Fri, May 15, 2020 at 12:49:53PM +0100, Mark Rutland wrote:
> 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.
>

Thanks.

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

Sure I will do that, I was playing on safer side to avoid any tools picking on
such trivial things ð

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

Thanks again.

--
Regards,
Sudeep