[bootlin/training-materials updates] master: Minor kernel slide improvements (2f7d942a)

Michael Opdenacker michael.opdenacker at bootlin.com
Wed Oct 28 22:04:33 CET 2020


Repository : https://github.com/bootlin/training-materials
On branch  : master
Link       : https://github.com/bootlin/training-materials/commit/2f7d942a001ea7331eb113b686e48b4ab31c7d14

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

commit 2f7d942a001ea7331eb113b686e48b4ab31c7d14
Author: Michael Opdenacker <michael.opdenacker at bootlin.com>
Date:   Wed Oct 28 22:04:33 2020 +0100

    Minor kernel slide improvements
    
    Signed-off-by: Michael Opdenacker <michael.opdenacker at bootlin.com>


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

2f7d942a001ea7331eb113b686e48b4ab31c7d14
 slides/kernel-device-model/kernel-device-model.tex               | 7 ++++---
 .../kernel-driver-development-modules.tex                        | 9 ++++++---
 slides/kernel-frameworks2/kernel-frameworks2.tex                 | 2 +-
 slides/kernel-i2c/kernel-i2c.tex                                 | 5 +++--
 slides/kernel-input/kernel-input.tex                             | 6 +++---
 5 files changed, 17 insertions(+), 12 deletions(-)

diff --git a/slides/kernel-device-model/kernel-device-model.tex b/slides/kernel-device-model/kernel-device-model.tex
index 45d70f42..10299deb 100644
--- a/slides/kernel-device-model/kernel-device-model.tex
+++ b/slides/kernel-device-model/kernel-device-model.tex
@@ -57,7 +57,7 @@
     \item First look at a popular bus that offers dynamic enumeration,
       the {\em USB bus}
     \item Continue by studying how buses that do not offer dynamic
-      enumerations are handled.
+      enumeration are handled.
     \end{itemize}
   \end{itemize}
 \end{frame}
@@ -670,7 +670,7 @@ uart0: serial at 44e09000 {
          \#include} statement, which requires calling the C
          preprocessor before parsing the Device Tree.
     \end{itemize}
-    Linux currently uses either one technique or the other,
+    Linux currently uses either one technique or the other
     (different from one ARM subarchitecture to another, for example).
   \end{itemize}
 \end{frame}
@@ -687,8 +687,9 @@ uart0: serial at 44e09000 {
   \begin{itemize}
   \item With the {\em device tree}, a {\em device} is bound to the
     corresponding {\em driver} using the {\bf compatible} string.
-  \item The \code{of_match_table} field of \kstruct{device_driver}
+  \item The \ksym{of_match_table} field of \kstruct{device_driver}
     lists the compatible strings supported by the driver.
+    \kfile{drivers/tty/serial/omap-serial.c} example:
     \begin{block}{}
   \begin{minted}[fontsize=\tiny]{c}
 #if defined(CONFIG_OF)
diff --git a/slides/kernel-driver-development-modules/kernel-driver-development-modules.tex b/slides/kernel-driver-development-modules/kernel-driver-development-modules.tex
index 3c5a6398..849bf9af 100644
--- a/slides/kernel-driver-development-modules/kernel-driver-development-modules.tex
+++ b/slides/kernel-driver-development-modules/kernel-driver-development-modules.tex
@@ -329,10 +329,13 @@ Source code available on:
 \begin{minted}[fontsize=\small]{c}
 module_param(
     name, /* name of an already defined variable */
-    type, /* type for module_param (not a C type), mainly: short, ushort, int, uint, long, ulong,
-             charp and bool (checked at run time) */
+    type, /* standard types (different from C types) are:
+           * byte, short, ushort, int, uint, long, ulong
+           * charp: a character pointer
+           * bool: a bool, values 0/1, y/n, Y/N.
+           * invbool: the above, only sense-reversed (N = true). */
     perm  /* for /sys/module/<module_name>/parameters/<param>,
-             0: no such module parameter value file */
+           *  0: no such module parameter value file */
 );
 
 /* Example: drivers/block/loop.c */
diff --git a/slides/kernel-frameworks2/kernel-frameworks2.tex b/slides/kernel-frameworks2/kernel-frameworks2.tex
index c684583f..78533024 100644
--- a/slides/kernel-frameworks2/kernel-frameworks2.tex
+++ b/slides/kernel-frameworks2/kernel-frameworks2.tex
@@ -563,7 +563,7 @@ struct rtl8150 {
     \begin{minted}[fontsize=\tiny]{c}
 static int serial_imx_probe(struct platform_device *pdev)
 {
-    struct imx_port *sport;
+    struct imx_port *sport; /* per device structure */
     [...]
     sport = devm_kzalloc(&pdev->dev, sizeof(*sport), GFP_KERNEL);
     [...]
diff --git a/slides/kernel-i2c/kernel-i2c.tex b/slides/kernel-i2c/kernel-i2c.tex
index cd18f5f4..00384955 100644
--- a/slides/kernel-i2c/kernel-i2c.tex
+++ b/slides/kernel-i2c/kernel-i2c.tex
@@ -10,8 +10,9 @@
     by masters.
   \item In a Linux system, the I2C controller embedded in the
     processor is typically the master, controlling the bus.
-  \item Each slave device is identified by a unique I2C address. Each
-    transaction initiated by the master contains this address, which
+  \item Each slave device is identified by an I2C address (you can't
+    have 2 devices with the same address on the same bus). Each transaction
+    initiated by the master contains this address, which
     allows the relevant slave to recognize that it should reply to
     this particular transaction.
   \end{itemize}
diff --git a/slides/kernel-input/kernel-input.tex b/slides/kernel-input/kernel-input.tex
index ca857c0d..3d1aa1b1 100644
--- a/slides/kernel-input/kernel-input.tex
+++ b/slides/kernel-input/kernel-input.tex
@@ -39,10 +39,10 @@
     \end{itemize}
   \item Implemented in \kdir{drivers/input}
     \begin{itemize}
-    \item \code{input.c}, \code{input-polldev.c}, \code{evbug.c}
+    \item \krelfile{drivers/input}{input.c},
+          \krelfile{drivers/input}{input-polldev.c}, \krelfile{drivers/input}{evdev.c}...
     \end{itemize}
-  \item Implements a single character driver and defines the
-    user/kernel API
+  \item Defines the user/kernel API
     \begin{itemize}
     \item \kfile{include/uapi/linux/input.h}
     \end{itemize}




More information about the training-materials-updates mailing list