[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20170612095745.11300-5-antoine.tenart@free-electrons.com>
Date: Mon, 12 Jun 2017 11:57:40 +0200
From: Antoine Tenart <antoine.tenart@...e-electrons.com>
To: davem@...emloft.net, jason@...edaemon.net, andrew@...n.ch,
gregory.clement@...e-electrons.com,
sebastian.hesselbarth@...il.com, f.fainelli@...il.com
Cc: Antoine Tenart <antoine.tenart@...e-electrons.com>,
thomas.petazzoni@...e-electrons.com, nadavh@...vell.com,
mw@...ihalf.com, linux@...linux.org.uk, netdev@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org
Subject: [PATCH v3 4/9] net: mvmdio: move the read valid check into its own function
Move the read valid check in its own function. This is needed as a
requirement to factorize the driver to add the xMDIO support in the
future.
Signed-off-by: Antoine Tenart <antoine.tenart@...e-electrons.com>
---
drivers/net/ethernet/marvell/mvmdio.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ethernet/marvell/mvmdio.c b/drivers/net/ethernet/marvell/mvmdio.c
index 583f1c5753c2..2ed819d25305 100644
--- a/drivers/net/ethernet/marvell/mvmdio.c
+++ b/drivers/net/ethernet/marvell/mvmdio.c
@@ -69,6 +69,11 @@ static int orion_mdio_smi_is_done(struct orion_mdio_dev *dev)
return !(readl(dev->regs) & MVMDIO_SMI_BUSY);
}
+static int orion_mdio_smi_is_read_valid(struct orion_mdio_dev *dev)
+{
+ return readl(dev->regs) & MVMDIO_SMI_READ_VALID;
+}
+
/* Wait for the SMI unit to be ready for another operation
*/
static int orion_mdio_wait_ready(struct mii_bus *bus)
@@ -113,7 +118,6 @@ static int orion_mdio_read(struct mii_bus *bus, int mii_id,
int regnum)
{
struct orion_mdio_dev *dev = bus->priv;
- u32 val;
int ret;
mutex_lock(&dev->lock);
@@ -131,14 +135,13 @@ static int orion_mdio_read(struct mii_bus *bus, int mii_id,
if (ret < 0)
goto out;
- val = readl(dev->regs);
- if (!(val & MVMDIO_SMI_READ_VALID)) {
+ if (!orion_mdio_smi_is_read_valid(dev)) {
dev_err(bus->parent, "SMI bus read not valid\n");
ret = -ENODEV;
goto out;
}
- ret = val & GENMASK(15, 0);
+ ret = readl(dev->regs) & GENMASK(15, 0);
out:
mutex_unlock(&dev->lock);
return ret;
--
2.9.4
Powered by blists - more mailing lists