On Mon, May 13, 2019 at 09:22:57PM +0200, Ulf Hansson wrote: > When the hierarchical CPU topology is used and when a CPU has been put > offline (hotplug), that same CPU prevents its PM domain and thus also > potential master PM domains, from being powered off. This is because genpd > observes the CPU's attached device as being active from a runtime PM point > of view. > > To deal with this, let's decrease the runtime PM usage count by calling > pm_runtime_put_sync_suspend() of the attached struct device when putting > the CPU offline. Consequentially, we must then increase the runtime PM > usage count, while putting the CPU online again. > Why is this firmware/driver specific ? Why can't this be dealt in core pm-domain ? I am concerned that if any other architectures or firmware method decides to use this feature, this need to be duplicated there. The way I see this is pure reference counting and is hardware/firmware/ driver agnostic and can be made generic. -- Regards, Sudeep