aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLucas Stach <l.stach@pengutronix.de>2017-11-17 06:17:14 -0500
committerLucas Stach <l.stach@pengutronix.de>2018-01-02 11:07:41 -0500
commit54f09288f912058bdf23c4946204729ee288f444 (patch)
treec916ebff2d95eec16027eb37c873edf71c3e7e9e
parentcdd325632d4b1723d5e3bbe7c20f030fbac304ae (diff)
drm/etnaviv: change return type of etnaviv_gem_obj_add to void
This function never fails, as it does nothing more than adding the GEM object to the global device list. Making this explicit through the void return type allows to drop some unnecessary error handling. Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com> Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
-rw-r--r--drivers/gpu/drm/etnaviv/etnaviv_gem.c16
-rw-r--r--drivers/gpu/drm/etnaviv/etnaviv_gem.h2
-rw-r--r--drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c4
3 files changed, 6 insertions, 16 deletions
diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gem.c b/drivers/gpu/drm/etnaviv/etnaviv_gem.c
index f75105b7e1a4..a52220eeee45 100644
--- a/drivers/gpu/drm/etnaviv/etnaviv_gem.c
+++ b/drivers/gpu/drm/etnaviv/etnaviv_gem.c
@@ -586,7 +586,7 @@ void etnaviv_gem_free_object(struct drm_gem_object *obj)
586 kfree(etnaviv_obj); 586 kfree(etnaviv_obj);
587} 587}
588 588
589int etnaviv_gem_obj_add(struct drm_device *dev, struct drm_gem_object *obj) 589void etnaviv_gem_obj_add(struct drm_device *dev, struct drm_gem_object *obj)
590{ 590{
591 struct etnaviv_drm_private *priv = dev->dev_private; 591 struct etnaviv_drm_private *priv = dev->dev_private;
592 struct etnaviv_gem_object *etnaviv_obj = to_etnaviv_bo(obj); 592 struct etnaviv_gem_object *etnaviv_obj = to_etnaviv_bo(obj);
@@ -594,8 +594,6 @@ int etnaviv_gem_obj_add(struct drm_device *dev, struct drm_gem_object *obj)
594 mutex_lock(&priv->gem_lock); 594 mutex_lock(&priv->gem_lock);
595 list_add_tail(&etnaviv_obj->gem_node, &priv->gem_list); 595 list_add_tail(&etnaviv_obj->gem_node, &priv->gem_list);
596 mutex_unlock(&priv->gem_lock); 596 mutex_unlock(&priv->gem_lock);
597
598 return 0;
599} 597}
600 598
601static int etnaviv_gem_new_impl(struct drm_device *dev, u32 size, u32 flags, 599static int etnaviv_gem_new_impl(struct drm_device *dev, u32 size, u32 flags,
@@ -678,11 +676,7 @@ int etnaviv_gem_new_handle(struct drm_device *dev, struct drm_file *file,
678 if (ret) 676 if (ret)
679 goto fail; 677 goto fail;
680 678
681 ret = etnaviv_gem_obj_add(dev, obj); 679 etnaviv_gem_obj_add(dev, obj);
682 if (ret < 0) {
683 drm_gem_object_put_unlocked(obj);
684 return ret;
685 }
686 680
687 ret = drm_gem_handle_create(file, obj, handle); 681 ret = drm_gem_handle_create(file, obj, handle);
688 682
@@ -895,12 +889,10 @@ int etnaviv_gem_new_userptr(struct drm_device *dev, struct drm_file *file,
895 etnaviv_obj->userptr.ro = !(flags & ETNA_USERPTR_WRITE); 889 etnaviv_obj->userptr.ro = !(flags & ETNA_USERPTR_WRITE);
896 get_task_struct(current); 890 get_task_struct(current);
897 891
898 ret = etnaviv_gem_obj_add(dev, &etnaviv_obj->base); 892 etnaviv_gem_obj_add(dev, &etnaviv_obj->base);
899 if (ret)
900 goto unreference;
901 893
902 ret = drm_gem_handle_create(file, &etnaviv_obj->base, handle); 894 ret = drm_gem_handle_create(file, &etnaviv_obj->base, handle);
903unreference: 895
904 /* drop reference from allocate - handle holds it now */ 896 /* drop reference from allocate - handle holds it now */
905 drm_gem_object_put_unlocked(&etnaviv_obj->base); 897 drm_gem_object_put_unlocked(&etnaviv_obj->base);
906 return ret; 898 return ret;
diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gem.h b/drivers/gpu/drm/etnaviv/etnaviv_gem.h
index e437fba1209d..00bd9c851a02 100644
--- a/drivers/gpu/drm/etnaviv/etnaviv_gem.h
+++ b/drivers/gpu/drm/etnaviv/etnaviv_gem.h
@@ -117,7 +117,7 @@ int etnaviv_gem_wait_bo(struct etnaviv_gpu *gpu, struct drm_gem_object *obj,
117int etnaviv_gem_new_private(struct drm_device *dev, size_t size, u32 flags, 117int etnaviv_gem_new_private(struct drm_device *dev, size_t size, u32 flags,
118 struct reservation_object *robj, const struct etnaviv_gem_ops *ops, 118 struct reservation_object *robj, const struct etnaviv_gem_ops *ops,
119 struct etnaviv_gem_object **res); 119 struct etnaviv_gem_object **res);
120int etnaviv_gem_obj_add(struct drm_device *dev, struct drm_gem_object *obj); 120void etnaviv_gem_obj_add(struct drm_device *dev, struct drm_gem_object *obj);
121struct page **etnaviv_gem_get_pages(struct etnaviv_gem_object *obj); 121struct page **etnaviv_gem_get_pages(struct etnaviv_gem_object *obj);
122void etnaviv_gem_put_pages(struct etnaviv_gem_object *obj); 122void etnaviv_gem_put_pages(struct etnaviv_gem_object *obj);
123 123
diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c b/drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c
index ea87bf87b187..5704305d41e6 100644
--- a/drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c
+++ b/drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c
@@ -142,9 +142,7 @@ struct drm_gem_object *etnaviv_gem_prime_import_sg_table(struct drm_device *dev,
142 if (ret) 142 if (ret)
143 goto fail; 143 goto fail;
144 144
145 ret = etnaviv_gem_obj_add(dev, &etnaviv_obj->base); 145 etnaviv_gem_obj_add(dev, &etnaviv_obj->base);
146 if (ret)
147 goto fail;
148 146
149 return &etnaviv_obj->base; 147 return &etnaviv_obj->base;
150 148