[FE training-materials-updates] kernel-device-model: more improvements

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Fri Sep 27 16:27:32 CEST 2013


Repository : git://git.free-electrons.com/training-materials.git

On branch  : kernel-ng
Link       : http://git.free-electrons.com/training-materials/commit/?id=2c3be0e46f96415d9ac5d19b1f14e7e69225d2e8

>---------------------------------------------------------------

commit 2c3be0e46f96415d9ac5d19b1f14e7e69225d2e8
Author: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
Date:   Fri Sep 27 16:27:08 2013 +0200

    kernel-device-model: more improvements
    
    Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>


>---------------------------------------------------------------

2c3be0e46f96415d9ac5d19b1f14e7e69225d2e8
 slides/kernel-device-model/kernel-device-model.tex |   27 ++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/slides/kernel-device-model/kernel-device-model.tex b/slides/kernel-device-model/kernel-device-model.tex
index dfa0f40..a47ba96 100644
--- a/slides/kernel-device-model/kernel-device-model.tex
+++ b/slides/kernel-device-model/kernel-device-model.tex
@@ -553,6 +553,7 @@ static int serial_imx_probe(struct platform_device *pdev)
   \item At boot time, the kernel is given a compiled version, the {\bf
       Device Tree Blob}, which is parsed to instantiate all the
     devices described in the DT.
+  \item On ARM, they are located in \code{arch/arm/boot/dts}.
   \end{itemize}
 \end{frame}
 
@@ -631,12 +632,38 @@ static struct platform_driver serial_omap_driver = {
   \end{itemize}
 \end{frame}
 
+\begin{frame}{Device Tree bindings}
+  \begin{itemize}
+  \item The compatible string and the associated properties define
+    what is called a {\em device tree binding}.
+  \item {\em Device tree bindings} are all documented in
+    \kerneldoc{devicetree/bindings}.
+  \item Since the Device Tree is normally part of the kernel ABI, the
+    {\em bindings} must remain compatible over-time.
+    \begin{itemize}
+    \item A new kernel must be capable of using an old Device Tree.
+    \item This requires a very careful design of the bindings. They
+      are all reviewed on the \code{devicetree at vger.kernel.org}
+      mailing list.
+    \end{itemize}
+  \item A Device Tree binding should contain only a {\em description
+      of the hardware} and not {\em configuration}.
+    \begin{itemize}
+    \item An interrupt number can be part of the Device Tree as it
+      describes the hardware.
+    \item But whether or not DMA should be used for a device, as it is
+      a configuration choice.
+    \end{itemize}
+  \end{itemize}
+\end{frame}
+
 \begin{frame}
   \frametitle{References}
   \begin{itemize}
   \item Kernel documentation
     \begin{itemize}
     \item \kerneldoc{driver-model/}
+    \item \kerneldoc{devicetree/}
     \item \kerneldoc{filesystems/sysfs.txt}
     \end{itemize}
   \item The kernel source code



More information about the training-materials-updates mailing list