diff mbox

[02/15] drm/mode: move framebuffer_free up above framebuffer_init

Message ID 1460697046-23781-3-git-send-email-airlied@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Dave Airlie April 15, 2016, 5:10 a.m. UTC
From: Dave Airlie <airlied@redhat.com>

A later patch will use it in framebuffer_init, and I want
to keep the diff cleaner.

Signed-off-by: Dave Airlie <airlied@redhat.com>
---
 drivers/gpu/drm/drm_crtc.c | 58 +++++++++++++++++++++++-----------------------
 1 file changed, 29 insertions(+), 29 deletions(-)

Comments

Daniel Vetter April 21, 2016, 8:03 a.m. UTC | #1
On Fri, Apr 15, 2016 at 03:10:33PM +1000, Dave Airlie wrote:
> From: Dave Airlie <airlied@redhat.com>
> 
> A later patch will use it in framebuffer_init, and I want
> to keep the diff cleaner.
> 
> Signed-off-by: Dave Airlie <airlied@redhat.com>

Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> ---
>  drivers/gpu/drm/drm_crtc.c | 58 +++++++++++++++++++++++-----------------------
>  1 file changed, 29 insertions(+), 29 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
> index 21cb8dc..e69aac4 100644
> --- a/drivers/gpu/drm/drm_crtc.c
> +++ b/drivers/gpu/drm/drm_crtc.c
> @@ -389,6 +389,35 @@ struct drm_mode_object *drm_mode_object_find(struct drm_device *dev,
>  }
>  EXPORT_SYMBOL(drm_mode_object_find);
>  
> +/* dev->mode_config.fb_lock must be held! */
> +static void __drm_framebuffer_unregister(struct drm_device *dev,
> +					 struct drm_framebuffer *fb)
> +{
> +	drm_mode_object_put(dev, &fb->base);
> +
> +	fb->base.id = 0;
> +}
> +
> +static void drm_framebuffer_free(struct kref *kref)
> +{
> +	struct drm_framebuffer *fb =
> +			container_of(kref, struct drm_framebuffer, refcount);
> +	struct drm_device *dev = fb->dev;
> +
> +	/*
> +	 * The lookup idr holds a weak reference, which has not necessarily been
> +	 * removed at this point. Check for that.
> +	 */
> +	mutex_lock(&dev->mode_config.fb_lock);
> +	if (fb->base.id) {
> +		/* Mark fb as reaped and drop idr ref. */
> +		__drm_framebuffer_unregister(dev, fb);
> +	}
> +	mutex_unlock(&dev->mode_config.fb_lock);
> +
> +	fb->funcs->destroy(fb);
> +}
> +
>  /**
>   * drm_framebuffer_init - initialize a framebuffer
>   * @dev: DRM device
> @@ -431,35 +460,6 @@ out:
>  }
>  EXPORT_SYMBOL(drm_framebuffer_init);
>  
> -/* dev->mode_config.fb_lock must be held! */
> -static void __drm_framebuffer_unregister(struct drm_device *dev,
> -					 struct drm_framebuffer *fb)
> -{
> -	drm_mode_object_put(dev, &fb->base);
> -
> -	fb->base.id = 0;
> -}
> -
> -static void drm_framebuffer_free(struct kref *kref)
> -{
> -	struct drm_framebuffer *fb =
> -			container_of(kref, struct drm_framebuffer, refcount);
> -	struct drm_device *dev = fb->dev;
> -
> -	/*
> -	 * The lookup idr holds a weak reference, which has not necessarily been
> -	 * removed at this point. Check for that.
> -	 */
> -	mutex_lock(&dev->mode_config.fb_lock);
> -	if (fb->base.id) {
> -		/* Mark fb as reaped and drop idr ref. */
> -		__drm_framebuffer_unregister(dev, fb);
> -	}
> -	mutex_unlock(&dev->mode_config.fb_lock);
> -
> -	fb->funcs->destroy(fb);
> -}
> -
>  static struct drm_framebuffer *__drm_framebuffer_lookup(struct drm_device *dev,
>  							uint32_t id)
>  {
> -- 
> 2.5.5
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
diff mbox

Patch

diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
index 21cb8dc..e69aac4 100644
--- a/drivers/gpu/drm/drm_crtc.c
+++ b/drivers/gpu/drm/drm_crtc.c
@@ -389,6 +389,35 @@  struct drm_mode_object *drm_mode_object_find(struct drm_device *dev,
 }
 EXPORT_SYMBOL(drm_mode_object_find);
 
+/* dev->mode_config.fb_lock must be held! */
+static void __drm_framebuffer_unregister(struct drm_device *dev,
+					 struct drm_framebuffer *fb)
+{
+	drm_mode_object_put(dev, &fb->base);
+
+	fb->base.id = 0;
+}
+
+static void drm_framebuffer_free(struct kref *kref)
+{
+	struct drm_framebuffer *fb =
+			container_of(kref, struct drm_framebuffer, refcount);
+	struct drm_device *dev = fb->dev;
+
+	/*
+	 * The lookup idr holds a weak reference, which has not necessarily been
+	 * removed at this point. Check for that.
+	 */
+	mutex_lock(&dev->mode_config.fb_lock);
+	if (fb->base.id) {
+		/* Mark fb as reaped and drop idr ref. */
+		__drm_framebuffer_unregister(dev, fb);
+	}
+	mutex_unlock(&dev->mode_config.fb_lock);
+
+	fb->funcs->destroy(fb);
+}
+
 /**
  * drm_framebuffer_init - initialize a framebuffer
  * @dev: DRM device
@@ -431,35 +460,6 @@  out:
 }
 EXPORT_SYMBOL(drm_framebuffer_init);
 
-/* dev->mode_config.fb_lock must be held! */
-static void __drm_framebuffer_unregister(struct drm_device *dev,
-					 struct drm_framebuffer *fb)
-{
-	drm_mode_object_put(dev, &fb->base);
-
-	fb->base.id = 0;
-}
-
-static void drm_framebuffer_free(struct kref *kref)
-{
-	struct drm_framebuffer *fb =
-			container_of(kref, struct drm_framebuffer, refcount);
-	struct drm_device *dev = fb->dev;
-
-	/*
-	 * The lookup idr holds a weak reference, which has not necessarily been
-	 * removed at this point. Check for that.
-	 */
-	mutex_lock(&dev->mode_config.fb_lock);
-	if (fb->base.id) {
-		/* Mark fb as reaped and drop idr ref. */
-		__drm_framebuffer_unregister(dev, fb);
-	}
-	mutex_unlock(&dev->mode_config.fb_lock);
-
-	fb->funcs->destroy(fb);
-}
-
 static struct drm_framebuffer *__drm_framebuffer_lookup(struct drm_device *dev,
 							uint32_t id)
 {