summaryrefslogtreecommitdiffstats
path: root/drivers/net/dsa/microchip/ksz9477.h
diff options
context:
space:
mode:
authorOleksij Rempel <o.rempel@pengutronix.de>2023-10-23 11:33:38 +0200
committerDavid S. Miller <davem@davemloft.net>2023-10-25 09:47:33 +0200
commitd264f24409b87f0ba63d81d6f28165b8fd4fdf24 (patch)
treecf8e7bc94a6ac6213390a328accf96c9f3db98d5 /drivers/net/dsa/microchip/ksz9477.h
parentnet: dsa: microchip: use wakeup-source DT property to enable PME output (diff)
downloadlinux-d264f24409b87f0ba63d81d6f28165b8fd4fdf24.tar.xz
linux-d264f24409b87f0ba63d81d6f28165b8fd4fdf24.zip
net: dsa: microchip: ksz9477: add Wake on LAN support
Add WoL support for KSZ9477 family of switches. This code was tested on KSZ8563 chip. KSZ9477 family of switches supports multiple PHY events: - wake on Link Up - wake on Energy Detect. Since current UAPI can't differentiate between this PHY events, map all of them to WAKE_PHY. Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/dsa/microchip/ksz9477.h')
-rw-r--r--drivers/net/dsa/microchip/ksz9477.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/dsa/microchip/ksz9477.h b/drivers/net/dsa/microchip/ksz9477.h
index f90e2e8ebe80..fa8d0318b437 100644
--- a/drivers/net/dsa/microchip/ksz9477.h
+++ b/drivers/net/dsa/microchip/ksz9477.h
@@ -58,6 +58,10 @@ void ksz9477_switch_exit(struct ksz_device *dev);
void ksz9477_port_queue_split(struct ksz_device *dev, int port);
void ksz9477_hsr_join(struct dsa_switch *ds, int port, struct net_device *hsr);
void ksz9477_hsr_leave(struct dsa_switch *ds, int port, struct net_device *hsr);
+void ksz9477_get_wol(struct ksz_device *dev, int port,
+ struct ethtool_wolinfo *wol);
+int ksz9477_set_wol(struct ksz_device *dev, int port,
+ struct ethtool_wolinfo *wol);
int ksz9477_port_acl_init(struct ksz_device *dev, int port);
void ksz9477_port_acl_free(struct ksz_device *dev, int port);