* [PATCH 2/2] net/fsl: Replace spin_event_timeout() with arch independent in xgmac_mdio
@ 2015-01-21 11:08 shh.xie
2015-01-26 7:36 ` David Miller
0 siblings, 1 reply; 2+ messages in thread
From: shh.xie @ 2015-01-21 11:08 UTC (permalink / raw)
To: netdev, davem; +Cc: Shaohui Xie
From: Shaohui Xie <Shaohui.Xie@freescale.com>
spin_event_timeout() is PPC dependent, use an arch independent
equivalent instead.
Signed-off-by: Shaohui Xie <Shaohui.Xie@freescale.com>
---
drivers/net/ethernet/freescale/xgmac_mdio.c | 24 ++++++++++++++++--------
1 file changed, 16 insertions(+), 8 deletions(-)
diff --git a/drivers/net/ethernet/freescale/xgmac_mdio.c b/drivers/net/ethernet/freescale/xgmac_mdio.c
index ab9a6bf..3a83bc2 100644
--- a/drivers/net/ethernet/freescale/xgmac_mdio.c
+++ b/drivers/net/ethernet/freescale/xgmac_mdio.c
@@ -52,12 +52,16 @@ struct tgec_mdio_controller {
static int xgmac_wait_until_free(struct device *dev,
struct tgec_mdio_controller __iomem *regs)
{
- uint32_t status;
+ unsigned int timeout;
/* Wait till the bus is free */
- status = spin_event_timeout(
- !((ioread32be(®s->mdio_stat)) & MDIO_STAT_BSY), TIMEOUT, 0);
- if (!status) {
+ timeout = TIMEOUT;
+ while ((ioread32be(®s->mdio_stat) & MDIO_STAT_BSY) && timeout) {
+ cpu_relax();
+ timeout--;
+ }
+
+ if (!timeout) {
dev_err(dev, "timeout waiting for bus to be free\n");
return -ETIMEDOUT;
}
@@ -71,12 +75,16 @@ static int xgmac_wait_until_free(struct device *dev,
static int xgmac_wait_until_done(struct device *dev,
struct tgec_mdio_controller __iomem *regs)
{
- uint32_t status;
+ unsigned int timeout;
/* Wait till the MDIO write is complete */
- status = spin_event_timeout(
- !((ioread32be(®s->mdio_data)) & MDIO_DATA_BSY), TIMEOUT, 0);
- if (!status) {
+ timeout = TIMEOUT;
+ while ((ioread32be(®s->mdio_data) & MDIO_DATA_BSY) && timeout) {
+ cpu_relax();
+ timeout--;
+ }
+
+ if (!timeout) {
dev_err(dev, "timeout waiting for operation to complete\n");
return -ETIMEDOUT;
}
--
1.8.4.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH 2/2] net/fsl: Replace spin_event_timeout() with arch independent in xgmac_mdio
2015-01-21 11:08 [PATCH 2/2] net/fsl: Replace spin_event_timeout() with arch independent in xgmac_mdio shh.xie
@ 2015-01-26 7:36 ` David Miller
0 siblings, 0 replies; 2+ messages in thread
From: David Miller @ 2015-01-26 7:36 UTC (permalink / raw)
To: shh.xie; +Cc: netdev, Shaohui.Xie
From: <shh.xie@gmail.com>
Date: Wed, 21 Jan 2015 19:08:32 +0800
> From: Shaohui Xie <Shaohui.Xie@freescale.com>
>
> spin_event_timeout() is PPC dependent, use an arch independent
> equivalent instead.
>
> Signed-off-by: Shaohui Xie <Shaohui.Xie@freescale.com>
Applied to net-next.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2015-01-26 7:36 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-01-21 11:08 [PATCH 2/2] net/fsl: Replace spin_event_timeout() with arch independent in xgmac_mdio shh.xie
2015-01-26 7:36 ` 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).