]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
realtek: dsa: drop array from stp_get signature 23080/head
authorMarkus Stockhausen <markus.stockhausen@gmx.de>
Fri, 24 Apr 2026 11:09:02 +0000 (13:09 +0200)
committerHauke Mehrtens <hauke@hauke-m.de>
Wed, 29 Apr 2026 21:23:11 +0000 (23:23 +0200)
Now that the stp_set() helpers have been refactored the stp_get()
helpers can be simplified. Drop the last array parameter. It is
no longer needed/evaluated by its callers.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23080
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/common.c
target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/rtl-otto.h
target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/rtl838x.c
target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/rtl839x.c
target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/rtl930x.c
target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/rtl931x.c

index 964d3d64eba56d0473e0fc7d7b8d06448e23d2e1..8b267a4f3b38b5183c0d095f5803a9d9a590d397 100644 (file)
@@ -20,7 +20,6 @@ struct phylink_pcs *rtpcs_create(struct device *dev, struct device_node *np, int
 
 int rtldsa_port_get_stp_state(struct rtl838x_switch_priv *priv, int port)
 {
-       u32 table[4];
        u32 msti = 0;
        int state;
 
@@ -28,7 +27,7 @@ int rtldsa_port_get_stp_state(struct rtl838x_switch_priv *priv, int port)
                return -EINVAL;
 
        mutex_lock(&priv->reg_mutex);
-       state = priv->r->stp_get(priv, msti, port, table);
+       state = priv->r->stp_get(priv, msti, port);
        mutex_unlock(&priv->reg_mutex);
 
        return state;
index 744dc0ec146e538a273d5f0a91a1358f7d6fff55..aa747b2c750ce7a07eccdaa44c9bc7367fdf6a51 100644 (file)
@@ -1439,7 +1439,7 @@ struct rtldsa_config {
        void (*enable_mcast_flood)(int port, bool enable);
        void (*enable_bcast_flood)(int port, bool enable);
        void (*set_static_move_action)(int port, bool forward);
-       int (*stp_get)(struct rtl838x_switch_priv *priv, u16 msti, int port, u32 port_state[]);
+       int (*stp_get)(struct rtl838x_switch_priv *priv, u16 msti, int port);
        void (*stp_set)(struct rtl838x_switch_priv *priv, u16 msti, int port, int state);
        int mac_link_sts;
        int  (*mac_force_mode_ctrl)(int port);
index 03b9b7cdcdf97609e521c541369693b08135ecb7..aa118ff7caa1267fda6ddff83b24d728b518deef 100644 (file)
@@ -641,18 +641,18 @@ static void rtl838x_set_static_move_action(int port, bool forward)
                    RTL838X_L2_PORT_STATIC_MV_ACT(port));
 }
 
-static int rtldsa_838x_stp_get(struct rtl838x_switch_priv *priv, u16 msti, int port, u32 port_state[])
+static int rtldsa_838x_stp_get(struct rtl838x_switch_priv *priv, u16 msti, int port)
 {
        struct table_reg *r = rtl_table_get(RTL8380_TBL_0, 2);
        int idx = 1 - (port / 16);
        int bit = 2 * (port % 16);
+       int state;
 
        rtl_table_read(r, msti);
-       for (int i = 0; i < 2; i++)
-               port_state[i] = sw_r32(rtl_table_data(r, i));
+       state = (sw_r32(rtl_table_data(r, idx)) >> bit) & 0x3;
        rtl_table_release(r);
 
-       return (port_state[idx] >> bit) & 3;
+       return state;
 }
 
 static void rtl838x_stp_set(struct rtl838x_switch_priv *priv, u16 msti, int port, int state)
index f44f8567a7e90ffc02922e6f76d6257c3724e496..b932cee3b1fb1d25b1bb7abf29decb0559106de3 100644 (file)
@@ -708,18 +708,18 @@ rtldsa_839x_vlan_profile_dump(struct rtl838x_switch_priv *priv, int idx)
                sw_r32(RTL839X_VLAN_PROFILE(idx) + 4));
 }
 
-static int rtldsa_839x_stp_get(struct rtl838x_switch_priv *priv, u16 msti, int port, u32 port_state[])
+static int rtldsa_839x_stp_get(struct rtl838x_switch_priv *priv, u16 msti, int port)
 {
        struct table_reg *r = rtl_table_get(RTL8390_TBL_0, 5);
        int idx = 3 - ((port + 12) / 16);
        int bit = 2 * ((port + 12) % 16);
+       int state;
 
        rtl_table_read(r, msti);
-       for (int i = 0; i < 4; i++)
-               port_state[i] = sw_r32(rtl_table_data(r, i));
+       state = (sw_r32(rtl_table_data(r, idx)) >> bit) & 0x3;
        rtl_table_release(r);
 
-       return (port_state[idx] >> bit) & 3;
+       return state;
 }
 
 static void rtl839x_stp_set(struct rtl838x_switch_priv *priv, u16 msti, int port, int state)
index 90dcee3179ab473e6aa11a86b1b0d1bfa18ed265..f6f16249556c932d7ce574ddf37f302391c12855 100644 (file)
@@ -627,18 +627,18 @@ static struct table_reg *rtldsa_930x_lag_table(void)
        return rtl_table_get(RTL9300_TBL_0, 7);
 }
 
-static int rtldsa_930x_stp_get(struct rtl838x_switch_priv *priv, u16 msti, int port, u32 port_state[])
+static int rtldsa_930x_stp_get(struct rtl838x_switch_priv *priv, u16 msti, int port)
 {
        struct table_reg *r = rtl_table_get(RTL9300_TBL_0, 4);
        int idx = 1 - ((port + 3) / 16);
        int bit = 2 * ((port + 3) % 16);
+       int state;
 
        rtl_table_read(r, msti);
-       for (int i = 0; i < 2; i++)
-               port_state[i] = sw_r32(rtl_table_data(r, i));
+       state = (sw_r32(rtl_table_data(r, idx)) >> bit) & 0x3;
        rtl_table_release(r);
 
-       return (port_state[idx] >> bit) & 3;
+       return state;
 }
 
 static void rtl930x_stp_set(struct rtl838x_switch_priv *priv, u16 msti, int port, int state)
index b205f2b7a93e9a6d645a5db96e090ffd032c9bd5..750c121236d6ada64e048fa2366818a55b965260 100644 (file)
@@ -250,18 +250,18 @@ rtldsa_931x_vlan_profile_dump(struct rtl838x_switch_priv *priv, int idx)
                p.unkn_mc_fld.pmsks.ip, p.unkn_mc_fld.pmsks.ip6);
 }
 
-static int rtldsa_931x_stp_get(struct rtl838x_switch_priv *priv, u16 msti, int port, u32 port_state[])
+static int rtldsa_931x_stp_get(struct rtl838x_switch_priv *priv, u16 msti, int port)
 {
        struct table_reg *r = rtl_table_get(RTL9310_TBL_0, 5);
        int idx = 3 - ((port + 8) / 16);
        int bit = 2 * ((port + 8) % 16);
+       int state;
 
        rtl_table_read(r, msti);
-       for (int i = 0; i < 4; i++)
-               port_state[i] = sw_r32(rtl_table_data(r, i));
+       state = (sw_r32(rtl_table_data(r, idx)) >> bit) & 0x3;
        rtl_table_release(r);
 
-       return (port_state[idx] >> bit) & 3;
+       return state;
 }
 
 static void rtl931x_stp_set(struct rtl838x_switch_priv *priv, u16 msti, int port, int state)