BACKPORT: net: phy: Allow drivers to always call into ->suspend()
A few PHY drivers are currently attempting to not suspend the PHY when Wake-on-LAN is enabled, however that code is not currently executing at all due to an early check in phy_suspend(). This prevents PHY drivers from making an appropriate decisions and put the hardware into a low power state if desired. In order to allow the PHY drivers to opt into getting their ->suspend routine to be called, add a PHY_ALWAYS_CALL_SUSPEND bit which can be set. A boolean that tracks whether the PHY or the attached MAC has Wake-on-LAN enabled is also provided for convenience. If phydev::wol_enabled then the PHY shall not prevent its own Wake-on-LAN detection logic from working and shall not prevent the Ethernet MAC from receiving packets for matching. Reviewed-by:Simon Horman <simon.horman@corigine.com> Reviewed-by:
Andrew Lunn <andrew@lunn.ch> Change-Id: I9077fe16d2515b60a2cb58753e6914be95a6923a Signed-off-by:
Florian Fainelli <f.fainelli@gmail.com> Signed-off-by:
David S. Miller <davem@davemloft.net> (cherry picked from commit a7e34480) [danesh: Moved phydev->wol_enabled to avoid KMI-break] Signed-off-by:
Danesh Petigara <danesh.petigara@broadcom.com>
Loading
Please sign in to comment