drm: Return error codes from struct drm_driver.gem_create_object
authorThomas Zimmermann <tzimmermann@suse.de>
Tue, 30 Nov 2021 09:52:55 +0000 (10:52 +0100)
committerThomas Zimmermann <tzimmermann@suse.de>
Thu, 2 Dec 2021 10:12:39 +0000 (11:12 +0100)
commit4ff22f487f8c26b99cbe1678344595734c001a39
tree02fd49b249e5a1e9d4242caa88668d91fdf65d72
parent2696f9010d21aee60be06b2135806e11c79ded8b
drm: Return error codes from struct drm_driver.gem_create_object

GEM helper libraries use struct drm_driver.gem_create_object to let
drivers override GEM object allocation. On failure, the call returns
NULL.

Change the semantics to make the calls return a pointer-encoded error.
This aligns the callback with its callers. Fixes the ingenic driver,
which already returns an error pointer.

Also update the callers to handle the involved types more strictly.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Steven Price <steven.price@arm.com>
Acked-by: Maxime Ripard <maxime@cerno.tech>
Link: https://patchwork.freedesktop.org/patch/msgid/20211130095255.26710-1-tzimmermann@suse.de
drivers/gpu/drm/drm_gem_cma_helper.c
drivers/gpu/drm/drm_gem_shmem_helper.c
drivers/gpu/drm/drm_gem_vram_helper.c
drivers/gpu/drm/lima/lima_gem.c
drivers/gpu/drm/panfrost/panfrost_gem.c
drivers/gpu/drm/v3d/v3d_bo.c
drivers/gpu/drm/vgem/vgem_drv.c
drivers/gpu/drm/virtio/virtgpu_object.c
include/drm/drm_drv.h