forked from Openwrt/openwrt
7ace30aeb6
Backport upstream code split patch for qca8k needed for ipq40xx target to correctly implement a DSA driver. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
45 lines
1.7 KiB
Diff
45 lines
1.7 KiB
Diff
From 8d1af50842bf2774f4edc57054206e909117469b Mon Sep 17 00:00:00 2001
|
|
From: Ansuel Smith <ansuelsmth@gmail.com>
|
|
Date: Sat, 16 Apr 2022 01:30:17 +0200
|
|
Subject: [PATCH 6/6] net: dsa: qca8k: unify bus id naming with legacy and OF
|
|
mdio bus
|
|
|
|
Add support for multiple switch with OF mdio bus declaration.
|
|
Unify the bus id naming and use the same logic for both legacy and OF
|
|
mdio bus.
|
|
|
|
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
|
|
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
---
|
|
drivers/net/dsa/qca8k.c | 5 ++---
|
|
1 file changed, 2 insertions(+), 3 deletions(-)
|
|
|
|
--- a/drivers/net/dsa/qca8k.c
|
|
+++ b/drivers/net/dsa/qca8k.c
|
|
@@ -1323,6 +1323,8 @@ qca8k_mdio_register(struct qca8k_priv *p
|
|
return -ENOMEM;
|
|
|
|
bus->priv = (void *)priv;
|
|
+ snprintf(bus->id, MII_BUS_ID_SIZE, "qca8k-%d.%d",
|
|
+ ds->dst->index, ds->index);
|
|
bus->parent = ds->dev;
|
|
bus->phy_mask = ~ds->phys_mii_mask;
|
|
ds->slave_mii_bus = bus;
|
|
@@ -1330,7 +1332,6 @@ qca8k_mdio_register(struct qca8k_priv *p
|
|
/* Check if the devicetree declare the port:phy mapping */
|
|
mdio = of_get_child_by_name(priv->dev->of_node, "mdio");
|
|
if (of_device_is_available(mdio)) {
|
|
- snprintf(bus->id, MII_BUS_ID_SIZE, "qca8k-%d", ds->index);
|
|
bus->name = "qca8k slave mii";
|
|
bus->read = qca8k_internal_mdio_read;
|
|
bus->write = qca8k_internal_mdio_write;
|
|
@@ -1340,8 +1341,6 @@ qca8k_mdio_register(struct qca8k_priv *p
|
|
/* If a mapping can't be found the legacy mapping is used,
|
|
* using the qca8k_port_to_phy function
|
|
*/
|
|
- snprintf(bus->id, MII_BUS_ID_SIZE, "qca8k-%d.%d",
|
|
- ds->dst->index, ds->index);
|
|
bus->name = "qca8k-legacy slave mii";
|
|
bus->read = qca8k_legacy_mdio_read;
|
|
bus->write = qca8k_legacy_mdio_write;
|