aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThierry Reding2017-02-28 08:46:38 -0600
committerThierry Reding2017-02-28 09:14:55 -0600
commit020a218f95bd3ceff7dd1022ff7ebc0497bc7bf9 (patch)
tree343a200b9e4373a380dad7d00dd26fb90a8338e1 /scripts
parent2135ea7aafa26b6bfbbd304459fdb624e82e021e (diff)
downloadkernel-020a218f95bd3ceff7dd1022ff7ebc0497bc7bf9.tar.gz
kernel-020a218f95bd3ceff7dd1022ff7ebc0497bc7bf9.tar.xz
kernel-020a218f95bd3ceff7dd1022ff7ebc0497bc7bf9.zip
drm: Introduce drm_mode_object_{get,put}()
For consistency with other reference counting APIs in the kernel, add drm_mode_object_get() and drm_mode_object_put() to reference count DRM mode objects. Compatibility aliases are added to keep existing code working. To help speed up the transition, all the instances of the old functions in the DRM core are already replaced in this commit. A semantic patch is provided that can be used to convert all drivers to the new helpers. Reviewed-by: Sean Paul <seanpaul@chromium.org> Acked-by: Christian König <christian.koenig@amd.com> Signed-off-by: Thierry Reding <treding@nvidia.com> Link: http://patchwork.freedesktop.org/patch/msgid/20170228144643.5668-3-thierry.reding@gmail.com
Diffstat (limited to 'scripts')
-rw-r--r--scripts/coccinelle/api/drm-get-put.cocci42
1 files changed, 42 insertions, 0 deletions
diff --git a/scripts/coccinelle/api/drm-get-put.cocci b/scripts/coccinelle/api/drm-get-put.cocci
new file mode 100644
index 000000000000..a3742447c981
--- /dev/null
+++ b/scripts/coccinelle/api/drm-get-put.cocci
@@ -0,0 +1,42 @@
1///
2/// Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference() and
3/// drm_*_unreference() helpers.
4///
5// Confidence: High
6// Copyright: (C) 2017 NVIDIA Corporation
7// Options: --no-includes --include-headers
8//
9
10virtual patch
11virtual report
12
13@depends on patch@
14expression object;
15@@
16
17(
18- drm_mode_object_reference(object)
19+ drm_mode_object_get(object)
20|
21- drm_mode_object_unreference(object)
22+ drm_mode_object_put(object)
23)
24
25@r depends on report@
26expression object;
27position p;
28@@
29
30(
31drm_mode_object_unreference@p(object)
32|
33drm_mode_object_reference@p(object)
34)
35
36@script:python depends on report@
37object << r.object;
38p << r.p;
39@@
40
41msg="WARNING: use get/put helpers to reference and dereference %s" % (object)
42coccilib.report.print_report(p[0], msg)