On Thu, Oct 19, 2023 at 08:29:53PM +0300, Vladimir Oltean wrote: > On Thu, Oct 19, 2023 at 02:28:46PM +0200, Oleksij Rempel wrote: > > Introduce Wake on Magic Packet (WoL) functionality to the ksz9477 > > driver. > > > > Major changes include: > > > > 1. Extending the `ksz9477_handle_wake_reason` function to identify Magic > > Packet wake events alongside existing wake reasons. > > > > 2. Updating the `ksz9477_get_wol` and `ksz9477_set_wol` functions to > > handle WAKE_MAGIC alongside the existing WAKE_PHY option, and to > > program the switch's MAC address register accordingly when Magic > > Packet wake-up is enabled. This change will prevent WAKE_MAGIC > > activation if the related port has a different MAC address compared > > to a MAC address already used by HSR or an already active WAKE_MAGIC > > on another port. > > > > 3. Adding a restriction in `ksz_port_set_mac_address` to prevent MAC > > address changes on ports with active Wake on Magic Packet, as the > > switch's MAC address register is utilized for this feature. > > > > Signed-off-by: Oleksij Rempel <o.rempel@xxxxxxxxxxxxxx> > > --- > > drivers/net/dsa/microchip/ksz9477.c | 60 ++++++++++++++++++++++++-- > > drivers/net/dsa/microchip/ksz_common.c | 15 +++++-- > > drivers/net/dsa/microchip/ksz_common.h | 3 ++ > > 3 files changed, 71 insertions(+), 7 deletions(-) > > > > diff --git a/drivers/net/dsa/microchip/ksz9477.c b/drivers/net/dsa/microchip/ksz9477.c > > index b9419d4b5e7b..bcc8863951ca 100644 > > --- a/drivers/net/dsa/microchip/ksz9477.c > > +++ b/drivers/net/dsa/microchip/ksz9477.c > > @@ -81,7 +81,8 @@ static int ksz9477_handle_wake_reason(struct ksz_device *dev, int port) > > if (!pme_status) > > return 0; > > > > - dev_dbg(dev->dev, "Wake event on port %d due to: %s %s\n", port, > > + dev_dbg(dev->dev, "Wake event on port %d due to: %s %s %s\n", port, > > + pme_status & PME_WOL_MAGICPKT ? "\"Magic Packet\"" : "", > > pme_status & PME_WOL_LINKUP ? "\"Link Up\"" : "", > > pme_status & PME_WOL_ENERGY ? "\"Enery detect\"" : ""); > > Trivial: if you format the printf string as %s%s%s and the arguments as > "\"Magic Packet\" " : "", then the printed line won't have a trailing > space at the end. Sadly, it still will. The best solution is to prepend the space character to each entry in the "list" and remove the space characters after the : in the format string thusly: dev_dbg(dev->dev, "Wake event on port %d due to:%s%s%s\n", port, pme_status & PME_WOL_MAGICPKT ? " \"Magic Packet\"" : "", pme_status & PME_WOL_LINKUP ? " \"Link Up\"" : "", pme_status & PME_WOL_ENERGY ? " \"Enery detect\"" : ""); -- RMK's Patch system: https://www.armlinux.org.uk/developer/patches/ FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!