Re: [PATCH v3 13/14] reset: convert reset core to using firmware nodes

From: Bartosz Golaszewski

Date: Wed Mar 11 2026 - 11:55:29 EST


On Wed, 11 Mar 2026 16:47:57 +0100, Tommaso Merciai
<tommaso.merciai.xr@xxxxxxxxxxxxxx> said:
> Hi Bartosz,
> Thanks for your patch.
>
> On Fri, Mar 06, 2026 at 06:22:57PM +0100, Bartosz Golaszewski wrote:
>> With everything else now in place, we can convert the remaining parts of
>> the reset subsystem to becoming fwnode-agnostic - meaning it will work
>> with all kinds of firmware nodes, not only devicetree.
>>
>> To that end: extend struct reset_controller_dev with fields taking
>> information relevant for using firmware nodes (which mirrors what we
>> already do for OF-nodes) and limit using of_ APIs only to where it's
>> absolutely necessary (mostly around the of_xlate callback).
>>
>> For backward compatibility of existing drivers we still support OF-nodes
>> but firmware nodes become the preferred method.
>>
>> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxxxxxxxx>
>
> Just to share I'm seeing the following on RZ/G3E (next-20260310):
>
> [ 16.806538] ------------[ cut here ]------------
> [ 16.806546] WARNING: drivers/reset/core.c:1195 at __fwnode_reset_control_get+0x474/0x568, CPU#3: kworker/u16:0/11
> [ 16.806566] Modules linked in: reset_rzv2h_usb2phy(+) rcar_canfd(+) rtc_isl1208 can_dev ecdh_generic ecc rfkill renesas_rpc_if fuse drm backlight ipv6
> [ 16.806603] CPU: 3 UID: 0 PID: 11 Comm: kworker/u16:0 Not tainted 7.0.0-rc3-next-20260310-00016-g866b1999e3fc #17 PREEMPT
> [ 16.806610] Hardware name: Renesas SMARC EVK version 2 based on r9a09g047e57 (DT)
> [ 16.806615] Workqueue: events_unbound deferred_probe_work_func
> [ 16.806627] pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
> [ 16.806632] pc : __fwnode_reset_control_get+0x474/0x568
> [ 16.806638] lr : __fwnode_reset_control_get+0x164/0x568
> [ 16.806644] sp : ffff800083263930
> [ 16.806646] x29: ffff800083263a30 x28: ffff0000ff8370a8 x27: ffff800081d8d590
> [ 16.806655] x26: ffff800081e3a6c8 x25: ffff800082fec430 x24: ffff800082fec450
> [ 16.806663] x23: 0000000000000000 x22: 0000000000000003 x21: ffff0000ff835940
> [ 16.806671] x20: 0000000000000000 x19: ffff0000c0294e98 x18: 00000000ffffffff
> [ 16.806679] x17: 6e6f637478652f79 x16: 68702d6273752e30 x15: 303230303835312f
> [ 16.806687] x14: ffff8000831a6200 x13: 00363038343d4d55 x12: 0000000000000000
> [ 16.806695] x11: 7478653d4d455453 x10: ffff8000827b0ab7 x9 : 0000000000000028
> [ 16.806703] x8 : 0101010101010101 x7 : 00000000736c6c65 x6 : 000000000080a3f0
> [ 16.806711] x5 : ffff800083263864 x4 : ffffffffff604034 x3 : 0000000000000000
> [ 16.806719] x2 : ffff0000c0128fc0 x1 : 0000000000000000 x0 : 0000000000000001
> [ 16.806727] Call trace:
> [ 16.806731] __fwnode_reset_control_get+0x474/0x568 (P)
> [ 16.806738] fwnode_reset_control_array_get+0x84/0x134
> [ 16.806745] devm_reset_control_array_get+0x54/0xb4
> [ 16.806751] rcar_gen3_phy_usb2_probe+0x108/0x5b8
> [ 16.806762] platform_probe+0x5c/0x98
> [ 16.806770] really_probe+0xbc/0x29c
> [ 16.806776] __driver_probe_device+0x78/0x12c
> [ 16.806782] driver_probe_device+0x3c/0x15c
> [ 16.806789] __device_attach_driver+0xb8/0x134
> [ 16.806795] bus_for_each_drv+0x88/0xe8
> [ 16.806802] __device_attach+0xa0/0x190
> [ 16.806808] device_initial_probe+0x50/0x54
> [ 16.806814] bus_probe_device+0x38/0xa4
> [ 16.806820] deferred_probe_work_func+0x88/0xc0
> [ 16.806826] process_one_work+0x154/0x294
> [ 16.806835] worker_thread+0x180/0x300
> [ 16.806840] kthread+0x118/0x124
> [ 16.806847] ret_from_fork+0x10/0x20
> [ 16.806856] ---[ end trace 0000000000000000 ]---
> [ 16.806867] phy_rcar_gen3_usb2 15800200.usb-phy: probe with driver phy_rcar_gen3_usb2 failed with error -22
>
> Hope this help.
>
> Thanks & Regards,
> Tommaso
>

Does [1] fix it?

Bart

[1] https://lore.kernel.org/all/20260310151515.34681-1-bartosz.golaszewski@xxxxxxxxxxxxxxxx/