]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
net: stmmac: reorganise stmmac_hwif_init()
authorRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Wed, 29 Oct 2025 00:03:46 +0000 (00:03 +0000)
committerJakub Kicinski <kuba@kernel.org>
Thu, 30 Oct 2025 00:18:23 +0000 (17:18 -0700)
Reorganise stmmac_hwif_init() to handle the error case of
stmmac_hwif_find() in the indented block, which follows normal
programming pattern.

Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Tested-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
Tested-by: Mohd Ayaan Anwar <mohd.anwar@oss.qualcomm.com>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Link: https://patch.msgid.link/E1vDtfG-0000000CCCX-2YwQ@rmk-PC.armlinux.org.uk
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/stmicro/stmmac/hwif.c

index e1f99b9d9d7f13c4d8b4a4c08d8037ab8350cebb..8212441f9826e9582d23cf666818fe0fba230717 100644 (file)
@@ -366,41 +366,45 @@ int stmmac_hwif_init(struct stmmac_priv *priv)
 
        /* Use synopsys_id var because some setups can override this */
        entry = stmmac_hwif_find(core_type, priv->synopsys_id, version.dev_id);
-       if (entry) {
-               /* Only use generic HW helpers if needed */
-               mac->desc = mac->desc ? : entry->desc;
-               mac->dma = mac->dma ? : entry->dma;
-               mac->mac = mac->mac ? : entry->mac;
-               mac->ptp = mac->ptp ? : entry->hwtimestamp;
-               mac->mode = mac->mode ? : entry->mode;
-               mac->tc = mac->tc ? : entry->tc;
-               mac->mmc = mac->mmc ? : entry->mmc;
-               mac->est = mac->est ? : entry->est;
-               mac->vlan = mac->vlan ? : entry->vlan;
-
-               priv->hw = mac;
-               priv->fpe_cfg.reg = entry->regs.fpe_reg;
-               priv->ptpaddr = priv->ioaddr + entry->regs.ptp_off;
-               priv->mmcaddr = priv->ioaddr + entry->regs.mmc_off;
-               memcpy(&priv->ptp_clock_ops, entry->ptp,
-                      sizeof(struct ptp_clock_info));
-               if (entry->est)
-                       priv->estaddr = priv->ioaddr + entry->regs.est_off;
-
-               /* Entry found */
-               if (needs_setup) {
-                       ret = entry->setup(priv);
-                       if (ret)
-                               return ret;
-               }
+       if (!entry) {
+               dev_err(priv->device,
+                       "Failed to find HW IF (id=0x%x, gmac=%d/%d)\n",
+                       version.snpsver, core_type == DWMAC_CORE_GMAC,
+                       core_type == DWMAC_CORE_GMAC4);
+
+               return -EINVAL;
+       }
 
-               /* Save quirks, if needed for posterior use */
-               priv->hwif_quirks = entry->quirks;
-               return 0;
+       /* Only use generic HW helpers if needed */
+       mac->desc = mac->desc ? : entry->desc;
+       mac->dma = mac->dma ? : entry->dma;
+       mac->mac = mac->mac ? : entry->mac;
+       mac->ptp = mac->ptp ? : entry->hwtimestamp;
+       mac->mode = mac->mode ? : entry->mode;
+       mac->tc = mac->tc ? : entry->tc;
+       mac->mmc = mac->mmc ? : entry->mmc;
+       mac->est = mac->est ? : entry->est;
+       mac->vlan = mac->vlan ? : entry->vlan;
+
+       priv->hw = mac;
+       priv->fpe_cfg.reg = entry->regs.fpe_reg;
+       priv->ptpaddr = priv->ioaddr + entry->regs.ptp_off;
+       priv->mmcaddr = priv->ioaddr + entry->regs.mmc_off;
+       memcpy(&priv->ptp_clock_ops, entry->ptp,
+              sizeof(struct ptp_clock_info));
+
+       if (entry->est)
+               priv->estaddr = priv->ioaddr + entry->regs.est_off;
+
+       /* Entry found */
+       if (needs_setup) {
+               ret = entry->setup(priv);
+               if (ret)
+                       return ret;
        }
 
-       dev_err(priv->device, "Failed to find HW IF (id=0x%x, gmac=%d/%d)\n",
-               version.snpsver, core_type == DWMAC_CORE_GMAC,
-               core_type == DWMAC_CORE_GMAC4);
-       return -EINVAL;
+       /* Save quirks, if needed for posterior use */
+       priv->hwif_quirks = entry->quirks;
+
+       return 0;
 }