[openwrt/openwrt] siflower: 6.12: apply trivial driver fixes

LEDE Commits lede-commits at lists.infradead.org
Wed Nov 19 11:57:46 PST 2025


ansuel pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/25c6c2678e69375356ece4d187ac3a056b56601a

commit 25c6c2678e69375356ece4d187ac3a056b56601a
Author: Zhu Yujie <libriunc at gmail.com>
AuthorDate: Wed Nov 19 17:09:52 2025 +0800

    siflower: 6.12: apply trivial driver fixes
    
    Apply trivial fixes for 6.12 files:
    - Make functions static
    - Add lots of missing header in drivers
    - Fix no newline at end of file error and other new line error
    - Drop deprecated validate function for xgmac
    - Use devm for stmmac probe
    - Remove host_ prefix from pcie_host_ops
    
    Tested-by: Jingkun Zheng <mx at kevinmx.top>
    Tested-by: Zhu Yujie <libriunc at gmail.com>
    Tested-by: Chuanhong Guo gch981213 at gmail.com
    Signed-off-by: Zhu Yujie <libriunc at gmail.com>
    [ improve commit description ]
    Link: https://github.com/openwrt/openwrt/pull/20555
    Signed-off-by: Christian Marangi <ansuelsmth at gmail.com>
---
 .../drivers/clk/siflower/clk-sf19a2890.c           |  2 +-
 .../drivers/net/ethernet/siflower/Makefile         |  2 +-
 .../drivers/net/ethernet/siflower/dpns.h           |  2 +-
 .../files-6.12/drivers/net/ethernet/siflower/eth.h |  2 +-
 .../drivers/net/ethernet/siflower/sf_dpns.c        | 13 ++++--
 .../drivers/net/ethernet/siflower/sf_dpns_se.c     |  2 +-
 .../drivers/net/ethernet/siflower/sf_dpns_se.h     |  2 +-
 .../drivers/net/ethernet/siflower/sfxgmac-dma.c    |  7 +--
 .../drivers/net/ethernet/siflower/sfxgmac-ext.h    |  4 +-
 .../drivers/net/ethernet/siflower/sfxgmac.c        | 51 ++++++----------------
 .../drivers/net/ethernet/siflower/sfxpcs.c         |  4 ++
 .../net/ethernet/stmicro/stmmac/dwmac-sf19a2890.c  | 10 +----
 .../siflower/files-6.12/drivers/net/phy/siflower.c |  8 ++--
 .../drivers/pci/controller/dwc/pcie-sf21.c         |  7 ++-
 .../files-6.12/drivers/phy/siflower/Kconfig        |  1 -
 15 files changed, 47 insertions(+), 70 deletions(-)

diff --git a/target/linux/siflower/files-6.12/drivers/clk/siflower/clk-sf19a2890.c b/target/linux/siflower/files-6.12/drivers/clk/siflower/clk-sf19a2890.c
index a8644156aa..30afd3279a 100644
--- a/target/linux/siflower/files-6.12/drivers/clk/siflower/clk-sf19a2890.c
+++ b/target/linux/siflower/files-6.12/drivers/clk/siflower/clk-sf19a2890.c
@@ -209,7 +209,7 @@ static unsigned long sf19a28_muxdiv_recalc_rate(struct clk_hw *hw,
 	return parent_rate / div;
 }
 
-int sf19a28_muxdiv_determine_rate(struct clk_hw *hw, struct clk_rate_request *req)
+static int sf19a28_muxdiv_determine_rate(struct clk_hw *hw, struct clk_rate_request *req)
 {
 	unsigned int div;
 
diff --git a/target/linux/siflower/files-6.12/drivers/net/ethernet/siflower/Makefile b/target/linux/siflower/files-6.12/drivers/net/ethernet/siflower/Makefile
index 557edb5abc..8149666b08 100644
--- a/target/linux/siflower/files-6.12/drivers/net/ethernet/siflower/Makefile
+++ b/target/linux/siflower/files-6.12/drivers/net/ethernet/siflower/Makefile
@@ -8,4 +8,4 @@ obj-$(CONFIG_NET_SIFLOWER_ETH_DPNS) += sf_dpns.o
 
 obj-$(CONFIG_NET_SIFLOWER_ETH_XGMAC) += sfxgmac.o
 obj-$(CONFIG_NET_SIFLOWER_ETH_DMA) += sfxgmac-dma.o
-obj-$(CONFIG_NET_SIFLOWER_ETH_XPCS) += sfxpcs.o
\ No newline at end of file
+obj-$(CONFIG_NET_SIFLOWER_ETH_XPCS) += sfxpcs.o
diff --git a/target/linux/siflower/files-6.12/drivers/net/ethernet/siflower/dpns.h b/target/linux/siflower/files-6.12/drivers/net/ethernet/siflower/dpns.h
index 1db8139b08..59d97b8955 100644
--- a/target/linux/siflower/files-6.12/drivers/net/ethernet/siflower/dpns.h
+++ b/target/linux/siflower/files-6.12/drivers/net/ethernet/siflower/dpns.h
@@ -56,4 +56,4 @@ int dpns_se_init(struct dpns_priv *priv);
 int dpns_tmu_init(struct dpns_priv *priv);
 void sf_dpns_debugfs_init(struct dpns_priv *priv);
 
-#endif /* __SF_DPNS_H__ */
\ No newline at end of file
+#endif /* __SF_DPNS_H__ */
diff --git a/target/linux/siflower/files-6.12/drivers/net/ethernet/siflower/eth.h b/target/linux/siflower/files-6.12/drivers/net/ethernet/siflower/eth.h
index 0a813d9489..a065c46eba 100644
--- a/target/linux/siflower/files-6.12/drivers/net/ethernet/siflower/eth.h
+++ b/target/linux/siflower/files-6.12/drivers/net/ethernet/siflower/eth.h
@@ -779,4 +779,4 @@ enum {
 };
 #define XGMAC_RDES3_IOC			BIT(30)
 
-#endif
\ No newline at end of file
+#endif
diff --git a/target/linux/siflower/files-6.12/drivers/net/ethernet/siflower/sf_dpns.c b/target/linux/siflower/files-6.12/drivers/net/ethernet/siflower/sf_dpns.c
index 4e00b5b7dd..1cd5262c0a 100644
--- a/target/linux/siflower/files-6.12/drivers/net/ethernet/siflower/sf_dpns.c
+++ b/target/linux/siflower/files-6.12/drivers/net/ethernet/siflower/sf_dpns.c
@@ -1,13 +1,18 @@
-#include "linux/delay.h"
-#include "linux/reset.h"
 #include <linux/bitfield.h>
 #include <linux/clk.h>
+#include <linux/debugfs.h>
+#include <linux/delay.h>
+#include <linux/device.h>
+#include <linux/io.h>
 #include <linux/iopoll.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
+#include <linux/of.h>
+#include <linux/of_net.h>
 #include <linux/of_platform.h>
-#include <linux/device.h>
-#include <linux/debugfs.h>
+#include <linux/platform_device.h>
+#include <linux/reset.h>
+
 #include "dpns.h"
 
 
diff --git a/target/linux/siflower/files-6.12/drivers/net/ethernet/siflower/sf_dpns_se.c b/target/linux/siflower/files-6.12/drivers/net/ethernet/siflower/sf_dpns_se.c
index 2b5e13e56b..df81197212 100644
--- a/target/linux/siflower/files-6.12/drivers/net/ethernet/siflower/sf_dpns_se.c
+++ b/target/linux/siflower/files-6.12/drivers/net/ethernet/siflower/sf_dpns_se.c
@@ -47,4 +47,4 @@ int dpns_se_init(struct dpns_priv *priv) {
 
 	ret = dpns_populate_table(priv);
 	return ret;
-}
\ No newline at end of file
+}
diff --git a/target/linux/siflower/files-6.12/drivers/net/ethernet/siflower/sf_dpns_se.h b/target/linux/siflower/files-6.12/drivers/net/ethernet/siflower/sf_dpns_se.h
index 2e29092f20..56afe7104e 100644
--- a/target/linux/siflower/files-6.12/drivers/net/ethernet/siflower/sf_dpns_se.h
+++ b/target/linux/siflower/files-6.12/drivers/net/ethernet/siflower/sf_dpns_se.h
@@ -74,4 +74,4 @@
 #define  SE_TCAM_CLR_ACL_SPL		BIT(5)
 #define  SE_TCAM_CLR_BLK(x)		BIT(x)
 
-#endif
\ No newline at end of file
+#endif
diff --git a/target/linux/siflower/files-6.12/drivers/net/ethernet/siflower/sfxgmac-dma.c b/target/linux/siflower/files-6.12/drivers/net/ethernet/siflower/sfxgmac-dma.c
index 3061b89e42..2575ea180f 100644
--- a/target/linux/siflower/files-6.12/drivers/net/ethernet/siflower/sfxgmac-dma.c
+++ b/target/linux/siflower/files-6.12/drivers/net/ethernet/siflower/sfxgmac-dma.c
@@ -2,6 +2,7 @@
 #include <linux/debugfs.h>
 #include <linux/dma-mapping.h>
 #include <linux/if_ether.h>
+#include <linux/platform_device.h>
 #include <linux/of_platform.h>
 #include <linux/seq_file.h>
 #include <linux/tcp.h>
@@ -737,7 +738,7 @@ static int xgmac_dma_alloc_rx_descs(struct xgmac_dma_priv *priv)
 	int ret = -ENOMEM;
 	u32 i;
 
-	pp_params.flags = PP_FLAG_DMA_MAP | PP_FLAG_DMA_SYNC_DEV | PP_FLAG_PAGE_FRAG;
+	pp_params.flags = PP_FLAG_DMA_MAP | PP_FLAG_DMA_SYNC_DEV;
 	pp_params.pool_size = DMA_RX_SIZE;
 	pp_params.order = 0;
 	pp_params.max_len = PAGE_SIZE;
@@ -1116,7 +1117,7 @@ drop:
 }
 
 
-netdev_tx_t xgmac_dma_xmit(struct sk_buff *skb, struct xgmac_dma_priv *priv)
+static netdev_tx_t xgmac_dma_xmit(struct sk_buff *skb, struct xgmac_dma_priv *priv)
 {
 	u16 queue = skb_get_queue_mapping(skb);
 	u16 channel = queue;
@@ -1615,4 +1616,4 @@ module_platform_driver(xgmac_dma_driver);
 
 MODULE_LICENSE("GPL");
 MODULE_AUTHOR("Qingfang Deng <qingfang.deng at siflower.com.cn>");
-MODULE_DESCRIPTION("Ethernet DMA driver for SF21A6826/SF21H8898 SoC");
\ No newline at end of file
+MODULE_DESCRIPTION("Ethernet DMA driver for SF21A6826/SF21H8898 SoC");
diff --git a/target/linux/siflower/files-6.12/drivers/net/ethernet/siflower/sfxgmac-ext.h b/target/linux/siflower/files-6.12/drivers/net/ethernet/siflower/sfxgmac-ext.h
index 4524daddfd..59efff0118 100644
--- a/target/linux/siflower/files-6.12/drivers/net/ethernet/siflower/sfxgmac-ext.h
+++ b/target/linux/siflower/files-6.12/drivers/net/ethernet/siflower/sfxgmac-ext.h
@@ -1,4 +1,4 @@
-#ifndef __XGMAC_EXT_H_
+#ifndef __XGMAC_EXT_H__
 #define __XGMAC_EXT_H__
 
 #include <linux/clk.h>
@@ -28,4 +28,4 @@ struct gmac_common {
 	GMAC_COMMON_STRUCT;
 };
 
-#endif
\ No newline at end of file
+#endif
diff --git a/target/linux/siflower/files-6.12/drivers/net/ethernet/siflower/sfxgmac.c b/target/linux/siflower/files-6.12/drivers/net/ethernet/siflower/sfxgmac.c
index 5eec4ff667..bd111ae5bb 100644
--- a/target/linux/siflower/files-6.12/drivers/net/ethernet/siflower/sfxgmac.c
+++ b/target/linux/siflower/files-6.12/drivers/net/ethernet/siflower/sfxgmac.c
@@ -9,6 +9,9 @@
 #include <linux/if.h>
 #include <linux/if_vlan.h>
 #include <linux/crc32.h>
+#include <linux/platform_device.h>
+#include <linux/phylink.h>
+#include <linux/reset.h>
 
 #include "dma.h"
 #include "eth.h"
@@ -676,31 +679,6 @@ static const struct net_device_ops xgmac_netdev_ops = {
 	.ndo_change_mtu		= xgmac_change_mtu,
 };
 
-static void xgmac_validate(struct phylink_config *config,
-			   unsigned long *supported,
-			   struct phylink_link_state *state)
-{
-	__ETHTOOL_DECLARE_LINK_MODE_MASK(mac_supported) = {};
-
-	phylink_set(mac_supported, 10baseT_Half);
-	phylink_set(mac_supported, 10baseT_Full);
-	phylink_set(mac_supported, 100baseT_Half);
-	phylink_set(mac_supported, 100baseT_Full);
-	phylink_set(mac_supported, 1000baseT_Full);
-	phylink_set(mac_supported, 1000baseX_Full);
-	phylink_set(mac_supported, 1000baseKX_Full);
-	phylink_set(mac_supported, 2500baseT_Full);
-	phylink_set(mac_supported, 2500baseX_Full);
-
-	phylink_set(mac_supported, Autoneg);
-	phylink_set(mac_supported, Pause);
-	phylink_set(mac_supported, Asym_Pause);
-	phylink_set_port_modes(mac_supported);
-
-	linkmode_and(supported, supported, mac_supported);
-	linkmode_and(state->advertising, state->advertising, mac_supported);
-}
-
 static struct xgmac_priv *sfxgmac_phylink_to_port(struct phylink_config *config)
 {
 	return container_of(config, struct xgmac_priv, phylink_config);
@@ -875,7 +853,6 @@ static void xgmac_mac_link_up(struct phylink_config *config,
 }
 
 static const struct phylink_mac_ops xgmac_phylink_mac_ops = {
-	.validate	= xgmac_validate,
 	.mac_select_pcs = xgmac_mac_selct_pcs,
 	.mac_config	= xgmac_mac_config,
 	.mac_link_down	= xgmac_mac_link_down,
@@ -980,37 +957,37 @@ static int xgmac_ethtool_get_link_ksettings(struct net_device *dev,
 	return phylink_ethtool_ksettings_get(priv->phylink, cmd);
 }
 
-static int xgmac_ethtool_get_eee(struct net_device *dev, struct ethtool_eee *e)
+static int xgmac_ethtool_get_eee(struct net_device *dev, struct ethtool_keee *eee)
 {
 	struct xgmac_priv *priv = netdev_priv(dev);
 	int ret;
 
-	ret = phylink_ethtool_get_eee(priv->phylink, e);
+	ret = phylink_ethtool_get_eee(priv->phylink, eee);
 	if (ret)
 		return ret;
 
-	e->tx_lpi_enabled = priv->tx_lpi_enabled;
-	e->tx_lpi_timer = reg_read(priv, XGMAC_LPI_AUTO_EN);
+	eee->tx_lpi_enabled = priv->tx_lpi_enabled;
+	eee->tx_lpi_timer = reg_read(priv, XGMAC_LPI_AUTO_EN);
 
 	return 0;
 }
 
-static int xgmac_ethtool_set_eee(struct net_device *dev, struct ethtool_eee *e)
+static int xgmac_ethtool_set_eee(struct net_device *dev, struct ethtool_keee *eee)
 {
 	struct xgmac_priv *priv = netdev_priv(dev);
 	int ret;
 
-	if (e->tx_lpi_timer > XGMAC_LPI_AUTO_EN_MAX)
+	if (eee->tx_lpi_timer > XGMAC_LPI_AUTO_EN_MAX)
 		return -EINVAL;
 
-	ret = phylink_ethtool_set_eee(priv->phylink, e);
+	ret = phylink_ethtool_set_eee(priv->phylink, eee);
 	if (ret)
 		return ret;
 
-	priv->tx_lpi_enabled = e->tx_lpi_enabled;
+	priv->tx_lpi_enabled = eee->tx_lpi_enabled;
 	xgmac_toggle_tx_lpi(priv);
 
-	reg_write(priv, XGMAC_LPI_AUTO_EN, e->tx_lpi_timer);
+	reg_write(priv, XGMAC_LPI_AUTO_EN, eee->tx_lpi_timer);
 
 	return 0;
 }
@@ -1221,7 +1198,7 @@ static int xgmac_probe(struct platform_device *pdev)
 	ndev->netdev_ops = &xgmac_netdev_ops;
 	ndev->ethtool_ops = &xgmac_ethtool_ops;
 	ndev->features = NETIF_F_RXHASH | NETIF_F_RXCSUM | NETIF_F_GRO |
-			 NETIF_F_SG | NETIF_F_LLTX | NETIF_F_HW_TC |
+			 NETIF_F_SG | NETIF_F_HW_TC |
 			 NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM | NETIF_F_TSO |
 			 NETIF_F_TSO6;
 	ndev->hw_features = (ndev->features & ~NETIF_F_RXHASH) |
@@ -1321,4 +1298,4 @@ module_platform_driver(xgmac_driver);
 
 MODULE_LICENSE("GPL");
 MODULE_AUTHOR("Qingfang Deng <qingfang.deng at siflower.com.cn>");
-MODULE_DESCRIPTION("Ethernet XGMAC driver for SF21A6826/SF21H8898 SoC");
\ No newline at end of file
+MODULE_DESCRIPTION("Ethernet XGMAC driver for SF21A6826/SF21H8898 SoC");
diff --git a/target/linux/siflower/files-6.12/drivers/net/ethernet/siflower/sfxpcs.c b/target/linux/siflower/files-6.12/drivers/net/ethernet/siflower/sfxpcs.c
index 9c75076cdc..ae20940f5a 100644
--- a/target/linux/siflower/files-6.12/drivers/net/ethernet/siflower/sfxpcs.c
+++ b/target/linux/siflower/files-6.12/drivers/net/ethernet/siflower/sfxpcs.c
@@ -1,5 +1,9 @@
 #define pr_fmt(fmt)	"xpcs: " fmt
 
+#include <linux/module.h>
+#include <linux/platform_device.h>
+#include <linux/io.h>
+#include <linux/interrupt.h> 
 #include <linux/clk.h>
 #include <linux/mfd/syscon.h>
 #include <linux/phylink.h>
diff --git a/target/linux/siflower/files-6.12/drivers/net/ethernet/stmicro/stmmac/dwmac-sf19a2890.c b/target/linux/siflower/files-6.12/drivers/net/ethernet/stmicro/stmmac/dwmac-sf19a2890.c
index 05067e9a43..5a0024f827 100644
--- a/target/linux/siflower/files-6.12/drivers/net/ethernet/stmicro/stmmac/dwmac-sf19a2890.c
+++ b/target/linux/siflower/files-6.12/drivers/net/ethernet/stmicro/stmmac/dwmac-sf19a2890.c
@@ -145,7 +145,7 @@ static int sf19a2890_gmac_probe(struct platform_device *pdev)
 	if (ret)
 		return ret;
 
-	plat_dat = stmmac_probe_config_dt(pdev, stmmac_res.mac);
+	plat_dat = devm_stmmac_probe_config_dt(pdev, stmmac_res.mac);
 	if (IS_ERR(plat_dat)) {
 		dev_err(&pdev->dev, "dt configuration failed\n");
 		return PTR_ERR(plat_dat);
@@ -160,14 +160,6 @@ static int sf19a2890_gmac_probe(struct platform_device *pdev)
 	plat_dat->flags |= STMMAC_FLAG_HAS_INTEGRATED_PCS;
 
 	ret = stmmac_pltfr_probe(pdev, plat_dat, &stmmac_res);
-	if (ret)
-		goto err_remove_config_dt;
-
-	return 0;
-
-err_remove_config_dt:
-	if (pdev->dev.of_node)
-		stmmac_remove_config_dt(pdev, plat_dat);
 
 	return ret;
 }
diff --git a/target/linux/siflower/files-6.12/drivers/net/phy/siflower.c b/target/linux/siflower/files-6.12/drivers/net/phy/siflower.c
index b23335408f..22acb5b67e 100644
--- a/target/linux/siflower/files-6.12/drivers/net/phy/siflower.c
+++ b/target/linux/siflower/files-6.12/drivers/net/phy/siflower.c
@@ -410,7 +410,7 @@ static int sfphy_restart_aneg(struct phy_device *phydev)
 	return 0;
 }
 
-int sf1211f_config_aneg(struct phy_device *phydev)
+static int sf1211f_config_aneg(struct phy_device *phydev)
 {
 	int ret, phymode, oldpage = 0;
 
@@ -450,7 +450,7 @@ int sf1211f_config_aneg(struct phy_device *phydev)
 	return 0;
 }
 
-int sf1211f_aneg_done(struct phy_device *phydev)
+static int sf1211f_aneg_done(struct phy_device *phydev)
 {
 	int val = 0;
 
@@ -757,7 +757,7 @@ static int phy_mode_set(struct phy_device *phydev, u16 phyMode)
 }
 #endif
 
-int sf1240_config_init(struct phy_device *phydev)
+static int sf1240_config_init(struct phy_device *phydev)
 {
 	int ret;
 		ret = genphy_read_abilities(phydev);
@@ -771,7 +771,7 @@ int sf1240_config_init(struct phy_device *phydev)
 	return 0;
 }
 
-int sf1211f_config_init(struct phy_device *phydev)
+static int sf1211f_config_init(struct phy_device *phydev)
 {
 	int ret, phymode;
 
diff --git a/target/linux/siflower/files-6.12/drivers/pci/controller/dwc/pcie-sf21.c b/target/linux/siflower/files-6.12/drivers/pci/controller/dwc/pcie-sf21.c
index ce9c05710d..a32695260f 100644
--- a/target/linux/siflower/files-6.12/drivers/pci/controller/dwc/pcie-sf21.c
+++ b/target/linux/siflower/files-6.12/drivers/pci/controller/dwc/pcie-sf21.c
@@ -9,7 +9,6 @@
 #include <linux/bitfield.h>
 #include <linux/clk.h>
 #include <linux/delay.h>
-#include <linux/gpio.h>
 #include <linux/kernel.h>
 #include <linux/mfd/syscon.h>
 #include <linux/module.h>
@@ -221,7 +220,7 @@ static int sf_pcie_host_init(struct dw_pcie_rp *pp)
 	return 0;
 }
 
-void sf_pcie_host_deinit(struct dw_pcie_rp *pp) {
+static void sf_pcie_host_deinit(struct dw_pcie_rp *pp) {
 	struct dw_pcie *pci = to_dw_pcie_from_pp(pp);
 	struct sf_pcie *sf_pcie = to_sf_pcie(pci);
 
@@ -235,8 +234,8 @@ void sf_pcie_host_deinit(struct dw_pcie_rp *pp) {
 }
 
 static const struct dw_pcie_host_ops sf_pcie_host_ops = {
-	.host_init = sf_pcie_host_init,
-	.host_deinit = sf_pcie_host_deinit,
+	.init = sf_pcie_host_init,
+	.deinit = sf_pcie_host_deinit,
 };
 
 static int sf_pcie_start_link(struct dw_pcie *pci)
diff --git a/target/linux/siflower/files-6.12/drivers/phy/siflower/Kconfig b/target/linux/siflower/files-6.12/drivers/phy/siflower/Kconfig
index 5124c81f79..6b815a3c47 100644
--- a/target/linux/siflower/files-6.12/drivers/phy/siflower/Kconfig
+++ b/target/linux/siflower/files-6.12/drivers/phy/siflower/Kconfig
@@ -13,7 +13,6 @@ config PHY_SF21_PCIE
 	help
 	  Enable this to support the PCIE PHY on the Siflower SF21A6826 SoC.
 
-
 config PHY_SF21_USB
 	tristate "Siflower SF21A6826/SF21H8898 USB2.0 PHY driver"
 	default n




More information about the lede-commits mailing list