On Tue, Apr 08, 2025 at 04:13:53PM +0800, Boon Khai Ng wrote: > Refactor VLAN implementation by moving common code for DWMAC4 and > DWXGMAC IPs into a separate VLAN module. VLAN implementation for > DWMAC4 and DWXGMAC differs only for CSR base address, the descriptor > for the VLAN ID and VLAN VALID bit field. > > Signed-off-by: Boon Khai Ng <boon.khai.ng@xxxxxxxxxx> > Reviewed-by: Matthew Gerlach <matthew.gerlach@xxxxxxxxxx> ... > diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c b/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c ... > @@ -965,45 +807,6 @@ static void dwmac4_set_mac_loopback(void __iomem *ioaddr, bool enable) > writel(value, ioaddr + GMAC_CONFIG); > } > > -static void dwmac4_update_vlan_hash(struct mac_device_info *hw, u32 hash, > - u16 perfect_match, bool is_double) ... > diff --git a/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c b/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c > index a6d395c6bacd..d9f41c047e5e 100644 > --- a/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c > +++ b/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c > @@ -614,76 +614,6 @@ static int dwxgmac2_rss_configure(struct mac_device_info *hw, > return 0; > } > > -static void dwxgmac2_update_vlan_hash(struct mac_device_info *hw, u32 hash, > - u16 perfect_match, bool is_double) ... > diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_vlan.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_vlan.c ... > +static void vlan_update_hash(struct mac_device_info *hw, u32 hash, > + __le16 perfect_match, bool is_double) ... Hi, The signature of this new function does not appear to match that of the functions it replaces. And it appears to regress the endian annotation of perfect_match which was corrected in commit e9dbebae2e3c ("net: stmmac: Correct byte order of perfect_match") Flagged by Sparse.