Plan to get rid of all legacy PM handling
Hi all,
I have a plan to replace all of the legacy device PM callbacks throughout the kernel with PM handling based on struct dev_pm_ops objects. Ultimately, that should make it possible to remove the legacy hooks from struct bus_type and struct device_driver and to siplify the PM core and some bus types (most importantly PCI) quite a bit.
I'm going to start with platform drivers that should be the most straightforward to convert and when they all have been dealt with it should be possible to drop the platform bus type's PM callbacks entirely. Next, I'm going to take care of the bus types that only define PM callbacks to call drivers' callbacks, which is completely unnecessary after some PM core changes that went in during the 3.4 development cycle. Finally, I will be looking at PCI drivers.
The task is huge, but I've done similar things already, so it's nothing new to me. So, if you're a maintainer of code that contains legacy PM handling, please be prepared to see some patches from me in a not-too-distant-future.
Thanks,
Rafael
Quoted 16 lines · Rafael J. Wysocki
Hi all,
I have a plan to replace all of the legacy device PM callbacks throughout the kernel with PM handling based on struct
dev_pm_opsobjects. Ultimately, that should make it possible to remove the legacy hooks from structbus_typeand structdevice_driverand to siplify the PM core and some bus types (most importantly PCI) quite a bit.I'm going to start with platform drivers that should be the most straightforward to convert and when they all have been dealt with it should be possible to drop the platform bus type's PM callbacks entirely. Next, I'm going to take care of the bus types that only define PM callbacks to call drivers' callbacks, which is completely unnecessary after some PM core changes that went in during the 3.4 development cycle. Finally, I will be looking at PCI drivers.
Quoted 3 lines
The task is huge, but I've done similar things already, so it's nothing new to me. So, if you're a maintainer of code that contains legacy PM handling, please be prepared to see some patches from me in a not-too-distant-future.
Nice, that work is great to see have happen, thanks for taking this on, it's much needed.
greg k-h