From: "Shah, Tanmay" <tanmays@amd.com>
To: Shenwei Wang <shenwei.wang@nxp.com>,
Mathieu Poirier <mathieu.poirier@linaro.org>
Cc: Arnaud POULIQUEN <arnaud.pouliquen@foss.st.com>,
Beleswar Prasad Padhi <b-padhi@ti.com>,
Andrew Lunn <andrew@lunn.ch>, Linus Walleij <linusw@kernel.org>,
Bartosz Golaszewski <brgl@kernel.org>,
Jonathan Corbet <corbet@lwn.net>, Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Bjorn Andersson <andersson@kernel.org>,
Frank Li <frank.li@nxp.com>,
Sascha Hauer <s.hauer@pengutronix.de>,
Shuah Khan <skhan@linuxfoundation.org>,
"linux-gpio@vger.kernel.org" <linux-gpio@vger.kernel.org>,
"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"Pengutronix Kernel Team" <kernel@pengutronix.de>,
Fabio Estevam <festevam@gmail.com>, "Peng Fan" <peng.fan@nxp.com>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
"linux-remoteproc@vger.kernel.org"
<linux-remoteproc@vger.kernel.org>,
"imx@lists.linux.dev" <imx@lists.linux.dev>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
dl-linux-imx <linux-imx@nxp.com>,
Bartosz Golaszewski <brgl@bgdev.pl>
Subject: Re: [PATCH v13 3/4] gpio: rpmsg: add generic rpmsg GPIO driver
Date: Mon, 18 May 2026 10:01:38 -0500 [thread overview]
Message-ID: <43a11a8e-75a9-4625-a3a0-c55f2a1af296@amd.com> (raw)
In-Reply-To: <PAXPR04MB918587A8812B51BBB2A46A2C89032@PAXPR04MB9185.eurprd04.prod.outlook.com>
On 5/18/2026 9:24 AM, Shenwei Wang wrote:
>
>
>
>>
>> On Thu, May 07, 2026 at 07:43:33PM +0000, Shenwei Wang wrote:
>>>
>>>
>>>> That was my initial approach. We don't even need an additional
>>>> "rpmsg-io-*" in rpmsg_gpio_channel_id_table[]. All we need is:
>>>>
>>>> /* rpmsg devices and drivers are matched using the service name */
>>>> static inline int rpmsg_id_match(const struct rpmsg_device *rpdev,
>>>> const struct rpmsg_device_id *id) {
>>>> + size_t len = strnlen(id->name, RPMSG_NAME_SIZE);
>>>>
>>>> - return strncmp(id->name, rpdev->id.name, RPMSG_NAME_SIZE) == 0;
>>>> + return strncmp(id->name, rpdev->id.name, len) == 0;
>>>> }
>>>>
>>>
>>> If we encode the port index directly into ept->src, for example:
>>>
>>> ept->src = (baseaddr << 8) | port_index;
>>>
>>
>> There is no rpmsg_endpoint::src. You likely meant ept->addr. This would work
>> but not optimal on two front:
>>
>> (1) rpms_endpoint::addr is a u32 and idr_alloc() returns an 'int'. As such there is a
>> possibility of conflict. I concede the possibility is marginal, but it still exists.
>>
>
> I think there may be a misunderstanding in the implementation. In this case, we do not
> need the return value from idr_alloc.
>
> When the driver calls rpmsg_create_ept, it can pass an rpmsg_channel_info structure as an
> input parameter. This allows you to specify the source address you want to bind.
> Please refer to the definitions below:
>
> struct rpmsg_endpoint *rpmsg_create_ept(struct rpmsg_device *rpdev,
> rpmsg_rx_cb_t cb, void *priv,
> struct rpmsg_channel_info chinfo)
>
> struct rpmsg_channel_info {
> char name[RPMSG_NAME_SIZE];
> u32 src;
> u32 dst;
> };
>
>> (2) By proceeding this way, the kernel exposes the GPIO controller it knows
>> about. It is preferrable to have the remote processor tell the kernel about the
>> GPIO controller it wants.
>>
>
> If everyone agrees with this namespace announcement approach, I will prepare the
> next revision based on it, even though it is not as clean as the source address encoding solution.
>
I have ack on the namespace announcement approach. To me it is very
simple contract between the firmware and the Linux which allows dynamic
endpoint allocation without giving up security concerns. Also this
approach can be easily extended for any other rpmsg devices like i2c,
spi etc.. With the fix in the rpmsg_core.c, this will work. I will have
to see the actual implementation in the next rev to provide further
feedback.
Thanks,
Tanmay
> Shenwei
>
>> I am done reviewing this revision. Given the amount of refactoring needed, I will
>> not look at the code. Please refer to this reply [1] for what I am expecting in the
>> next revision.
>>
>
next prev parent reply other threads:[~2026-05-18 15:02 UTC|newest]
Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-22 21:28 [PATCH v13 0/4] Enable Remote GPIO over RPMSG on i.MX Platform Shenwei Wang
2026-04-22 21:28 ` [PATCH v13 1/4] docs: driver-api: gpio: rpmsg gpio driver over rpmsg bus Shenwei Wang
2026-05-04 19:23 ` Mathieu Poirier
2026-04-22 21:28 ` [PATCH v13 2/4] dt-bindings: remoteproc: imx_rproc: Add "rpmsg" subnode support Shenwei Wang
2026-04-22 21:28 ` [PATCH v13 3/4] gpio: rpmsg: add generic rpmsg GPIO driver Shenwei Wang
2026-04-26 12:43 ` Padhi, Beleswar
2026-04-27 19:23 ` Shenwei Wang
2026-04-27 20:28 ` Andrew Lunn
2026-04-27 20:43 ` Shenwei Wang
2026-04-27 20:49 ` Andrew Lunn
2026-04-28 15:24 ` Shenwei Wang
2026-04-29 15:41 ` Mathieu Poirier
2026-04-29 16:53 ` Shenwei Wang
2026-04-29 17:33 ` Mathieu Poirier
2026-04-29 18:06 ` Padhi, Beleswar
2026-04-29 18:35 ` Shenwei Wang
2026-04-29 18:57 ` Padhi, Beleswar
2026-04-29 19:20 ` Mathieu Poirier
2026-04-30 7:35 ` Arnaud POULIQUEN
2026-04-30 12:56 ` Beleswar Prasad Padhi
2026-04-30 16:40 ` Arnaud POULIQUEN
2026-05-04 8:17 ` Beleswar Prasad Padhi
2026-05-04 17:04 ` Arnaud POULIQUEN
2026-05-05 5:25 ` Beleswar Prasad Padhi
2026-05-05 8:46 ` Arnaud POULIQUEN
2026-05-07 17:12 ` Mathieu Poirier
2026-05-07 19:43 ` Shenwei Wang
2026-05-14 17:35 ` Mathieu Poirier
2026-05-18 14:24 ` Shenwei Wang
2026-05-18 15:01 ` Shah, Tanmay [this message]
2026-05-11 4:58 ` Padhi, Beleswar
2026-05-11 7:10 ` Arnaud POULIQUEN
2026-05-05 14:41 ` Shenwei Wang
2026-05-04 19:19 ` Shah, Tanmay
2026-05-05 9:28 ` Arnaud POULIQUEN
2026-05-05 15:52 ` Shah, Tanmay
2026-05-11 16:47 ` Shah, Tanmay
2026-05-11 17:58 ` Mathieu Poirier
2026-05-11 18:18 ` Andrew Lunn
2026-05-12 7:22 ` Arnaud POULIQUEN
2026-05-12 15:21 ` Mathieu Poirier
2026-05-18 8:24 ` Padhi, Beleswar
2026-05-11 21:35 ` Shah, Tanmay
2026-05-12 15:41 ` Mathieu Poirier
2026-05-12 17:19 ` Shah, Tanmay
2026-05-13 16:34 ` Mathieu Poirier
2026-05-13 19:05 ` Shah, Tanmay
2026-05-05 11:16 ` Beleswar Prasad Padhi
2026-05-05 15:38 ` Shah, Tanmay
2026-05-05 16:13 ` Padhi, Beleswar
2026-05-05 17:19 ` Mathieu Poirier
2026-04-29 17:55 ` Padhi, Beleswar
2026-04-29 18:21 ` Andrew Lunn
2026-04-28 7:25 ` Beleswar Prasad Padhi
2026-04-28 14:43 ` [EXT] " Shenwei Wang
2026-04-28 15:11 ` Padhi, Beleswar
2026-04-28 15:31 ` Shenwei Wang
2026-04-28 15:52 ` Padhi, Beleswar
2026-04-28 16:36 ` Shenwei Wang
2026-04-29 14:35 ` Padhi, Beleswar
2026-04-29 19:26 ` Shenwei Wang
2026-04-28 18:05 ` Andrew Lunn
2026-04-29 15:04 ` Padhi, Beleswar
2026-04-22 21:28 ` [PATCH v13 4/4] arm64: dts: imx8ulp: Add rpmsg node under imx_rproc Shenwei Wang
2026-04-23 12:53 ` [PATCH v13 0/4] Enable Remote GPIO over RPMSG on i.MX Platform Mathieu Poirier
2026-04-23 13:53 ` Andrew Lunn
2026-04-23 19:11 ` Shenwei Wang
2026-04-23 19:08 ` Shenwei Wang
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=43a11a8e-75a9-4625-a3a0-c55f2a1af296@amd.com \
--to=tanmays@amd.com \
--cc=andersson@kernel.org \
--cc=andrew@lunn.ch \
--cc=arnaud.pouliquen@foss.st.com \
--cc=b-padhi@ti.com \
--cc=brgl@bgdev.pl \
--cc=brgl@kernel.org \
--cc=conor+dt@kernel.org \
--cc=corbet@lwn.net \
--cc=devicetree@vger.kernel.org \
--cc=festevam@gmail.com \
--cc=frank.li@nxp.com \
--cc=imx@lists.linux.dev \
--cc=kernel@pengutronix.de \
--cc=krzk+dt@kernel.org \
--cc=linusw@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-imx@nxp.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-remoteproc@vger.kernel.org \
--cc=mathieu.poirier@linaro.org \
--cc=peng.fan@nxp.com \
--cc=robh@kernel.org \
--cc=s.hauer@pengutronix.de \
--cc=shenwei.wang@nxp.com \
--cc=skhan@linuxfoundation.org \
--cc=tanmay.shah@amd.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