On Fri, Apr 15, 2016 at 03:10:37PM +1000, Dave Airlie wrote: > From: Dave Airlie <airlied@xxxxxxxxxx> > > No point have this code dupliated at this point, use the > _object_find code instead now. > > Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> > --- > drivers/gpu/drm/drm_crtc.c | 35 ++++++++++------------------------- > 1 file changed, 10 insertions(+), 25 deletions(-) > > diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c > index 75a45e9..0d75517 100644 > --- a/drivers/gpu/drm/drm_crtc.c > +++ b/drivers/gpu/drm/drm_crtc.c > @@ -362,8 +362,7 @@ static struct drm_mode_object *_object_find(struct drm_device *dev, > obj = NULL; > /* don't leak out unref'd fb's */ > if (obj && > - (obj->type == DRM_MODE_OBJECT_FB || > - obj->type == DRM_MODE_OBJECT_BLOB)) > + obj->type == DRM_MODE_OBJECT_BLOB) > obj = NULL; > mutex_unlock(&dev->mode_config.idr_mutex); > > @@ -478,23 +477,6 @@ out: > } > EXPORT_SYMBOL(drm_framebuffer_init); > > -static struct drm_framebuffer *__drm_framebuffer_lookup(struct drm_device *dev, > - uint32_t id) > -{ > - struct drm_mode_object *obj = NULL; > - struct drm_framebuffer *fb; > - > - mutex_lock(&dev->mode_config.idr_mutex); > - obj = idr_find(&dev->mode_config.crtc_idr, id); > - if (!obj || (obj->type != DRM_MODE_OBJECT_FB) || (obj->id != id)) > - fb = NULL; > - else > - fb = obj_to_fb(obj); > - mutex_unlock(&dev->mode_config.idr_mutex); > - > - return fb; > -} > - > /** > * drm_framebuffer_lookup - look up a drm framebuffer and grab a reference > * @dev: drm device > @@ -507,11 +489,13 @@ static struct drm_framebuffer *__drm_framebuffer_lookup(struct drm_device *dev, > struct drm_framebuffer *drm_framebuffer_lookup(struct drm_device *dev, > uint32_t id) > { > - struct drm_framebuffer *fb; > + struct drm_mode_object *obj; > + struct drm_framebuffer *fb = NULL; > > mutex_lock(&dev->mode_config.fb_lock); > - fb = __drm_framebuffer_lookup(dev, id); > - if (fb) { > + obj = _object_find(dev, id, DRM_MODE_OBJECT_FB); > + if (obj) { > + fb = obj_to_fb(obj); > if (!kref_get_unless_zero(&fb->base.refcount)) > fb = NULL; > } > @@ -3449,6 +3433,7 @@ int drm_mode_rmfb(struct drm_device *dev, > { > struct drm_framebuffer *fb = NULL; > struct drm_framebuffer *fbl = NULL; > + struct drm_mode_object *obj; > uint32_t *id = data; > int found = 0; > > @@ -3457,10 +3442,10 @@ int drm_mode_rmfb(struct drm_device *dev, > > mutex_lock(&file_priv->fbs_lock); > mutex_lock(&dev->mode_config.fb_lock); > - fb = __drm_framebuffer_lookup(dev, *id); > - if (!fb) > + obj = _object_find(dev, *id, DRM_MODE_OBJECT_FB); > + if (!obj) > goto fail_lookup; > - > + fb = obj_to_fb(obj); > list_for_each_entry(fbl, &file_priv->fbs, filp_head) > if (fb == fbl) > found = 1; > -- > 2.5.5 > > _______________________________________________ > dri-devel mailing list > dri-devel@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel