]> git.ipfire.org Git - thirdparty/linux.git/blob - scripts/coccinelle/api/drm-get-put.cocci
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
[thirdparty/linux.git] / scripts / coccinelle / api / drm-get-put.cocci
1 // SPDX-License-Identifier: GPL-2.0
2 ///
3 /// Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference() and
4 /// drm_*_unreference() helpers.
5 ///
6 // Confidence: High
7 // Copyright: (C) 2017 NVIDIA Corporation
8 // Options: --no-includes --include-headers
9 //
10
11 virtual patch
12 virtual report
13
14 @depends on patch@
15 expression object;
16 @@
17
18 (
19 - drm_mode_object_reference(object)
20 + drm_mode_object_get(object)
21 |
22 - drm_mode_object_unreference(object)
23 + drm_mode_object_put(object)
24 |
25 - drm_connector_reference(object)
26 + drm_connector_get(object)
27 |
28 - drm_connector_unreference(object)
29 + drm_connector_put(object)
30 |
31 - drm_framebuffer_reference(object)
32 + drm_framebuffer_get(object)
33 |
34 - drm_framebuffer_unreference(object)
35 + drm_framebuffer_put(object)
36 |
37 - drm_gem_object_reference(object)
38 + drm_gem_object_get(object)
39 |
40 - drm_gem_object_unreference(object)
41 + drm_gem_object_put(object)
42 |
43 - __drm_gem_object_unreference(object)
44 + __drm_gem_object_put(object)
45 |
46 - drm_gem_object_unreference_unlocked(object)
47 + drm_gem_object_put_unlocked(object)
48 |
49 - drm_property_reference_blob(object)
50 + drm_property_blob_get(object)
51 |
52 - drm_property_unreference_blob(object)
53 + drm_property_blob_put(object)
54 )
55
56 @r depends on report@
57 expression object;
58 position p;
59 @@
60
61 (
62 drm_mode_object_unreference@p(object)
63 |
64 drm_mode_object_reference@p(object)
65 |
66 drm_connector_unreference@p(object)
67 |
68 drm_connector_reference@p(object)
69 |
70 drm_framebuffer_unreference@p(object)
71 |
72 drm_framebuffer_reference@p(object)
73 |
74 drm_gem_object_unreference@p(object)
75 |
76 drm_gem_object_reference@p(object)
77 |
78 __drm_gem_object_unreference(object)
79 |
80 drm_gem_object_unreference_unlocked(object)
81 |
82 drm_property_unreference_blob@p(object)
83 |
84 drm_property_reference_blob@p(object)
85 )
86
87 @script:python depends on report@
88 object << r.object;
89 p << r.p;
90 @@
91
92 msg="WARNING: use get/put helpers to reference and dereference %s" % (object)
93 coccilib.report.print_report(p[0], msg)