[BL training-materials-updates] Device managed allocations: show simplified remove() function
Michael Opdenacker
michael.opdenacker at bootlin.com
Wed Nov 28 18:29:07 CET 2018
Repository : git://git.free-electrons.com/training-materials.git
On branch : master
Link : http://git.free-electrons.com/training-materials/commit/?id=4833e8f94810bfa9a6218db9214b1ce0c71ccc63
>---------------------------------------------------------------
commit 4833e8f94810bfa9a6218db9214b1ce0c71ccc63
Author: Michael Opdenacker <michael.opdenacker at bootlin.com>
Date: Wed Nov 28 18:29:07 2018 +0100
Device managed allocations: show simplified remove() function
Signed-off-by: Michael Opdenacker <michael.opdenacker at bootlin.com>
>---------------------------------------------------------------
4833e8f94810bfa9a6218db9214b1ce0c71ccc63
slides/kernel-frameworks2/kernel-frameworks2.tex | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/slides/kernel-frameworks2/kernel-frameworks2.tex b/slides/kernel-frameworks2/kernel-frameworks2.tex
index 5f74f61..f41f9db 100644
--- a/slides/kernel-frameworks2/kernel-frameworks2.tex
+++ b/slides/kernel-frameworks2/kernel-frameworks2.tex
@@ -424,11 +424,14 @@ int foo_probe(struct platform_device *pdev)
}
...
platform_set_drvdata(pdev, foo);
+ pm_runtime_enable(&pdev->dev);
+ pm_runtime_get_sync(&pdev->dev);
return 0;
}
void foo_remove(struct platform_device *pdev)
{
+ pm_runtime_disable(&pdev->dev);
foo_t *foo = platform_get_drvdata(pdev);
kfree(foo);
}
@@ -450,8 +453,15 @@ int foo_probe(struct platform_device *pdev)
return -EBUSY;
...
platform_set_drvdata(pdev, foo);
+ pm_runtime_enable(&pdev->dev);
+ pm_runtime_get_sync(&pdev->dev);
return 0;
}
+
+void foo_remove(struct platform_device *pdev)
+{
+ pm_runtime_disable(&pdev->dev);
+}
\end{minted}
\end{block}
\end{columns}
More information about the training-materials-updates
mailing list