On Sat, Jun 02, 2018 at 10:33:36PM +0200, Heiner Kallweit wrote: > 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.
Hi Heiner I tested that the files in /sys/class/bus/mdio/devices/* are still there. And also not there for MDIO devices which are not PHYs, e.g. Ethernet switches. I don't have any boards which do PM. So i cannot test suspend/resume. I also took a look at drivers/net/dsa/qca8k.c. This is an MDIO switch which has PM operations. I don't think this change will break it. I would prefer a bit more testing, but i guess that is what -rc kernels are for. Tested-by: Andrew Lunn <and...@lunn.ch> Andrew