* [PATCH net-next v2 0/9] net: stmmac: remove unnecessary of_get_phy_mode() calls
@ 2025-03-12 9:14 Russell King (Oracle)
2025-03-12 9:20 ` [PATCH net-next v2 1/9] net: stmmac: qcom-ethqos: remove of_get_phy_mode() Russell King (Oracle)
` (10 more replies)
0 siblings, 11 replies; 12+ messages in thread
From: Russell King (Oracle) @ 2025-03-12 9:14 UTC (permalink / raw)
To: Andrew Lunn, Heiner Kallweit
Cc: Alexandre Torgue, Andrew Lunn, AngeloGioacchino Del Regno,
Chen-Yu Tsai, David S. Miller, Eric Dumazet, Jakub Kicinski,
Jernej Skrabec, Jerome Brunet, Kevin Hilman, linux-amlogic,
linux-arm-kernel, linux-arm-msm, linux-mediatek, linux-stm32,
linux-sunxi, Martin Blumenstingl, Matthias Brugger,
Maxime Coquelin, Neil Armstrong, netdev, Paolo Abeni,
Samuel Holland, Vinod Koul
Hi,
This series removes unnecessary of_get_phy_mode() calls from the stmmac
glue drivers. stmmac_probe_config_dt() / devm_stmmac_probe_config_dt()
already gets the interface mode using device_get_phy_mode() and stores
it in plat_dat->phy_interface.
Therefore, glue drivers using of_get_phy_mode() are just duplicating
the work that has already been done.
This series adjusts the glue drivers to remove their usage of
of_get_phy_mode().
Changes in v2:
- correct subject for patch 3
- fix build error in patch 3
- add attributations
drivers/net/ethernet/stmicro/stmmac/dwmac-anarion.c | 21 +++++++++------------
drivers/net/ethernet/stmicro/stmmac/dwmac-ipq806x.c | 12 ++++--------
.../net/ethernet/stmicro/stmmac/dwmac-mediatek.c | 8 +-------
drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c | 6 +-----
.../net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c | 4 +---
drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c | 2 +-
drivers/net/ethernet/stmicro/stmmac/dwmac-sti.c | 12 ++++--------
drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 8 +-------
drivers/net/ethernet/stmicro/stmmac/dwmac-sunxi.c | 6 +-----
9 files changed, 23 insertions(+), 56 deletions(-)
--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH net-next v2 1/9] net: stmmac: qcom-ethqos: remove of_get_phy_mode()
2025-03-12 9:14 [PATCH net-next v2 0/9] net: stmmac: remove unnecessary of_get_phy_mode() calls Russell King (Oracle)
@ 2025-03-12 9:20 ` Russell King (Oracle)
2025-03-12 9:20 ` [PATCH net-next v2 2/9] net: stmmac: mediatek: " Russell King (Oracle)
` (9 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Russell King (Oracle) @ 2025-03-12 9:20 UTC (permalink / raw)
To: Andrew Lunn, Heiner Kallweit
Cc: Alexandre Torgue, Andrew Lunn, AngeloGioacchino Del Regno,
Chen-Yu Tsai, David S. Miller, Eric Dumazet, Jakub Kicinski,
Jernej Skrabec, Jerome Brunet, Kevin Hilman, linux-amlogic,
linux-arm-kernel, linux-arm-msm, linux-mediatek, linux-stm32,
linux-sunxi, Martin Blumenstingl, Matthias Brugger,
Maxime Coquelin, Neil Armstrong, netdev, Paolo Abeni,
Samuel Holland, Vinod Koul
devm_stmmac_probe_config_dt() already gets the PHY mode from firmware,
which is stored in plat_dat->phy_interface. Therefore, we don't need to
get it a second time in qcom_ethqos_probe(). Use
plat_dat->phy_interface to initialise ethqos->phy_mode.
Reviewed-by: Michal Kubiak <michal.kubiak@intel.com>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
---
drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c
index eafe637540b6..0e4da216f942 100644
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c
@@ -794,9 +794,7 @@ static int qcom_ethqos_probe(struct platform_device *pdev)
if (!ethqos)
return -ENOMEM;
- ret = of_get_phy_mode(np, ðqos->phy_mode);
- if (ret)
- return dev_err_probe(dev, ret, "Failed to get phy mode\n");
+ ethqos->phy_mode = plat_dat->phy_interface;
switch (ethqos->phy_mode) {
case PHY_INTERFACE_MODE_RGMII:
case PHY_INTERFACE_MODE_RGMII_ID:
--
2.30.2
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH net-next v2 2/9] net: stmmac: mediatek: remove of_get_phy_mode()
2025-03-12 9:14 [PATCH net-next v2 0/9] net: stmmac: remove unnecessary of_get_phy_mode() calls Russell King (Oracle)
2025-03-12 9:20 ` [PATCH net-next v2 1/9] net: stmmac: qcom-ethqos: remove of_get_phy_mode() Russell King (Oracle)
@ 2025-03-12 9:20 ` Russell King (Oracle)
2025-03-12 9:20 ` [PATCH net-next v2 3/9] net: stmmac: anarion: " Russell King (Oracle)
` (8 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Russell King (Oracle) @ 2025-03-12 9:20 UTC (permalink / raw)
To: Andrew Lunn, Heiner Kallweit
Cc: Alexandre Torgue, Andrew Lunn, AngeloGioacchino Del Regno,
Chen-Yu Tsai, David S. Miller, Eric Dumazet, Jakub Kicinski,
Jernej Skrabec, Jerome Brunet, Kevin Hilman, linux-amlogic,
linux-arm-kernel, linux-arm-msm, linux-mediatek, linux-stm32,
linux-sunxi, Martin Blumenstingl, Matthias Brugger,
Maxime Coquelin, Neil Armstrong, netdev, Paolo Abeni,
Samuel Holland, Vinod Koul
devm_stmmac_probe_config_dt() already gets the PHY mode from firmware,
which is stored in plat_dat->phy_interface. Therefore, we don't need to
get it in platform code.
Initialise priv_plat->phy_mode from plat->phy_interface
inmediatek_dwmac_common_data().
Reviewed-by: Michal Kubiak <michal.kubiak@intel.com>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
---
drivers/net/ethernet/stmicro/stmmac/dwmac-mediatek.c | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-mediatek.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-mediatek.c
index c9636832a570..d178d5ddc7c7 100644
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-mediatek.c
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-mediatek.c
@@ -456,7 +456,6 @@ static int mediatek_dwmac_config_dt(struct mediatek_dwmac_plat_data *plat)
{
struct mac_delay_struct *mac_delay = &plat->mac_delay;
u32 tx_delay_ps, rx_delay_ps;
- int err;
plat->peri_regmap = syscon_regmap_lookup_by_phandle(plat->np, "mediatek,pericfg");
if (IS_ERR(plat->peri_regmap)) {
@@ -464,12 +463,6 @@ static int mediatek_dwmac_config_dt(struct mediatek_dwmac_plat_data *plat)
return PTR_ERR(plat->peri_regmap);
}
- err = of_get_phy_mode(plat->np, &plat->phy_mode);
- if (err) {
- dev_err(plat->dev, "not find phy-mode\n");
- return err;
- }
-
if (!of_property_read_u32(plat->np, "mediatek,tx-delay-ps", &tx_delay_ps)) {
if (tx_delay_ps < plat->variant->tx_delay_max) {
mac_delay->tx_delay = tx_delay_ps;
@@ -587,6 +580,7 @@ static int mediatek_dwmac_common_data(struct platform_device *pdev,
{
int i;
+ priv_plat->phy_mode = plat->phy_interface;
plat->mac_interface = priv_plat->phy_mode;
if (priv_plat->mac_wol)
plat->flags &= ~STMMAC_FLAG_USE_PHY_WOL;
--
2.30.2
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH net-next v2 3/9] net: stmmac: anarion: remove of_get_phy_mode()
2025-03-12 9:14 [PATCH net-next v2 0/9] net: stmmac: remove unnecessary of_get_phy_mode() calls Russell King (Oracle)
2025-03-12 9:20 ` [PATCH net-next v2 1/9] net: stmmac: qcom-ethqos: remove of_get_phy_mode() Russell King (Oracle)
2025-03-12 9:20 ` [PATCH net-next v2 2/9] net: stmmac: mediatek: " Russell King (Oracle)
@ 2025-03-12 9:20 ` Russell King (Oracle)
2025-03-12 9:20 ` [PATCH net-next v2 4/9] net: stmmac: ipq806x: " Russell King (Oracle)
` (7 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Russell King (Oracle) @ 2025-03-12 9:20 UTC (permalink / raw)
To: Andrew Lunn, Heiner Kallweit
Cc: Alexandre Torgue, Andrew Lunn, AngeloGioacchino Del Regno,
Chen-Yu Tsai, David S. Miller, Eric Dumazet, Jakub Kicinski,
Jernej Skrabec, Jerome Brunet, Kevin Hilman, linux-amlogic,
linux-arm-kernel, linux-arm-msm, linux-mediatek, linux-stm32,
linux-sunxi, Martin Blumenstingl, Matthias Brugger,
Maxime Coquelin, Neil Armstrong, netdev, Paolo Abeni,
Samuel Holland, Vinod Koul
devm_stmmac_probe_config_dt() already gets the PHY mode from firmware,
which is stored in plat_dat->phy_interface. Therefore, we don't need to
get it in platform code.
Rearrange the initialisation order so we can pass plat_dat into
anarion_config_dt(), thereby providing plat_dat->phy_interface as
necessary there.
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
---
.../ethernet/stmicro/stmmac/dwmac-anarion.c | 21 ++++++++-----------
1 file changed, 9 insertions(+), 12 deletions(-)
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-anarion.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-anarion.c
index ef99ef3f1ab4..37fe7c288878 100644
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-anarion.c
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-anarion.c
@@ -59,10 +59,11 @@ static void anarion_gmac_exit(struct platform_device *pdev, void *priv)
gmac_write_reg(gmac, GMAC_RESET_CONTROL_REG, 1);
}
-static struct anarion_gmac *anarion_config_dt(struct platform_device *pdev)
+static struct anarion_gmac *
+anarion_config_dt(struct platform_device *pdev,
+ struct plat_stmmacenet_data *plat_dat)
{
struct anarion_gmac *gmac;
- phy_interface_t phy_mode;
void __iomem *ctl_block;
int err;
@@ -79,11 +80,7 @@ static struct anarion_gmac *anarion_config_dt(struct platform_device *pdev)
gmac->ctl_block = ctl_block;
- err = of_get_phy_mode(pdev->dev.of_node, &phy_mode);
- if (err)
- return ERR_PTR(err);
-
- switch (phy_mode) {
+ switch (plat_dat->phy_interface) {
case PHY_INTERFACE_MODE_RGMII:
fallthrough;
case PHY_INTERFACE_MODE_RGMII_ID:
@@ -93,7 +90,7 @@ static struct anarion_gmac *anarion_config_dt(struct platform_device *pdev)
break;
default:
dev_err(&pdev->dev, "Unsupported phy-mode (%d)\n",
- phy_mode);
+ plat_dat->phy_interface);
return ERR_PTR(-ENOTSUPP);
}
@@ -111,14 +108,14 @@ static int anarion_dwmac_probe(struct platform_device *pdev)
if (ret)
return ret;
- gmac = anarion_config_dt(pdev);
- if (IS_ERR(gmac))
- return PTR_ERR(gmac);
-
plat_dat = devm_stmmac_probe_config_dt(pdev, stmmac_res.mac);
if (IS_ERR(plat_dat))
return PTR_ERR(plat_dat);
+ gmac = anarion_config_dt(pdev, plat_dat);
+ if (IS_ERR(gmac))
+ return PTR_ERR(gmac);
+
plat_dat->init = anarion_gmac_init;
plat_dat->exit = anarion_gmac_exit;
anarion_gmac_init(pdev, gmac);
--
2.30.2
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH net-next v2 4/9] net: stmmac: ipq806x: remove of_get_phy_mode()
2025-03-12 9:14 [PATCH net-next v2 0/9] net: stmmac: remove unnecessary of_get_phy_mode() calls Russell King (Oracle)
` (2 preceding siblings ...)
2025-03-12 9:20 ` [PATCH net-next v2 3/9] net: stmmac: anarion: " Russell King (Oracle)
@ 2025-03-12 9:20 ` Russell King (Oracle)
2025-03-12 9:20 ` [PATCH net-next v2 5/9] net: stmmac: meson8b: " Russell King (Oracle)
` (6 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Russell King (Oracle) @ 2025-03-12 9:20 UTC (permalink / raw)
To: Andrew Lunn, Heiner Kallweit
Cc: Alexandre Torgue, Andrew Lunn, AngeloGioacchino Del Regno,
Chen-Yu Tsai, David S. Miller, Eric Dumazet, Jakub Kicinski,
Jernej Skrabec, Jerome Brunet, Kevin Hilman, linux-amlogic,
linux-arm-kernel, linux-arm-msm, linux-mediatek, linux-stm32,
linux-sunxi, Martin Blumenstingl, Matthias Brugger,
Maxime Coquelin, Neil Armstrong, netdev, Paolo Abeni,
Samuel Holland, Vinod Koul
devm_stmmac_probe_config_dt() already gets the PHY mode from firmware,
which is stored in plat_dat->phy_interface. Therefore, we don't need to
get it in platform code.
Pass plat_dat into ipq806x_gmac_of_parse(), and set gmac->phy_mode from
plat_dat->phy_interface.
Reviewed-by: Michal Kubiak <michal.kubiak@intel.com>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
---
drivers/net/ethernet/stmicro/stmmac/dwmac-ipq806x.c | 12 ++++--------
1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-ipq806x.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-ipq806x.c
index 0a9c137cc4e6..ca4035cbb55b 100644
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-ipq806x.c
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-ipq806x.c
@@ -211,16 +211,12 @@ static int ipq806x_gmac_set_speed(struct ipq806x_gmac *gmac, int speed)
return 0;
}
-static int ipq806x_gmac_of_parse(struct ipq806x_gmac *gmac)
+static int ipq806x_gmac_of_parse(struct ipq806x_gmac *gmac,
+ struct plat_stmmacenet_data *plat_dat)
{
struct device *dev = &gmac->pdev->dev;
- int ret;
- ret = of_get_phy_mode(dev->of_node, &gmac->phy_mode);
- if (ret) {
- dev_err(dev, "missing phy mode property\n");
- return -EINVAL;
- }
+ gmac->phy_mode = plat_dat->phy_interface;
if (of_property_read_u32(dev->of_node, "qcom,id", &gmac->id) < 0) {
dev_err(dev, "missing qcom id property\n");
@@ -398,7 +394,7 @@ static int ipq806x_gmac_probe(struct platform_device *pdev)
gmac->pdev = pdev;
- err = ipq806x_gmac_of_parse(gmac);
+ err = ipq806x_gmac_of_parse(gmac, plat_dat);
if (err) {
dev_err(dev, "device tree parsing error\n");
return err;
--
2.30.2
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH net-next v2 5/9] net: stmmac: meson8b: remove of_get_phy_mode()
2025-03-12 9:14 [PATCH net-next v2 0/9] net: stmmac: remove unnecessary of_get_phy_mode() calls Russell King (Oracle)
` (3 preceding siblings ...)
2025-03-12 9:20 ` [PATCH net-next v2 4/9] net: stmmac: ipq806x: " Russell King (Oracle)
@ 2025-03-12 9:20 ` Russell King (Oracle)
2025-03-12 9:20 ` [PATCH net-next v2 6/9] net: stmmac: rk: " Russell King (Oracle)
` (5 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Russell King (Oracle) @ 2025-03-12 9:20 UTC (permalink / raw)
To: Andrew Lunn, Heiner Kallweit
Cc: Alexandre Torgue, Andrew Lunn, AngeloGioacchino Del Regno,
Chen-Yu Tsai, David S. Miller, Eric Dumazet, Jakub Kicinski,
Jernej Skrabec, Jerome Brunet, Kevin Hilman, linux-amlogic,
linux-arm-kernel, linux-arm-msm, linux-mediatek, linux-stm32,
linux-sunxi, Martin Blumenstingl, Matthias Brugger,
Maxime Coquelin, Neil Armstrong, netdev, Paolo Abeni,
Samuel Holland, Vinod Koul
devm_stmmac_probe_config_dt() already gets the PHY mode from firmware,
which is stored in plat_dat->phy_interface. Therefore, we don't need to
get it in platform code.
Set dwmac->phy_mode from plat_dat->phy_interface.
Reviewed-by: Michal Kubiak <michal.kubiak@intel.com>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
---
drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c
index 9c2d62d133ad..a50782994b97 100644
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c
@@ -417,11 +417,7 @@ static int meson8b_dwmac_probe(struct platform_device *pdev)
return PTR_ERR(dwmac->regs);
dwmac->dev = &pdev->dev;
- ret = of_get_phy_mode(pdev->dev.of_node, &dwmac->phy_mode);
- if (ret) {
- dev_err(&pdev->dev, "missing phy-mode property\n");
- return ret;
- }
+ dwmac->phy_mode = plat_dat->phy_interface;
/* use 2ns as fallback since this value was previously hardcoded */
if (of_property_read_u32(pdev->dev.of_node, "amlogic,tx-delay-ns",
--
2.30.2
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH net-next v2 6/9] net: stmmac: rk: remove of_get_phy_mode()
2025-03-12 9:14 [PATCH net-next v2 0/9] net: stmmac: remove unnecessary of_get_phy_mode() calls Russell King (Oracle)
` (4 preceding siblings ...)
2025-03-12 9:20 ` [PATCH net-next v2 5/9] net: stmmac: meson8b: " Russell King (Oracle)
@ 2025-03-12 9:20 ` Russell King (Oracle)
2025-03-12 9:20 ` [PATCH net-next v2 7/9] net: stmmac: sti: " Russell King (Oracle)
` (4 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Russell King (Oracle) @ 2025-03-12 9:20 UTC (permalink / raw)
To: Andrew Lunn, Heiner Kallweit
Cc: Alexandre Torgue, Andrew Lunn, AngeloGioacchino Del Regno,
Chen-Yu Tsai, David S. Miller, Eric Dumazet, Jakub Kicinski,
Jernej Skrabec, Jerome Brunet, Kevin Hilman, linux-amlogic,
linux-arm-kernel, linux-arm-msm, linux-mediatek, linux-stm32,
linux-sunxi, Martin Blumenstingl, Matthias Brugger,
Maxime Coquelin, Neil Armstrong, netdev, Paolo Abeni,
Samuel Holland, Vinod Koul
devm_stmmac_probe_config_dt() already gets the PHY mode from firmware,
which is stored in plat_dat->phy_interface. Therefore, we don't need to
get it in platform code.
Set bsp_priv->phy_iface from plat->phy_interface.
Reviewed-by: Michal Kubiak <michal.kubiak@intel.com>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
---
drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c
index 003fa5cf42c3..40e8197812e2 100644
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c
@@ -1749,7 +1749,7 @@ static struct rk_priv_data *rk_gmac_setup(struct platform_device *pdev,
if (!bsp_priv)
return ERR_PTR(-ENOMEM);
- of_get_phy_mode(dev->of_node, &bsp_priv->phy_iface);
+ bsp_priv->phy_iface = plat->phy_interface;
bsp_priv->ops = ops;
/* Some SoCs have multiple MAC controllers, which need
--
2.30.2
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH net-next v2 7/9] net: stmmac: sti: remove of_get_phy_mode()
2025-03-12 9:14 [PATCH net-next v2 0/9] net: stmmac: remove unnecessary of_get_phy_mode() calls Russell King (Oracle)
` (5 preceding siblings ...)
2025-03-12 9:20 ` [PATCH net-next v2 6/9] net: stmmac: rk: " Russell King (Oracle)
@ 2025-03-12 9:20 ` Russell King (Oracle)
2025-03-12 9:21 ` [PATCH net-next v2 8/9] net: stmmac: sun8i: " Russell King (Oracle)
` (3 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Russell King (Oracle) @ 2025-03-12 9:20 UTC (permalink / raw)
To: Andrew Lunn, Heiner Kallweit
Cc: Alexandre Torgue, Andrew Lunn, AngeloGioacchino Del Regno,
Chen-Yu Tsai, David S. Miller, Eric Dumazet, Jakub Kicinski,
Jernej Skrabec, Jerome Brunet, Kevin Hilman, linux-amlogic,
linux-arm-kernel, linux-arm-msm, linux-mediatek, linux-stm32,
linux-sunxi, Martin Blumenstingl, Matthias Brugger,
Maxime Coquelin, Neil Armstrong, netdev, Paolo Abeni,
Samuel Holland, Vinod Koul
devm_stmmac_probe_config_dt() already gets the PHY mode from firmware,
which is stored in plat_dat->phy_interface. Therefore, we don't need to
get it in platform code.
Pass plat_dat into sti_dwmac_parse_data(), and set dwmac->interface
from plat_dat->phy_interface.
Reviewed-by: Michal Kubiak <michal.kubiak@intel.com>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
---
drivers/net/ethernet/stmicro/stmmac/dwmac-sti.c | 12 ++++--------
1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-sti.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-sti.c
index 13b9c2a51fce..be57c6c12c1c 100644
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-sti.c
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-sti.c
@@ -185,7 +185,8 @@ static int sti_dwmac_set_mode(struct sti_dwmac *dwmac)
}
static int sti_dwmac_parse_data(struct sti_dwmac *dwmac,
- struct platform_device *pdev)
+ struct platform_device *pdev,
+ struct plat_stmmacenet_data *plat_dat)
{
struct resource *res;
struct device *dev = &pdev->dev;
@@ -204,12 +205,7 @@ static int sti_dwmac_parse_data(struct sti_dwmac *dwmac,
if (IS_ERR(regmap))
return PTR_ERR(regmap);
- err = of_get_phy_mode(np, &dwmac->interface);
- if (err && err != -ENODEV) {
- dev_err(dev, "Can't get phy-mode\n");
- return err;
- }
-
+ dwmac->interface = plat_dat->phy_interface;
dwmac->regmap = regmap;
dwmac->gmac_en = of_property_read_bool(np, "st,gmac_en");
dwmac->ext_phyclk = of_property_read_bool(np, "st,ext-phyclk");
@@ -268,7 +264,7 @@ static int sti_dwmac_probe(struct platform_device *pdev)
if (!dwmac)
return -ENOMEM;
- ret = sti_dwmac_parse_data(dwmac, pdev);
+ ret = sti_dwmac_parse_data(dwmac, pdev, plat_dat);
if (ret) {
dev_err(&pdev->dev, "Unable to parse OF data\n");
return ret;
--
2.30.2
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH net-next v2 8/9] net: stmmac: sun8i: remove of_get_phy_mode()
2025-03-12 9:14 [PATCH net-next v2 0/9] net: stmmac: remove unnecessary of_get_phy_mode() calls Russell King (Oracle)
` (6 preceding siblings ...)
2025-03-12 9:20 ` [PATCH net-next v2 7/9] net: stmmac: sti: " Russell King (Oracle)
@ 2025-03-12 9:21 ` Russell King (Oracle)
2025-03-12 9:21 ` [PATCH net-next v2 9/9] net: stmmac: sunxi: " Russell King (Oracle)
` (2 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Russell King (Oracle) @ 2025-03-12 9:21 UTC (permalink / raw)
To: Andrew Lunn, Heiner Kallweit
Cc: Alexandre Torgue, Andrew Lunn, AngeloGioacchino Del Regno,
Chen-Yu Tsai, David S. Miller, Eric Dumazet, Jakub Kicinski,
Jernej Skrabec, Jerome Brunet, Kevin Hilman, linux-amlogic,
linux-arm-kernel, linux-arm-msm, linux-mediatek, linux-stm32,
linux-sunxi, Martin Blumenstingl, Matthias Brugger,
Maxime Coquelin, Neil Armstrong, netdev, Paolo Abeni,
Samuel Holland, Vinod Koul
devm_stmmac_probe_config_dt() already gets the PHY mode from firmware,
which is stored in plat_dat->phy_interface. Therefore, we don't need to
get it in platform code.
sun8i was using of_get_phy_mode() to set plat_dat->mac_interface, which
defaults to plat_dat->phy_interface when the mac-mode DT property is
not present. As nothing in arch/*/boot/dts sets the mac-mode property,
it is highly likely that these two will be identical, and thus there
is no need for this glue driver to set plat_dat->mac_interface.
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Michal Kubiak <michal.kubiak@intel.com>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
---
drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c
index 4b7b2582a120..85723a78793a 100644
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c
@@ -1155,11 +1155,10 @@ static int sun8i_dwmac_probe(struct platform_device *pdev)
struct stmmac_resources stmmac_res;
struct sunxi_priv_data *gmac;
struct device *dev = &pdev->dev;
- phy_interface_t interface;
- int ret;
struct stmmac_priv *priv;
struct net_device *ndev;
struct regmap *regmap;
+ int ret;
ret = stmmac_get_platform_resources(pdev, &stmmac_res);
if (ret)
@@ -1219,10 +1218,6 @@ static int sun8i_dwmac_probe(struct platform_device *pdev)
return ret;
}
- ret = of_get_phy_mode(dev->of_node, &interface);
- if (ret)
- return -EINVAL;
-
plat_dat = devm_stmmac_probe_config_dt(pdev, stmmac_res.mac);
if (IS_ERR(plat_dat))
return PTR_ERR(plat_dat);
@@ -1230,7 +1225,6 @@ static int sun8i_dwmac_probe(struct platform_device *pdev)
/* platform data specifying hardware features and callbacks.
* hardware features were copied from Allwinner drivers.
*/
- plat_dat->mac_interface = interface;
plat_dat->rx_coe = STMMAC_RX_COE_TYPE2;
plat_dat->tx_coe = 1;
plat_dat->flags |= STMMAC_FLAG_HAS_SUN8I;
--
2.30.2
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH net-next v2 9/9] net: stmmac: sunxi: remove of_get_phy_mode()
2025-03-12 9:14 [PATCH net-next v2 0/9] net: stmmac: remove unnecessary of_get_phy_mode() calls Russell King (Oracle)
` (7 preceding siblings ...)
2025-03-12 9:21 ` [PATCH net-next v2 8/9] net: stmmac: sun8i: " Russell King (Oracle)
@ 2025-03-12 9:21 ` Russell King (Oracle)
2025-03-13 22:48 ` [PATCH net-next v2 0/9] net: stmmac: remove unnecessary of_get_phy_mode() calls Jacob Keller
2025-03-18 15:00 ` patchwork-bot+netdevbpf
10 siblings, 0 replies; 12+ messages in thread
From: Russell King (Oracle) @ 2025-03-12 9:21 UTC (permalink / raw)
To: Andrew Lunn, Heiner Kallweit
Cc: Alexandre Torgue, Andrew Lunn, AngeloGioacchino Del Regno,
Chen-Yu Tsai, David S. Miller, Eric Dumazet, Jakub Kicinski,
Jernej Skrabec, Jerome Brunet, Kevin Hilman, linux-amlogic,
linux-arm-kernel, linux-arm-msm, linux-mediatek, linux-stm32,
linux-sunxi, Martin Blumenstingl, Matthias Brugger,
Maxime Coquelin, Neil Armstrong, netdev, Paolo Abeni,
Samuel Holland, Vinod Koul
devm_stmmac_probe_config_dt() already gets the PHY mode from firmware,
which is stored in plat_dat->phy_interface. Therefore, we don't need to
get it in platform code.
Set gmac->interface from plat_dat->phy_interface.
Reviewed-by: Michal Kubiak <michal.kubiak@intel.com>
Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
---
drivers/net/ethernet/stmicro/stmmac/dwmac-sunxi.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-sunxi.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-sunxi.c
index 1b1ce2888b2e..9f098ff0ff05 100644
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-sunxi.c
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-sunxi.c
@@ -116,11 +116,7 @@ static int sun7i_gmac_probe(struct platform_device *pdev)
if (!gmac)
return -ENOMEM;
- ret = of_get_phy_mode(dev->of_node, &gmac->interface);
- if (ret && ret != -ENODEV) {
- dev_err(dev, "Can't get phy-mode\n");
- return ret;
- }
+ gmac->interface = plat_dat->phy_interface;
gmac->tx_clk = devm_clk_get(dev, "allwinner_gmac_tx");
if (IS_ERR(gmac->tx_clk)) {
--
2.30.2
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH net-next v2 0/9] net: stmmac: remove unnecessary of_get_phy_mode() calls
2025-03-12 9:14 [PATCH net-next v2 0/9] net: stmmac: remove unnecessary of_get_phy_mode() calls Russell King (Oracle)
` (8 preceding siblings ...)
2025-03-12 9:21 ` [PATCH net-next v2 9/9] net: stmmac: sunxi: " Russell King (Oracle)
@ 2025-03-13 22:48 ` Jacob Keller
2025-03-18 15:00 ` patchwork-bot+netdevbpf
10 siblings, 0 replies; 12+ messages in thread
From: Jacob Keller @ 2025-03-13 22:48 UTC (permalink / raw)
To: Russell King (Oracle), Andrew Lunn, Heiner Kallweit
Cc: Alexandre Torgue, Andrew Lunn, AngeloGioacchino Del Regno,
Chen-Yu Tsai, David S. Miller, Eric Dumazet, Jakub Kicinski,
Jernej Skrabec, Jerome Brunet, Kevin Hilman, linux-amlogic,
linux-arm-kernel, linux-arm-msm, linux-mediatek, linux-stm32,
linux-sunxi, Martin Blumenstingl, Matthias Brugger,
Maxime Coquelin, Neil Armstrong, netdev, Paolo Abeni,
Samuel Holland, Vinod Koul
On 3/12/2025 2:14 AM, Russell King (Oracle) wrote:
> Hi,
>
> This series removes unnecessary of_get_phy_mode() calls from the stmmac
> glue drivers. stmmac_probe_config_dt() / devm_stmmac_probe_config_dt()
> already gets the interface mode using device_get_phy_mode() and stores
> it in plat_dat->phy_interface.
>
> Therefore, glue drivers using of_get_phy_mode() are just duplicating
> the work that has already been done.
>
> This series adjusts the glue drivers to remove their usage of
> of_get_phy_mode().
>
> Changes in v2:
> - correct subject for patch 3
> - fix build error in patch 3
> - add attributations
>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
> drivers/net/ethernet/stmicro/stmmac/dwmac-anarion.c | 21 +++++++++------------
> drivers/net/ethernet/stmicro/stmmac/dwmac-ipq806x.c | 12 ++++--------
> .../net/ethernet/stmicro/stmmac/dwmac-mediatek.c | 8 +-------
> drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c | 6 +-----
> .../net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c | 4 +---
> drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c | 2 +-
> drivers/net/ethernet/stmicro/stmmac/dwmac-sti.c | 12 ++++--------
> drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 8 +-------
> drivers/net/ethernet/stmicro/stmmac/dwmac-sunxi.c | 6 +-----
> 9 files changed, 23 insertions(+), 56 deletions(-)
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH net-next v2 0/9] net: stmmac: remove unnecessary of_get_phy_mode() calls
2025-03-12 9:14 [PATCH net-next v2 0/9] net: stmmac: remove unnecessary of_get_phy_mode() calls Russell King (Oracle)
` (9 preceding siblings ...)
2025-03-13 22:48 ` [PATCH net-next v2 0/9] net: stmmac: remove unnecessary of_get_phy_mode() calls Jacob Keller
@ 2025-03-18 15:00 ` patchwork-bot+netdevbpf
10 siblings, 0 replies; 12+ messages in thread
From: patchwork-bot+netdevbpf @ 2025-03-18 15:00 UTC (permalink / raw)
To: Russell King
Cc: andrew, hkallweit1, alexandre.torgue, andrew+netdev,
angelogioacchino.delregno, wens, davem, edumazet, kuba,
jernej.skrabec, jbrunet, khilman, linux-amlogic, linux-arm-kernel,
linux-arm-msm, linux-mediatek, linux-stm32, linux-sunxi,
martin.blumenstingl, matthias.bgg, mcoquelin.stm32,
neil.armstrong, netdev, pabeni, samuel, vkoul
Hello:
This series was applied to netdev/net-next.git (main)
by Paolo Abeni <pabeni@redhat.com>:
On Wed, 12 Mar 2025 09:14:53 +0000 you wrote:
> Hi,
>
> This series removes unnecessary of_get_phy_mode() calls from the stmmac
> glue drivers. stmmac_probe_config_dt() / devm_stmmac_probe_config_dt()
> already gets the interface mode using device_get_phy_mode() and stores
> it in plat_dat->phy_interface.
>
> [...]
Here is the summary with links:
- [net-next,v2,1/9] net: stmmac: qcom-ethqos: remove of_get_phy_mode()
https://git.kernel.org/netdev/net-next/c/8ee1c926f31e
- [net-next,v2,2/9] net: stmmac: mediatek: remove of_get_phy_mode()
https://git.kernel.org/netdev/net-next/c/46f84d700cb8
- [net-next,v2,3/9] net: stmmac: anarion: remove of_get_phy_mode()
https://git.kernel.org/netdev/net-next/c/e3ef12172a83
- [net-next,v2,4/9] net: stmmac: ipq806x: remove of_get_phy_mode()
https://git.kernel.org/netdev/net-next/c/f07cb4b4b481
- [net-next,v2,5/9] net: stmmac: meson8b: remove of_get_phy_mode()
https://git.kernel.org/netdev/net-next/c/3e5833060efb
- [net-next,v2,6/9] net: stmmac: rk: remove of_get_phy_mode()
https://git.kernel.org/netdev/net-next/c/9886718ad1c5
- [net-next,v2,7/9] net: stmmac: sti: remove of_get_phy_mode()
https://git.kernel.org/netdev/net-next/c/3e2858bb3f59
- [net-next,v2,8/9] net: stmmac: sun8i: remove of_get_phy_mode()
https://git.kernel.org/netdev/net-next/c/3d9e9dfce04c
- [net-next,v2,9/9] net: stmmac: sunxi: remove of_get_phy_mode()
https://git.kernel.org/netdev/net-next/c/00d2c3c07124
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2025-03-18 15:02 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-12 9:14 [PATCH net-next v2 0/9] net: stmmac: remove unnecessary of_get_phy_mode() calls Russell King (Oracle)
2025-03-12 9:20 ` [PATCH net-next v2 1/9] net: stmmac: qcom-ethqos: remove of_get_phy_mode() Russell King (Oracle)
2025-03-12 9:20 ` [PATCH net-next v2 2/9] net: stmmac: mediatek: " Russell King (Oracle)
2025-03-12 9:20 ` [PATCH net-next v2 3/9] net: stmmac: anarion: " Russell King (Oracle)
2025-03-12 9:20 ` [PATCH net-next v2 4/9] net: stmmac: ipq806x: " Russell King (Oracle)
2025-03-12 9:20 ` [PATCH net-next v2 5/9] net: stmmac: meson8b: " Russell King (Oracle)
2025-03-12 9:20 ` [PATCH net-next v2 6/9] net: stmmac: rk: " Russell King (Oracle)
2025-03-12 9:20 ` [PATCH net-next v2 7/9] net: stmmac: sti: " Russell King (Oracle)
2025-03-12 9:21 ` [PATCH net-next v2 8/9] net: stmmac: sun8i: " Russell King (Oracle)
2025-03-12 9:21 ` [PATCH net-next v2 9/9] net: stmmac: sunxi: " Russell King (Oracle)
2025-03-13 22:48 ` [PATCH net-next v2 0/9] net: stmmac: remove unnecessary of_get_phy_mode() calls Jacob Keller
2025-03-18 15:00 ` patchwork-bot+netdevbpf
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).