Linux GPIO subsystem development
 help / color / mirror / Atom feed
From: Oleksii Moisieiev <Oleksii_Moisieiev@epam.com>
To: Cristian Marussi <cristian.marussi@arm.com>
Cc: "andy.shevchenko@gmail.com" <andy.shevchenko@gmail.com>,
	"sudeep.holla@arm.com" <sudeep.holla@arm.com>,
	Linus Walleij <linus.walleij@linaro.org>,
	Peng Fan <peng.fan@oss.nxp.com>,
	Michal Simek <michal.simek@amd.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	"linux-gpio@vger.kernel.org" <linux-gpio@vger.kernel.org>
Subject: Re: [RFC v2 2/3] pinctrl: Implementation of the generic scmi-pinctrl driver
Date: Fri, 12 May 2023 12:18:03 +0000	[thread overview]
Message-ID: <20230512121801.GA3494263@EPUAKYIW0A6A> (raw)
In-Reply-To: <ZF4BKZkbLr2mKN0s@e120937-lin>

Hello Cristian,

On Fri, May 12, 2023 at 10:04:41AM +0100, Cristian Marussi wrote:
> On Thu, May 11, 2023 at 01:15:46PM +0000, Oleksii Moisieiev wrote:
> > Hello Andy,
> > 
> > On 05.05.23 23:35, andy.shevchenko@gmail.com wrote:
> > > Wed, Apr 26, 2023 at 01:26:37PM +0000, Oleksii Moisieiev kirjoitti:
> > >> scmi-pinctrl driver implements pinctrl driver interface and using
> > >> SCMI protocol to redirect messages from pinctrl subsystem SDK to
> > >> SCP firmware, which does the changes in HW.
> > >>
> > >> This setup expects SCP firmware (or similar system, such as ATF)
> > >> to be installed on the platform, which implements pinctrl driver
> > >> for the specific platform.
> > >>
> > >> SCMI-Pinctrl driver should be configured from the device-tree and uses
> > >> generic device-tree mappings for the configuration.
> > > 
> > > ...
> > > 
> > >> +#include <linux/device.h>
> > >> +#include <linux/err.h>
> > > 
> > >> +#include <linux/of.h>
> > > 
> > > I do not see any user of this header. Do you?
> > > 
> > Yes, thanks. Removing
> > 
> > >> +#include <linux/module.h>
> > >> +#include <linux/seq_file.h>
> > >> +
> > >> +#include <linux/pinctrl/machine.h>
> > >> +#include <linux/pinctrl/pinconf.h>
> > >> +#include <linux/pinctrl/pinconf-generic.h>
> > >> +#include <linux/pinctrl/pinctrl.h>
> > >> +#include <linux/pinctrl/pinmux.h>
> > > 
> > >> +#include <linux/scmi_protocol.h>
> > >> +#include <linux/slab.h>
> > > 
> > > Please, move these two to the upper group of the generic headers.
> > > 
> > Thanks, fixed.
> > 
> > >> +struct scmi_pinctrl_funcs {
> > >> +	unsigned int num_groups;
> > >> +	const char **groups;
> > >> +};
> > > 
> > > Please, use struct pinfunction.
> > >
> > I can't use pincfunction here because it has the following groups 
> > definition:
> > const char * const *groups;
> > 
> > Which is meant to be constantly allocated.
> > So I when I try to gather list of groups in 
> > pinctrl_scmi_get_function_groups I will receive compilation error.
> > 
> 
> Maybe this is a further signal that we should re-evaluate the benefits of
> the lazy allocations you now perform during protocol initialization
> instead of querying and allocating statically all the info structs about
> existing resources.
> 
> Not saying that is necessarily bad, I understood your points about reducing
> the number of SCMI queries during boot and let pinctrl subsystem trigger only
> the strictly needed one, just saying maybe good to reason a bit more about this
> once V3 is posted. (i.e. I could bother you more :P ..)
> 
> Thanks,
> Cristian
> 
> P.S. [off-topic]: remember to use get_maintainer.pl as advised elsewhere
> to include proper maintainers (and their bots)

That's a good point to think about. Actually, functions are the only
thing that should be cached on pinctrl side. And we need it specifically
because groups in each function are presented by names, not selectors.
Maybe It's better to move this caching to pinctrl scmi driver. But, from
the other side - storing group names for each function is Linux Kernel
specific implementation and we probably don't want to add some specific
case to the Generic protocol driver.

I think I would leave it as in V3 so we can continue discussion.

Oleksii.

  reply	other threads:[~2023-05-12 12:18 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-26 13:26 [RFC v2 0/2] Introducing generic SCMI pinctrl driver implementation Oleksii Moisieiev
2023-04-26 13:26 ` [RFC v2 1/3] firmware: arm_scmi: Add SCMI v3.2 pincontrol protocol basic support Oleksii Moisieiev
2023-05-05 19:52   ` Cristian Marussi
2023-05-05 20:10     ` [PATCH] [REVIEW][PINCTRL]: Misc Fixes and refactor Cristian Marussi
2023-05-05 21:20       ` kernel test robot
2023-05-09  9:46       ` kernel test robot
2023-05-05 20:14     ` [PATCH] firmware: arm_scmi: Add optional flags to extended names helper Cristian Marussi
2023-05-07 20:38     ` [RFC v2 1/3] firmware: arm_scmi: Add SCMI v3.2 pincontrol protocol basic support Cristian Marussi
2023-05-12  8:38     ` Oleksii Moisieiev
2023-05-12  8:55       ` Cristian Marussi
2023-05-12 12:31         ` Oleksii Moisieiev
2023-05-12 12:32           ` Michal Simek
2023-06-07  6:31             ` Oleksii Moisieiev
2023-04-26 13:26 ` [RFC v2 2/3] pinctrl: Implementation of the generic scmi-pinctrl driver Oleksii Moisieiev
2023-05-05 12:03   ` Linus Walleij
2023-05-05 20:01   ` Cristian Marussi
2023-05-11 10:23     ` Oleksii Moisieiev
2023-05-05 20:35   ` andy.shevchenko
2023-05-11 13:15     ` Oleksii Moisieiev
2023-05-12  9:04       ` Cristian Marussi
2023-05-12 12:18         ` Oleksii Moisieiev [this message]
2023-05-12 13:11           ` Cristian Marussi
2023-04-26 13:26 ` [RFC v2 3/3] dt-bindings: firmware: arm,scmi: Add support for pinctrl protocol Oleksii Moisieiev
2023-04-27  7:07   ` Michal Simek
2023-04-27  7:19     ` Oleksii Moisieiev
2023-04-28 10:06   ` Krzysztof Kozlowski

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=20230512121801.GA3494263@EPUAKYIW0A6A \
    --to=oleksii_moisieiev@epam.com \
    --cc=andy.shevchenko@gmail.com \
    --cc=cristian.marussi@arm.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=michal.simek@amd.com \
    --cc=peng.fan@oss.nxp.com \
    --cc=sudeep.holla@arm.com \
    /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