TIL: @tuxedocomputers released #Linux #kernel drivers for their machines under the #GPLv3, which makes it impossible for competitors and distros to ship them pre-compiled, as that license is incompatible with the #LinuxKernel's #GPLv2 only license.
They did this purposely, allegedly to "keep control of the upstream pacing" – and want to re-license the code while upstreaming.
https://github.com/tuxedocomputers/tuxedo-keyboard/issues/61
https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers/-/issues/137
Russia kidnaps Ukrainian children, changes their identities and their names. The Polish foreign minister asks: How does that differ from the Nazis who kidnapped Russian and Polish children for the same purpose?
I’m happy to announce the Amlogic ARM64 Device Tree is now fully documented in linux-next, ready for v6.12!
Since the beginning of Device Tree on Linux, we documented how it should be written so drivers could know what to expect, it’s called “bindings”, it’s a sort of “contract” between Device Tree and drivers.
But those were written in human readable open text format, without any automated way to verify Device Tree files. There were numerous attempts, but ultimately Rob Herring leveraged JSON Schema [1] into “dtschema” [2] leading to this patch serie https://lore.kernel.org/all/20181005165848.3474-1-robh@kernel.org/.
Thus “dtschema” made it possible to write bindings in YAML and the developed scripts would convert Device Tree in YAML and run a validation with JSON Schema validation. This was merged in end of 2018 then conversion of the text files in YAML files started.
For reference, there were 3278 text bindings in Linux 4.20 git tree, in today’s Linux next for v6.12 only 1250 text files remains but there’s 4345 yaml files now! In addition to the transition to yaml bindings, new platforms were introduced using the new format.
Around one year ago, I upstreamed support for the Snapdragon 8 Gen 3, and it was fully documented from day 1, and most of the changes was yaml bindings change since the SoC was mainly an upgrade from the Snapdragon 8 Gen 2 I helped upstream 2 years ago.
Let’s go back to Amlogic, were I started converting the text file to yaml bindings in August 2019 (see [3]), and finally ended the transition early this month with the patch [4]. This makes the Amlogic ARM64 Device Trees join fully documented along other platforms like Samsung Exynos
If you want to know more about Device Tree validation, you can look at my @LinaroLtd colleague @krzk talk he did in this year's #EOSS in Seattle https://sched.co/1aBEf!
Now the links:
[1] https://json-schema.org/
[2] https://github.com/devicetree-org/dt-schema
[3] https://lore.kernel.org/all/20190801135644.12843-1-narmstrong@baylibre.com/
[4] https://lore.kernel.org/all/20240905-topic-amlogic-upstream-gxlx-drop-iio-compat-v2-1-7a690eb95bc2@linaro.org/
Thanks for reading !