Reference counting functions in the kernel typically use get/put suffixes. For maintaining coding style consistency, introduce drm_dev_{get/put} functions. All callers of drm_dev_ref() API have been converted in this patch and hence it has been dropped while the drm_dev_unref() API with non-trivial number of users remains for compatibility. The semantic patch scripts/coccinelle/api/drm-get-put.cocci has been updated with the new helper for conversion of drm_dev_unref() to drm_dev_put() Signed-off-by: Aishwarya Pant <aishpant@gmail.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: https://patchwork.freedesktop.org/patch/msgid/6babda56134035a98220d5d37a4fd4048df214ce.1506413698.git.aishpant@gmail.com
98 lines
1.9 KiB
Plaintext
98 lines
1.9 KiB
Plaintext
///
|
|
/// Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference() and
|
|
/// drm_*_unreference() helpers.
|
|
///
|
|
// Confidence: High
|
|
// Copyright: (C) 2017 NVIDIA Corporation
|
|
// Options: --no-includes --include-headers
|
|
//
|
|
|
|
virtual patch
|
|
virtual report
|
|
|
|
@depends on patch@
|
|
expression object;
|
|
@@
|
|
|
|
(
|
|
- drm_mode_object_reference(object)
|
|
+ drm_mode_object_get(object)
|
|
|
|
|
- drm_mode_object_unreference(object)
|
|
+ drm_mode_object_put(object)
|
|
|
|
|
- drm_connector_reference(object)
|
|
+ drm_connector_get(object)
|
|
|
|
|
- drm_connector_unreference(object)
|
|
+ drm_connector_put(object)
|
|
|
|
|
- drm_framebuffer_reference(object)
|
|
+ drm_framebuffer_get(object)
|
|
|
|
|
- drm_framebuffer_unreference(object)
|
|
+ drm_framebuffer_put(object)
|
|
|
|
|
- drm_gem_object_reference(object)
|
|
+ drm_gem_object_get(object)
|
|
|
|
|
- drm_gem_object_unreference(object)
|
|
+ drm_gem_object_put(object)
|
|
|
|
|
- __drm_gem_object_unreference(object)
|
|
+ __drm_gem_object_put(object)
|
|
|
|
|
- drm_gem_object_unreference_unlocked(object)
|
|
+ drm_gem_object_put_unlocked(object)
|
|
|
|
|
- drm_property_reference_blob(object)
|
|
+ drm_property_blob_get(object)
|
|
|
|
|
- drm_property_unreference_blob(object)
|
|
+ drm_property_blob_put(object)
|
|
|
|
|
- drm_dev_unref(object)
|
|
+ drm_dev_put(object)
|
|
)
|
|
|
|
@r depends on report@
|
|
expression object;
|
|
position p;
|
|
@@
|
|
|
|
(
|
|
drm_mode_object_unreference@p(object)
|
|
|
|
|
drm_mode_object_reference@p(object)
|
|
|
|
|
drm_connector_unreference@p(object)
|
|
|
|
|
drm_connector_reference@p(object)
|
|
|
|
|
drm_framebuffer_unreference@p(object)
|
|
|
|
|
drm_framebuffer_reference@p(object)
|
|
|
|
|
drm_gem_object_unreference@p(object)
|
|
|
|
|
drm_gem_object_reference@p(object)
|
|
|
|
|
__drm_gem_object_unreference(object)
|
|
|
|
|
drm_gem_object_unreference_unlocked(object)
|
|
|
|
|
drm_property_unreference_blob@p(object)
|
|
|
|
|
drm_property_reference_blob@p(object)
|
|
|
|
|
drm_dev_unref@p(object)
|
|
)
|
|
|
|
@script:python depends on report@
|
|
object << r.object;
|
|
p << r.p;
|
|
@@
|
|
|
|
msg="WARNING: use get/put helpers to reference and dereference %s" % (object)
|
|
coccilib.report.print_report(p[0], msg)
|