On Thu, Mar 04, 2021 at 08:32:37AM -0600, Rob Herring wrote: > On Wed, Mar 3, 2021 at 10:48 PM Daniel Walker <danielwa@xxxxxxxxx> wrote: > > > > It looks like there's some seepage of cmdline stuff into > > the generic device tree code. This conflicts with the > > generic cmdline implementation so I remove it in the case > > when that's enabled. > > > > Cc: xe-linux-external@xxxxxxxxx > > Signed-off-by: Ruslan Ruslichenko <rruslich@xxxxxxxxx> > > Signed-off-by: Daniel Walker <danielwa@xxxxxxxxx> > > --- > > drivers/of/fdt.c | 12 ++++++++++++ > > 1 file changed, 12 insertions(+) > > > > diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c > > index feb0f2d67fc5..cfe4f8d3c9f5 100644 > > --- a/drivers/of/fdt.c > > +++ b/drivers/of/fdt.c > > @@ -25,6 +25,7 @@ > > #include <linux/serial_core.h> > > #include <linux/sysfs.h> > > #include <linux/random.h> > > +#include <linux/cmdline.h> > > > > #include <asm/setup.h> /* for COMMAND_LINE_SIZE */ > > #include <asm/page.h> > > @@ -1048,8 +1049,18 @@ int __init early_init_dt_scan_chosen(unsigned long node, const char *uname, > > > > early_init_dt_check_for_initrd(node); > > > > +#ifdef CONFIG_GENERIC_CMDLINE > > What I like about Christophe's version is it removes the old DT > implementation. Who's going to convert the rest of the DT based > arches? That's arm, arm64, hexagon, microblaze, nios2, openrisc, > riscv, sh, and xtensa. Either separate the common code from the config > like Christophe's version or these all need converting. Though it's > fine to hash out patch 1 with a couple of arches first. I'm limited in what I can test, so I can't know for sure that I have something which works on those architectures. Even powerpc 64 is part of this series but I can't really test it at this time. Also Cisco's needs out strip the implementation of extend or override. I have un-tested conversions for arm32, arm64, c6x, microblaze, nios2, and openrisc. These could go into -next and we can see who complains. The implementation on these architectures isn't all uniform. > > /* Retrieve command line */ > > p = of_get_flat_dt_prop(node, "bootargs", &l); > > This needs to be outside the ifdef. Ok .. Daniel