linux-stable/drivers/of
Alexander Sverdlin a7d550f82b of: fdt: Honor CONFIG_CMDLINE* even without /chosen node
I do not read a strict requirement on /chosen node in either ePAPR or in
Documentation/devicetree. Help text for CONFIG_CMDLINE and
CONFIG_CMDLINE_EXTEND doesn't make their behavior explicitly dependent on
the presence of /chosen or the presense of /chosen/bootargs.

However the early check for /chosen and bailing out in
early_init_dt_scan_chosen() skips CONFIG_CMDLINE handling which is not
really related to /chosen node or the particular method of passing cmdline
from bootloader.

This leads to counterintuitive combinations (assuming
CONFIG_CMDLINE_EXTEND=y):

a) bootargs="foo", CONFIG_CMDLINE="bar" => cmdline=="foo bar"
b) /chosen missing, CONFIG_CMDLINE="bar" => cmdline==""
c) bootargs="", CONFIG_CMDLINE="bar" => cmdline==" bar"

Move CONFIG_CMDLINE handling outside of early_init_dt_scan_chosen() so that
cases b and c above result in the same cmdline.

Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Link: https://lore.kernel.org/r/11af73e05bad75e4ef49067515e3214f6d944b3d.camel@gmail.com
Signed-off-by: Rob Herring <robh@kernel.org>
2022-12-16 11:22:58 -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: Honor CONFIG_CMDLINE* even without /chosen node 2022-12-16 11:22:58 -06:00
fdt_address.c
irq.c of: irq: Report individual failures in of_irq_init() 2022-09-07 10:54:55 -05:00
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