[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID:
<DU0PR04MB9417FD3BBDB9C37E34EF4B8388192@DU0PR04MB9417.eurprd04.prod.outlook.com>
Date: Wed, 1 May 2024 12:42:11 +0000
From: Peng Fan <peng.fan@....com>
To: Cristian Marussi <cristian.marussi@....com>, "Peng Fan (OSS)"
<peng.fan@....nxp.com>
CC: Sudeep Holla <sudeep.holla@....com>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>, Conor Dooley <conor+dt@...nel.org>,
Shawn Guo <shawnguo@...nel.org>, Sascha Hauer <s.hauer@...gutronix.de>,
Pengutronix Kernel Team <kernel@...gutronix.de>, Fabio Estevam
<festevam@...il.com>, Linus Walleij <linus.walleij@...aro.org>, Aisheng Dong
<aisheng.dong@....com>, Jacky Bai <ping.bai@....com>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>, "devicetree@...r.kernel.org"
<devicetree@...r.kernel.org>, "linux-kernel@...r.kernel.org"
<linux-kernel@...r.kernel.org>, "imx@...ts.linux.dev" <imx@...ts.linux.dev>,
"linux-gpio@...r.kernel.org" <linux-gpio@...r.kernel.org>
Subject: RE: [PATCH v3 4/6] pinctrl: scmi: export pinctrl_scmi_get_pins
> Subject: Re: [PATCH v3 4/6] pinctrl: scmi: export pinctrl_scmi_get_pins
>
> On Sun, Apr 28, 2024 at 01:07:50PM +0800, Peng Fan (OSS) wrote:
> > From: Peng Fan <peng.fan@....com>
> >
> > Add pinctrl-scmi.h to include the function prototype and 'struct
> > scmi_pinctrl' to export pinctrl_scmi_get_pins, so other drivers could
> > use it.
> >
>
> Hi Peng,
>
> so you wrote a new alternative SCMI driver using Pinctrl protocol@...9 so
> that you can just parse you custom DT bindings and then use the SCMI
> pinctrl_ops to set the OEM extensions to configure your platform...
> ...since your firmware cannot cope with the all SCMI stack footprint....
>
> ... you seemed to have solved the issue of having 2 Pinctrl drivers coexisting
> under the Linux Pinctrl subsystem while attached to the same
> protocol@19 node with patch 5/6 blocklist (if I get that right..)
Yes, right. With blocklist and allowlist, two drivers could coexist.
>
> I think this approach of a standalone SCMI alternative Pinctrl driver that
> handles distinctly NXP OEM extensions and DT-parsing is certainly more
> preferable than the original series you posted months ago where custom NXP
> stuff were simply stuck on top of the Generic SCMI Pinctrl driver...
>
> ...what I still dont understand is why you exported data and structure from
> pincttl-scmi.c to use it here; when NXP pinctrl is active the standard Linux
> generic Pinctrl driver wont be alive, so not probed, so no data can be shared,
> the only thing I can imagine is that you are just trying to avoid duplicating a
> dozen lines from the logic of
> scmi_pinctrl_get_pins() into your new NXP driver.
Yes, you are right, I just wanna avoid duplicating scmi_pinctrl_get_pins.
>
> In this way, though, you are creating a dependency between 2 drivers, that
> are not even allowed to cohexist at runtime really (due to the blocklist trick).
>
> Am I missing something ?
No, your understanding is correct.
>
> If not, I think it will be much better to just rewrite that few lines of
> scmi_pincrtrl_pins_get trivial logic into your NXP driver and keep the 2
> drivers fully distinct at all times.
ok. I could write the pinctrl-scmi-imx.c local get pins logic, not using
pinctrl-scmi.c to decouple the two drivers.
Thanks,
Peng
>
> Thanks,
> Cristian
Powered by blists - more mailing lists