+static void ax88179a_mac_link_up(struct phylink_config *config,
+ struct phy_device *phy,
+ unsigned int phy_mode, phy_interface_t interface,
+ int speed, int duplex,
+ bool tx_pause, bool rx_pause)
+{
+ ax179_data->eee_enabled = ax88179_chk_eee(dev);
With phylink, EEE works differently. You need to provide
.mac_disable_tx_lpi and .mac_enable_tx_lpi in phylink_mac_ops, and set
bp->phylink_config.lpi_capabilities etc. Take a look at
commit 0cc425f18f59f992c61c1802331d25ce689ff5d1
Author: Nicolai Buchwitz [off-list ref]
Date: Wed Mar 4 11:54:29 2026 +0100
net: cadence: macb: implement EEE TX LPI support
and there are other examples.
+ netif_carrier_on(dev->net);
phylink devices never touch the carrier. Leave phylink to set it.
Andrew