On 12/16/22 14:37, Miquel Raynal wrote:
Hi,
[...]
What?
Let me rephrase, I was not clear enough.
Since when my proposal is breaking boards? My proposal leads to a situation where:
- If you have a board that has an inconsistent description but worked, it will still work.
- If you have a board that has a consistent description and worked, it will still work.
- If your have a board that has an inconsistent description and got broken *recently* by another change (typically you "fix" the DT in Linux to comply with the bindings), then you get a warning that leads you on the right path, you then update your bootloader if you can, but either way you add your machine compatible to the list of devices which need the early fix and your boot is fixed.
This implies that we can proactively catch all the affected boards. I do not believe this is reasonable and because of that my comment before about creating regression to the users.
I really don't understand the reasoning here.
What I say is: let's fix the boards known to be incorrectly described when we break them so they continue working with a broken firmware.
The second part of the message, as far as I understand it, is "ignore problems this will cause to users of boards we do not know about, let them run into unbootable systems after some linux kernel update, and once they suffer through system recovery, make them add compatible string to the arch-side workaround".
What regression could this possibly bring? I don't care about catching the 2k boards out there which work but wrongly describe their partitions. If they work, they will continue working.
Those boards would start failing once the Linux-side DT size-cells is corrected.
Also, this got missed in the previous discussion. If you use only board compatible string in arch-side workaround, the workaround would be applied even on systems with updated bootloaders, which is likely not what we want.
You and Marek say: let's blindly always change a property in the DT, no matter if the board is broken, even if we don't know if this is the right thing to do, and apply this to the entire world.
As far as I can tell, if we have partitions in the NAND controller node and size-cells=0, then the right thing to do is to override size-cells to 1 , because partitions with size-cells=0 make no sense.
If the heuristics here needs to be improved somehow, let's discuss that.
But with this approach you're not worried about regressions.
I am sorry it does not stand.
[...]