[FE training-materials-updates] Add more \begin{block}...\end{block} to make things nicer

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Tue Oct 1 16:49:56 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=17e436da0f4b4631f29fd7308b529d3082a145a3

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

commit 17e436da0f4b4631f29fd7308b529d3082a145a3
Author: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
Date:   Tue Oct 1 16:49:28 2013 +0200

    Add more \begin{block}...\end{block} to make things nicer
    
    Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>


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

17e436da0f4b4631f29fd7308b529d3082a145a3
 slides/kernel-device-model/kernel-device-model.tex |   66 +++++++++++++++-----
 .../kernel-driver-development-modules.tex          |    4 ++
 2 files changed, 53 insertions(+), 17 deletions(-)

diff --git a/slides/kernel-device-model/kernel-device-model.tex b/slides/kernel-device-model/kernel-device-model.tex
index 7bc6561..690ef34 100644
--- a/slides/kernel-device-model/kernel-device-model.tex
+++ b/slides/kernel-device-model/kernel-device-model.tex
@@ -146,18 +146,19 @@
     and drivers, so that drivers can be loaded automatically by
     \code{udev}. See \code{/lib/modules/$(uname -r)/modules.{alias,usbmap}}
   \end{itemize}
+  \begin{block}{}
   \begin{minted}[fontsize=\footnotesize]{c}
 static struct usb_device_id rtl8150_table[] = {
     { USB_DEVICE(VENDOR_ID_REALTEK, PRODUCT_ID_RTL8150) },
     { USB_DEVICE(VENDOR_ID_MELCO, PRODUCT_ID_LUAKTX) },
     { USB_DEVICE(VENDOR_ID_MICRONET, PRODUCT_ID_SP128AR) },
     { USB_DEVICE(VENDOR_ID_LONGSHINE, PRODUCT_ID_LCS8138TX) },
-    { USB_DEVICE(VENDOR_ID_OQO, PRODUCT_ID_RTL8150) },
-    { USB_DEVICE(VENDOR_ID_ZYXEL, PRODUCT_ID_PRESTIGE) },
+    [...]
     {}
 };
 MODULE_DEVICE_TABLE(usb, rtl8150_table);
   \end{minted}
+  \end{block}
 \end{frame}
 
 \begin{frame}[fragile]
@@ -168,6 +169,7 @@ MODULE_DEVICE_TABLE(usb, rtl8150_table);
     itself to the USB core using this structure
   \item This structure inherits from \code{struct driver}, which is defined
     by the device model.
+    \begin{block}{}
   \begin{minted}{c}
 static struct usb_driver rtl8150_driver = {
     .name = "rtl8150",
@@ -178,6 +180,7 @@ static struct usb_driver rtl8150_driver = {
     .resume = rtl8150_resume
 };
   \end{minted}
+  \end{block}
   \end{itemize}
 \end{frame}
 
@@ -188,7 +191,8 @@ static struct usb_driver rtl8150_driver = {
     unregister itself from the USB core
   \item Done using \code{usb_register()} and \code{usb_deregister()},
     provided by the USB core.
-\begin{minted}[fontsize=\footnotesize]{c}
+    \begin{block}{}
+\begin{minted}[fontsize=\scriptsize]{c}
 static int __init usb_rtl8150_init(void)
 {
     return usb_register(&rtl8150_driver);
@@ -202,6 +206,7 @@ static void __exit usb_rtl8150_exit(void)
 module_init(usb_rtl8150_init);
 module_exit(usb_rtl8150_exit);
 \end{minted}
+\end{block}
 \item Note: this code has now been replaced by a shorter
   \code{module_usb_driver()} macro call.
   \end{itemize}
@@ -249,6 +254,7 @@ module_exit(usb_rtl8150_exit);
 
 \begin{frame}[fragile]
 \frametitle{Probe Method Example}
+\begin{block}{}
 \begin{minted}[fontsize=\scriptsize]{c}
 static int rtl8150_probe(struct usb_interface *intf,
     const struct usb_device_id *id)
@@ -272,6 +278,7 @@ static int rtl8150_probe(struct usb_interface *intf,
     return 0;
 }
 \end{minted}
+\end{block}
 \end{frame}
 
 \begin{frame}
@@ -322,7 +329,8 @@ static int rtl8150_probe(struct usb_interface *intf,
   \begin{itemize}
   \item The driver implements a \code{struct platform_driver}
     structure (example taken from \code{drivers/serial/imx.c})
-    \begin{minted}[fontsize=\footnotesize]{c}
+    \begin{block}{}
+    \begin{minted}[fontsize=\scriptsize]{c}
 static struct platform_driver serial_imx_driver = {
     .probe = serial_imx_probe,
     .remove = serial_imx_remove,
@@ -331,9 +339,11 @@ static struct platform_driver serial_imx_driver = {
         .owner = THIS_MODULE,
     },
 };
-    \end{minted}
+\end{minted}
+\end{block}
 \item And registers its driver to the platform driver infrastructure
-  \begin{minted}[fontsize=\footnotesize]{c}
+  \begin{block}{}
+  \begin{minted}[fontsize=\scriptsize]{c}
 static int __init imx_serial_init(void) {
     ret = platform_driver_register(&serial_imx_driver);
 }
@@ -342,6 +352,7 @@ static void __exit imx_serial_cleanup(void) {
     platform_driver_unregister(&serial_imx_driver);
 }
   \end{minted}
+\end{block}
 \end{itemize}
 \end{frame}
 
@@ -360,7 +371,8 @@ static void __exit imx_serial_cleanup(void) {
     \end{itemize}
   \item Example on ARM, where the instantiation is done in
     \code{arch/arm/mach-imx/mx1ads.c}
-\begin{minted}[fontsize=\footnotesize]{c}
+    \begin{block}{}
+\begin{minted}[fontsize=\scriptsize]{c}
 static struct platform_device imx_uart1_device = {
     .name = "imx-uart",
     .id = 0,
@@ -371,6 +383,7 @@ static struct platform_device imx_uart1_device = {
     }
 };
 \end{minted}
+\end{block}
 \end{itemize}
 \end{frame}
 
@@ -378,16 +391,19 @@ static struct platform_device imx_uart1_device = {
   \frametitle{Platform device instantiation: old style (2/2)}
   \begin{itemize}
   \item The device is part of a list
-  \begin{minted}[fontsize=\footnotesize]{c}
+    \begin{block}{}
+  \begin{minted}[fontsize=\scriptsize]{c}
 static struct platform_device *devices[] __initdata = {
     &cs89x0_device,
     &imx_uart1_device,
     &imx_uart2_device,
 };
   \end{minted}
+  \end{block}
   \item And the list of devices is added to the system during
     board initialization
-  \begin{minted}[fontsize=\footnotesize]{c}
+    \begin{block}{}
+  \begin{minted}[fontsize=\scriptsize]{c}
 static void __init mx1ads_init(void)
 {
     [...]
@@ -399,10 +415,11 @@ MACHINE_START(MX1ADS, "Freescale MX1ADS")
     .init_machine = mx1ads_init,
 MACHINE_END
   \end{minted}
+  \end{block}
   \end{itemize}
 \end{frame}
 
-\begin{frame}[fragile]
+\begin{frame}
   \frametitle{The Resource Mechanism}
   \begin{itemize}
   \item Each device managed by a particular driver typically uses
@@ -414,7 +431,12 @@ MACHINE_END
   \item Allows a driver to be instantiated for multiple devices
     functioning similarly, but with different addresses, IRQs, etc.
   \end{itemize}
-  \begin{minted}[fontsize=\scriptsize]{c}
+\end{frame}
+
+\begin{frame}[fragile]
+  \frametitle{Declaring resources}
+  \begin{block}{}
+  \begin{minted}[fontsize=\footnotesize]{c}
 static struct resource imx_uart1_resources[] = {
     [0] = {
         .start = 0x00206000,
@@ -427,7 +449,8 @@ static struct resource imx_uart1_resources[] = {
         .flags = IORESOURCE_IRQ,
     },
 };
-  \end{minted}
+\end{minted}
+\end{block}
 \end{frame}
 
 \begin{frame}[fragile]
@@ -440,11 +463,13 @@ static struct resource imx_uart1_resources[] = {
     registering the device to the proper framework (in our case, the
     serial driver framework)
   \item The platform driver has access to the I/O resources:
+    \begin{block}{}
   \begin{minted}[fontsize=\footnotesize]{c}
 res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 base = ioremap(res->start, PAGE_SIZE);
 sport->rxirq = platform_get_irq(pdev, 0);
   \end{minted}
+  \end{block}
   \end{itemize}
 \end{frame}
 
@@ -470,7 +495,7 @@ sport->rxirq = platform_get_irq(pdev, 0);
   \begin{itemize}
   \item The i.MX serial port driver defines the following structure to
     be passed through \code{platform_data}
-
+    \begin{block}{}
   \begin{minted}[fontsize=\footnotesize]{c}
 struct imxuart_platform_data {
     int (*init)(struct platform_device *pdev);
@@ -482,12 +507,15 @@ struct imxuart_platform_data {
     unsigned short transceiver_delay;
 };
   \end{minted}
+  \end{block}
   \item The MX1ADS board code instantiates such a structure
+    \begin{block}{}
   \begin{minted}[fontsize=\footnotesize]{c}
 static struct imxuart_platform_data uart1_pdata = {
     .flags = IMXUART_HAVE_RTSCTS,
 };
   \end{minted}
+  \end{block}
   \end{itemize}
 \end{frame}
 
@@ -497,6 +525,7 @@ static struct imxuart_platform_data uart1_pdata = {
   \item The \code{uart_pdata} structure is associated to the
     \code{platform_device} in the MX1ADS board file (the real code is
     slightly more complicated)
+    \begin{block}{}
   \begin{minted}[fontsize=\scriptsize]{c}
 struct platform_device mx1ads_uart1 = {
     .name = "imx-uart",
@@ -507,7 +536,9 @@ struct platform_device mx1ads_uart1 = {
     [...]
 };
   \end{minted}
+  \end{block}
   \item The driver can access the platform data:
+    \begin{block}{}
   \begin{minted}[fontsize=\scriptsize]{c}
 static int serial_imx_probe(struct platform_device *pdev)
 {
@@ -516,8 +547,8 @@ static int serial_imx_probe(struct platform_device *pdev)
     if (pdata && (pdata->flags & IMXUART_HAVE_RTSCTS))
         sport->have_rtscts = 1;
     [...]
-}
   \end{minted}
+  \end{block}
 \end{itemize}
 \end{frame}
 
@@ -545,8 +576,7 @@ static int serial_imx_probe(struct platform_device *pdev)
 \begin{frame}[fragile]
   \frametitle{Device Tree example}
   \begin{block}{}
-  \small
-\begin{verbatim}
+\begin{minted}[fontsize=\small]{perl}
 uart0: serial at 44e09000 {
         compatible = "ti,omap3-uart";
         ti,hwmods = "uart1";
@@ -555,7 +585,7 @@ uart0: serial at 44e09000 {
         interrupts = <72>;
         status = "disabled";
 };
-  \end{verbatim}
+  \end{minted}
   \end{block}
   \normalsize
   \begin{itemize}
@@ -594,6 +624,7 @@ uart0: serial at 44e09000 {
     corresponding {\em driver} using the {\bf compatible} string.
   \item The \code{of_match_table} field of \code{struct device_driver}
     lists the compatible strings supported by the driver.
+    \begin{block}{}
   \begin{minted}[fontsize=\tiny]{c}
 #if defined(CONFIG_OF)
 static const struct of_device_id omap_serial_of_match[] = {
@@ -614,6 +645,7 @@ static struct platform_driver serial_omap_driver = {
         },
 };
 \end{minted}
+\end{block}
   \end{itemize}
 \end{frame}
 
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 c318da1..7238a74 100644
--- a/slides/kernel-driver-development-modules/kernel-driver-development-modules.tex
+++ b/slides/kernel-driver-development-modules/kernel-driver-development-modules.tex
@@ -157,6 +157,7 @@ MODULE_AUTHOR("William Shakespeare");
   \item The source file is \code{hello.c}
   \item Just run make to build the hello.ko file
   \end{itemize}
+\begin{block}{}
 \begin{minted}{make}
 ifneq ($(KERNELRELEASE),)
 obj-m := hello.o
@@ -167,6 +168,7 @@ all:
 <tab>$(MAKE) -C $(KDIR) M=$$PWD
 endif
 \end{minted}
+\end{block}
 
 \begin{itemize}
 \item For \code{KDIR}, you can either set
@@ -232,6 +234,7 @@ endif
       directory:
     \end{itemize}
 {\footnotesize
+\begin{block}{}
 \begin{verbatim}
 config USB_SERIAL_NAVMAN
         tristate "USB Navman GPS device"
@@ -240,6 +243,7 @@ config USB_SERIAL_NAVMAN
           To compile this driver as a module, choose M
           here: the module will be called navman.
 \end{verbatim}
+\end{block}
 }
   \end{itemize}
 \end{frame}



More information about the training-materials-updates mailing list