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;
 |