diff mbox series

[U-Boot,4/4] net: sh_eth: Fix DT base address fetching

Message ID 20180217000444.8375-4-marek.vasut+renesas@gmail.com
State Accepted
Commit 5abcbd7847cf7ea87744bfedaaf0b4a6b99e7b02
Delegated to: Marek Vasut
Headers show
Series [U-Boot,1/4] net: sh_eth: Zap port variable | expand

Commit Message

Marek Vasut Feb. 17, 2018, 12:04 a.m. UTC
Drop the whole map/unmap_physmem stuff and just use the address
already obtained from DT in ofdata_to_platdata(), instead of
repeating that, wrongly, in probe.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Cc: Joe Hershberger <joe.hershberger@ni.com>
---
 drivers/net/sh_eth.c | 14 ++++----------
 1 file changed, 4 insertions(+), 10 deletions(-)

Comments

Joe Hershberger Feb. 19, 2018, 9:38 p.m. UTC | #1
On Fri, Feb 16, 2018 at 6:04 PM, Marek Vasut <marek.vasut@gmail.com> wrote:
> Drop the whole map/unmap_physmem stuff and just use the address
> already obtained from DT in ofdata_to_platdata(), instead of
> repeating that, wrongly, in probe.
>
> Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
> Cc: Joe Hershberger <joe.hershberger@ni.com>

Acked-by: Joe Hershberger <joe.hershberger@ni.com>
diff mbox series

Patch

diff --git a/drivers/net/sh_eth.c b/drivers/net/sh_eth.c
index 252c6279b0..850fe1587f 100644
--- a/drivers/net/sh_eth.c
+++ b/drivers/net/sh_eth.c
@@ -675,7 +675,7 @@  struct sh_ether_priv {
 	struct sh_eth_dev	shdev;
 
 	struct mii_dev		*bus;
-	void __iomem		*iobase;
+	phys_addr_t		iobase;
 	struct clk		clk;
 	struct gpio_desc	reset_gpio;
 };
@@ -811,15 +811,13 @@  static int sh_ether_probe(struct udevice *udev)
 	struct sh_ether_priv *priv = dev_get_priv(udev);
 	struct sh_eth_dev *eth = &priv->shdev;
 	struct mii_dev *mdiodev;
-	void __iomem *iobase;
 	int ret;
 
-	iobase = map_physmem(pdata->iobase, 0x1000, MAP_NOCACHE);
-	priv->iobase = iobase;
+	priv->iobase = pdata->iobase;
 
 	ret = clk_get_by_index(udev, 0, &priv->clk);
 	if (ret < 0)
-		goto err_mdio_alloc;
+		return ret;
 
 	gpio_request_by_name(udev, "reset-gpios", 0, &priv->reset_gpio,
 			     GPIOD_IS_OUT);
@@ -827,7 +825,7 @@  static int sh_ether_probe(struct udevice *udev)
 	mdiodev = mdio_alloc();
 	if (!mdiodev) {
 		ret = -ENOMEM;
-		goto err_mdio_alloc;
+		return ret;
 	}
 
 	mdiodev->read = bb_miiphy_read;
@@ -850,8 +848,6 @@  static int sh_ether_probe(struct udevice *udev)
 
 err_mdio_register:
 	mdio_free(mdiodev);
-err_mdio_alloc:
-	unmap_physmem(priv->iobase, MAP_NOCACHE);
 	return ret;
 }
 
@@ -868,8 +864,6 @@  static int sh_ether_remove(struct udevice *udev)
 	if (dm_gpio_is_valid(&priv->reset_gpio))
 		dm_gpio_free(udev, &priv->reset_gpio);
 
-	unmap_physmem(priv->iobase, MAP_NOCACHE);
-
 	return 0;
 }