blob: ceb71ea7f61c7428391f44ac989c14c808051a54 [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001// SPDX-License-Identifier: GPL-2.0
Thierry Reding020a2182017-02-28 15:46:38 +01002///
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
11virtual patch
12virtual report
13
14@depends on patch@
15expression object;
16@@
17
18(
Thierry Redingad093602017-02-28 15:46:39 +010019- drm_connector_reference(object)
20+ drm_connector_get(object)
21|
22- drm_connector_unreference(object)
23+ drm_connector_put(object)
Thierry Redinga4a69da2017-02-28 15:46:40 +010024|
25- drm_framebuffer_reference(object)
26+ drm_framebuffer_get(object)
27|
28- drm_framebuffer_unreference(object)
29+ drm_framebuffer_put(object)
Thierry Redinge6b62712017-02-28 15:46:41 +010030|
31- drm_gem_object_reference(object)
32+ drm_gem_object_get(object)
33|
34- drm_gem_object_unreference(object)
35+ drm_gem_object_put(object)
36|
37- __drm_gem_object_unreference(object)
38+ __drm_gem_object_put(object)
39|
40- drm_gem_object_unreference_unlocked(object)
41+ drm_gem_object_put_unlocked(object)
Thierry Reding6472e502017-02-28 15:46:42 +010042|
43- drm_property_reference_blob(object)
44+ drm_property_blob_get(object)
45|
46- drm_property_unreference_blob(object)
47+ drm_property_blob_put(object)
Aishwarya Pant9a96f552017-09-26 13:58:49 +053048|
49- drm_dev_unref(object)
50+ drm_dev_put(object)
Thierry Reding020a2182017-02-28 15:46:38 +010051)
52
53@r depends on report@
54expression object;
55position p;
56@@
57
58(
Thierry Redingad093602017-02-28 15:46:39 +010059drm_connector_unreference@p(object)
60|
61drm_connector_reference@p(object)
Thierry Redinga4a69da2017-02-28 15:46:40 +010062|
63drm_framebuffer_unreference@p(object)
64|
65drm_framebuffer_reference@p(object)
Thierry Redinge6b62712017-02-28 15:46:41 +010066|
67drm_gem_object_unreference@p(object)
68|
69drm_gem_object_reference@p(object)
70|
71__drm_gem_object_unreference(object)
72|
73drm_gem_object_unreference_unlocked(object)
Thierry Reding6472e502017-02-28 15:46:42 +010074|
75drm_property_unreference_blob@p(object)
76|
77drm_property_reference_blob@p(object)
Aishwarya Pant9a96f552017-09-26 13:58:49 +053078|
79drm_dev_unref@p(object)
Thierry Reding020a2182017-02-28 15:46:38 +010080)
81
82@script:python depends on report@
83object << r.object;
84p << r.p;
85@@
86
87msg="WARNING: use get/put helpers to reference and dereference %s" % (object)
88coccilib.report.print_report(p[0], msg)