path: root/include/linux/phylink.h
diff options
authorRussell King (Oracle) <>2021-09-06 22:38:45 +0100
committerRussell King (Oracle) <>2021-09-19 13:22:10 +0100
commit0c5b7c198a5f890109fe25b6fb7383fdb9b69a17 (patch)
treeb500ddf3c464b69203ce1f149ac70258d1e51f18 /include/linux/phylink.h
parent7d2a07b769330c34b4deabeed939325c77a7ec2f (diff)
net: phylink: add suspend/resume support
Joakim Zhang reports that Wake-on-Lan with the stmmac ethernet driver broke when moving the incorrect handling of mac link state out of mac_config(). This reason this breaks is because the stmmac's WoL is handled by the MAC rather than the PHY, and phylink doesn't cater for that scenario. This patch adds the necessary phylink code to handle suspend/resume events according to whether the MAC still needs a valid link or not. This is the barest minimum for this support. Reported-by: Joakim Zhang <> Tested-by: Joakim Zhang <> Signed-off-by: Russell King (Oracle) <>
Diffstat (limited to 'include/linux/phylink.h')
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/phylink.h b/include/linux/phylink.h
index afb3ded0b691..237291196ce2 100644
--- a/include/linux/phylink.h
+++ b/include/linux/phylink.h
@@ -451,6 +451,9 @@ void phylink_mac_change(struct phylink *, bool up);
void phylink_start(struct phylink *);
void phylink_stop(struct phylink *);
+void phylink_suspend(struct phylink *pl, bool mac_wol);
+void phylink_resume(struct phylink *pl);
void phylink_ethtool_get_wol(struct phylink *, struct ethtool_wolinfo *);
int phylink_ethtool_set_wol(struct phylink *, struct ethtool_wolinfo *);