Hi, This patch series fixes a DT based address translation (translations using the ranges property). The issue is present with a ranges property made of a 3 cells child address, a 3 cells parent address and a 2 cells child size. This can happen with the recent addition of of_pci_prop_ranges() in commit 407d1a51921e ("PCI: Create device tree node for bridge") The issue description is fully described in the first patch commit log. In this series, - The first patch fixes the issue. - The second patch avoids duplicated code. - The third patch adds unit tests related address translations. I previously sent the first patch alone: https://lore.kernel.org/linux-kernel/20231003065236.121987-1-herve.codina@xxxxxxxxxxx/ This series v2 has to be considered as the next iteration based on the review done on my previous patch sent alone. Best regards, Hervé Changes v1 -> v2 - Patch 1 Simplify of_bus_default_flags_map(). Fix the commit log (pci-ep-bus ranges[0] size is 0x200_0000 instead of 0x2000_0000). - Patch 2 (new in v2) Remove duplicated code. - Patch 3 (new in v2) Add unit tests. Herve Codina (3): of: address: Fix address translation when address-size is greater than 2 of: address: Remove duplicated functions of: unittest: Add tests for address translations drivers/of/address.c | 43 ++++++--- drivers/of/unittest-data/tests-address.dtsi | 101 ++++++++++++++++++++ drivers/of/unittest.c | 74 ++++++++++++++ 3 files changed, 205 insertions(+), 13 deletions(-) -- 2.41.0