summaryrefslogtreecommitdiff
path: root/kernel-devel
diff options
context:
space:
mode:
authorJohn Ogness <john.ogness@linutronix.de>2018-02-02 04:14:14 -0600
committerJohn Ogness <john.ogness@linutronix.de>2018-02-20 14:58:35 +0100
commita9477375a86970e61b9d13317fdb7d0c862e7de9 (patch)
tree60a8de77a449448b5fb4f517b9006e2a33b60e6c /kernel-devel
parentd3ee6df21abd25718b12130f0ba266cb3f1db2fa (diff)
module-basics: cleanup vain examples
Cleanup the examples so that they show (and hide) the same things for both examples. Signed-off-by: John Ogness <john.ogness@linutronix.de>
Diffstat (limited to 'kernel-devel')
-rw-r--r--kernel-devel/module-basics/pres_module-basics_en.tex32
-rw-r--r--kernel-devel/module-basics/vain_plat/vain_plat_1.c2
2 files changed, 13 insertions, 21 deletions
diff --git a/kernel-devel/module-basics/pres_module-basics_en.tex b/kernel-devel/module-basics/pres_module-basics_en.tex
index 71c20eb..b4c8cea 100644
--- a/kernel-devel/module-basics/pres_module-basics_en.tex
+++ b/kernel-devel/module-basics/pres_module-basics_en.tex
@@ -225,23 +225,22 @@ module_exit(vain_pci_exit);
\begin{tiny}
\begin{lstlisting}[frame=trBL]
|static int vain_pci_probe(struct pci_dev *pdev,
- const struct pci_device_id *ent)
+ const struct pci_device_id *ent)
{
+ struct vain_pci_info *info;
int ret;
+ info = kzalloc(sizeof(struct vain_pci_info), GFP_KERNEL);
+
+ info->pdev = pdev;
+
ret = pci_enable_device(pdev);
- if (ret)
- goto err_free;
ret = pci_request_regions(pdev, "vain_pci");
- if (ret)
- goto err_disable_device;
info->base = pci_ioremap_bar(pdev, 0);
- if (!info->base) {
- ret = -ENODEV;
- goto err_rel_regs;
- }
+
+ pci_set_drvdata(pdev, info);
return 0;|
\end{lstlisting}
@@ -328,9 +327,7 @@ module_exit(vain_pci_exit);
\begin{lstlisting}[frame=trBL]
#include <linux/init.h>
#include <linux/module.h>
-|#include <linux/platform_device.h>
-
-#include <asm/io.h>|
+|#include <linux/platform_device.h>|
\end{lstlisting}
\end{tiny}
\pause
@@ -411,20 +408,17 @@ static void vain_plat_exit(void)
\begin{lstlisting}[frame=trBL]
|static int vain_plat_probe(struct platform_device *pdev)
{
- struct resource *res;
+ struct vain_plat_info *info;
+ struct resource *res, *mem;
int err;
+ info = kzalloc(sizeof(struct vain_plat_info), GFP_KERNEL);
+
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
- if (unlikely(!res))
- goto err_free;
mem = request_mem_region(res->start, resource_size(res), pdev->name);
- if (!mem)
- goto err_free;
info->base = ioremap(res->start, resource_size(res));
- if (!info->base)
- goto err_ioremap;
platform_set_drvdata(pdev, info);
diff --git a/kernel-devel/module-basics/vain_plat/vain_plat_1.c b/kernel-devel/module-basics/vain_plat/vain_plat_1.c
index 302fa7d..4db86eb 100644
--- a/kernel-devel/module-basics/vain_plat/vain_plat_1.c
+++ b/kernel-devel/module-basics/vain_plat/vain_plat_1.c
@@ -2,8 +2,6 @@
#include <linux/module.h>
#include <linux/platform_device.h>
-#include <asm/io.h>
-
struct vain_plat_info {
void __iomem *base;
struct platform_device *pdev;