aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Vasut <marek.vasut+renesas@gmail.com>2018-02-17 00:57:49 +0100
committerMarek Vasut <marex@denx.de>2018-02-18 11:20:18 +0100
commit5abcbd7847cf7ea87744bfedaaf0b4a6b99e7b02 (patch)
tree73d298a001e9937e3affae8ebc93ded4c761dfa8
parent5262767deda2a46014654ad2f7e20a42397861b1 (diff)
downloadu-boot-5abcbd7847cf7ea87744bfedaaf0b4a6b99e7b02.zip
u-boot-5abcbd7847cf7ea87744bfedaaf0b4a6b99e7b02.tar.gz
u-boot-5abcbd7847cf7ea87744bfedaaf0b4a6b99e7b02.tar.bz2
net: sh_eth: Fix DT base address fetching
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>
-rw-r--r--drivers/net/sh_eth.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/drivers/net/sh_eth.c b/drivers/net/sh_eth.c
index 1864c89..6f48e93 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;
}