diff mbox

Fix phy_init for Marvell network eth driver

Message ID 1357812298-26399-2-git-send-email-konszert@marvell.com (mailing list archive)
State New, archived
Headers show

Commit Message

Kosta Zertsekel Jan. 10, 2013, 10:04 a.m. UTC
At least it fixes DNS323_REV_C1 board case (mach-orion5x/dsn323-setup.c file).

Change-Id: I37d64795f79c358f66a211a150cec2263e40e295
---
 drivers/net/ethernet/marvell/mv643xx_eth.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Florian Fainelli Jan. 10, 2013, 10:38 a.m. UTC | #1
Le 01/10/13 11:04, Kosta Zertsekel a écrit :
> At least it fixes DNS323_REV_C1 board case (mach-orion5x/dsn323-setup.c file).

This looks right, but a bit more detail would be welcome, such as:

"The D-Link DNS323_REV_C1 board has a specific PHY device fixup using 
the flag MARVELL_PHY_M1118_DNS323_LEDS which is set by the architecture 
code in arch/arm/mach-orion5x/dns323-setup.c. This flag is unfortunately 
lost during the call to phy_attach() in mv643xx_eth and therefore, the 
underlying Marvell PHY driver cannot make use of this flag to fixup the 
PHY device LEDs. This patch ensures the phy->dev_flags value is passed 
to the phy_attach() function such that the PHY device driver can 
actually use it."

>
> Change-Id: I37d64795f79c358f66a211a150cec2263e40e295
> ---
>   drivers/net/ethernet/marvell/mv643xx_eth.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/marvell/mv643xx_eth.c b/drivers/net/ethernet/marvell/mv643xx_eth.c
> index 84c1326..7b8c1ac 100644
> --- a/drivers/net/ethernet/marvell/mv643xx_eth.c
> +++ b/drivers/net/ethernet/marvell/mv643xx_eth.c
> @@ -2789,7 +2789,7 @@ static void phy_init(struct mv643xx_eth_private *mp, int speed, int duplex)
>
>   	phy_reset(mp);
>
> -	phy_attach(mp->dev, dev_name(&phy->dev), 0, PHY_INTERFACE_MODE_GMII);
> +	phy_attach(mp->dev, dev_name(&phy->dev), phy->dev_flags, PHY_INTERFACE_MODE_GMII);
>
>   	if (speed == 0) {
>   		phy->autoneg = AUTONEG_ENABLE;
>
diff mbox

Patch

diff --git a/drivers/net/ethernet/marvell/mv643xx_eth.c b/drivers/net/ethernet/marvell/mv643xx_eth.c
index 84c1326..7b8c1ac 100644
--- a/drivers/net/ethernet/marvell/mv643xx_eth.c
+++ b/drivers/net/ethernet/marvell/mv643xx_eth.c
@@ -2789,7 +2789,7 @@  static void phy_init(struct mv643xx_eth_private *mp, int speed, int duplex)
 
 	phy_reset(mp);
 
-	phy_attach(mp->dev, dev_name(&phy->dev), 0, PHY_INTERFACE_MODE_GMII);
+	phy_attach(mp->dev, dev_name(&phy->dev), phy->dev_flags, PHY_INTERFACE_MODE_GMII);
 
 	if (speed == 0) {
 		phy->autoneg = AUTONEG_ENABLE;