Hi, Ulf, On 20.05.2025 15:09, Ulf Hansson wrote: > For example, even if the order is made correctly, suppose a driver's > ->remove() callback completes by turning off the resources for its > device and leaves runtime PM enabled, as it relies on devres to do it > some point later. Beyond this point, nothing would prevent userspace > for runtime resuming/suspending the device via sysfs. If I'm not wrong, that can't happen? The driver_sysfs_remove() is called before device_remove() (which calls the driver remove) is called, this being the call path: device_driver_detach() -> device_release_driver_internal() -> __device_release_driver() -> driver_sysfs_remove() // ... device_remove() And the driver_sysfs_remove() calls in the end __kernfs_remove() which looks to me like the place that actually drops the entries from sysfs, this being a call path for it: driver_sysfs_remove() -> sysfs_remove_link() -> kernfs_remove_by_name() -> kernfs_remove_by_name_ns() -> __kernfs_remove() -> activating the following line in __kernfs_remove(): pr_debug("kernfs %s: removing\n", kernfs_rcu_name(kn)); leads to the following prints when unbinding the watchdog device from its watchdog driver (attached to platform bus) on my board: https://p.fr33tux.org/935252 Thank you, Claudiu