linux/drivers/of
Andreas Rammhold 2a12187d58 of/fdt: run soc memory setup when early_init_dt_scan_memory fails
If memory has been found early_init_dt_scan_memory now returns 1. If
it hasn't found any memory it will return 0, allowing other memory
setup mechanisms to carry on.

Previously early_init_dt_scan_memory always returned 0 without
distinguishing between any kind of memory setup being done or not. Any
code path after the early_init_dt_scan memory call in the ramips
plat_mem_setup code wouldn't be executed anymore. Making
early_init_dt_scan_memory the only way to initialize the memory.

Some boards, including my mt7621 based Cudy X6 board, depend on memory
initialization being done via the soc_info.mem_detect function
pointer. Those wouldn't be able to obtain memory and panic the kernel
during early bootup with the message "early_init_dt_alloc_memory_arch:
Failed to allocate 12416 bytes align=0x40".

Fixes: 1f012283e9 ("of/fdt: Rework early_init_dt_scan_memory() to call directly")
Cc: stable@vger.kernel.org
Signed-off-by: Andreas Rammhold <andreas@rammhold.de>
Link: https://lore.kernel.org/r/20221223112748.2935235-1-andreas@rammhold.de
Signed-off-by: Rob Herring <robh@kernel.org>
2023-01-03 18:41:01 -06:00
..
unittest-data of: overlay: rename overlay source files from .dts to .dtso 2022-10-26 09:02:28 -05:00
address.c of: Fix "dma-ranges" handling for bus controllers 2022-09-30 14:35:43 -05:00
base.c Devicetree updates for v6.1: 2022-10-10 13:13:51 -07:00
device.c driver core: pass a const * into of_device_uevent() 2022-11-22 17:34:55 +01:00
dynamic.c of: Add missing 'Return' section in kerneldoc comments 2021-03-27 12:59:03 -06:00
fdt.c of/fdt: run soc memory setup when early_init_dt_scan_memory fails 2023-01-03 18:41:01 -06:00
fdt_address.c
irq.c of/irq: export of_msi_get_domain 2022-10-19 18:58:04 +05:30
Kconfig of: net: move of_net under net/ 2021-10-07 13:39:51 +01:00
kexec.c of/kexec: Fix reading 32-bit "linux,initrd-{start,end}" values 2022-12-06 14:50:36 -06:00
kobj.c of: kobj: make of_node_is_(initialized|attached) parameters const 2021-10-20 13:37:25 -05:00
Makefile of: net: move of_net under net/ 2021-10-07 13:39:51 +01:00
of_numa.c of, numa: Fetch empty NUMA node ID from distance map 2021-10-04 13:13:44 -05:00
of_private.h of: Fix "dma-ranges" handling for bus controllers 2022-09-30 14:35:43 -05:00
of_reserved_mem.c of: reserved-memory: Print allocation/reservation failures as error 2022-06-28 14:15:36 -06:00
overlay.c of: overlay: fix null pointer dereferencing in find_dup_cset_node_entry() and find_dup_cset_prop() 2022-12-11 19:00:36 -06:00
pdt.c of: Remove struct device_node.type pointer 2019-01-10 16:24:44 -06:00
platform.c of/platform: use of_address_count() helper 2022-10-16 17:58:54 -05:00
property.c of: property: decrement node refcount in of_fwnode_get_reference_args() 2022-11-22 17:22:52 -06:00
resolver.c of: overlay: log the error cause on resolver failure 2020-03-02 11:32:44 -06:00
unittest.c of: unittest: Convert to i2c's .probe_new() 2022-12-06 14:50:35 -06:00