Hi Arnaud,
> -----Original Message----- > From: Arnaud POULIQUEN <[email protected]> > Sent: Monday, October 6, 2025 4:53 AM > To: Shenwei Wang <[email protected]>; Bjorn Andersson > <[email protected]>; Mathieu Poirier <[email protected]>; Rob > Herring <[email protected]>; Krzysztof Kozlowski <[email protected]>; Conor > Dooley <[email protected]>; Shawn Guo <[email protected]>; Sascha > Hauer <[email protected]>; Linus Walleij <[email protected]>; > Bartosz Golaszewski <[email protected]> > Cc: Pengutronix Kernel Team <[email protected]>; Fabio Estevam > <[email protected]>; Peng Fan <[email protected]>; linux- > [email protected]; [email protected]; [email protected]; > [email protected]; [email protected]; > dl-linux-imx > <[email protected]>; [email protected] > Subject: [EXT] Re: [PATCH v2 3/4] gpio: imx-rpmsg: add imx-rpmsg GPIO driver > >> Then, the RPMsg device should be probed either by the remote > >> processor using the name service announcement mechanism or if not > >> possible by your remoteproc driver. > >> > > The idea is to probe the GPIO driver successfully only after the remote > processor is online and has sent the name service announcement. > > Until then, the GPIO driver will remain in a deferred state, ensuring that > > all > consumers of the associated GPIOs are also deferred. > > The implementation you provided below does not guarantee that the > > related consumers will be properly deferred. This is the most important > behavior for a GPIO/I2C controllers. > > > As long as you keep the GPIO/I2C device as a child of the remote processor > node, > you should not have deferred probe issues. > The|of_platform_populate()|function ensures > that the I2C/GPIO devices are probed when the remote processor is started. > Calling|devm_gpiochip_add_data|in the RPMsg driver probe should also > prevent such issues. > Here, deferred probing is not an issue -it's an intentional feature. We need to ensure that all consumers of the GPIO/I2C controllers remain in the deferred state until the remote processor is fully online. For instance, consider a regulator node that references a GPIO line from the RPMSG GPIO controller. The regulator will stay in the deferred state until the remote processor comes online and its services are announced and received. Thanks, Shenwei > Regards, > Arnaud > > > > > Thanks, > > Shenwei > > > >> To better understand my proposal you can have a look to [1]and [2]. > >> Here is another example for an rpmsg_i2c( ST downstream implementation): > >> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit

