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
This commit is contained in:
Andrew Turner 2016-11-11 14:19:12 +00:00
parent 449287a2a5
commit c6c4276bb7
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=308524

View File

@ -419,13 +419,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);
@ -540,11 +540,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.