net: dwc_eth_qos: Implement bind() for PCI devices

PCI devices do not necessarily use a device tree. Implement a bind()
function to assign unique device names in that case.

Signed-off-by: Philip Oberfichtner <pro@denx.de>
This commit is contained in:
Philip Oberfichtner
2024-08-02 11:25:38 +02:00
committed by Tom Rini
parent beabef6511
commit 2689b14ef3

View File

@@ -1383,6 +1383,21 @@ static int eqos_remove_resources_tegra186(struct udevice *dev)
return 0;
}
static int eqos_bind(struct udevice *dev)
{
static int dev_num;
const size_t name_sz = 16;
char name[name_sz];
/* Device name defaults to DT node name. */
if (ofnode_valid(dev_ofnode(dev)))
return 0;
/* Assign unique names in case there is no DT node. */
snprintf(name, name_sz, "eth_eqos#%d", dev_num++);
return device_set_name(dev, name);
}
/*
* Get driver data based on the device tree. Boards not using a device tree can
* overwrite this function.
@@ -1613,6 +1628,7 @@ U_BOOT_DRIVER(eth_eqos) = {
.name = "eth_eqos",
.id = UCLASS_ETH,
.of_match = of_match_ptr(eqos_ids),
.bind = eqos_bind,
.probe = eqos_probe,
.remove = eqos_remove,
.ops = &eqos_ops,