This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
gsoc:2023-gsoc-device-tree-bindings [2023/02/13 11:13] dbaluta [Proposal 1: Convert device tree bindings to DT schema] |
gsoc:2023-gsoc-device-tree-bindings [2023/03/03 14:07] (current) dbaluta [Proposal 1: Convert device tree bindings to DT schema] |
||
|---|---|---|---|
| Line 13: | Line 13: | ||
| Location for this documents is under ''Documentation/devicetree/bindings/'' | Location for this documents is under ''Documentation/devicetree/bindings/'' | ||
| d | d | ||
| + | ` | ||
| ==== Proposal 1: Convert device tree bindings to DT schema ==== | ==== Proposal 1: Convert device tree bindings to DT schema ==== | ||
| Line 31: | Line 32: | ||
| * understand basic concepts about writing a device tree binding file. Look [[https://www.kernel.org/doc/html/v5.10/devicetree/writing-schema.html | here ]] and [[https://elinux.org/images/6/6b/LPC2018_json-schema_for_Devicetree.pdf | here ]]. | * understand basic concepts about writing a device tree binding file. Look [[https://www.kernel.org/doc/html/v5.10/devicetree/writing-schema.html | here ]] and [[https://elinux.org/images/6/6b/LPC2018_json-schema_for_Devicetree.pdf | here ]]. | ||
| - | * demonstrate the knowledge by writing a small patch to convert a ''.txt'' file to yaml. | + | * clone the Linux kernel tree: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git/ |
| + | * demonstrate the knowledge about device tree bindings by writing a small patch to convert a ''.txt'' file to yaml. | ||
| + | * look inside ''Documentation/devicetree/bindings'' | ||
| * start with small and simple ''.txt'' file and convert it to yaml | * start with small and simple ''.txt'' file and convert it to yaml | ||
| * create a a small [[ http://nickdesaulniers.github.io/blog/2017/05/16/submitting-your-first-patch-to-the-linux-kernel-and-responding-to-feedback/ | patch ]] and review it with the mentor | * create a a small [[ http://nickdesaulniers.github.io/blog/2017/05/16/submitting-your-first-patch-to-the-linux-kernel-and-responding-to-feedback/ | patch ]] and review it with the mentor | ||
| Line 37: | Line 40: | ||
| * make dt_binding_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/trivial-devices.yaml | * make dt_binding_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/trivial-devices.yaml | ||
| * make dtbs_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/trivial-devices.yaml | * make dtbs_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/trivial-devices.yaml | ||
| + | * make DT_CHECKER_FLAGS=-m dt_binding_check | ||
| * send the patch to Linux kernel mailing list and work with the community to get it merged | * send the patch to Linux kernel mailing list and work with the community to get it merged | ||
| * before submitting the proposal discuss with the mentor about a plan and a set of ''.txt'' files to work on | * before submitting the proposal discuss with the mentor about a plan and a set of ''.txt'' files to work on | ||
| + | |||
| + | How to find ideas of patches to create: | ||
| + | |||
| + | 1) Look for small ''txt'' files that might be easier to convert. | ||
| + | * Suggestion is for files to have in mind ''Documentation/devicetree/bindings/{sound|iio|hwmon,regulator, rtc, watchdog}''. | ||
| + | * Use ''git log'' and look into history to see how similar patches where done. | ||
| + | * For example ''git log 715f45854f559f361d2c222a0353a3a1818875ed'' | ||
| + | |||
| + | |||
| + | 2) Cleanup all easy dtbs_check warnings for the platforms, like node | ||
| + | names, unused/not allowed properties. Run ''make dtbs_check''. | ||
| + | |||
| Code license: GPL-2.0 OR BSD-3-Clause | Code license: GPL-2.0 OR BSD-3-Clause | ||