aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAntoine Ténart <antoine.tenart@free-electrons.com>2017-06-15 10:43:24 -0400
committerDavid S. Miller <davem@davemloft.net>2017-06-16 12:27:12 -0400
commit0268b51e3043d96c4133154b20a5b8338857cb5b (patch)
tree8f205627a0dbabb3c16acdd3439adb8604233b4f
parentc0ac08f533e6995e1bc14e67cd3c21ad07dd9214 (diff)
net: mvmdio: simplify the smi read and write error paths
Cosmetic patch simplifying the smi read and write error paths. It also align their error paths with the ones of the xsmi functions. Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/ethernet/marvell/mvmdio.c16
1 files changed, 6 insertions, 10 deletions
diff --git a/drivers/net/ethernet/marvell/mvmdio.c b/drivers/net/ethernet/marvell/mvmdio.c
index 0888e50f6b17..c9798210fa0f 100644
--- a/drivers/net/ethernet/marvell/mvmdio.c
+++ b/drivers/net/ethernet/marvell/mvmdio.c
@@ -149,7 +149,7 @@ static int orion_mdio_smi_read(struct mii_bus *bus, int mii_id,
149 149
150 ret = orion_mdio_wait_ready(&orion_mdio_smi_ops, bus); 150 ret = orion_mdio_wait_ready(&orion_mdio_smi_ops, bus);
151 if (ret < 0) 151 if (ret < 0)
152 goto out; 152 return ret;
153 153
154 writel(((mii_id << MVMDIO_SMI_PHY_ADDR_SHIFT) | 154 writel(((mii_id << MVMDIO_SMI_PHY_ADDR_SHIFT) |
155 (regnum << MVMDIO_SMI_PHY_REG_SHIFT) | 155 (regnum << MVMDIO_SMI_PHY_REG_SHIFT) |
@@ -158,18 +158,15 @@ static int orion_mdio_smi_read(struct mii_bus *bus, int mii_id,
158 158
159 ret = orion_mdio_wait_ready(&orion_mdio_smi_ops, bus); 159 ret = orion_mdio_wait_ready(&orion_mdio_smi_ops, bus);
160 if (ret < 0) 160 if (ret < 0)
161 goto out; 161 return ret;
162 162
163 val = readl(dev->regs); 163 val = readl(dev->regs);
164 if (!(val & MVMDIO_SMI_READ_VALID)) { 164 if (!(val & MVMDIO_SMI_READ_VALID)) {
165 dev_err(bus->parent, "SMI bus read not valid\n"); 165 dev_err(bus->parent, "SMI bus read not valid\n");
166 ret = -ENODEV; 166 return -ENODEV;
167 goto out;
168 } 167 }
169 168
170 ret = val & GENMASK(15, 0); 169 return val & GENMASK(15, 0);
171out:
172 return ret;
173} 170}
174 171
175static int orion_mdio_smi_write(struct mii_bus *bus, int mii_id, 172static int orion_mdio_smi_write(struct mii_bus *bus, int mii_id,
@@ -183,7 +180,7 @@ static int orion_mdio_smi_write(struct mii_bus *bus, int mii_id,
183 180
184 ret = orion_mdio_wait_ready(&orion_mdio_smi_ops, bus); 181 ret = orion_mdio_wait_ready(&orion_mdio_smi_ops, bus);
185 if (ret < 0) 182 if (ret < 0)
186 goto out; 183 return ret;
187 184
188 writel(((mii_id << MVMDIO_SMI_PHY_ADDR_SHIFT) | 185 writel(((mii_id << MVMDIO_SMI_PHY_ADDR_SHIFT) |
189 (regnum << MVMDIO_SMI_PHY_REG_SHIFT) | 186 (regnum << MVMDIO_SMI_PHY_REG_SHIFT) |
@@ -191,8 +188,7 @@ static int orion_mdio_smi_write(struct mii_bus *bus, int mii_id,
191 (value << MVMDIO_SMI_DATA_SHIFT)), 188 (value << MVMDIO_SMI_DATA_SHIFT)),
192 dev->regs); 189 dev->regs);
193 190
194out: 191 return 0;
195 return ret;
196} 192}
197 193
198static int orion_mdio_xsmi_is_done(struct orion_mdio_dev *dev) 194static int orion_mdio_xsmi_is_done(struct orion_mdio_dev *dev)