blob: dc10dee356c283d06587a4eecfeb4e2272ef8a16 [file] [log] [blame]
Thierry Reding020a2182017-02-28 15:46:38 +01001///
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)
Thierry Redingad093602017-02-28 15:46:39 +010023|
24- drm_connector_reference(object)
25+ drm_connector_get(object)
26|
27- drm_connector_unreference(object)
28+ drm_connector_put(object)
Thierry Redinga4a69da2017-02-28 15:46:40 +010029|
30- drm_framebuffer_reference(object)
31+ drm_framebuffer_get(object)
32|
33- drm_framebuffer_unreference(object)
34+ drm_framebuffer_put(object)
Thierry Redinge6b62712017-02-28 15:46:41 +010035|
36- drm_gem_object_reference(object)
37+ drm_gem_object_get(object)
38|
39- drm_gem_object_unreference(object)
40+ drm_gem_object_put(object)
41|
42- __drm_gem_object_unreference(object)
43+ __drm_gem_object_put(object)
44|
45- drm_gem_object_unreference_unlocked(object)
46+ drm_gem_object_put_unlocked(object)
Thierry Reding6472e502017-02-28 15:46:42 +010047|
48- drm_property_reference_blob(object)
49+ drm_property_blob_get(object)
50|
51- drm_property_unreference_blob(object)
52+ drm_property_blob_put(object)
Aishwarya Pant9a96f552017-09-26 13:58:49 +053053|
54- drm_dev_unref(object)
55+ drm_dev_put(object)
Thierry Reding020a2182017-02-28 15:46:38 +010056)
57
58@r depends on report@
59expression object;
60position p;
61@@
62
63(
64drm_mode_object_unreference@p(object)
65|
66drm_mode_object_reference@p(object)
Thierry Redingad093602017-02-28 15:46:39 +010067|
68drm_connector_unreference@p(object)
69|
70drm_connector_reference@p(object)
Thierry Redinga4a69da2017-02-28 15:46:40 +010071|
72drm_framebuffer_unreference@p(object)
73|
74drm_framebuffer_reference@p(object)
Thierry Redinge6b62712017-02-28 15:46:41 +010075|
76drm_gem_object_unreference@p(object)
77|
78drm_gem_object_reference@p(object)
79|
80__drm_gem_object_unreference(object)
81|
82drm_gem_object_unreference_unlocked(object)
Thierry Reding6472e502017-02-28 15:46:42 +010083|
84drm_property_unreference_blob@p(object)
85|
86drm_property_reference_blob@p(object)
Aishwarya Pant9a96f552017-09-26 13:58:49 +053087|
88drm_dev_unref@p(object)
Thierry Reding020a2182017-02-28 15:46:38 +010089)
90
91@script:python depends on report@
92object << r.object;
93p << r.p;
94@@
95
96msg="WARNING: use get/put helpers to reference and dereference %s" % (object)
97coccilib.report.print_report(p[0], msg)