Re: [PATCH net-next v3 4/4] stmmac: Replace deprecated PCI functions
From: Philipp Stanner <hidden>
Date: 2025-02-25 07:16:24
Also in:
linux-arm-kernel, lkml
On Mon, 2025-02-24 at 14:53 +0100, Philipp Stanner wrote:
quoted hunk ↗ jump to hunk
From: Philipp Stanner <redacted> The PCI functions - pcim_iomap_regions() and - pcim_iomap_table() have been deprecated. Replace them with their successor function, pcim_iomap_region(). Make variable declaration order at closeby places comply with reverse christmas tree order. Signed-off-by: Philipp Stanner <redacted> --- .../net/ethernet/stmicro/stmmac/dwmac-loongson.c | 11 ++++------- drivers/net/ethernet/stmicro/stmmac/stmmac_pci.c | 14 ++++++------ -- 2 files changed, 10 insertions(+), 15 deletions(-)diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.cb/drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c index f3ea6016be68..25ef7b9c5dce 100644--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c@@ -521,10 +521,10 @@ static int loongson_dwmac_acpi_config(structpci_dev *pdev, static int loongson_dwmac_probe(struct pci_dev *pdev, const struct pci_device_id *id) { struct plat_stmmacenet_data *plat; + struct stmmac_resources res = {}; struct stmmac_pci_info *info; - struct stmmac_resources res; struct loongson_data *ld; - int ret, i; + int ret; plat = devm_kzalloc(&pdev->dev, sizeof(*plat), GFP_KERNEL); if (!plat)@@ -554,13 +554,11 @@ static int loongson_dwmac_probe(struct pci_dev*pdev, const struct pci_device_id pci_set_master(pdev); /* Get the base address of device */ - ret = pcim_iomap_regions(pdev, BIT(0), DRIVER_NAME); + res.addr = pcim_iomap_region(pdev, 0, DRIVER_NAME); + ret = PTR_ERR_OR_ZERO(res.addr); if (ret) goto err_disable_device; - memset(&res, 0, sizeof(res)); - res.addr = pcim_iomap_table(pdev)[0]; - plat->bsp_priv = ld; plat->setup = loongson_dwmac_setup; ld->dev = &pdev->dev;@@ -603,7 +601,6 @@ static void loongson_dwmac_remove(struct pci_dev*pdev) struct net_device *ndev = dev_get_drvdata(&pdev->dev); struct stmmac_priv *priv = netdev_priv(ndev); struct loongson_data *ld; - int i;
Just saw that this is a left-over that actually should be in patch 3. Will fix. P.
quoted hunk ↗ jump to hunk
ld = priv->plat->bsp_priv; stmmac_dvr_remove(&pdev->dev);diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_pci.cb/drivers/net/ethernet/stmicro/stmmac/stmmac_pci.c index 91ff6c15f977..37fc7f55a7e4 100644--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_pci.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_pci.c@@ -155,9 +155,9 @@ static int stmmac_pci_probe(struct pci_dev *pdev,{ struct stmmac_pci_info *info = (struct stmmac_pci_info *)id-quoted
driver_data;struct plat_stmmacenet_data *plat; - struct stmmac_resources res; - int i; + struct stmmac_resources res = {}; int ret; + int i; plat = devm_kzalloc(&pdev->dev, sizeof(*plat), GFP_KERNEL); if (!plat)@@ -188,13 +188,13 @@ static int stmmac_pci_probe(struct pci_dev*pdev, return ret; } - /* Get the base address of device */ + /* The first BAR > 0 is the base IO addr of our device. */ for (i = 0; i < PCI_STD_NUM_BARS; i++) { if (pci_resource_len(pdev, i) == 0) continue; - ret = pcim_iomap_regions(pdev, BIT(i), pci_name(pdev)); - if (ret) - return ret; + res.addr = pcim_iomap_region(pdev, i, STMMAC_RESOURCE_NAME); + if (IS_ERR(res.addr)) + return PTR_ERR(res.addr); break; }@@ -204,8 +204,6 @@ static int stmmac_pci_probe(struct pci_dev *pdev,if (ret) return ret; - memset(&res, 0, sizeof(res)); - res.addr = pcim_iomap_table(pdev)[i]; res.wol_irq = pdev->irq; res.irq = pdev->irq;