User Tools

Site Tools


gsoc:2024-gsoc-device-tree-bindings

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
gsoc:2024-gsoc-device-tree-bindings [2024/02/08 12:21]
dbaluta [How do I get started?]
gsoc:2024-gsoc-device-tree-bindings [2024/05/23 12:32] (current)
dbaluta [Proposal 1: Convert device tree bindings to DT schema]
Line 29: Line 29:
 ''​ ''​
  
-You can have a look at this [[https://​lore.kernel.org/​lkml/​20230211134755.86061-1-krzysztof.kozlowski@linaro.org/​T/​ | example ]].+You can have a look at this [[https://​lore.kernel.org/​lkml/​20230211134755.86061-1-krzysztof.kozlowski@linaro.org/​T/​ | example ]] of a conversion patch looks like.
  
-Tips for writing ​a good proposal:+Before ​writing ​your proposal ​you need to:
  
-  ​* 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 ]]+  ​- Watch this [[https://​www.youtube.com/watch?​v=JrwZ4xLBU38|presentation]] from Krzysztof ​and get a feel of the work should be done in the project. 
-  ​clone the Linux kernel tree: https://​git.kernel.org/​pub/​scm/​linux/​kernel/​git/​robh/​linux.git/​ +  ​Write an email to project Mentor announcing your intention to work on the proposal. 
-  ​* demonstrate the knowledge about device tree bindings by writing a small patch to convert a ''​.txt''​ file to yaml. +  - Create a small patch that converts a device tree binding ''​.txt''​ file to ''​yaml''​ 
-      * look inside ''​Documentation/​devicetree/​bindings''​ + 
-      * start with small and simple ''​.txt''​ file and convert it to yaml +How to create a small patch? 
-      * 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 + 
-      ​* ​verify ​the patch:+  ​clone the Linux kernel tree: https://​git.kernel.org/​pub/​scm/​linux/​kernel/​git/​robh/​linux.git/​ 
 +  ​look inside ''​Documentation/​devicetree/​bindings''​ 
 +     ​* start with small and simple ''​.txt''​ file and convert it to yaml 
 +     ​discuss with your mentor about your chosen file and after that start working on the patch 
 +  - Watch again the [[https://​www.youtube.com/​watch?​v=JrwZ4xLBU38|presentation]] and read about how to create ​your first [[ http://​nickdesaulniers.github.io/​blog/​2017/​05/​16/​submitting-your-first-patch-to-the-linux-kernel-and-responding-to-feedback/​ | patch ]]
 +  - Review patch your mentor by email first and after that send it to community 
 +  - Always ​verify ​your patch before submitting for review
           * 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           * 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 
-  * 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: 
- 
- 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''​ 
- 
- 
- ​Cleanup all easy dtbs_check warnings for the platforms, like node 
-names, unused/not allowed properties. Run ''​make dtbs_check''​. 
  
 Desired knowledge: C, shell scripting, make, git Desired knowledge: C, shell scripting, make, git
  
-Code license: GPL-2.0 OR BSD-3-Clause+Code license: GPL-2.0-only OR BSD-2-Clause
  
 The project is considered successful if the code is accepted into mainline Linux kernel tree.  The project is considered successful if the code is accepted into mainline Linux kernel tree. 
gsoc/2024-gsoc-device-tree-bindings.1707394872.txt.gz · Last modified: 2024/02/08 12:21 by dbaluta