|  | // SPDX-License-Identifier: GPL-2.0 | 
|  | /// | 
|  | /// 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_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_dev_unref(object) | 
|  | + drm_dev_put(object) | 
|  | ) | 
|  |  | 
|  | @r depends on report@ | 
|  | expression object; | 
|  | position p; | 
|  | @@ | 
|  |  | 
|  | ( | 
|  | 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_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) |