summaryrefslogtreecommitdiff
path: root/drivers/net/mscc_eswitch/serval_switch.c
diff options
context:
space:
mode:
authorPatrick Delaunay <patrick.delaunay@foss.st.com>2021-04-06 10:38:06 +0300
committerSimon Glass <sjg@chromium.org>2021-04-29 13:23:39 +0300
commitfeb7ac457c20ac575749471141722b0bbe6303ca (patch)
treed313185a6a75fa108a2da7b5e9798ee4bd792508 /drivers/net/mscc_eswitch/serval_switch.c
parent1736575b0cfe5dfe511a2904dd84289fc781728e (diff)
downloadu-boot-feb7ac457c20ac575749471141722b0bbe6303ca.tar.xz
dm: core: Add address translation in fdt_get_resource
Today of_address_to_resource() is called only in ofnode_read_resource() for livetree support and fdt_get_resource() is called when livetree is not supported. The fdt_get_resource() doesn't do the address translation so when it is required, but the address translation is done by ofnode_read_resource() caller, for example in drivers/firmware/scmi/smt.c::scmi_dt_get_smt_buffer() { ... ret = ofnode_read_resource(args.node, 0, &resource); if (ret) return ret; faddr = cpu_to_fdt32(resource.start); paddr = ofnode_translate_address(args.node, &faddr); ... The both behavior should be aligned and the address translation must be called in fdt_get_resource() and removed for each caller. Fixes: a44810123f9e ("dm: core: Add dev_read_resource() to read device resources") Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com> Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
Diffstat (limited to 'drivers/net/mscc_eswitch/serval_switch.c')
-rw-r--r--drivers/net/mscc_eswitch/serval_switch.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/net/mscc_eswitch/serval_switch.c b/drivers/net/mscc_eswitch/serval_switch.c
index 09ce33452d..c4b81f7529 100644
--- a/drivers/net/mscc_eswitch/serval_switch.c
+++ b/drivers/net/mscc_eswitch/serval_switch.c
@@ -482,7 +482,6 @@ static int serval_probe(struct udevice *dev)
struct serval_private *priv = dev_get_priv(dev);
int i, ret;
struct resource res;
- fdt32_t faddr;
phys_addr_t addr_base;
unsigned long addr_size;
ofnode eth_node, node, mdio_node;
@@ -533,9 +532,8 @@ static int serval_probe(struct udevice *dev)
if (ofnode_read_resource(mdio_node, 0, &res))
return -ENOMEM;
- faddr = cpu_to_fdt32(res.start);
- addr_base = ofnode_translate_address(mdio_node, &faddr);
+ addr_base = res.start;
addr_size = res.end - res.start;
/* If the bus is new then create a new bus */