82xx: Add the support of Wind River SBC PowerQUICCII 82xx
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);
Quoted 3 lines · Mark Zhan
Current MII bitbang bus driver hard-codes the phy mask of
mii_busto ~0x09, which is actually specific for the FSL boards. This patch will make the bitbang driver to generate MII busphy_maskdynamically.
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
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_busto ~0x09, which is actually specific for the FSL boards. This patch will make the bitbang driver to generate MII busphy_maskdynamically.
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
Signed-off-by Mark Zhan <[email protected]>---
Signature · 2 lines
Sincerely, Vitaly
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