net: fsl_enetc: Introduce enetc_dev_id()
authorMarek Vasut <marex@denx.de>
Thu, 16 Jan 2025 04:03:23 +0000 (05:03 +0100)
committerFabio Estevam <festevam@gmail.com>
Mon, 20 Jan 2025 11:40:39 +0000 (08:40 -0300)
Introduce mapping function enetc_dev_id(), which converts PCIe BDF of
the ENETC into linear incrementing index usable e.g. as interface index.
This replaces the current ad-hoc calculation used in the code with a
dedicated function. No functional change.

Signed-off-by: Marek Vasut <marex@denx.de>
drivers/net/fsl_enetc.c

index 6398535..e6f5ca6 100644 (file)
@@ -32,6 +32,14 @@ static int enetc_is_ls1028a(struct udevice *dev)
               pplat->vendor == PCI_VENDOR_ID_FREESCALE;
 }
 
+static int enetc_dev_id(struct udevice *dev)
+{
+       if (enetc_is_ls1028a(dev))
+               return PCI_FUNC(pci_get_devfn(dev));
+
+       return 0;
+}
+
 /*
  * sets the MAC address in IERB registers, this setting is persistent and
  * carried over to Linux.
@@ -109,7 +117,7 @@ static int enetc_bind(struct udevice *dev)
         * PCI function # and enetc#N based on interface count
         */
        if (ofnode_valid(dev_ofnode(dev)))
-               sprintf(name, "enetc-%u", PCI_FUNC(pci_get_devfn(dev)));
+               sprintf(name, "enetc-%u", enetc_dev_id(dev));
        else
                sprintf(name, "enetc#%u", eth_num_devices++);
        device_set_name(dev, name);