This fix totally breaks the point of setting tbipa beforehand.
mdiobus_register will cause the bus to be scanned, and if any of the
PHYs are at the default address for tbipa, they won't be found. I have
a different fix which I will (re)submit today.
@@ -385,6 +385,13 @@ static int fsl_pq_mdio_probe(struct platform_device *ofdev)tbiaddr=*prop;}+err=of_mdiobus_register(new_bus,np);+if(err){+printk(KERN_ERR"%s: Cannot register as MDIO bus\n",+new_bus->name);+gotoerr_free_irqs;+}+
This fix totally breaks the point of setting tbipa beforehand.
mdiobus_register will cause the bus to be scanned, and if any of the
PHYs are at the default address for tbipa, they won't be found. I have
a different fix which I will (re)submit today.
Yes, I sent a patch. Then he sent another patch which breaks things differently. I have not yet submitted my fix. My fix is to revert his patch, and then modify your updated device trees to automatically set the tbi to something.
On Nov 24, 2011, at 1:51, "Kumar Gala" [off-list ref] wrote:
On Nov 9, 2011, at 2:10 PM, Andy Fleming wrote:
quoted
quoted
Fix this by moving the of_mdiobus_register() call earlier.
Cc: Andy Fleming <redacted>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
---
drivers/net/ethernet/freescale/fsl_pq_mdio.c | 14 +++++++-------
1 files changed, 7 insertions(+), 7 deletions(-)
@@ -385,6 +385,13 @@ static int fsl_pq_mdio_probe(struct platform_device *ofdev)tbiaddr=*prop;}+err=of_mdiobus_register(new_bus,np);+if(err){+printk(KERN_ERR"%s: Cannot register as MDIO bus\n",+new_bus->name);+gotoerr_free_irqs;+}+
This fix totally breaks the point of setting tbipa beforehand.
mdiobus_register will cause the bus to be scanned, and if any of the
PHYs are at the default address for tbipa, they won't be found. I have
a different fix which I will (re)submit today.