summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorMaxime Ripard <mripard@kernel.org>2026-01-28 15:43:45 +0300
committerMaxime Ripard <mripard@kernel.org>2026-02-10 12:05:23 +0300
commit95ffa10056b33bf5a90090b02da2edd52e1e281c (patch)
treed8170b5d6d17d976839f13980a9bfe26b661e330 /drivers
parent55c19e27c56d7843afd08634114d510f67f75370 (diff)
downloadlinux-95ffa10056b33bf5a90090b02da2edd52e1e281c.tar.xz
drm/atomic: Make drm_atomic_private_obj_init fallible
Since we're going to move the drm_private_obj state allocation to a callback, we need to be able to deal with its possible failure. Make drm_private_obj_init return an error code on failure. Suggested-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de> Link: https://patch.msgid.link/20260128-drm-private-obj-reset-v4-1-90891fa3d3b0@redhat.com Signed-off-by: Maxime Ripard <mripard@kernel.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/drm_atomic.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c
index 52738b80ddbe..4191a8333fc4 100644
--- a/drivers/gpu/drm/drm_atomic.c
+++ b/drivers/gpu/drm/drm_atomic.c
@@ -927,12 +927,14 @@ static void drm_atomic_plane_print_state(struct drm_printer *p,
*
* Initialize the private object, which can be embedded into any
* driver private object that needs its own atomic state.
+ *
+ * RETURNS:
+ * Zero on success, error code on failure
*/
-void
-drm_atomic_private_obj_init(struct drm_device *dev,
- struct drm_private_obj *obj,
- struct drm_private_state *state,
- const struct drm_private_state_funcs *funcs)
+int drm_atomic_private_obj_init(struct drm_device *dev,
+ struct drm_private_obj *obj,
+ struct drm_private_state *state,
+ const struct drm_private_state_funcs *funcs)
{
memset(obj, 0, sizeof(*obj));
@@ -944,6 +946,8 @@ drm_atomic_private_obj_init(struct drm_device *dev,
list_add_tail(&obj->head, &dev->mode_config.privobj_list);
state->obj = obj;
+
+ return 0;
}
EXPORT_SYMBOL(drm_atomic_private_obj_init);