summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2019-10-04 12:22:28 -0400
committerTom Rini <trini@konsulko.com>2019-10-04 12:22:28 -0400
commit2baa731d0076b9aff721a2c737c479f65cc931e9 (patch)
treef29702dda7e243da36e99f9d255d7fe60fce0870
parentea4316cdb340ce1c05db5d6a869d1840dad68508 (diff)
parente18c41fca46a33bf76b4664796e3e132dc71c6cb (diff)
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-x86
- dm: core: Correct low cell in ofnode_read_pci_addr() - dm: core: Correct bad cast in ofnode_get_addr_size_index()
-rw-r--r--drivers/core/ofnode.c9
-rw-r--r--lib/fdtdec.c2
2 files changed, 7 insertions, 4 deletions
diff --git a/drivers/core/ofnode.c b/drivers/core/ofnode.c
index 7eca00cd661..297f0a0c7cc 100644
--- a/drivers/core/ofnode.c
+++ b/drivers/core/ofnode.c
@@ -261,12 +261,15 @@ fdt_addr_t ofnode_get_addr_size_index(ofnode node, int index, fdt_size_t *size)
if (ofnode_is_np(node)) {
const __be32 *prop_val;
+ u64 size64;
uint flags;
- prop_val = of_get_address(ofnode_to_np(node), index,
- (u64 *)size, &flags);
+ prop_val = of_get_address(ofnode_to_np(node), index, &size64,
+ &flags);
if (!prop_val)
return FDT_ADDR_T_NONE;
+ if (size)
+ *size = size64;
ns = of_n_size_cells(ofnode_to_np(node));
@@ -617,7 +620,7 @@ int ofnode_read_pci_addr(ofnode node, enum fdt_pci_space type,
if ((fdt32_to_cpu(*cell) & type) == type) {
addr->phys_hi = fdt32_to_cpu(cell[0]);
addr->phys_mid = fdt32_to_cpu(cell[1]);
- addr->phys_lo = fdt32_to_cpu(cell[1]);
+ addr->phys_lo = fdt32_to_cpu(cell[2]);
break;
}
diff --git a/lib/fdtdec.c b/lib/fdtdec.c
index 74525c84e7b..74430c8b2ff 100644
--- a/lib/fdtdec.c
+++ b/lib/fdtdec.c
@@ -217,7 +217,7 @@ int fdtdec_get_pci_addr(const void *blob, int node, enum fdt_pci_space type,
if ((fdt32_to_cpu(*cell) & type) == type) {
addr->phys_hi = fdt32_to_cpu(cell[0]);
addr->phys_mid = fdt32_to_cpu(cell[1]);
- addr->phys_lo = fdt32_to_cpu(cell[1]);
+ addr->phys_lo = fdt32_to_cpu(cell[2]);
break;
}