* [PATCH] net: phy: xgmiitorgmii: Support generic PHY status read
@ 2019-02-15 16:17 Paul Kocialkowski
2019-02-15 16:23 ` Andrew Lunn
2019-02-16 4:21 ` David Miller
0 siblings, 2 replies; 5+ messages in thread
From: Paul Kocialkowski @ 2019-02-15 16:17 UTC (permalink / raw)
To: netdev, linux-arm-kernel, linux-kernel
Cc: Andrew Lunn, Florian Fainelli, Heiner Kallweit, David S . Miller,
Michal Simek, Thomas Petazzoni, Paul Kocialkowski
Some PHY drivers like the generic one do not provide a read_status
callback on their own but rely on genphy_read_status being called
directly.
With the current code, this results in a NULL function pointer call.
Call genphy_read_status instead when there is no specific callback.
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
---
drivers/net/phy/xilinx_gmii2rgmii.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/net/phy/xilinx_gmii2rgmii.c b/drivers/net/phy/xilinx_gmii2rgmii.c
index 74a8782313cf..bd6084e315de 100644
--- a/drivers/net/phy/xilinx_gmii2rgmii.c
+++ b/drivers/net/phy/xilinx_gmii2rgmii.c
@@ -44,7 +44,10 @@ static int xgmiitorgmii_read_status(struct phy_device *phydev)
u16 val = 0;
int err;
- err = priv->phy_drv->read_status(phydev);
+ if (priv->phy_drv->read_status)
+ err = priv->phy_drv->read_status(phydev);
+ else
+ err = genphy_read_status(phydev);
if (err < 0)
return err;
--
2.20.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] net: phy: xgmiitorgmii: Support generic PHY status read
2019-02-15 16:17 [PATCH] net: phy: xgmiitorgmii: Support generic PHY status read Paul Kocialkowski
@ 2019-02-15 16:23 ` Andrew Lunn
2019-02-15 16:29 ` Paul Kocialkowski
2019-02-16 4:21 ` David Miller
1 sibling, 1 reply; 5+ messages in thread
From: Andrew Lunn @ 2019-02-15 16:23 UTC (permalink / raw)
To: Paul Kocialkowski
Cc: netdev, linux-arm-kernel, linux-kernel, Florian Fainelli,
Heiner Kallweit, David S . Miller, Michal Simek,
Thomas Petazzoni
On Fri, Feb 15, 2019 at 05:17:08PM +0100, Paul Kocialkowski wrote:
> Some PHY drivers like the generic one do not provide a read_status
> callback on their own but rely on genphy_read_status being called
> directly.
>
> With the current code, this results in a NULL function pointer call.
> Call genphy_read_status instead when there is no specific callback.
>
> Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
> ---
> drivers/net/phy/xilinx_gmii2rgmii.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/phy/xilinx_gmii2rgmii.c b/drivers/net/phy/xilinx_gmii2rgmii.c
> index 74a8782313cf..bd6084e315de 100644
> --- a/drivers/net/phy/xilinx_gmii2rgmii.c
> +++ b/drivers/net/phy/xilinx_gmii2rgmii.c
> @@ -44,7 +44,10 @@ static int xgmiitorgmii_read_status(struct phy_device *phydev)
> u16 val = 0;
> int err;
>
> - err = priv->phy_drv->read_status(phydev);
Hi Paul
How about using phy_read_status()?
Andrew
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] net: phy: xgmiitorgmii: Support generic PHY status read
2019-02-15 16:23 ` Andrew Lunn
@ 2019-02-15 16:29 ` Paul Kocialkowski
2019-02-15 17:01 ` Andrew Lunn
0 siblings, 1 reply; 5+ messages in thread
From: Paul Kocialkowski @ 2019-02-15 16:29 UTC (permalink / raw)
To: Andrew Lunn
Cc: netdev, linux-arm-kernel, linux-kernel, Florian Fainelli,
Heiner Kallweit, David S . Miller, Michal Simek,
Thomas Petazzoni
Hi,
On Fri, 2019-02-15 at 17:23 +0100, Andrew Lunn wrote:
> On Fri, Feb 15, 2019 at 05:17:08PM +0100, Paul Kocialkowski wrote:
> > Some PHY drivers like the generic one do not provide a read_status
> > callback on their own but rely on genphy_read_status being called
> > directly.
> >
> > With the current code, this results in a NULL function pointer call.
> > Call genphy_read_status instead when there is no specific callback.
> >
> > Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
> > ---
> > drivers/net/phy/xilinx_gmii2rgmii.c | 5 ++++-
> > 1 file changed, 4 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/net/phy/xilinx_gmii2rgmii.c b/drivers/net/phy/xilinx_gmii2rgmii.c
> > index 74a8782313cf..bd6084e315de 100644
> > --- a/drivers/net/phy/xilinx_gmii2rgmii.c
> > +++ b/drivers/net/phy/xilinx_gmii2rgmii.c
> > @@ -44,7 +44,10 @@ static int xgmiitorgmii_read_status(struct phy_device *phydev)
> > u16 val = 0;
> > int err;
> >
> > - err = priv->phy_drv->read_status(phydev);
>
> Hi Paul
>
> How about using phy_read_status()?
Thanks fo rthe suggestion! Though I don't that would work here since
our priv->phy_drv != phydev->drv, so it looks like we need to be
breaking it down in the driver.
I suppose this driver is a bit unusual since it represents a GMII to
RGMII bridge, so it's not actually a PHY driver on its own -- it just
sticks itself in between the actual PHY and the MAC.
Cheers,
Paul
--
Paul Kocialkowski, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] net: phy: xgmiitorgmii: Support generic PHY status read
2019-02-15 16:29 ` Paul Kocialkowski
@ 2019-02-15 17:01 ` Andrew Lunn
0 siblings, 0 replies; 5+ messages in thread
From: Andrew Lunn @ 2019-02-15 17:01 UTC (permalink / raw)
To: Paul Kocialkowski
Cc: netdev, linux-arm-kernel, linux-kernel, Florian Fainelli,
Heiner Kallweit, David S . Miller, Michal Simek,
Thomas Petazzoni
> > How about using phy_read_status()?
>
> Thanks fo rthe suggestion! Though I don't that would work here since
> our priv->phy_drv != phydev->drv, so it looks like we need to be
> breaking it down in the driver.
Ahm, yes. I forgot how this driver works.
Andrew
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] net: phy: xgmiitorgmii: Support generic PHY status read
2019-02-15 16:17 [PATCH] net: phy: xgmiitorgmii: Support generic PHY status read Paul Kocialkowski
2019-02-15 16:23 ` Andrew Lunn
@ 2019-02-16 4:21 ` David Miller
1 sibling, 0 replies; 5+ messages in thread
From: David Miller @ 2019-02-16 4:21 UTC (permalink / raw)
To: paul.kocialkowski
Cc: netdev, linux-arm-kernel, linux-kernel, andrew, f.fainelli,
hkallweit1, michal.simek, thomas.petazzoni
From: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
Date: Fri, 15 Feb 2019 17:17:08 +0100
> Some PHY drivers like the generic one do not provide a read_status
> callback on their own but rely on genphy_read_status being called
> directly.
>
> With the current code, this results in a NULL function pointer call.
> Call genphy_read_status instead when there is no specific callback.
>
> Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
Applied, thanks.
Unfortunately I only noticed your updated version with the Fixes tag
after pushing this version out. I'll be more careful next time :)
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2019-02-16 4:21 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-15 16:17 [PATCH] net: phy: xgmiitorgmii: Support generic PHY status read Paul Kocialkowski
2019-02-15 16:23 ` Andrew Lunn
2019-02-15 16:29 ` Paul Kocialkowski
2019-02-15 17:01 ` Andrew Lunn
2019-02-16 4:21 ` David Miller
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).