amdgpu: fixup construct to void paths on some more dc objects.
authorDave Airlie <airlied@redhat.com>
Fri, 29 Sep 2017 04:34:41 +0000 (14:34 +1000)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 29 Sep 2017 17:02:48 +0000 (13:02 -0400)
Signed-off-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/core/dc_link_ddc.c
drivers/gpu/drm/amd/display/dc/core/dc_stream.c
drivers/gpu/drm/amd/display/dc/core/dc_surface.c

index 226512c11ab7461a7d0a5d51c9299f00557447ed..315160d5f0f7d825d96af7aa18b5b0cc5366c172 100644 (file)
@@ -245,7 +245,7 @@ void dal_ddc_aux_payloads_add(
        }
 }
 
-static bool construct(
+static void construct(
        struct ddc_service *ddc_service,
        struct ddc_service_init_data *init_data)
 {
@@ -282,7 +282,6 @@ static bool construct(
                connector_id == CONNECTOR_ID_LVDS;
 
        ddc_service->wa.raw = 0;
-       return true;
 }
 
 struct ddc_service *dal_ddc_service_create(
@@ -295,11 +294,8 @@ struct ddc_service *dal_ddc_service_create(
        if (!ddc_service)
                return NULL;
 
-       if (construct(ddc_service, init_data))
-               return ddc_service;
-
-       kfree(ddc_service);
-       return NULL;
+       construct(ddc_service, init_data);
+       return ddc_service;
 }
 
 static void destruct(struct ddc_service *ddc)
index d5da847ffad6a9e6b7f44375cc4eb099151e3e35..a99196414255d71d1f4fb6de164858ff9817f623 100644 (file)
@@ -56,7 +56,7 @@ static void update_stream_signal(struct dc_stream_state *stream)
        }
 }
 
-static bool construct(struct dc_stream_state *stream,
+static void construct(struct dc_stream_state *stream,
        struct dc_sink *dc_sink_data)
 {
        uint32_t i = 0;
@@ -104,7 +104,6 @@ static bool construct(struct dc_stream_state *stream,
        stream->status.link = stream->sink->link;
 
        update_stream_signal(stream);
-       return true;
 }
 
 static void destruct(struct dc_stream_state *stream)
@@ -142,25 +141,18 @@ struct dc_stream_state *dc_create_stream_for_sink(
        struct dc_stream_state *stream;
 
        if (sink == NULL)
-               goto alloc_fail;
+               return NULL;
 
        stream = kzalloc(sizeof(struct dc_stream_state), GFP_KERNEL);
+       if (stream == NULL)
+               return NULL;
 
-       if (NULL == stream)
-               goto alloc_fail;
-
-       if (false == construct(stream, sink))
-                       goto construct_fail;
+       construct(stream, sink);
 
        atomic_inc(&stream->ref_count);
 
        return stream;
 
-construct_fail:
-       kfree(stream);
-
-alloc_fail:
-       return NULL;
 }
 
 struct dc_stream_status *dc_stream_get_status(
index 511ada94530e52735537c60607fca2eebd806211..f170ae95529ce6d9d47320336d26d9cfc31e8324 100644 (file)
 /*******************************************************************************
  * Private functions
  ******************************************************************************/
-static bool construct(struct dc_context *ctx, struct dc_plane_state *plane_state)
+static void construct(struct dc_context *ctx, struct dc_plane_state *plane_state)
 {
        plane_state->ctx = ctx;
        memset(&plane_state->hdr_static_ctx,
                        0, sizeof(struct dc_hdr_static_metadata));
-       return true;
 }
 
 static void destruct(struct dc_plane_state *plane_state)
@@ -72,20 +71,12 @@ struct dc_plane_state *dc_create_plane_state(struct dc *dc)
                                                     GFP_KERNEL);
 
        if (NULL == plane_state)
-               goto alloc_fail;
-
-       if (false == construct(core_dc->ctx, plane_state))
-               goto construct_fail;
+               return NULL;
 
+       construct(core_dc->ctx, plane_state);
        atomic_inc(&plane_state->ref_count);
 
        return plane_state;
-
-construct_fail:
-       kfree(plane_state);
-
-alloc_fail:
-       return NULL;
 }
 
 const struct dc_plane_status *dc_plane_get_status(