From: Cristian Marussi <cristian.marussi@arm.com>
To: Stephen Boyd <sboyd@kernel.org>
Cc: linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, sudeep.holla@arm.com,
james.quinlan@broadcom.com, f.fainelli@gmail.com,
vincent.guittot@linaro.org, etienne.carriere@linaro.org,
peng.fan@oss.nxp.com, chuck.cannon@nxp.com,
souvik.chakravarty@arm.com, nicola.mazzucato@arm.com,
Michael Turquette <mturquette@baylibre.com>,
linux-clk@vger.kernel.org
Subject: Re: [PATCH 1/6] firmware: arm_scmi: Simplify enable/disable Clock operations
Date: Thu, 24 Aug 2023 15:25:21 +0100 [thread overview]
Message-ID: <ZOdoP00tlAIRr9fN@pluto> (raw)
In-Reply-To: <a14cdd584283d32a3642658aaed6c98c.sboyd@kernel.org>
On Wed, Aug 23, 2023 at 11:01:17AM -0700, Stephen Boyd wrote:
> Quoting Cristian Marussi (2023-08-23 02:02:46)
> > On Tue, Aug 22, 2023 at 01:17:15PM -0700, Stephen Boyd wrote:
> > > Quoting Cristian Marussi (2023-08-11 09:14:41)
> > > > Add a param to Clock enable/disable operation to ask for atomic operation
> > > > and remove _atomic version of such operations.
> > >
> >
> > Hi,
>
> Yo
>
> >
> > > Why?
> > >
> >
> > :D, given that the 2 flavours of SCMI enable/disable ops (and the upcoming
> > state_get) just differ in their operating mode (atomic or not) and the
> > Clock framework in turn wrap such calls into 4 related and explicitly
> > named clk_ops (scmi_clock_enable/scmi_clock_atomic_enable etc) that hint
> > at what is being done, seemed to me reasonable to reduce the churn and
> > remove a bit of code wrappers in favour of a param.
>
> Please add these extra details to the commit text about why we're making
> the change.
>
Sure I'll do.
> >
> > > >
> > > > No functional change.
> > > >
> > > > CC: Michael Turquette <mturquette@baylibre.com>
> > > > CC: Stephen Boyd <sboyd@kernel.org>
> > > > CC: linux-clk@vger.kernel.org
> > > > Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
> > > > ---
> > > > drivers/clk/clk-scmi.c | 8 ++++----
> > > > drivers/firmware/arm_scmi/clock.c | 24 ++++++------------------
> > > > include/linux/scmi_protocol.h | 9 ++++-----
> > > > 3 files changed, 14 insertions(+), 27 deletions(-)
> > > >
> > > > diff --git a/drivers/clk/clk-scmi.c b/drivers/clk/clk-scmi.c
> > > > index 2c7a830ce308..ff003083e592 100644
> > > > --- a/drivers/clk/clk-scmi.c
> > > > +++ b/drivers/clk/clk-scmi.c
> > > > @@ -78,28 +78,28 @@ static int scmi_clk_enable(struct clk_hw *hw)
> > > > {
> > > > struct scmi_clk *clk = to_scmi_clk(hw);
> > > >
> > > > - return scmi_proto_clk_ops->enable(clk->ph, clk->id);
> > > > + return scmi_proto_clk_ops->enable(clk->ph, clk->id, false);
> > > > }
> > > >
> > > > static void scmi_clk_disable(struct clk_hw *hw)
> > > > {
> > > > struct scmi_clk *clk = to_scmi_clk(hw);
> > > >
> > > > - scmi_proto_clk_ops->disable(clk->ph, clk->id);
> > > > + scmi_proto_clk_ops->disable(clk->ph, clk->id, false);
> > >
> > > I enjoyed how it was before because I don't know what 'false' means
> > > without looking at the ops now.
> > >
> >
> > Yes indeed, I can drop this and rework if you prefer to maintain the old
> > API calls, but this would mean that whenever we'll add new atomic
> > flavour to some new SCMI clk operations we'll have to add 2 ops instead
> > of a parametrized one...this is what would happen also in this series
> > with state_get (and what really triggered this refactor)
> >
> > (and please consider that on the SCMI side, for testing purposes, I would
> > prefer to expose always both atomic and non-atomic flavours even if NOT
> > both actively used by the Clock framework...like state_get() that can only
> > be atomic for Clock frmwk...)
> >
>
> Perhaps we need a local variable to make it more readable.
>
> static int scmi_clk_enable(struct clk_hw *hw)
> {
> bool can_sleep = false;
> struct scmi_clk *clk = to_scmi_clk(hw);
>
> return scmi_proto_clk_ops->enable(clk->ph, clk->id, can_sleep);
> }
>
> This let's the reader quickly understand what the parameter means. I'm
> OK with adding the function parameter, but a plain 'true' or 'false'
> doesn't help with clarity.
Thanks for the suggestion, it would help definitely making it more
readable, maybe a local define or enum could make it without even
putting anything on the stack.
Thanks,
Cristian
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2023-08-24 14:26 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-11 16:14 [PATCH 0/6] Add SCMI v3.2 Clock new CONFIGs support Cristian Marussi
2023-08-11 16:14 ` [PATCH 1/6] firmware: arm_scmi: Simplify enable/disable Clock operations Cristian Marussi
2023-08-22 20:17 ` Stephen Boyd
2023-08-23 9:02 ` Cristian Marussi
2023-08-23 18:01 ` Stephen Boyd
2023-08-24 14:25 ` Cristian Marussi [this message]
2023-08-24 18:43 ` Stephen Boyd
2023-08-26 12:50 ` Cristian Marussi
2023-08-11 16:14 ` [PATCH 2/6] firmware: arm_scmi: Add Clock v3.2 CONFIG_SET support Cristian Marussi
2023-08-11 16:14 ` [PATCH 3/6] firmware: arm_scmi: Add v3.2 Clock CONFIG_GET support Cristian Marussi
2023-08-11 16:14 ` [PATCH 4/6] firmware: arm_scmi: Add Clock .state_get support to pre-v3.2 Cristian Marussi
2023-08-11 16:14 ` [PATCH 5/6] clk: scmi: Add support for .is_enabled clk_ops Cristian Marussi
2023-08-22 20:22 ` Stephen Boyd
2023-08-11 16:14 ` [PATCH 6/6] [RFC] firmware: arm_scmi: Add Clock OEM config clock operations Cristian Marussi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZOdoP00tlAIRr9fN@pluto \
--to=cristian.marussi@arm.com \
--cc=chuck.cannon@nxp.com \
--cc=etienne.carriere@linaro.org \
--cc=f.fainelli@gmail.com \
--cc=james.quinlan@broadcom.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mturquette@baylibre.com \
--cc=nicola.mazzucato@arm.com \
--cc=peng.fan@oss.nxp.com \
--cc=sboyd@kernel.org \
--cc=souvik.chakravarty@arm.com \
--cc=sudeep.holla@arm.com \
--cc=vincent.guittot@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).