[PATCH v2 0/7] drm: Introduce consistent reference counting APIs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Thierry Reding <treding@xxxxxxxxxx>

This series introduces DRM reference counting APIs that are consistent
with other reference counting APIs in the kernel. They are also much
shorter. Compatibility aliases are added to keep existing code working
and will stay in place until all users of the old APIs are gone.

All occurrences of the old APIs in the core are already replaced by
this series, and a semantic patch is provided that allows drivers to
be converted automatically. I plan on generating patches against the
drivers once the new functions have been merged and send them out to
their respective maintainers.

Oh, and this fixes one of the items in our recently added TODO list.

Changes in v2:
- add patch to rename drm_connector_list_iter_{get,put}() because they
  aren't in fact reference counting
- add Reviewed-by from Sean, Acked-by from Christian
- left in the semantic patch for convenience, it can be removed along
  with the compatibility functions

Thanks,
Thierry

Thierry Reding (7):
  drm: Rename drm_mode_object_get()
  drm: Introduce drm_mode_object_{get,put}()
  drm: Introduce drm_connector_{get,put}()
  drm: Introduce drm_framebuffer_{get,put}()
  drm: Introduce drm_gem_object_{get,put}()
  drm: Introduce drm_property_blob_{get,put}()
  drm: Rename connector list iterator API

 Documentation/gpu/drm-mm.rst             | 14 +++--
 drivers/gpu/drm/drm_atomic.c             | 54 +++++++++----------
 drivers/gpu/drm/drm_atomic_helper.c      | 44 +++++++--------
 drivers/gpu/drm/drm_connector.c          | 40 +++++++-------
 drivers/gpu/drm/drm_crtc.c               | 12 ++---
 drivers/gpu/drm/drm_crtc_helper.c        | 42 +++++++--------
 drivers/gpu/drm/drm_crtc_internal.h      | 12 ++---
 drivers/gpu/drm/drm_encoder.c            |  8 +--
 drivers/gpu/drm/drm_fb_cma_helper.c      | 16 +++---
 drivers/gpu/drm/drm_fb_helper.c          | 16 +++---
 drivers/gpu/drm/drm_framebuffer.c        | 38 ++++++-------
 drivers/gpu/drm/drm_gem.c                | 44 +++++++--------
 drivers/gpu/drm/drm_gem_cma_helper.c     | 10 ++--
 drivers/gpu/drm/drm_mode_config.c        | 22 ++++----
 drivers/gpu/drm/drm_mode_object.c        | 44 +++++++--------
 drivers/gpu/drm/drm_modes.c              |  2 +-
 drivers/gpu/drm/drm_plane.c              | 14 ++---
 drivers/gpu/drm/drm_plane_helper.c       |  4 +-
 drivers/gpu/drm/drm_prime.c              | 10 ++--
 drivers/gpu/drm/drm_probe_helper.c       | 12 ++---
 drivers/gpu/drm/drm_property.c           | 52 +++++++++---------
 include/drm/drm_connector.h              | 51 +++++++++++++-----
 include/drm/drm_framebuffer.h            | 49 ++++++++++++-----
 include/drm/drm_gem.h                    | 80 +++++++++++++++++++++------
 include/drm/drm_mode_object.h            | 36 ++++++++++---
 include/drm/drm_property.h               | 35 ++++++++++--
 scripts/coccinelle/api/drm-get-put.cocci | 92 ++++++++++++++++++++++++++++++++
 27 files changed, 542 insertions(+), 311 deletions(-)
 create mode 100644 scripts/coccinelle/api/drm-get-put.cocci

-- 
2.11.1

_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux