Re: [PATCH RFT] driver core: faux: allow to set the firmware node for a faux device

From: Shivendra Pratap

Date: Mon Mar 09 2026 - 12:03:06 EST




On 06-03-2026 19:54, Bartosz Golaszewski wrote:
On Fri, Mar 6, 2026 at 3:13 PM Greg Kroah-Hartman
<gregkh@xxxxxxxxxxxxxxxxxxx> wrote:

On Fri, Mar 06, 2026 at 03:07:03PM +0100, Bartosz Golaszewski wrote:
On Fri, Mar 6, 2026 at 2:54 PM Greg Kroah-Hartman
<gregkh@xxxxxxxxxxxxxxxxxxx> wrote:

On Fri, Mar 06, 2026 at 02:45:56PM +0100, Bartosz Golaszewski wrote:
Add a new variant of faux_device_create() taking a firmware node handle
as argument and attaching it to the created faux device. This allows
users to define and read device properties using the standard property
accessors.

Why would a faux device have firmware backing? Doesn't that mean it
should be a platform device?

While at it: order includes in faux.c alphabetically for easier
maintenance.

Hint, that should be a separate patch, and is never something that I
enforce or require in .c files I maintain :)

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxxxxxxxx>
---
Hi Shivendra et al!

This patch is related to my response to your reboot-mode patch[1].

You should be able to use the new function like:

faux_device_create_full("psci-reboot-mode", NULL, NULL, NULL, of_fwnode_handle(np));

What is the fwnode handle here for? Why is it required at all? What
resources are involved that would want this?


Shivendra creates a faux device that registers with the reboot-mode
subsystem which reads the reboot-mode definitions from devicetree. The
faux device needs to have the "reboot-mode" OF-node attached. In his
current proposal, Shivenda had to bypass faux device's probe() because
he can't have the fwnode attached before probe() is called.

Why would a firmware device be attached to a faux device? A firmware
device is, implicitly, already part of the firmware "device tree", so
there should be something for it to be a child of already in the system.


Shivendra: I rememeber there was an issue with using any proper
devices like platform or auxiliary with this but - as the series is
already at v20 - I can't find the actual discussion. Could you please
describe what the issue with driver matching was?

reboot-mode node is a property of psci which defines the reboot commands.‌ As its not an actual device we wanted to avoid creating platform or aux device. few references here:

https://lore.kernel.org/all/rz7tnl5gg73gtyij3kmwk6hubikfsvu3krekjkpoofpdio6cwe@innio7qvotye/

Till v17, we were exposing an explicit of_node based registration in reboot mode and then registering it from psci driver.
Post this, Lorenzo suggested to move this outside of psci and use a faux device instead.

thanks,
Shivendra