Skip to contentSkip to conversation

82xx: Add the support of Wind River SBC PowerQUICCII 82xx

PATCH In review Mark Zhan 4 participants 4 messages Jun 8, 2007 – Jun 11, 2007 Network drivers

lore
Share & tools
lore

Mark Zhan

author
#0 lore raw

PATCH 1/6 82xx: Add the support of Wind River SBC PowerQUICCII 82xx

Current MII bitbang bus driver hard-codes the phy mask of mii_bus to ~0x09, which is actually specific for the FSL boards. This patch will make the bitbang driver to generate MII bus phy_mask dynamically.

---
 b/drivers/net/fs_enet/mii-bitbang.c |    9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)
(quoted diff) +0 -0

b/drivers/net/fs_enet/mii-bitbang.c
index d384010..3732d69 100644

drivers/net/fs_enet/mii-bitbang.c +6 -3
@@ -315,7 +315,7 @@ static int __devinit fs_enet_mdio_probe(
 	struct fs_mii_bb_platform_info *pdata;
 	struct mii_bus *new_bus;
 	struct bb_info *bitbang;
-	int err = 0;
+	int i, err = 0;
 
 	if (NULL == dev)
 		return -EINVAL;
@@ -336,14 +336,17 @@ static int __devinit fs_enet_mdio_probe(
 	new_bus->reset = &fs_enet_mii_bb_reset,
 	new_bus->id = pdev->id;
 
-	new_bus->phy_mask = ~0x9;
 	pdata = (struct fs_mii_bb_platform_info *)pdev->dev.platform_data;
-
 	if (NULL == pdata) {
 		printk(KERN_ERR "gfar mdio %d: Missing platform data!\n", pdev->id);
 		return -ENODEV;
 	}
 
+	new_bus->phy_mask = 0xFFFFFFFF;
+	for (i = 0; i < PHY_MAX_ADDR; i++)
+		if (pdata->irq[i] != -1)
+			new_bus->phy_mask &= ~(1 << i);
+
 	/*set up workspace*/
 	fs_mii_bitbang_init(bitbang, pdata);
 
#1 lore raw
Quoted 3 lines · Mark Zhan

Current MII bitbang bus driver hard-codes the phy mask of mii_bus to ~0x09, which is actually specific for the FSL boards. This patch will make the bitbang driver to generate MII bus phy_mask dynamically.

Your patch subject's should be unique in a patch series, they all shouldn't be 'add support for ...'

Also, this patch should be going via netdev and probably CC'd to Vitaly Bordug.

- k

#2 lore raw
In reply to Mark Zhan
Quoted 4 lines · On Fri, 08 Jun 2007 16:48:53 +0800 Mark Zhan <[email protected]> wrote:

Current MII bitbang bus driver hard-codes the phy mask of mii_bus to ~0x09, which is actually specific for the FSL boards. This patch will make the bitbang driver to generate MII bus phy_mask dynamically.

Please send this to netdev, CC me.

Of course since subject goes into SCM, it should be individual and reflect briefly the nature of the specific change.

Quoted 2 lines

---

Signature · 2 lines
Sincerely, 
Vitaly
#3 lore raw
In reply to Mark Zhan

drivers/net/fs_enet/mii-bitbang.c static int __devinit fs_enet_mdio_probe( · line 349

Quoted 5 lines · Mark Zhan
drivers/net/fs_enet/mii-bitbang.c +5 -0
+	new_bus->phy_mask = 0xFFFFFFFF;
+	for (i = 0; i < PHY_MAX_ADDR; i++)
+		if (pdata->irq[i] != -1)
+			new_bus->phy_mask &= ~(1 << i);
+

This assumes that all PHYs have an IRQ.

I have patches forthcoming to of_platform-ize this code when CONFIG_PPC_MERGE is defined; phy_mask will be set properly then.

Though, I notice that this is the only driver that sets phy_mask. Is there any reason we can't just leave the mask clear, and let the probe for non-existent phys fail?

-Scott