Patch Versions: v7: - Make changes to initialize the reserved memory regions earlier in response to issue reported in v6: https://lore.kernel.org/all/20240610213403.GA1697364@thelio-3990X/ - For the reserved regions to be setup properly, fdt_init_reserved_mem_node() needs to be called on each of the regions before the page tables are setup. Since the function requires a refernece to the devicetree node of each region, we are not able to use the unflattened_devicetree APIs since they are not available until after the page tables have been setup. Hence, revert the use of the unflatten_device APIs as a result of this limitation which was discovered in v6: https://lore.kernel.org/all/986361f4-f000-4129-8214-39f2fb4a90da@xxxxxxxxx/ https://lore.kernel.org/all/DU0PR04MB9299C3EC247E1FE2C373440F80DE2@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/ v6: https://lore.kernel.org/all/20240528223650.619532-1-quic_obabatun@xxxxxxxxxxx/ - Rebased patchset on top of v6.10-rc1. - Addressed comments received in v5 such as: 1. Switched to using relevant typed functions such as of_property_read_u32(), of_property_present(), etc. 2. Switched to using of_address_to_resource() to read the "reg" property of nodes. 3. Renamed functions using "of_*" naming scheme instead of "dt_*". v5: https://lore.kernel.org/all/20240328211543.191876-1-quic_obabatun@xxxxxxxxxxx/ - Rebased changes on top of v6.9-rc1. - Addressed minor code comments from v4. v4: https://lore.kernel.org/all/20240308191204.819487-2-quic_obabatun@xxxxxxxxxxx/ - Move fdt_init_reserved_mem() back into the unflatten_device_tree() function. - Fix warnings found by Kernel test robot: https://lore.kernel.org/all/202401281219.iIhqs1Si-lkp@xxxxxxxxx/ https://lore.kernel.org/all/202401281304.tsu89Kcm-lkp@xxxxxxxxx/ https://lore.kernel.org/all/202401291128.e7tdNh5x-lkp@xxxxxxxxx/ v3: https://lore.kernel.org/all/20240126235425.12233-1-quic_obabatun@xxxxxxxxxxx/ - Make use of __initdata to delete the temporary static array after dynamically allocating memory for reserved_mem array using memblock. - Move call to fdt_init_reserved_mem() out of the unflatten_device_tree() function and into architecture specific setup code. - Breaking up the changes for the individual architectures into separate patches. v2: https://lore.kernel.org/all/20231204041339.9902-1-quic_obabatun@xxxxxxxxxxx/ - Extend changes to all other relevant architectures by moving fdt_init_reserved_mem() into the unflatten_device_tree() function. - Add code to use unflatten devicetree APIs to process the reserved memory regions. v1: https://lore.kernel.org/all/20231019184825.9712-1-quic_obabatun@xxxxxxxxxxx/ References: [1] https://github.com/devicetree-org/dt-schema/blob/main/dtschema/schemas/reserved-memory/reserved-memory.yaml#L79 Oreoluwa Babatunde (2): of: reserved_mem: Restruture how the reserved memory regions are processed of: reserved_mem: Add code to dynamically allocate reserved_mem array drivers/of/fdt.c | 5 +- drivers/of/of_private.h | 3 +- drivers/of/of_reserved_mem.c | 231 +++++++++++++++++++++++++++-------- 3 files changed, 188 insertions(+), 51 deletions(-) -- 2.34.1