mirror of
https://github.com/openwrt/openwrt.git
synced 2025-02-03 09:40:44 +00:00
4354b34f6f
Backport lots upstream changes, many of them fixes, for the mt7530 DSA driver, similar to how it was done for Linux 6.1 in the previous commit. The remaining differences compared to the upstream driver are only the 'slave' -> 'user', 'master' -> 'conduit' language change in DSA and the rename of 'struct ethtool_eee' to 'struct ethtool_keee' as well as tree-wide replacement of ethtool_sprintf with ethtool_puts, all of them do not have any functional impact. Apart from some minor bug fixes and style improvements the switch should now behave more conformant when it comes to link-local frames, and we will again be able to cleanly pick patches from upstream. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
149 lines
5.4 KiB
Diff
149 lines
5.4 KiB
Diff
From af83e0c7d766078fcd5580c0c81b9e5b55ff5906 Mon Sep 17 00:00:00 2001
|
||
From: =?UTF-8?q?Ar=C4=B1n=C3=A7=20=C3=9CNAL?= <arinc.unal@arinc9.com>
|
||
Date: Tue, 6 Feb 2024 01:08:06 +0300
|
||
Subject: [PATCH 16/30] net: dsa: mt7530: remove pad_setup function pointer
|
||
MIME-Version: 1.0
|
||
Content-Type: text/plain; charset=UTF-8
|
||
Content-Transfer-Encoding: 8bit
|
||
|
||
The pad_setup function pointer was introduced with 88bdef8be9f6 ("net: dsa:
|
||
mt7530: Extend device data ready for adding a new hardware"). It was being
|
||
used to set up the core clock and port 6 of the MT7530 switch, and pll of
|
||
the MT7531 switch.
|
||
|
||
All of these were moved to more appropriate locations, and it was never
|
||
used for the switch on the MT7988 SoC. Therefore, this function pointer
|
||
hasn't got a use anymore. Remove it.
|
||
|
||
Acked-by: Daniel Golle <daniel@makrotopia.org>
|
||
Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
|
||
Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
|
||
Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
|
||
Link: https://lore.kernel.org/r/20240206-for-netnext-mt7530-improvements-2-v5-5-d7d92a185cb1@arinc9.com
|
||
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||
---
|
||
drivers/net/dsa/mt7530.c | 36 ++----------------------------------
|
||
drivers/net/dsa/mt7530.h | 3 ---
|
||
2 files changed, 2 insertions(+), 37 deletions(-)
|
||
|
||
--- a/drivers/net/dsa/mt7530.c
|
||
+++ b/drivers/net/dsa/mt7530.c
|
||
@@ -467,18 +467,6 @@ mt7530_setup_port6(struct dsa_switch *ds
|
||
core_set(priv, CORE_TRGMII_GSW_CLK_CG, REG_TRGMIICK_EN);
|
||
}
|
||
|
||
-static int
|
||
-mt7530_pad_clk_setup(struct dsa_switch *ds, phy_interface_t interface)
|
||
-{
|
||
- return 0;
|
||
-}
|
||
-
|
||
-static int
|
||
-mt7531_pad_setup(struct dsa_switch *ds, phy_interface_t interface)
|
||
-{
|
||
- return 0;
|
||
-}
|
||
-
|
||
static void
|
||
mt7531_pll_setup(struct mt7530_priv *priv)
|
||
{
|
||
@@ -2640,14 +2628,6 @@ static void mt7988_mac_port_get_caps(str
|
||
}
|
||
|
||
static int
|
||
-mt753x_pad_setup(struct dsa_switch *ds, const struct phylink_link_state *state)
|
||
-{
|
||
- struct mt7530_priv *priv = ds->priv;
|
||
-
|
||
- return priv->info->pad_setup(ds, state->interface);
|
||
-}
|
||
-
|
||
-static int
|
||
mt7530_mac_config(struct dsa_switch *ds, int port, unsigned int mode,
|
||
phy_interface_t interface)
|
||
{
|
||
@@ -2812,8 +2792,6 @@ mt753x_phylink_mac_config(struct dsa_swi
|
||
if (priv->p6_interface == state->interface)
|
||
break;
|
||
|
||
- mt753x_pad_setup(ds, state);
|
||
-
|
||
if (mt753x_mac_config(ds, port, mode, state) < 0)
|
||
goto unsupported;
|
||
|
||
@@ -3130,11 +3108,6 @@ mt753x_conduit_state_change(struct dsa_s
|
||
mt7530_rmw(priv, MT7530_MFC, CPU_EN | CPU_PORT_MASK, val);
|
||
}
|
||
|
||
-static int mt7988_pad_setup(struct dsa_switch *ds, phy_interface_t interface)
|
||
-{
|
||
- return 0;
|
||
-}
|
||
-
|
||
static int mt7988_setup(struct dsa_switch *ds)
|
||
{
|
||
struct mt7530_priv *priv = ds->priv;
|
||
@@ -3198,7 +3171,6 @@ const struct mt753x_info mt753x_table[]
|
||
.phy_write_c22 = mt7530_phy_write_c22,
|
||
.phy_read_c45 = mt7530_phy_read_c45,
|
||
.phy_write_c45 = mt7530_phy_write_c45,
|
||
- .pad_setup = mt7530_pad_clk_setup,
|
||
.mac_port_get_caps = mt7530_mac_port_get_caps,
|
||
.mac_port_config = mt7530_mac_config,
|
||
},
|
||
@@ -3210,7 +3182,6 @@ const struct mt753x_info mt753x_table[]
|
||
.phy_write_c22 = mt7530_phy_write_c22,
|
||
.phy_read_c45 = mt7530_phy_read_c45,
|
||
.phy_write_c45 = mt7530_phy_write_c45,
|
||
- .pad_setup = mt7530_pad_clk_setup,
|
||
.mac_port_get_caps = mt7530_mac_port_get_caps,
|
||
.mac_port_config = mt7530_mac_config,
|
||
},
|
||
@@ -3222,7 +3193,6 @@ const struct mt753x_info mt753x_table[]
|
||
.phy_write_c22 = mt7531_ind_c22_phy_write,
|
||
.phy_read_c45 = mt7531_ind_c45_phy_read,
|
||
.phy_write_c45 = mt7531_ind_c45_phy_write,
|
||
- .pad_setup = mt7531_pad_setup,
|
||
.cpu_port_config = mt7531_cpu_port_config,
|
||
.mac_port_get_caps = mt7531_mac_port_get_caps,
|
||
.mac_port_config = mt7531_mac_config,
|
||
@@ -3235,7 +3205,6 @@ const struct mt753x_info mt753x_table[]
|
||
.phy_write_c22 = mt7531_ind_c22_phy_write,
|
||
.phy_read_c45 = mt7531_ind_c45_phy_read,
|
||
.phy_write_c45 = mt7531_ind_c45_phy_write,
|
||
- .pad_setup = mt7988_pad_setup,
|
||
.cpu_port_config = mt7988_cpu_port_config,
|
||
.mac_port_get_caps = mt7988_mac_port_get_caps,
|
||
.mac_port_config = mt7988_mac_config,
|
||
@@ -3265,9 +3234,8 @@ mt7530_probe_common(struct mt7530_priv *
|
||
/* Sanity check if these required device operations are filled
|
||
* properly.
|
||
*/
|
||
- if (!priv->info->sw_setup || !priv->info->pad_setup ||
|
||
- !priv->info->phy_read_c22 || !priv->info->phy_write_c22 ||
|
||
- !priv->info->mac_port_get_caps ||
|
||
+ if (!priv->info->sw_setup || !priv->info->phy_read_c22 ||
|
||
+ !priv->info->phy_write_c22 || !priv->info->mac_port_get_caps ||
|
||
!priv->info->mac_port_config)
|
||
return -EINVAL;
|
||
|
||
--- a/drivers/net/dsa/mt7530.h
|
||
+++ b/drivers/net/dsa/mt7530.h
|
||
@@ -724,8 +724,6 @@ struct mt753x_pcs {
|
||
* @phy_write_c22: Holding the way writing PHY port using C22
|
||
* @phy_read_c45: Holding the way reading PHY port using C45
|
||
* @phy_write_c45: Holding the way writing PHY port using C45
|
||
- * @pad_setup: Holding the way setting up the bus pad for a certain
|
||
- * MAC port
|
||
* @phy_mode_supported: Check if the PHY type is being supported on a certain
|
||
* port
|
||
* @mac_port_validate: Holding the way to set addition validate type for a
|
||
@@ -746,7 +744,6 @@ struct mt753x_info {
|
||
int regnum);
|
||
int (*phy_write_c45)(struct mt7530_priv *priv, int port, int devad,
|
||
int regnum, u16 val);
|
||
- int (*pad_setup)(struct dsa_switch *ds, phy_interface_t interface);
|
||
int (*cpu_port_config)(struct dsa_switch *ds, int port);
|
||
void (*mac_port_get_caps)(struct dsa_switch *ds, int port,
|
||
struct phylink_config *config);
|