On Fri, Oct 09, 2020 at 10:57:42AM -0600, Brigham Campbell wrote: > The following patch is a bug fix for an issue introduced by commit > abe60a3a7afb4058278864aa18c5faf62094c11a which removed the deprecated > device tree skeletons. > > For the devices corresponding to these device trees, an updated version > of U-Boot is not available. Therefore, we must append DTBs to the kernel > instead of counting on the bootloader to load one into memory and pass > the pointer to the kernel during init. > > For some reason, when this method of appending DTBs to the kernel is > used with any revision after abe60a3a7, the DTB seems to load correctly, > but the kernel parameters aren't loaded correctly. Regardless of whether > the kernel parameters are built into the kernel or passed in via U-Boot, > they simply aren't registered by the running kernel. > > Adding an empty "chosen" node to the device tree fixes this issue. I've > tested this with a WM8650-based laptop. Regrettably, I'd be lying if I > said that I know exactly why this fixes the problem. However, I know > that this solution works. I'm happy to hear suggestions/ridicule > regarding these changes. > > Finally, I have my suspicions that the WM8xxx series devices aren't the > only ones affected by this issue. I think this solution, if acceptable, > could be applied to other devices which may or may not be having issues > related to appended DTBs and kernel parameters. Perhaps other devices > which commit abe60a3a7 changed? > > This is my first patch submission to the Linux kernel, so please tear it > apart. Let me know what I've done incorrectly. And thanks, Alexey, for > helping me along. I have much to learn and I wouldn't have made it half > as far without his patience. > > Thanks, > Brigham Campbell > > Signed-off-by: Brigham Campbell <me@xxxxxxxxxxxxxxxxxxx> > > --- > arch/arm/boot/dts/wm8505.dtsi | 2 ++ > arch/arm/boot/dts/wm8650.dtsi | 2 ++ > arch/arm/boot/dts/wm8850.dtsi | 2 ++ > 3 files changed, 6 insertions(+) > > diff --git a/arch/arm/boot/dts/wm8505.dtsi b/arch/arm/boot/dts/wm8505.dtsi > index 168cd12b07bc..2b814b48b458 100644 > --- a/arch/arm/boot/dts/wm8505.dtsi > +++ b/arch/arm/boot/dts/wm8505.dtsi > @@ -10,6 +10,8 @@ / { > #size-cells = <1>; > compatible = "wm,wm8505"; > > + chosen {}; > + > cpus { > #address-cells = <0>; > #size-cells = <0>; > diff --git a/arch/arm/boot/dts/wm8650.dtsi b/arch/arm/boot/dts/wm8650.dtsi > index bc057b6f7d16..a68c82c8035e 100644 > --- a/arch/arm/boot/dts/wm8650.dtsi > +++ b/arch/arm/boot/dts/wm8650.dtsi > @@ -10,6 +10,8 @@ / { > #size-cells = <1>; > compatible = "wm,wm8650"; > > + chosen {}; > + > cpus { > #address-cells = <0>; > #size-cells = <0>; > diff --git a/arch/arm/boot/dts/wm8850.dtsi b/arch/arm/boot/dts/wm8850.dtsi > index 65c9271050e6..c864883ae777 100644 > --- a/arch/arm/boot/dts/wm8850.dtsi > +++ b/arch/arm/boot/dts/wm8850.dtsi > @@ -10,6 +10,8 @@ / { > #size-cells = <1>; > compatible = "wm,wm8850"; > > + chosen {}; > + > cpus { > #address-cells = <1>; > #size-cells = <0>; > -- > 2.28.0 > Sorry to generate another notification, but I don't believe I've recieved a response on this patch in the ~two weeks it's been up. Did I format something incorrectly or have I sent it to the wrong addresses? Maybe the relevant maintainer has just been busy? Thanks, Brigham Campbell