[bootlin/training-materials updates] master: kernel: Respect alignment rules in the slides (aa85d318)
Thomas Petazzoni
thomas.petazzoni at bootlin.com
Fri Oct 29 10:46:37 CEST 2021
Repository : https://github.com/bootlin/training-materials
On branch : master
Link : https://github.com/bootlin/training-materials/commit/aa85d31808fab0dd8500776fddc603480d3c34ab
>---------------------------------------------------------------
commit aa85d31808fab0dd8500776fddc603480d3c34ab
Author: Miquel Raynal <miquel.raynal at bootlin.com>
Date: Fri May 7 10:28:16 2021 +0200
kernel: Respect alignment rules in the slides
This improves the readability I believe.
Signed-off-by: Miquel Raynal <miquel.raynal at bootlin.com>
>---------------------------------------------------------------
aa85d31808fab0dd8500776fddc603480d3c34ab
.../kernel-driver-development-concurrency.tex | 3 +-
.../kernel-driver-development-interrupts.tex | 41 ++++++++++------------
.../kernel-driver-development-io-memory.tex | 33 ++++++-----------
.../kernel-driver-development-memory.tex | 3 +-
.../kernel-driver-development-sleeping.tex | 3 +-
5 files changed, 33 insertions(+), 50 deletions(-)
diff --git a/slides/kernel-driver-development-concurrency/kernel-driver-development-concurrency.tex b/slides/kernel-driver-development-concurrency/kernel-driver-development-concurrency.tex
index 8807a39c..674faacf 100644
--- a/slides/kernel-driver-development-concurrency/kernel-driver-development-concurrency.tex
+++ b/slides/kernel-driver-development-concurrency/kernel-driver-development-concurrency.tex
@@ -194,8 +194,7 @@ struct uart_port {
\item Spinlock taken/released with protection against interrupts
\begin{block}{}
\begin{minted}[fontsize=\small]{c}
-static unsigned int ulite_tx_empty
- (struct uart_port *port) {
+static unsigned int ulite_tx_empty(struct uart_port *port) {
unsigned long flags;
spin_lock_irqsave(&port->lock, flags);
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 29cd606e..4b549630 100644
--- a/slides/kernel-driver-development-interrupts/kernel-driver-development-interrupts.tex
+++ b/slides/kernel-driver-development-interrupts/kernel-driver-development-interrupts.tex
@@ -29,8 +29,7 @@ int devm_request_irq(struct device *dev, unsigned int irq, irq_handler_t handler
\begin{frame}[fragile]
\frametitle{Releasing an interrupt handler}
\begin{minted}{c}
-void devm_free_irq(struct device *dev,
- unsigned int irq, void *dev_id);
+void devm_free_irq(struct device *dev, unsigned int irq, void *dev_id);
\end{minted}
\begin{itemize}
\item Explicitly release an interrupt handler. Done automatically
@@ -78,18 +77,18 @@ void devm_free_irq(struct device *dev,
\begin{block}{}
\tiny
\begin{verbatim}
- CPU0 CPU1 CPU2 CPU3
- 17: 1005317 0 0 0 ARMCTRL-level 1 Edge 3f00b880.mailbox
- 18: 36 0 0 0 ARMCTRL-level 2 Edge VCHIQ doorbell
- 40: 0 0 0 0 ARMCTRL-level 48 Edge bcm2708_fb DMA
- 42: 427715 0 0 0 ARMCTRL-level 50 Edge DMA IRQ
- 56: 478426356 0 0 0 ARMCTRL-level 64 Edge dwc_otg, dwc_otg_pcd, dwc_otg_hcd:usb1
- 80: 411468 0 0 0 ARMCTRL-level 88 Edge mmc0
- 81: 502 0 0 0 ARMCTRL-level 89 Edge uart-pl011
-161: 0 0 0 0 bcm2836-timer 0 Edge arch_timer
-162: 10963772 6378711 16583353 6406625 bcm2836-timer 1 Edge arch_timer
-165: 0 0 0 0 bcm2836-pmu 9 Edge arm-pmu
-FIQ: usb_fiq
+ CPU0 CPU1 CPU2 CPU3
+ 17: 1005317 0 0 0 ARMCTRL-level 1 Edge 3f00b880.mailbox
+ 18: 36 0 0 0 ARMCTRL-level 2 Edge VCHIQ doorbell
+ 40: 0 0 0 0 ARMCTRL-level 48 Edge bcm2708_fb DMA
+ 42: 427715 0 0 0 ARMCTRL-level 50 Edge DMA IRQ
+ 56: 478426356 0 0 0 ARMCTRL-level 64 Edge dwc_otg, dwc_otg_pcd, dwc_otg_hcd:usb1
+ 80: 411468 0 0 0 ARMCTRL-level 88 Edge mmc0
+ 81: 502 0 0 0 ARMCTRL-level 89 Edge uart-pl011
+161: 0 0 0 0 bcm2836-timer 0 Edge arch_timer
+162: 10963772 6378711 16583353 6406625 bcm2836-timer 1 Edge arch_timer
+165: 0 0 0 0 bcm2836-pmu 9 Edge arm-pmu
+FIQ: usb_fiq
IPI0: 0 0 0 0 CPU wakeup interrupts
IPI1: 0 0 0 0 Timer broadcast interrupts
IPI2: 2625198 4404191 7634127 3993714 Rescheduling interrupts
@@ -97,7 +96,7 @@ IPI3: 3140 56405 49483 59648 Function call interrupts
IPI4: 0 0 0 0 CPU stop interrupts
IPI5: 2167923 477097 5350168 412699 IRQ work interrupts
IPI6: 0 0 0 0 completion interrupts
-Err: 0
+Err: 0
\end{verbatim}
\end{block}
{\footnotesize
@@ -151,11 +150,9 @@ Err: 0
execution, which is useful for real-time usage of Linux
\end{itemize}
\begin{minted}{c}
-int devm_request_threaded_irq(
- struct device *dev,
- unsigned int irq,
- irq_handler_t handler, irq_handler_t thread_fn,
- unsigned long flags, const char *name, void *dev);
+int devm_request_threaded_irq(struct device *dev, unsigned int irq,
+ irq_handler_t handler, irq_handler_t thread_fn,
+ unsigned long flags, const char *name, void *dev);
\end{minted}
\begin{itemize}
\item \code{handler}, ``hard IRQ'' handler
@@ -268,12 +265,12 @@ static void atmel_sha_done_task(unsigned long data)
/* Probe function: registering the tasklet */
static int atmel_sha_probe(struct platform_device *pdev)
{
- struct atmel_sha_dev *sha_dd; // Per device structure
+ struct atmel_sha_dev *sha_dd; /* Per device structure */
[...]
platform_set_drvdata(pdev, sha_dd);
[...]
tasklet_init(&sha_dd->done_task, atmel_sha_done_task,
- (unsigned long)sha_dd);
+ (unsigned long)sha_dd);
[...]
err = devm_request_irq(&pdev->dev, sha_dd->irq, atmel_sha_irq,
IRQF_SHARED, "atmel-sha", sha_dd);
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 b3304bc1..ac0fc8be 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
@@ -35,18 +35,14 @@
but is purely voluntary.
\item
\begin{minted}{c}
-struct resource *request_region(
- unsigned long start,
- unsigned long len,
- char *name);
+struct resource *request_region(unsigned long start,
+ unsigned long len, char *name);
\end{minted}
\item Tries to reserve the given region and returns \code{NULL} if unsuccessful.
\item \mint{c}+request_region(0x0170, 8, "ide1");+
\item
\begin{minted}{c}
-void release_region(
- unsigned long start,
- unsigned long len);
+void release_region(unsigned long start, unsigned long len);
\end{minted}
\end{itemize}
\end{frame}
@@ -86,10 +82,8 @@ void release_region(
\item And the strings variants: often more efficient than the
corresponding C loop, if the processor supports such operations!
\begin{itemize}
- \item \mint{c}+void ins[bwl](unsigned port, void *addr,+
- \mint{c}+unsigned long count)+
- \item \mint{c}+void outs[bwl](unsigned port, void *addr,+
- \mint{c}+unsigned long count)+
+ \item \mint{c}+void ins[bwl](unsigned port, void *addr, unsigned long count)+
+ \item \mint{c}+void outs[bwl](unsigned port, void *addr, unsigned long count)+
\end{itemize}
\item Examples
\begin{itemize}
@@ -112,16 +106,12 @@ void release_region(
\kfunc{release_region}, but for I/O memory.
\item
\begin{minted}{c}
-struct resource *request_mem_region(
- unsigned long start,
- unsigned long len,
- char *name);
+struct resource *request_mem_region(unsigned long start,
+ unsigned long len, char *name);
\end{minted}
\item
\begin{minted}{c}
-void release_mem_region(
- unsigned long start,
- unsigned long len);
+void release_mem_region(unsigned long start, unsigned long len);
\end{minted}
\end{itemize}
\end{frame}
@@ -165,8 +155,8 @@ void release_mem_region(
4a100000-4a1007ff : 4a100000.ethernet ethernet at 0
4a101200-4a1012ff : 4a100000.ethernet ethernet at 0
80000000-9fdfffff : System RAM
- 80008000-80cfffff : Kernel code
- 80e00000-80f3d807 : Kernel data
+80008000-80cfffff : Kernel code
+80e00000-80f3d807 : Kernel data
\end{verbatim}
\end{columns}
\end{frame}
@@ -182,8 +172,7 @@ void release_mem_region(
\begin{minted}{c}
#include <asm/io.h>
-void __iomem *ioremap(phys_addr_t phys_addr,
- unsigned long size);
+void __iomem *ioremap(phys_addr_t phys_addr, unsigned long size);
void iounmap(void __iomem *addr);
\end{minted}
\item Caution: check that \kfunc{ioremap} doesn't return a \code{NULL} address!
diff --git a/slides/kernel-driver-development-memory/kernel-driver-development-memory.tex b/slides/kernel-driver-development-memory/kernel-driver-development-memory.tex
index b90327fd..0b7950b7 100644
--- a/slides/kernel-driver-development-memory/kernel-driver-development-memory.tex
+++ b/slides/kernel-driver-development-memory/kernel-driver-development-memory.tex
@@ -152,8 +152,7 @@
\begin{itemize}
\item Frees one page.
\end{itemize}
- \item \mint{c}+void free_pages(unsigned long addr,+
- \mint{c}+unsigned int order)+
+ \item \mint{c}+void free_pages(unsigned long addr, unsigned int order)+
\begin{itemize}
\item Frees multiple pages. Need to use the same order as in
allocation.
diff --git a/slides/kernel-driver-development-sleeping/kernel-driver-development-sleeping.tex b/slides/kernel-driver-development-sleeping/kernel-driver-development-sleeping.tex
index 312ddf83..b95ed897 100644
--- a/slides/kernel-driver-development-sleeping/kernel-driver-development-sleeping.tex
+++ b/slides/kernel-driver-development-sleeping/kernel-driver-development-sleeping.tex
@@ -73,8 +73,7 @@ init_waitqueue_head(&dev->smi_busy_wait);
the condition was met.
\end{itemize}
\item \begin{minted}{c}
-int wait_event_interruptible_timeout(queue,
- condition, timeout);
+int wait_event_interruptible_timeout(queue, condition, timeout);
\end{minted}
\begin{itemize}
\item Same as above, interruptible.
More information about the training-materials-updates
mailing list