On Sun May 17, 2026 at 9:00 AM JST, Danilo Krummrich wrote: > Move the post_unbind_rust callback before devres_release_all() in > device_unbind_cleanup(). > > With drvdata() removed, the driver's bus device private data is only > accessible by the owning driver itself. It is hence safe to drop the > driver's bus device private data before devres actions are released. > > This reordering is the key enabler for Higher-Ranked Lifetime Types > (HRT) in Rust device drivers -- it allows driver structs to hold direct > references to devres-managed resources, because the bus device private > data (and with it all such references) is guaranteed to be dropped while > the underlying devres resources are still alive. > > Without this change, devres resources would be freed first, leaving the > driver's bus device private data with dangling references during its > destructor. > > Signed-off-by: Danilo Krummrich <[email protected]>
Reviewed-by: Alexandre Courbot <[email protected]>
