[RFC v2 1/3] firmware: arm_scmi: Add SCMI v3.2 pincontrol protocol basic support

Oleksii Moisieiev Oleksii_Moisieiev at epam.com
Fri May 12 05:31:00 PDT 2023


On Fri, May 12, 2023 at 09:55:53AM +0100, Cristian Marussi wrote:
> On Fri, May 12, 2023 at 08:38:06AM +0000, Oleksii Moisieiev wrote:
> > On Fri, May 05, 2023 at 08:52:03PM +0100, Cristian Marussi wrote:
> > > On Wed, Apr 26, 2023 at 01:26:37PM +0000, Oleksii Moisieiev wrote:
> > > > scmi: Introduce pinctrl SCMI protocol driver
> > > > 
> > > > Add basic implementation of the SCMI v3.2 pincontrol protocol
> > > > excluding GPIO support. All pinctrl related callbacks and operations
> > > > are exposed in the include/linux/scmi_protocol.h
> > > > 
> > > 
> > > Hi Oleksii,
> > > 
> > > Thanks for this.
> > > 
> > > I tried out this in an emulated setup and found just a minor issue from
> > > the spec/functional point of view...then I reworked the extended names
> > > support using a modified hops->extended_name_get helper (as said the core
> > > SCMI support needed a small modification to support PINCTRL): I'll reply
> > > to this mail thread with such core SCMI modification patch, so you can
> > > include this patch of mine in your next V3 and use it in your series.
> > > 
> > > Moreover, given that I wanted to test such rework of mine and a bunch
> > > of other cleanups I did (as detailed down below), and it seemed silly
> > > to throw all away just to then having to detail all to you, I'll also
> > > include in another distinct reply the raw diff of what I changed in
> > > your series to use the new extended_name support and a few other cleanups,
> > > so that, if you want, you can just quickly merge that into your V3 patch
> > > (of course if you like it and tests fine also for you...)...these are
> > > small changes, if you take it, no need to bother with authorship and
> > > attribution from my point of view.
> > > 
> > 
> > Hi Cristian,
> > 
> 
> Hi,
> 
> > Thank you for the patches. I've applied them and tested with powerpc,
> > mx68 and clang environments (as test-robot complained about).
> > 
> 
> Yes, sure, they were just tentative fixes, needed cleanup.
> I forgot to add the RFC tag on my proposed fixes to avoid triggering the bots.
> 
> > > > Signed-off-by: Oleksii Moisieiev <oleksii_moisieiev at epam.com>
> > > > ---
> > > >  MAINTAINERS                           |   6 +
> > 
> > [snip]
> > 
> > > >  SYSTEM RESET/SHUTDOWN DRIVERS
> > > >  M:	Sebastian Reichel <sre at kernel.org>
> > > >  L:	linux-pm at vger.kernel.org
> > > > diff --git a/drivers/firmware/arm_scmi/Makefile b/drivers/firmware/arm_scmi/Makefile
> > > > index b31d78fa66cc..071ac65f22b9 100644
> > > > --- a/drivers/firmware/arm_scmi/Makefile
> > > > +++ b/drivers/firmware/arm_scmi/Makefile
> > > > @@ -3,6 +3,7 @@ scmi-bus-y = bus.o
> > > >  scmi-core-objs := $(scmi-bus-y)
> > > >  
> > > >  scmi-driver-y = driver.o notify.o
> > > > +
> > > 
> > > Do not add spurios lines.
> > > 
> > 
> > Thanks, removed
> > 
> > > >  scmi-driver-$(CONFIG_ARM_SCMI_RAW_MODE_SUPPORT) += raw_mode.o
> > > >  scmi-transport-$(CONFIG_ARM_SCMI_HAVE_SHMEM) = shmem.o
> > > >  scmi-transport-$(CONFIG_ARM_SCMI_TRANSPORT_MAILBOX) += mailbox.o
> > > > @@ -10,7 +11,7 @@ scmi-transport-$(CONFIG_ARM_SCMI_TRANSPORT_SMC) += smc.o
> > > >  scmi-transport-$(CONFIG_ARM_SCMI_HAVE_MSG) += msg.o
> > > >  scmi-transport-$(CONFIG_ARM_SCMI_TRANSPORT_VIRTIO) += virtio.o
> > > >  scmi-transport-$(CONFIG_ARM_SCMI_TRANSPORT_OPTEE) += optee.o
> > > > -scmi-protocols-y = base.o clock.o perf.o power.o reset.o sensors.o system.o voltage.o powercap.o
> > > > +scmi-protocols-y = base.o clock.o perf.o power.o reset.o sensors.o system.o voltage.o powercap.o pinctrl.o
> > > >  scmi-module-objs := $(scmi-driver-y) $(scmi-protocols-y) $(scmi-transport-y)
> > > >  
> > 
> > I've applied patches you provided and made a small fixes. I'm going to
> > make patch:
> > "firmware: arm_scmi: Add optional flags to extended names helper"
> > as a separate and squach "Misc Fixes and refactor" to my changes in V3 if you
> > don't mind.
> 
> Sure, that's what I meant: include my general extended fixes at the
> start of your series and just squash the misc_fixes (additionally fixed
> by you :D) in your series.
> 
> A small nitpick I noticed later in scmi_protocol_ops Dox comment
> 
> + * struct scmi_pinctrl_protocol_ops - represents the various operations provided
> 
> should be 
>   * struct scmi_pinctrl_proto_ops
> 
> Thanks,
> Cristian
> 

Hi Cristian,

Thank you very much for your help and your patches. I'm in the finishing
line with V3. I'll send to you the unit tests (when I fix them to work with the
latest changes) I'm using to test my changes and driver for ATF.
Hope it will help you to test your environment.

Best regards,
Oleksii.


More information about the linux-arm-kernel mailing list