Current implementation of MDIO bus PM ops doesn't actually implement
bus-specific PM ops but just calls PM ops defined on a device level
what doesn't seem to be fully in line with the core PM model.
When looking e.g. at __device_suspend() the PM core looks for PM ops
of a device in a specific order:
1. device PM domain
2. device type
3. device class
4. device bus
I think it has good reason that there's no PM ops on device level.
The situation can be improved by modeling PHY's as device type of
a MDIO device. If for some other type of MDIO device PM ops are
needed, it could be modeled as struct device_type as well.
Heiner Kallweit (2):
net: phy: add struct device_type representation of a PHY
net: phy: remove PM ops from MDIO bus
drivers/net/phy/mdio_bus.c | 48 ------------------
drivers/net/phy/phy_device.c | 96 +++++++++++++++++++-----------------
include/linux/mdio.h | 1 -
3 files changed, 50 insertions(+), 95 deletions(-)
--
2.17.1