diff options
author | Daniel Golle <daniel@makrotopia.org> | 2022-03-21 01:16:48 +0000 |
---|---|---|
committer | Daniel Golle <daniel@makrotopia.org> | 2022-03-21 13:11:56 +0000 |
commit | 786bf7fdaca4c75e7eba6e9aa3a8b5775fd21186 (patch) | |
tree | 926fecb2b1f6ce1e42ba7ef4c7aab8e68dfd214c /target/linux/layerscape/patches-5.4/701-net-0244-net-mscc-ocelot-separate-net_device-related-items-ou.patch | |
parent | 9470160c350d15f765c33d6c1db15d6c4709a64c (diff) | |
download | upstream-786bf7fdaca4c75e7eba6e9aa3a8b5775fd21186.tar.gz upstream-786bf7fdaca4c75e7eba6e9aa3a8b5775fd21186.tar.bz2 upstream-786bf7fdaca4c75e7eba6e9aa3a8b5775fd21186.zip |
kernel: delete Linux 5.4 config and patches
As the upcoming release will be based on Linux 5.10 only, remove all
kernel configuration as well as patches for Linux 5.4.
There were no targets still actively using Linux 5.4.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit 3a14580411adfb75f9a44eded9f41245b9e44606)
Diffstat (limited to 'target/linux/layerscape/patches-5.4/701-net-0244-net-mscc-ocelot-separate-net_device-related-items-ou.patch')
-rw-r--r-- | target/linux/layerscape/patches-5.4/701-net-0244-net-mscc-ocelot-separate-net_device-related-items-ou.patch | 1171 |
1 files changed, 0 insertions, 1171 deletions
diff --git a/target/linux/layerscape/patches-5.4/701-net-0244-net-mscc-ocelot-separate-net_device-related-items-ou.patch b/target/linux/layerscape/patches-5.4/701-net-0244-net-mscc-ocelot-separate-net_device-related-items-ou.patch deleted file mode 100644 index 774e8d0bfe..0000000000 --- a/target/linux/layerscape/patches-5.4/701-net-0244-net-mscc-ocelot-separate-net_device-related-items-ou.patch +++ /dev/null @@ -1,1171 +0,0 @@ -From b0481fbc0d853fd164055293002c621827eba5ad Mon Sep 17 00:00:00 2001 -From: Vladimir Oltean <vladimir.oltean@nxp.com> -Date: Sat, 9 Nov 2019 15:02:53 +0200 -Subject: [PATCH] net: mscc: ocelot: separate net_device related items out of - ocelot_port - -The ocelot and ocelot_port structures will be used by a new DSA driver, -so the ocelot_board.c file will have to allocate and work with a private -structure (ocelot_port_private), which embeds the generic struct -ocelot_port. This is because in DSA, at least one interface does not -have a net_device, and the DSA driver API does not interact with that -anyway. - -The ocelot_port structure is equivalent to dsa_port, and ocelot to -dsa_switch. The members of ocelot_port which have an equivalent in -dsa_port (such as dp->vlan_filtering) have been moved to -ocelot_port_private. - -We want to enforce the coding convention that "ocelot_port" refers to -the structure, and "port" refers to the integer index. One can retrieve -the structure at any time from ocelot->ports[port]. - -The patch is large but only contains variable renaming and mechanical -movement of fields from one structure to another. - -Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> -Signed-off-by: David S. Miller <davem@davemloft.net> ---- - drivers/net/ethernet/mscc/ocelot.c | 288 ++++++++++++++++-------------- - drivers/net/ethernet/mscc/ocelot.h | 21 ++- - drivers/net/ethernet/mscc/ocelot_ace.h | 4 +- - drivers/net/ethernet/mscc/ocelot_board.c | 25 ++- - drivers/net/ethernet/mscc/ocelot_flower.c | 32 ++-- - drivers/net/ethernet/mscc/ocelot_tc.c | 57 +++--- - 6 files changed, 235 insertions(+), 192 deletions(-) - ---- a/drivers/net/ethernet/mscc/ocelot.c -+++ b/drivers/net/ethernet/mscc/ocelot.c -@@ -229,8 +229,6 @@ static void ocelot_port_vlan_filtering(s - ocelot_rmw_gix(ocelot, val, - REW_TAG_CFG_TAG_CFG_M, - REW_TAG_CFG, port); -- -- ocelot_port->vlan_aware = vlan_aware; - } - - static int ocelot_port_set_native_vlan(struct ocelot *ocelot, int port, -@@ -297,9 +295,10 @@ static int ocelot_vlan_add(struct ocelot - static int ocelot_vlan_vid_add(struct net_device *dev, u16 vid, bool pvid, - bool untagged) - { -- struct ocelot_port *ocelot_port = netdev_priv(dev); -+ struct ocelot_port_private *priv = netdev_priv(dev); -+ struct ocelot_port *ocelot_port = &priv->port; - struct ocelot *ocelot = ocelot_port->ocelot; -- int port = ocelot_port->chip_port; -+ int port = priv->chip_port; - int ret; - - ret = ocelot_vlan_add(ocelot, port, vid, pvid, untagged); -@@ -337,9 +336,9 @@ static int ocelot_vlan_del(struct ocelot - - static int ocelot_vlan_vid_del(struct net_device *dev, u16 vid) - { -- struct ocelot_port *ocelot_port = netdev_priv(dev); -- struct ocelot *ocelot = ocelot_port->ocelot; -- int port = ocelot_port->chip_port; -+ struct ocelot_port_private *priv = netdev_priv(dev); -+ struct ocelot *ocelot = priv->port.ocelot; -+ int port = priv->chip_port; - int ret; - - /* 8021q removes VID 0 on module unload for all interfaces -@@ -412,10 +411,11 @@ static u16 ocelot_wm_enc(u16 value) - - static void ocelot_port_adjust_link(struct net_device *dev) - { -- struct ocelot_port *port = netdev_priv(dev); -- struct ocelot *ocelot = port->ocelot; -- u8 p = port->chip_port; -+ struct ocelot_port_private *priv = netdev_priv(dev); -+ struct ocelot_port *ocelot_port = &priv->port; -+ struct ocelot *ocelot = ocelot_port->ocelot; - int speed, atop_wm, mode = 0; -+ u8 port = priv->chip_port; - - switch (dev->phydev->speed) { - case SPEED_10: -@@ -444,62 +444,66 @@ static void ocelot_port_adjust_link(stru - return; - - /* Only full duplex supported for now */ -- ocelot_port_writel(port, DEV_MAC_MODE_CFG_FDX_ENA | -+ ocelot_port_writel(ocelot_port, DEV_MAC_MODE_CFG_FDX_ENA | - mode, DEV_MAC_MODE_CFG); - - /* Set MAC IFG Gaps - * FDX: TX_IFG = 5, RX_IFG1 = RX_IFG2 = 0 - * !FDX: TX_IFG = 5, RX_IFG1 = RX_IFG2 = 5 - */ -- ocelot_port_writel(port, DEV_MAC_IFG_CFG_TX_IFG(5), DEV_MAC_IFG_CFG); -+ ocelot_port_writel(ocelot_port, DEV_MAC_IFG_CFG_TX_IFG(5), -+ DEV_MAC_IFG_CFG); - - /* Load seed (0) and set MAC HDX late collision */ -- ocelot_port_writel(port, DEV_MAC_HDX_CFG_LATE_COL_POS(67) | -+ ocelot_port_writel(ocelot_port, DEV_MAC_HDX_CFG_LATE_COL_POS(67) | - DEV_MAC_HDX_CFG_SEED_LOAD, - DEV_MAC_HDX_CFG); - mdelay(1); -- ocelot_port_writel(port, DEV_MAC_HDX_CFG_LATE_COL_POS(67), -+ ocelot_port_writel(ocelot_port, DEV_MAC_HDX_CFG_LATE_COL_POS(67), - DEV_MAC_HDX_CFG); - - /* Disable HDX fast control */ -- ocelot_port_writel(port, DEV_PORT_MISC_HDX_FAST_DIS, DEV_PORT_MISC); -+ ocelot_port_writel(ocelot_port, DEV_PORT_MISC_HDX_FAST_DIS, -+ DEV_PORT_MISC); - - /* SGMII only for now */ -- ocelot_port_writel(port, PCS1G_MODE_CFG_SGMII_MODE_ENA, PCS1G_MODE_CFG); -- ocelot_port_writel(port, PCS1G_SD_CFG_SD_SEL, PCS1G_SD_CFG); -+ ocelot_port_writel(ocelot_port, PCS1G_MODE_CFG_SGMII_MODE_ENA, -+ PCS1G_MODE_CFG); -+ ocelot_port_writel(ocelot_port, PCS1G_SD_CFG_SD_SEL, PCS1G_SD_CFG); - - /* Enable PCS */ -- ocelot_port_writel(port, PCS1G_CFG_PCS_ENA, PCS1G_CFG); -+ ocelot_port_writel(ocelot_port, PCS1G_CFG_PCS_ENA, PCS1G_CFG); - - /* No aneg on SGMII */ -- ocelot_port_writel(port, 0, PCS1G_ANEG_CFG); -+ ocelot_port_writel(ocelot_port, 0, PCS1G_ANEG_CFG); - - /* No loopback */ -- ocelot_port_writel(port, 0, PCS1G_LB_CFG); -+ ocelot_port_writel(ocelot_port, 0, PCS1G_LB_CFG); - - /* Set Max Length and maximum tags allowed */ -- ocelot_port_writel(port, VLAN_ETH_FRAME_LEN, DEV_MAC_MAXLEN_CFG); -- ocelot_port_writel(port, DEV_MAC_TAGS_CFG_TAG_ID(ETH_P_8021AD) | -+ ocelot_port_writel(ocelot_port, VLAN_ETH_FRAME_LEN, -+ DEV_MAC_MAXLEN_CFG); -+ ocelot_port_writel(ocelot_port, DEV_MAC_TAGS_CFG_TAG_ID(ETH_P_8021AD) | - DEV_MAC_TAGS_CFG_VLAN_AWR_ENA | - DEV_MAC_TAGS_CFG_VLAN_LEN_AWR_ENA, - DEV_MAC_TAGS_CFG); - - /* Enable MAC module */ -- ocelot_port_writel(port, DEV_MAC_ENA_CFG_RX_ENA | -+ ocelot_port_writel(ocelot_port, DEV_MAC_ENA_CFG_RX_ENA | - DEV_MAC_ENA_CFG_TX_ENA, DEV_MAC_ENA_CFG); - - /* Take MAC, Port, Phy (intern) and PCS (SGMII/Serdes) clock out of - * reset */ -- ocelot_port_writel(port, DEV_CLOCK_CFG_LINK_SPEED(speed), -+ ocelot_port_writel(ocelot_port, DEV_CLOCK_CFG_LINK_SPEED(speed), - DEV_CLOCK_CFG); - - /* Set SMAC of Pause frame (00:00:00:00:00:00) */ -- ocelot_port_writel(port, 0, DEV_MAC_FC_MAC_HIGH_CFG); -- ocelot_port_writel(port, 0, DEV_MAC_FC_MAC_LOW_CFG); -+ ocelot_port_writel(ocelot_port, 0, DEV_MAC_FC_MAC_HIGH_CFG); -+ ocelot_port_writel(ocelot_port, 0, DEV_MAC_FC_MAC_LOW_CFG); - - /* No PFC */ - ocelot_write_gix(ocelot, ANA_PFC_PFC_CFG_FC_LINK_SPEED(speed), -- ANA_PFC_PFC_CFG, p); -+ ANA_PFC_PFC_CFG, port); - - /* Set Pause WM hysteresis - * 152 = 6 * VLAN_ETH_FRAME_LEN / OCELOT_BUFFER_CELL_SZ -@@ -507,13 +511,13 @@ static void ocelot_port_adjust_link(stru - */ - ocelot_write_rix(ocelot, SYS_PAUSE_CFG_PAUSE_ENA | - SYS_PAUSE_CFG_PAUSE_STOP(101) | -- SYS_PAUSE_CFG_PAUSE_START(152), SYS_PAUSE_CFG, p); -+ SYS_PAUSE_CFG_PAUSE_START(152), SYS_PAUSE_CFG, port); - - /* Core: Enable port for frame transfer */ - ocelot_write_rix(ocelot, QSYS_SWITCH_PORT_MODE_INGRESS_DROP_MODE | - QSYS_SWITCH_PORT_MODE_SCH_NEXT_CFG(1) | - QSYS_SWITCH_PORT_MODE_PORT_ENA, -- QSYS_SWITCH_PORT_MODE, p); -+ QSYS_SWITCH_PORT_MODE, port); - - /* Flow control */ - ocelot_write_rix(ocelot, SYS_MAC_FC_CFG_PAUSE_VAL_CFG(0xffff) | -@@ -521,20 +525,21 @@ static void ocelot_port_adjust_link(stru - SYS_MAC_FC_CFG_ZERO_PAUSE_ENA | - SYS_MAC_FC_CFG_FC_LATENCY_CFG(0x7) | - SYS_MAC_FC_CFG_FC_LINK_SPEED(speed), -- SYS_MAC_FC_CFG, p); -- ocelot_write_rix(ocelot, 0, ANA_POL_FLOWC, p); -+ SYS_MAC_FC_CFG, port); -+ ocelot_write_rix(ocelot, 0, ANA_POL_FLOWC, port); - - /* Tail dropping watermark */ - atop_wm = (ocelot->shared_queue_sz - 9 * VLAN_ETH_FRAME_LEN) / OCELOT_BUFFER_CELL_SZ; - ocelot_write_rix(ocelot, ocelot_wm_enc(9 * VLAN_ETH_FRAME_LEN), -- SYS_ATOP, p); -+ SYS_ATOP, port); - ocelot_write(ocelot, ocelot_wm_enc(atop_wm), SYS_ATOP_TOT_CFG); - } - - static int ocelot_port_open(struct net_device *dev) - { -- struct ocelot_port *port = netdev_priv(dev); -- struct ocelot *ocelot = port->ocelot; -+ struct ocelot_port_private *priv = netdev_priv(dev); -+ struct ocelot *ocelot = priv->port.ocelot; -+ int port = priv->chip_port; - int err; - - /* Enable receiving frames on the port, and activate auto-learning of -@@ -542,43 +547,44 @@ static int ocelot_port_open(struct net_d - */ - ocelot_write_gix(ocelot, ANA_PORT_PORT_CFG_LEARNAUTO | - ANA_PORT_PORT_CFG_RECV_ENA | -- ANA_PORT_PORT_CFG_PORTID_VAL(port->chip_port), -- ANA_PORT_PORT_CFG, port->chip_port); -+ ANA_PORT_PORT_CFG_PORTID_VAL(port), -+ ANA_PORT_PORT_CFG, port); - -- if (port->serdes) { -- err = phy_set_mode_ext(port->serdes, PHY_MODE_ETHERNET, -- port->phy_mode); -+ if (priv->serdes) { -+ err = phy_set_mode_ext(priv->serdes, PHY_MODE_ETHERNET, -+ priv->phy_mode); - if (err) { - netdev_err(dev, "Could not set mode of SerDes\n"); - return err; - } - } - -- err = phy_connect_direct(dev, port->phy, &ocelot_port_adjust_link, -- port->phy_mode); -+ err = phy_connect_direct(dev, priv->phy, &ocelot_port_adjust_link, -+ priv->phy_mode); - if (err) { - netdev_err(dev, "Could not attach to PHY\n"); - return err; - } - -- dev->phydev = port->phy; -+ dev->phydev = priv->phy; - -- phy_attached_info(port->phy); -- phy_start(port->phy); -+ phy_attached_info(priv->phy); -+ phy_start(priv->phy); - return 0; - } - - static int ocelot_port_stop(struct net_device *dev) - { -- struct ocelot_port *port = netdev_priv(dev); -+ struct ocelot_port_private *priv = netdev_priv(dev); -+ struct ocelot_port *port = &priv->port; - -- phy_disconnect(port->phy); -+ phy_disconnect(priv->phy); - - dev->phydev = NULL; - - ocelot_port_writel(port, 0, DEV_MAC_ENA_CFG); - ocelot_rmw_rix(port->ocelot, 0, QSYS_SWITCH_PORT_MODE_PORT_ENA, -- QSYS_SWITCH_PORT_MODE, port->chip_port); -+ QSYS_SWITCH_PORT_MODE, priv->chip_port); - return 0; - } - -@@ -604,13 +610,15 @@ static int ocelot_gen_ifh(u32 *ifh, stru - - static int ocelot_port_xmit(struct sk_buff *skb, struct net_device *dev) - { -+ struct ocelot_port_private *priv = netdev_priv(dev); - struct skb_shared_info *shinfo = skb_shinfo(skb); -- struct ocelot_port *port = netdev_priv(dev); -- struct ocelot *ocelot = port->ocelot; -- u32 val, ifh[IFH_LEN]; -+ struct ocelot_port *ocelot_port = &priv->port; -+ struct ocelot *ocelot = ocelot_port->ocelot; - struct frame_info info = {}; - u8 grp = 0; /* Send everything on CPU group 0 */ - unsigned int i, count, last; -+ int port = priv->chip_port; -+ u32 val, ifh[IFH_LEN]; - - val = ocelot_read(ocelot, QS_INJ_STATUS); - if (!(val & QS_INJ_STATUS_FIFO_RDY(BIT(grp))) || -@@ -620,15 +628,15 @@ static int ocelot_port_xmit(struct sk_bu - ocelot_write_rix(ocelot, QS_INJ_CTRL_GAP_SIZE(1) | - QS_INJ_CTRL_SOF, QS_INJ_CTRL, grp); - -- info.port = BIT(port->chip_port); -+ info.port = BIT(port); - info.tag_type = IFH_TAG_TYPE_C; - info.vid = skb_vlan_tag_get(skb); - - /* Check if timestamping is needed */ - if (ocelot->ptp && shinfo->tx_flags & SKBTX_HW_TSTAMP) { -- info.rew_op = port->ptp_cmd; -- if (port->ptp_cmd == IFH_REW_OP_TWO_STEP_PTP) -- info.rew_op |= (port->ts_id % 4) << 3; -+ info.rew_op = ocelot_port->ptp_cmd; -+ if (ocelot_port->ptp_cmd == IFH_REW_OP_TWO_STEP_PTP) -+ info.rew_op |= (ocelot_port->ts_id % 4) << 3; - } - - ocelot_gen_ifh(ifh, &info); -@@ -663,7 +671,7 @@ static int ocelot_port_xmit(struct sk_bu - dev->stats.tx_bytes += skb->len; - - if (ocelot->ptp && shinfo->tx_flags & SKBTX_HW_TSTAMP && -- port->ptp_cmd == IFH_REW_OP_TWO_STEP_PTP) { -+ ocelot_port->ptp_cmd == IFH_REW_OP_TWO_STEP_PTP) { - struct ocelot_skb *oskb = - kzalloc(sizeof(struct ocelot_skb), GFP_ATOMIC); - -@@ -673,10 +681,10 @@ static int ocelot_port_xmit(struct sk_bu - skb_shinfo(skb)->tx_flags |= SKBTX_IN_PROGRESS; - - oskb->skb = skb; -- oskb->id = port->ts_id % 4; -- port->ts_id++; -+ oskb->id = ocelot_port->ts_id % 4; -+ ocelot_port->ts_id++; - -- list_add_tail(&oskb->head, &port->skbs); -+ list_add_tail(&oskb->head, &ocelot_port->skbs); - - return NETDEV_TX_OK; - } -@@ -715,25 +723,29 @@ EXPORT_SYMBOL(ocelot_get_hwtimestamp); - - static int ocelot_mc_unsync(struct net_device *dev, const unsigned char *addr) - { -- struct ocelot_port *port = netdev_priv(dev); -+ struct ocelot_port_private *priv = netdev_priv(dev); -+ struct ocelot_port *ocelot_port = &priv->port; -+ struct ocelot *ocelot = ocelot_port->ocelot; - -- return ocelot_mact_forget(port->ocelot, addr, port->pvid); -+ return ocelot_mact_forget(ocelot, addr, ocelot_port->pvid); - } - - static int ocelot_mc_sync(struct net_device *dev, const unsigned char *addr) - { -- struct ocelot_port *port = netdev_priv(dev); -+ struct ocelot_port_private *priv = netdev_priv(dev); -+ struct ocelot_port *ocelot_port = &priv->port; -+ struct ocelot *ocelot = ocelot_port->ocelot; - -- return ocelot_mact_learn(port->ocelot, PGID_CPU, addr, port->pvid, -+ return ocelot_mact_learn(ocelot, PGID_CPU, addr, ocelot_port->pvid, - ENTRYTYPE_LOCKED); - } - - static void ocelot_set_rx_mode(struct net_device *dev) - { -- struct ocelot_port *port = netdev_priv(dev); -- struct ocelot *ocelot = port->ocelot; -- int i; -+ struct ocelot_port_private *priv = netdev_priv(dev); -+ struct ocelot *ocelot = priv->port.ocelot; - u32 val; -+ int i; - - /* This doesn't handle promiscuous mode because the bridge core is - * setting IFF_PROMISC on all slave interfaces and all frames would be -@@ -749,10 +761,11 @@ static void ocelot_set_rx_mode(struct ne - static int ocelot_port_get_phys_port_name(struct net_device *dev, - char *buf, size_t len) - { -- struct ocelot_port *port = netdev_priv(dev); -+ struct ocelot_port_private *priv = netdev_priv(dev); -+ int port = priv->chip_port; - int ret; - -- ret = snprintf(buf, len, "p%d", port->chip_port); -+ ret = snprintf(buf, len, "p%d", port); - if (ret >= len) - return -EINVAL; - -@@ -761,15 +774,16 @@ static int ocelot_port_get_phys_port_nam - - static int ocelot_port_set_mac_address(struct net_device *dev, void *p) - { -- struct ocelot_port *port = netdev_priv(dev); -- struct ocelot *ocelot = port->ocelot; -+ struct ocelot_port_private *priv = netdev_priv(dev); -+ struct ocelot_port *ocelot_port = &priv->port; -+ struct ocelot *ocelot = ocelot_port->ocelot; - const struct sockaddr *addr = p; - - /* Learn the new net device MAC address in the mac table. */ -- ocelot_mact_learn(ocelot, PGID_CPU, addr->sa_data, port->pvid, -+ ocelot_mact_learn(ocelot, PGID_CPU, addr->sa_data, ocelot_port->pvid, - ENTRYTYPE_LOCKED); - /* Then forget the previous one. */ -- ocelot_mact_forget(ocelot, dev->dev_addr, port->pvid); -+ ocelot_mact_forget(ocelot, dev->dev_addr, ocelot_port->pvid); - - ether_addr_copy(dev->dev_addr, addr->sa_data); - return 0; -@@ -778,11 +792,12 @@ static int ocelot_port_set_mac_address(s - static void ocelot_get_stats64(struct net_device *dev, - struct rtnl_link_stats64 *stats) - { -- struct ocelot_port *port = netdev_priv(dev); -- struct ocelot *ocelot = port->ocelot; -+ struct ocelot_port_private *priv = netdev_priv(dev); -+ struct ocelot *ocelot = priv->port.ocelot; -+ int port = priv->chip_port; - - /* Configure the port to read the stats from */ -- ocelot_write(ocelot, SYS_STAT_CFG_STAT_VIEW(port->chip_port), -+ ocelot_write(ocelot, SYS_STAT_CFG_STAT_VIEW(port), - SYS_STAT_CFG); - - /* Get Rx stats */ -@@ -814,12 +829,13 @@ static void ocelot_get_stats64(struct ne - } - - static int ocelot_fdb_add(struct ocelot *ocelot, int port, -- const unsigned char *addr, u16 vid) -+ const unsigned char *addr, u16 vid, -+ bool vlan_aware) - { - struct ocelot_port *ocelot_port = ocelot->ports[port]; - - if (!vid) { -- if (!ocelot_port->vlan_aware) -+ if (!vlan_aware) - /* If the bridge is not VLAN aware and no VID was - * provided, set it to pvid to ensure the MAC entry - * matches incoming untagged packets -@@ -841,10 +857,11 @@ static int ocelot_port_fdb_add(struct nd - u16 vid, u16 flags, - struct netlink_ext_ack *extack) - { -- struct ocelot_port *ocelot_port = netdev_priv(dev); -- struct ocelot *ocelot = ocelot_port->ocelot; -+ struct ocelot_port_private *priv = netdev_priv(dev); -+ struct ocelot *ocelot = priv->port.ocelot; -+ int port = priv->chip_port; - -- return ocelot_fdb_add(ocelot, ocelot_port->chip_port, addr, vid); -+ return ocelot_fdb_add(ocelot, port, addr, vid, priv->vlan_aware); - } - - static int ocelot_fdb_del(struct ocelot *ocelot, int port, -@@ -857,10 +874,11 @@ static int ocelot_port_fdb_del(struct nd - struct net_device *dev, - const unsigned char *addr, u16 vid) - { -- struct ocelot_port *ocelot_port = netdev_priv(dev); -- struct ocelot *ocelot = ocelot_port->ocelot; -+ struct ocelot_port_private *priv = netdev_priv(dev); -+ struct ocelot *ocelot = priv->port.ocelot; -+ int port = priv->chip_port; - -- return ocelot_fdb_del(ocelot, ocelot_port->chip_port, addr, vid); -+ return ocelot_fdb_del(ocelot, port, addr, vid); - } - - struct ocelot_dump_ctx { -@@ -999,18 +1017,18 @@ static int ocelot_port_fdb_dump(struct s - struct net_device *dev, - struct net_device *filter_dev, int *idx) - { -- struct ocelot_port *ocelot_port = netdev_priv(dev); -- struct ocelot *ocelot = ocelot_port->ocelot; -+ struct ocelot_port_private *priv = netdev_priv(dev); -+ struct ocelot *ocelot = priv->port.ocelot; - struct ocelot_dump_ctx dump = { - .dev = dev, - .skb = skb, - .cb = cb, - .idx = *idx, - }; -+ int port = priv->chip_port; - int ret; - -- ret = ocelot_fdb_dump(ocelot, ocelot_port->chip_port, -- ocelot_port_fdb_do_dump, &dump); -+ ret = ocelot_fdb_dump(ocelot, port, ocelot_port_fdb_do_dump, &dump); - - *idx = dump.idx; - -@@ -1033,12 +1051,12 @@ static int ocelot_set_features(struct ne - netdev_features_t features) - { - netdev_features_t changed = dev->features ^ features; -- struct ocelot_port *ocelot_port = netdev_priv(dev); -- struct ocelot *ocelot = ocelot_port->ocelot; -- int port = ocelot_port->chip_port; -+ struct ocelot_port_private *priv = netdev_priv(dev); -+ struct ocelot *ocelot = priv->port.ocelot; -+ int port = priv->chip_port; - - if ((dev->features & NETIF_F_HW_TC) > (features & NETIF_F_HW_TC) && -- ocelot_port->tc.offload_cnt) { -+ priv->tc.offload_cnt) { - netdev_err(dev, - "Cannot disable HW TC offload while offloads active\n"); - return -EBUSY; -@@ -1053,8 +1071,8 @@ static int ocelot_set_features(struct ne - static int ocelot_get_port_parent_id(struct net_device *dev, - struct netdev_phys_item_id *ppid) - { -- struct ocelot_port *ocelot_port = netdev_priv(dev); -- struct ocelot *ocelot = ocelot_port->ocelot; -+ struct ocelot_port_private *priv = netdev_priv(dev); -+ struct ocelot *ocelot = priv->port.ocelot; - - ppid->id_len = sizeof(ocelot->base_mac); - memcpy(&ppid->id, &ocelot->base_mac, ppid->id_len); -@@ -1130,9 +1148,9 @@ static int ocelot_hwstamp_set(struct oce - - static int ocelot_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) - { -- struct ocelot_port *ocelot_port = netdev_priv(dev); -- struct ocelot *ocelot = ocelot_port->ocelot; -- int port = ocelot_port->chip_port; -+ struct ocelot_port_private *priv = netdev_priv(dev); -+ struct ocelot *ocelot = priv->port.ocelot; -+ int port = priv->chip_port; - - /* The function is only used for PTP operations for now */ - if (!ocelot->ptp) -@@ -1169,8 +1187,8 @@ static const struct net_device_ops ocelo - - static void ocelot_get_strings(struct net_device *netdev, u32 sset, u8 *data) - { -- struct ocelot_port *port = netdev_priv(netdev); -- struct ocelot *ocelot = port->ocelot; -+ struct ocelot_port_private *priv = netdev_priv(netdev); -+ struct ocelot *ocelot = priv->port.ocelot; - int i; - - if (sset != ETH_SS_STATS) -@@ -1224,8 +1242,9 @@ static void ocelot_check_stats_work(stru - static void ocelot_get_ethtool_stats(struct net_device *dev, - struct ethtool_stats *stats, u64 *data) - { -- struct ocelot_port *port = netdev_priv(dev); -- struct ocelot *ocelot = port->ocelot; -+ struct ocelot_port_private *priv = netdev_priv(dev); -+ struct ocelot *ocelot = priv->port.ocelot; -+ int port = priv->chip_port; - int i; - - /* check and update now */ -@@ -1233,13 +1252,13 @@ static void ocelot_get_ethtool_stats(str - - /* Copy all counters */ - for (i = 0; i < ocelot->num_stats; i++) -- *data++ = ocelot->stats[port->chip_port * ocelot->num_stats + i]; -+ *data++ = ocelot->stats[port * ocelot->num_stats + i]; - } - - static int ocelot_get_sset_count(struct net_device *dev, int sset) - { -- struct ocelot_port *port = netdev_priv(dev); -- struct ocelot *ocelot = port->ocelot; -+ struct ocelot_port_private *priv = netdev_priv(dev); -+ struct ocelot *ocelot = priv->port.ocelot; - - if (sset != ETH_SS_STATS) - return -EOPNOTSUPP; -@@ -1249,8 +1268,8 @@ static int ocelot_get_sset_count(struct - static int ocelot_get_ts_info(struct net_device *dev, - struct ethtool_ts_info *info) - { -- struct ocelot_port *ocelot_port = netdev_priv(dev); -- struct ocelot *ocelot = ocelot_port->ocelot; -+ struct ocelot_port_private *priv = netdev_priv(dev); -+ struct ocelot *ocelot = priv->port.ocelot; - - if (!ocelot->ptp) - return ethtool_op_get_ts_info(dev, info); -@@ -1385,9 +1404,9 @@ static int ocelot_port_attr_set(struct n - const struct switchdev_attr *attr, - struct switchdev_trans *trans) - { -- struct ocelot_port *ocelot_port = netdev_priv(dev); -- struct ocelot *ocelot = ocelot_port->ocelot; -- int port = ocelot_port->chip_port; -+ struct ocelot_port_private *priv = netdev_priv(dev); -+ struct ocelot *ocelot = priv->port.ocelot; -+ int port = priv->chip_port; - int err = 0; - - switch (attr->id) { -@@ -1399,8 +1418,8 @@ static int ocelot_port_attr_set(struct n - ocelot_port_attr_ageing_set(ocelot, port, attr->u.ageing_time); - break; - case SWITCHDEV_ATTR_ID_BRIDGE_VLAN_FILTERING: -- ocelot_port_vlan_filtering(ocelot, port, -- attr->u.vlan_filtering); -+ priv->vlan_aware = attr->u.vlan_filtering; -+ ocelot_port_vlan_filtering(ocelot, port, priv->vlan_aware); - break; - case SWITCHDEV_ATTR_ID_BRIDGE_MC_DISABLED: - ocelot_port_attr_mc_set(ocelot, port, !attr->u.mc_disabled); -@@ -1465,15 +1484,17 @@ static int ocelot_port_obj_add_mdb(struc - const struct switchdev_obj_port_mdb *mdb, - struct switchdev_trans *trans) - { -- struct ocelot_port *port = netdev_priv(dev); -- struct ocelot *ocelot = port->ocelot; -- struct ocelot_multicast *mc; -+ struct ocelot_port_private *priv = netdev_priv(dev); -+ struct ocelot_port *ocelot_port = &priv->port; -+ struct ocelot *ocelot = ocelot_port->ocelot; - unsigned char addr[ETH_ALEN]; -+ struct ocelot_multicast *mc; -+ int port = priv->chip_port; - u16 vid = mdb->vid; - bool new = false; - - if (!vid) -- vid = port->pvid; -+ vid = ocelot_port->pvid; - - mc = ocelot_multicast_get(ocelot, mdb->addr, vid); - if (!mc) { -@@ -1497,7 +1518,7 @@ static int ocelot_port_obj_add_mdb(struc - ocelot_mact_forget(ocelot, addr, vid); - } - -- mc->ports |= BIT(port->chip_port); -+ mc->ports |= BIT(port); - addr[2] = mc->ports << 0; - addr[1] = mc->ports << 8; - -@@ -1507,14 +1528,16 @@ static int ocelot_port_obj_add_mdb(struc - static int ocelot_port_obj_del_mdb(struct net_device *dev, - const struct switchdev_obj_port_mdb *mdb) - { -- struct ocelot_port *port = netdev_priv(dev); -- struct ocelot *ocelot = port->ocelot; -- struct ocelot_multicast *mc; -+ struct ocelot_port_private *priv = netdev_priv(dev); -+ struct ocelot_port *ocelot_port = &priv->port; -+ struct ocelot *ocelot = ocelot_port->ocelot; - unsigned char addr[ETH_ALEN]; -+ struct ocelot_multicast *mc; -+ int port = priv->chip_port; - u16 vid = mdb->vid; - - if (!vid) -- vid = port->pvid; -+ vid = ocelot_port->pvid; - - mc = ocelot_multicast_get(ocelot, mdb->addr, vid); - if (!mc) -@@ -1526,7 +1549,7 @@ static int ocelot_port_obj_del_mdb(struc - addr[0] = 0; - ocelot_mact_forget(ocelot, addr, vid); - -- mc->ports &= ~BIT(port->chip_port); -+ mc->ports &= ~BIT(port); - if (!mc->ports) { - list_del(&mc->list); - devm_kfree(ocelot->dev, mc); -@@ -1680,9 +1703,9 @@ static int ocelot_port_lag_join(struct o - - rcu_read_lock(); - for_each_netdev_in_bond_rcu(bond, ndev) { -- struct ocelot_port *port = netdev_priv(ndev); -+ struct ocelot_port_private *priv = netdev_priv(ndev); - -- bond_mask |= BIT(port->chip_port); -+ bond_mask |= BIT(priv->chip_port); - } - rcu_read_unlock(); - -@@ -1750,20 +1773,23 @@ static int ocelot_netdevice_port_event(s - unsigned long event, - struct netdev_notifier_changeupper_info *info) - { -- struct ocelot_port *ocelot_port = netdev_priv(dev); -+ struct ocelot_port_private *priv = netdev_priv(dev); -+ struct ocelot_port *ocelot_port = &priv->port; - struct ocelot *ocelot = ocelot_port->ocelot; -- int port = ocelot_port->chip_port; -+ int port = priv->chip_port; - int err = 0; - - switch (event) { - case NETDEV_CHANGEUPPER: - if (netif_is_bridge_master(info->upper_dev)) { -- if (info->linking) -+ if (info->linking) { - err = ocelot_port_bridge_join(ocelot, port, - info->upper_dev); -- else -+ } else { - err = ocelot_port_bridge_leave(ocelot, port, - info->upper_dev); -+ priv->vlan_aware = false; -+ } - } - if (netif_is_lag_master(info->upper_dev)) { - if (info->linking) -@@ -2079,21 +2105,23 @@ int ocelot_probe_port(struct ocelot *oce - void __iomem *regs, - struct phy_device *phy) - { -+ struct ocelot_port_private *priv; - struct ocelot_port *ocelot_port; - struct net_device *dev; - u32 val; - int err; - -- dev = alloc_etherdev(sizeof(struct ocelot_port)); -+ dev = alloc_etherdev(sizeof(struct ocelot_port_private)); - if (!dev) - return -ENOMEM; - SET_NETDEV_DEV(dev, ocelot->dev); -- ocelot_port = netdev_priv(dev); -- ocelot_port->dev = dev; -+ priv = netdev_priv(dev); -+ priv->dev = dev; -+ priv->phy = phy; -+ priv->chip_port = port; -+ ocelot_port = &priv->port; - ocelot_port->ocelot = ocelot; - ocelot_port->regs = regs; -- ocelot_port->chip_port = port; -- ocelot_port->phy = phy; - ocelot->ports[port] = ocelot_port; - - dev->netdev_ops = &ocelot_port_netdev_ops; ---- a/drivers/net/ethernet/mscc/ocelot.h -+++ b/drivers/net/ethernet/mscc/ocelot.h -@@ -479,11 +479,9 @@ struct ocelot { - }; - - struct ocelot_port { -- struct net_device *dev; - struct ocelot *ocelot; -- struct phy_device *phy; -+ - void __iomem *regs; -- u8 chip_port; - - /* Ingress default VLAN (pvid) */ - u16 pvid; -@@ -491,18 +489,23 @@ struct ocelot_port { - /* Egress default VLAN (vid) */ - u16 vid; - -- u8 vlan_aware; -+ u8 ptp_cmd; -+ struct list_head skbs; -+ u8 ts_id; -+}; - -- u64 *stats; -+struct ocelot_port_private { -+ struct ocelot_port port; -+ struct net_device *dev; -+ struct phy_device *phy; -+ u8 chip_port; -+ -+ u8 vlan_aware; - - phy_interface_t phy_mode; - struct phy *serdes; - - struct ocelot_port_tc tc; -- -- u8 ptp_cmd; -- struct list_head skbs; -- u8 ts_id; - }; - - struct ocelot_skb { ---- a/drivers/net/ethernet/mscc/ocelot_ace.h -+++ b/drivers/net/ethernet/mscc/ocelot_ace.h -@@ -224,9 +224,9 @@ int ocelot_ace_rule_stats_update(struct - int ocelot_ace_init(struct ocelot *ocelot); - void ocelot_ace_deinit(void); - --int ocelot_setup_tc_block_flower_bind(struct ocelot_port *port, -+int ocelot_setup_tc_block_flower_bind(struct ocelot_port_private *priv, - struct flow_block_offload *f); --void ocelot_setup_tc_block_flower_unbind(struct ocelot_port *port, -+void ocelot_setup_tc_block_flower_unbind(struct ocelot_port_private *priv, - struct flow_block_offload *f); - - #endif /* _MSCC_OCELOT_ACE_H_ */ ---- a/drivers/net/ethernet/mscc/ocelot_board.c -+++ b/drivers/net/ethernet/mscc/ocelot_board.c -@@ -95,6 +95,8 @@ static irqreturn_t ocelot_xtr_irq_handle - - do { - struct skb_shared_hwtstamps *shhwtstamps; -+ struct ocelot_port_private *priv; -+ struct ocelot_port *ocelot_port; - u64 tod_in_ns, full_ts_in_ns; - struct frame_info info = {}; - struct net_device *dev; -@@ -122,7 +124,10 @@ static irqreturn_t ocelot_xtr_irq_handle - - ocelot_parse_ifh(ifh, &info); - -- dev = ocelot->ports[info.port]->dev; -+ ocelot_port = ocelot->ports[info.port]; -+ priv = container_of(ocelot_port, struct ocelot_port_private, -+ port); -+ dev = priv->dev; - - skb = netdev_alloc_skb(dev, info.len); - -@@ -371,6 +376,8 @@ static int mscc_ocelot_probe(struct plat - ocelot_init(ocelot); - - for_each_available_child_of_node(ports, portnp) { -+ struct ocelot_port_private *priv; -+ struct ocelot_port *ocelot_port; - struct device_node *phy_node; - struct phy_device *phy; - struct resource *res; -@@ -406,13 +413,17 @@ static int mscc_ocelot_probe(struct plat - goto out_put_ports; - } - -+ ocelot_port = ocelot->ports[port]; -+ priv = container_of(ocelot_port, struct ocelot_port_private, -+ port); -+ - phy_mode = of_get_phy_mode(portnp); - if (phy_mode < 0) -- ocelot->ports[port]->phy_mode = PHY_INTERFACE_MODE_NA; -- else -- ocelot->ports[port]->phy_mode = phy_mode; -+ phy_mode = PHY_INTERFACE_MODE_NA; -+ -+ priv->phy_mode = phy_mode; - -- switch (ocelot->ports[port]->phy_mode) { -+ switch (priv->phy_mode) { - case PHY_INTERFACE_MODE_NA: - continue; - case PHY_INTERFACE_MODE_SGMII: -@@ -421,7 +432,7 @@ static int mscc_ocelot_probe(struct plat - /* Ensure clock signals and speed is set on all - * QSGMII links - */ -- ocelot_port_writel(ocelot->ports[port], -+ ocelot_port_writel(ocelot_port, - DEV_CLOCK_CFG_LINK_SPEED - (OCELOT_SPEED_1000), - DEV_CLOCK_CFG); -@@ -449,7 +460,7 @@ static int mscc_ocelot_probe(struct plat - goto out_put_ports; - } - -- ocelot->ports[port]->serdes = serdes; -+ priv->serdes = serdes; - } - - register_netdevice_notifier(&ocelot_netdevice_nb); ---- a/drivers/net/ethernet/mscc/ocelot_flower.c -+++ b/drivers/net/ethernet/mscc/ocelot_flower.c -@@ -10,7 +10,7 @@ - - struct ocelot_port_block { - struct ocelot_acl_block *block; -- struct ocelot_port *port; -+ struct ocelot_port_private *priv; - }; - - static int ocelot_flower_parse_action(struct flow_cls_offload *f, -@@ -177,8 +177,8 @@ struct ocelot_ace_rule *ocelot_ace_rule_ - if (!rule) - return NULL; - -- rule->port = block->port; -- rule->chip_port = block->port->chip_port; -+ rule->port = &block->priv->port; -+ rule->chip_port = block->priv->chip_port; - return rule; - } - -@@ -202,7 +202,7 @@ static int ocelot_flower_replace(struct - if (ret) - return ret; - -- port_block->port->tc.offload_cnt++; -+ port_block->priv->tc.offload_cnt++; - return 0; - } - -@@ -213,14 +213,14 @@ static int ocelot_flower_destroy(struct - int ret; - - rule.prio = f->common.prio; -- rule.port = port_block->port; -+ rule.port = &port_block->priv->port; - rule.id = f->cookie; - - ret = ocelot_ace_rule_offload_del(&rule); - if (ret) - return ret; - -- port_block->port->tc.offload_cnt--; -+ port_block->priv->tc.offload_cnt--; - return 0; - } - -@@ -231,7 +231,7 @@ static int ocelot_flower_stats_update(st - int ret; - - rule.prio = f->common.prio; -- rule.port = port_block->port; -+ rule.port = &port_block->priv->port; - rule.id = f->cookie; - ret = ocelot_ace_rule_stats_update(&rule); - if (ret) -@@ -261,7 +261,7 @@ static int ocelot_setup_tc_block_cb_flow - { - struct ocelot_port_block *port_block = cb_priv; - -- if (!tc_cls_can_offload_and_chain0(port_block->port->dev, type_data)) -+ if (!tc_cls_can_offload_and_chain0(port_block->priv->dev, type_data)) - return -EOPNOTSUPP; - - switch (type) { -@@ -275,7 +275,7 @@ static int ocelot_setup_tc_block_cb_flow - } - - static struct ocelot_port_block* --ocelot_port_block_create(struct ocelot_port *port) -+ocelot_port_block_create(struct ocelot_port_private *priv) - { - struct ocelot_port_block *port_block; - -@@ -283,7 +283,7 @@ ocelot_port_block_create(struct ocelot_p - if (!port_block) - return NULL; - -- port_block->port = port; -+ port_block->priv = priv; - - return port_block; - } -@@ -300,7 +300,7 @@ static void ocelot_tc_block_unbind(void - ocelot_port_block_destroy(port_block); - } - --int ocelot_setup_tc_block_flower_bind(struct ocelot_port *port, -+int ocelot_setup_tc_block_flower_bind(struct ocelot_port_private *priv, - struct flow_block_offload *f) - { - struct ocelot_port_block *port_block; -@@ -311,14 +311,14 @@ int ocelot_setup_tc_block_flower_bind(st - return -EOPNOTSUPP; - - block_cb = flow_block_cb_lookup(f->block, -- ocelot_setup_tc_block_cb_flower, port); -+ ocelot_setup_tc_block_cb_flower, priv); - if (!block_cb) { -- port_block = ocelot_port_block_create(port); -+ port_block = ocelot_port_block_create(priv); - if (!port_block) - return -ENOMEM; - - block_cb = flow_block_cb_alloc(ocelot_setup_tc_block_cb_flower, -- port, port_block, -+ priv, port_block, - ocelot_tc_block_unbind); - if (IS_ERR(block_cb)) { - ret = PTR_ERR(block_cb); -@@ -339,13 +339,13 @@ err_cb_register: - return ret; - } - --void ocelot_setup_tc_block_flower_unbind(struct ocelot_port *port, -+void ocelot_setup_tc_block_flower_unbind(struct ocelot_port_private *priv, - struct flow_block_offload *f) - { - struct flow_block_cb *block_cb; - - block_cb = flow_block_cb_lookup(f->block, -- ocelot_setup_tc_block_cb_flower, port); -+ ocelot_setup_tc_block_cb_flower, priv); - if (!block_cb) - return; - ---- a/drivers/net/ethernet/mscc/ocelot_tc.c -+++ b/drivers/net/ethernet/mscc/ocelot_tc.c -@@ -9,17 +9,19 @@ - #include "ocelot_ace.h" - #include <net/pkt_cls.h> - --static int ocelot_setup_tc_cls_matchall(struct ocelot_port *port, -+static int ocelot_setup_tc_cls_matchall(struct ocelot_port_private *priv, - struct tc_cls_matchall_offload *f, - bool ingress) - { - struct netlink_ext_ack *extack = f->common.extack; -+ struct ocelot *ocelot = priv->port.ocelot; - struct ocelot_policer pol = { 0 }; - struct flow_action_entry *action; -+ int port = priv->chip_port; - int err; - -- netdev_dbg(port->dev, "%s: port %u command %d cookie %lu\n", -- __func__, port->chip_port, f->command, f->cookie); -+ netdev_dbg(priv->dev, "%s: port %u command %d cookie %lu\n", -+ __func__, port, f->command, f->cookie); - - if (!ingress) { - NL_SET_ERR_MSG_MOD(extack, "Only ingress is supported"); -@@ -34,7 +36,7 @@ static int ocelot_setup_tc_cls_matchall( - return -EOPNOTSUPP; - } - -- if (port->tc.block_shared) { -+ if (priv->tc.block_shared) { - NL_SET_ERR_MSG_MOD(extack, - "Rate limit is not supported on shared blocks"); - return -EOPNOTSUPP; -@@ -47,7 +49,7 @@ static int ocelot_setup_tc_cls_matchall( - return -EOPNOTSUPP; - } - -- if (port->tc.police_id && port->tc.police_id != f->cookie) { -+ if (priv->tc.police_id && priv->tc.police_id != f->cookie) { - NL_SET_ERR_MSG_MOD(extack, - "Only one policer per port is supported\n"); - return -EEXIST; -@@ -58,28 +60,27 @@ static int ocelot_setup_tc_cls_matchall( - PSCHED_NS2TICKS(action->police.burst), - PSCHED_TICKS_PER_SEC); - -- err = ocelot_port_policer_add(port->ocelot, port->chip_port, -- &pol); -+ err = ocelot_port_policer_add(ocelot, port, &pol); - if (err) { - NL_SET_ERR_MSG_MOD(extack, "Could not add policer\n"); - return err; - } - -- port->tc.police_id = f->cookie; -- port->tc.offload_cnt++; -+ priv->tc.police_id = f->cookie; -+ priv->tc.offload_cnt++; - return 0; - case TC_CLSMATCHALL_DESTROY: -- if (port->tc.police_id != f->cookie) -+ if (priv->tc.police_id != f->cookie) - return -ENOENT; - -- err = ocelot_port_policer_del(port->ocelot, port->chip_port); -+ err = ocelot_port_policer_del(ocelot, port); - if (err) { - NL_SET_ERR_MSG_MOD(extack, - "Could not delete policer\n"); - return err; - } -- port->tc.police_id = 0; -- port->tc.offload_cnt--; -+ priv->tc.police_id = 0; -+ priv->tc.offload_cnt--; - return 0; - case TC_CLSMATCHALL_STATS: /* fall through */ - default: -@@ -91,21 +92,21 @@ static int ocelot_setup_tc_block_cb(enum - void *type_data, - void *cb_priv, bool ingress) - { -- struct ocelot_port *port = cb_priv; -+ struct ocelot_port_private *priv = cb_priv; - -- if (!tc_cls_can_offload_and_chain0(port->dev, type_data)) -+ if (!tc_cls_can_offload_and_chain0(priv->dev, type_data)) - return -EOPNOTSUPP; - - switch (type) { - case TC_SETUP_CLSMATCHALL: -- netdev_dbg(port->dev, "tc_block_cb: TC_SETUP_CLSMATCHALL %s\n", -+ netdev_dbg(priv->dev, "tc_block_cb: TC_SETUP_CLSMATCHALL %s\n", - ingress ? "ingress" : "egress"); - -- return ocelot_setup_tc_cls_matchall(port, type_data, ingress); -+ return ocelot_setup_tc_cls_matchall(priv, type_data, ingress); - case TC_SETUP_CLSFLOWER: - return 0; - default: -- netdev_dbg(port->dev, "tc_block_cb: type %d %s\n", -+ netdev_dbg(priv->dev, "tc_block_cb: type %d %s\n", - type, - ingress ? "ingress" : "egress"); - -@@ -131,19 +132,19 @@ static int ocelot_setup_tc_block_cb_eg(e - - static LIST_HEAD(ocelot_block_cb_list); - --static int ocelot_setup_tc_block(struct ocelot_port *port, -+static int ocelot_setup_tc_block(struct ocelot_port_private *priv, - struct flow_block_offload *f) - { - struct flow_block_cb *block_cb; - flow_setup_cb_t *cb; - int err; - -- netdev_dbg(port->dev, "tc_block command %d, binder_type %d\n", -+ netdev_dbg(priv->dev, "tc_block command %d, binder_type %d\n", - f->command, f->binder_type); - - if (f->binder_type == FLOW_BLOCK_BINDER_TYPE_CLSACT_INGRESS) { - cb = ocelot_setup_tc_block_cb_ig; -- port->tc.block_shared = f->block_shared; -+ priv->tc.block_shared = f->block_shared; - } else if (f->binder_type == FLOW_BLOCK_BINDER_TYPE_CLSACT_EGRESS) { - cb = ocelot_setup_tc_block_cb_eg; - } else { -@@ -154,14 +155,14 @@ static int ocelot_setup_tc_block(struct - - switch (f->command) { - case FLOW_BLOCK_BIND: -- if (flow_block_cb_is_busy(cb, port, &ocelot_block_cb_list)) -+ if (flow_block_cb_is_busy(cb, priv, &ocelot_block_cb_list)) - return -EBUSY; - -- block_cb = flow_block_cb_alloc(cb, port, port, NULL); -+ block_cb = flow_block_cb_alloc(cb, priv, priv, NULL); - if (IS_ERR(block_cb)) - return PTR_ERR(block_cb); - -- err = ocelot_setup_tc_block_flower_bind(port, f); -+ err = ocelot_setup_tc_block_flower_bind(priv, f); - if (err < 0) { - flow_block_cb_free(block_cb); - return err; -@@ -170,11 +171,11 @@ static int ocelot_setup_tc_block(struct - list_add_tail(&block_cb->driver_list, f->driver_block_list); - return 0; - case FLOW_BLOCK_UNBIND: -- block_cb = flow_block_cb_lookup(f->block, cb, port); -+ block_cb = flow_block_cb_lookup(f->block, cb, priv); - if (!block_cb) - return -ENOENT; - -- ocelot_setup_tc_block_flower_unbind(port, f); -+ ocelot_setup_tc_block_flower_unbind(priv, f); - flow_block_cb_remove(block_cb, f); - list_del(&block_cb->driver_list); - return 0; -@@ -186,11 +187,11 @@ static int ocelot_setup_tc_block(struct - int ocelot_setup_tc(struct net_device *dev, enum tc_setup_type type, - void *type_data) - { -- struct ocelot_port *port = netdev_priv(dev); -+ struct ocelot_port_private *priv = netdev_priv(dev); - - switch (type) { - case TC_SETUP_BLOCK: -- return ocelot_setup_tc_block(port, type_data); -+ return ocelot_setup_tc_block(priv, type_data); - default: - return -EOPNOTSUPP; - } |