summaryrefslogtreecommitdiffstats
path: root/sys/dev/fdt/fdt_common.c
diff options
context:
space:
mode:
authorandrew <andrew@FreeBSD.org>2016-11-11 14:19:12 +0000
committerLuiz Souza <luiz@netgate.com>2017-09-06 11:52:29 -0500
commit88d3d755ca715ebdd64bdfba77ec7f25cb470cdf (patch)
treeee5cc39982de5e1a9e544b96e6eb952e91b02f0a /sys/dev/fdt/fdt_common.c
parent3fb9fb4901ce9970059c0c6c80ea5b111dbafc0d (diff)
downloadFreeBSD-src-88d3d755ca715ebdd64bdfba77ec7f25cb470cdf.zip
FreeBSD-src-88d3d755ca715ebdd64bdfba77ec7f25cb470cdf.tar.gz
Replace OF_getprop ... fdt32_to_cpu with OF_getencprop. The latter
correctly adjusts for the endian. MFC after: 1 week Sponsored by: ABT Systems Ltd (cherry picked from commit 813addbf2cfa303aa2c7515a34cc731222d30d46)
Diffstat (limited to 'sys/dev/fdt/fdt_common.c')
-rw-r--r--sys/dev/fdt/fdt_common.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/sys/dev/fdt/fdt_common.c b/sys/dev/fdt/fdt_common.c
index 4e0d6e2..842d176 100644
--- a/sys/dev/fdt/fdt_common.c
+++ b/sys/dev/fdt/fdt_common.c
@@ -416,13 +416,13 @@ fdt_addrsize_cells(phandle_t node, int *addr_cells, int *size_cells)
* Retrieve #{address,size}-cells.
*/
cell_size = sizeof(cell);
- if (OF_getprop(node, "#address-cells", &cell, cell_size) < cell_size)
- cell = 2;
- *addr_cells = fdt32_to_cpu((int)cell);
+ if (OF_getencprop(node, "#address-cells", &cell, cell_size) < cell_size)
+ *addr_cells = 2;
+ *addr_cells = (int)cell;
- if (OF_getprop(node, "#size-cells", &cell, cell_size) < cell_size)
+ if (OF_getencprop(node, "#size-cells", &cell, cell_size) < cell_size)
cell = 1;
- *size_cells = fdt32_to_cpu((int)cell);
+ *size_cells = (int)cell;
if (*addr_cells > 3 || *size_cells > 2)
return (ERANGE);
@@ -537,11 +537,11 @@ fdt_get_phyaddr(phandle_t node, device_t dev, int *phy_addr, void **phy_sc)
phy_node = OF_node_from_xref(phy_handle);
- if (OF_getprop(phy_node, "reg", (void *)&phy_reg,
+ if (OF_getencprop(phy_node, "reg", (void *)&phy_reg,
sizeof(phy_reg)) <= 0)
return (ENXIO);
- *phy_addr = fdt32_to_cpu(phy_reg);
+ *phy_addr = phy_reg;
/*
* Search for softc used to communicate with phy.
OpenPOWER on IntegriCloud