[bootlin/training-materials updates] master: Kernel slides: misc improvements (1ef3d1d2)

Michael Opdenacker michael.opdenacker at bootlin.com
Wed Sep 4 11:38:44 CEST 2019


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

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

commit 1ef3d1d25ee5358667a0c4d1dd89f376003d9273
Author: Michael Opdenacker <michael.opdenacker at bootlin.com>
Date:   Wed Sep 4 11:38:44 2019 +0200

    Kernel slides: misc improvements
    
    Signed-off-by: Michael Opdenacker <michael.opdenacker at bootlin.com>


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

1ef3d1d25ee5358667a0c4d1dd89f376003d9273
 .../kernel-driver-development-interrupts.tex                   |  7 +++++--
 .../kernel-driver-development-io-memory.tex                    | 10 +++++++++-
 .../kernel-power-management-content.tex                        |  3 +--
 3 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/slides/kernel-driver-development-interrupts/kernel-driver-development-interrupts.tex b/slides/kernel-driver-development-interrupts/kernel-driver-development-interrupts.tex
index 905ecaa1..2e22bea9 100644
--- a/slides/kernel-driver-development-interrupts/kernel-driver-development-interrupts.tex
+++ b/slides/kernel-driver-development-interrupts/kernel-driver-development-interrupts.tex
@@ -240,7 +240,7 @@ int devm_request_threaded_irq(
 
 \begin{frame}[fragile]
   \frametitle{Tasklet Example: drivers/crypto/atmel-sha.c 1/2}
-\begin{minted}[fontsize=\small]{c}
+\begin{minted}[fontsize=\scriptsize]{c}
 /* The tasklet function */
 static void atmel_sha_done_task(unsigned long data)
 {
@@ -258,13 +258,16 @@ static int atmel_sha_probe(struct platform_device *pdev)
         tasklet_init(&sha_dd->done_task, atmel_sha_done_task,
                                         (unsigned long)sha_dd);
         [...]
+        err = devm_request_irq(&pdev->dev, sha_dd->irq, atmel_sha_irq,
+                               IRQF_SHARED, "atmel-sha", sha_dd);
+        [...]
 }
 \end{minted}
 \end{frame}
 
 \begin{frame}[fragile]
   \frametitle{Tasklet Example: drivers/crypto/atmel-sha.c 2/2}
-\begin{minted}[fontsize=\small]{c}
+\begin{minted}[fontsize=\scriptsize]{c}
 /* Remove function: removing the tasklet */
 static int atmel_sha_remove(struct platform_device *pdev)
 {
diff --git a/slides/kernel-driver-development-io-memory/kernel-driver-development-io-memory.tex b/slides/kernel-driver-development-io-memory/kernel-driver-development-io-memory.tex
index 005c0865..49407464 100644
--- a/slides/kernel-driver-development-io-memory/kernel-driver-development-io-memory.tex
+++ b/slides/kernel-driver-development-io-memory/kernel-driver-development-io-memory.tex
@@ -177,7 +177,7 @@ void iounmap(void __iomem *addr);
   \end{center}
 \end{frame}
 
-\begin{frame}
+\begin{frame}[fragile]
   \frametitle{Managed API}
   Using \kfunc{request_mem_region} and \kfunc{ioremap} in device
   drivers is now deprecated. You should use the below "managed"
@@ -188,6 +188,14 @@ void iounmap(void __iomem *addr);
   \item \kfunc{devm_ioremap_resource}
         \begin{itemize}
 	\item Takes care of both the request and remapping operations!
+	\item Example (\kfile{drivers/crypto/atmel-sha.c}):
+	\begin{block}{}
+	\begin{minted}{c}
+sha_res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+...
+sha_dd->io_base = devm_ioremap_resource(&pdev->dev, sha_res);
+	\end{minted}
+	\end{block}{}
 	\end{itemize}
   \end{itemize}
 \end{frame}
diff --git a/slides/kernel-power-management-content/kernel-power-management-content.tex b/slides/kernel-power-management-content/kernel-power-management-content.tex
index 508881be..0e5b2936 100644
--- a/slides/kernel-power-management-content/kernel-power-management-content.tex
+++ b/slides/kernel-power-management-content/kernel-power-management-content.tex
@@ -173,8 +173,7 @@
     \item Platform-specific driver defining sleep states and
       transition operations
     \item Platform-independent governors (ladder and menu)
-    \item Available for x86/ACPI, not supported yet by all ARM cpus.
-      (look for \code{cpuidle*} files under \kdir{arch/arm})
+    \item Available in particular for x86/ACPI and most ARM SoCs
     \item See \kerneldoctext{cpuidle/} in kernel sources.
     \end{itemize}
   \end{itemize}




More information about the training-materials-updates mailing list