Hello Jani, On Wed, 06 Nov 2024 14:03:08 +0200 Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx> wrote: > On Wed, 06 Nov 2024, Luca Ceresoli <luca.ceresoli@xxxxxxxxxxx> wrote: > > Add a wrapper to kref_read() just like the ones already in place for > > kref_get() and kref_put(). This will be used for sanity checks on object > > lifetime. > > > > Signed-off-by: Luca Ceresoli <luca.ceresoli@xxxxxxxxxxx> > > --- > > drivers/gpu/drm/drm_mode_object.c | 20 ++++++++++++++++++++ > > include/drm/drm_mode_object.h | 1 + > > 2 files changed, 21 insertions(+) > > > > diff --git a/drivers/gpu/drm/drm_mode_object.c b/drivers/gpu/drm/drm_mode_object.c > > index df4cc0e8e263d5887a799cf1a61d998234be7158..f990cc7e9b5d3bda3453123593314fa1ea2bf923 100644 > > --- a/drivers/gpu/drm/drm_mode_object.c > > +++ b/drivers/gpu/drm/drm_mode_object.c > > @@ -217,6 +217,26 @@ void drm_mode_object_get(struct drm_mode_object *obj) > > } > > EXPORT_SYMBOL(drm_mode_object_get); > > > > +/** > > + * drm_mode_object_get - read the refcount for a mode object > > + * @obj: DRM mode object > > + * > > + * This function returns the current object's refcount if it is a > > + * refcounted modeset object, or 0 on any other object. > > Returns: The current object's ... > > > + */ > > +unsigned int drm_mode_object_read_refcount(struct drm_mode_object *obj) > > +{ > > + unsigned int refcount = 0; > > + > > + if (obj->free_cb) { > > + refcount = kref_read(&obj->refcount); > > + DRM_DEBUG("OBJ ID: %d (%d)\n", obj->id, refcount); > > Please ditch the debug. OK, will do both in v3. Luca -- Luca Ceresoli, Bootlin Embedded Linux and Kernel engineering https://bootlin.com