aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2430-amdgpu-dc-remove-pointless-returns-in-the-i2caux-con.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2430-amdgpu-dc-remove-pointless-returns-in-the-i2caux-con.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2430-amdgpu-dc-remove-pointless-returns-in-the-i2caux-con.patch886
1 files changed, 886 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2430-amdgpu-dc-remove-pointless-returns-in-the-i2caux-con.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2430-amdgpu-dc-remove-pointless-returns-in-the-i2caux-con.patch
new file mode 100644
index 00000000..ecf189d3
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2430-amdgpu-dc-remove-pointless-returns-in-the-i2caux-con.patch
@@ -0,0 +1,886 @@
+From 47167d8b0ffa105499030c4b800882c9fb6cb41f Mon Sep 17 00:00:00 2001
+From: Dave Airlie <airlied@redhat.com>
+Date: Fri, 29 Sep 2017 15:44:54 +1000
+Subject: [PATCH 2430/4131] amdgpu/dc: remove pointless returns in the i2caux
+ constructor paths. (v2)
+
+There was lots of return true, and error checking that was never used
+in these paths.
+
+Just remove it all.
+
+v2: I missed one return true.
+
+Signed-off-by: Dave Airlie <airlied@redhat.com>
+Reviewed-by: Harry Wentland <harry.wentland@amd.com>
+---
+ drivers/gpu/drm/amd/display/dc/i2caux/aux_engine.c | 6 ++--
+ drivers/gpu/drm/amd/display/dc/i2caux/aux_engine.h | 2 +-
+ .../amd/display/dc/i2caux/dce100/i2caux_dce100.c | 21 +++++---------
+ .../display/dc/i2caux/dce110/aux_engine_dce110.c | 20 +++-----------
+ .../dc/i2caux/dce110/i2c_hw_engine_dce110.c | 24 ++++++----------
+ .../dc/i2caux/dce110/i2c_hw_engine_dce110.h | 4 ---
+ .../dc/i2caux/dce110/i2c_sw_engine_dce110.c | 20 +++-----------
+ .../amd/display/dc/i2caux/dce110/i2caux_dce110.c | 30 ++++++--------------
+ .../amd/display/dc/i2caux/dce110/i2caux_dce110.h | 2 +-
+ .../amd/display/dc/i2caux/dce112/i2caux_dce112.c | 30 ++++++--------------
+ .../amd/display/dc/i2caux/dce120/i2caux_dce120.c | 21 +++++---------
+ .../display/dc/i2caux/dce80/i2c_hw_engine_dce80.c | 32 ++++++++--------------
+ .../display/dc/i2caux/dce80/i2c_sw_engine_dce80.c | 19 +++----------
+ .../drm/amd/display/dc/i2caux/dce80/i2caux_dce80.c | 19 +++----------
+ .../drm/amd/display/dc/i2caux/dcn10/i2caux_dcn10.c | 21 +++++---------
+ .../display/dc/i2caux/diagnostics/i2caux_diag.c | 20 +++-----------
+ drivers/gpu/drm/amd/display/dc/i2caux/engine.h | 2 +-
+ .../gpu/drm/amd/display/dc/i2caux/engine_base.c | 3 +-
+ drivers/gpu/drm/amd/display/dc/i2caux/i2c_engine.c | 7 ++---
+ drivers/gpu/drm/amd/display/dc/i2caux/i2c_engine.h | 2 +-
+ .../amd/display/dc/i2caux/i2c_generic_hw_engine.c | 6 ++--
+ .../amd/display/dc/i2caux/i2c_generic_hw_engine.h | 2 +-
+ .../gpu/drm/amd/display/dc/i2caux/i2c_hw_engine.c | 6 ++--
+ .../gpu/drm/amd/display/dc/i2caux/i2c_hw_engine.h | 2 +-
+ .../gpu/drm/amd/display/dc/i2caux/i2c_sw_engine.c | 17 +++---------
+ .../gpu/drm/amd/display/dc/i2caux/i2c_sw_engine.h | 2 +-
+ drivers/gpu/drm/amd/display/dc/i2caux/i2caux.c | 4 +--
+ drivers/gpu/drm/amd/display/dc/i2caux/i2caux.h | 2 +-
+ 28 files changed, 100 insertions(+), 246 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/aux_engine.c b/drivers/gpu/drm/amd/display/dc/i2caux/aux_engine.c
+index 3c9608c..fc7a7d4 100644
+--- a/drivers/gpu/drm/amd/display/dc/i2caux/aux_engine.c
++++ b/drivers/gpu/drm/amd/display/dc/i2caux/aux_engine.c
+@@ -555,15 +555,13 @@ bool dal_aux_engine_submit_request(
+ return result;
+ }
+
+-bool dal_aux_engine_construct(
++void dal_aux_engine_construct(
+ struct aux_engine *engine,
+ struct dc_context *ctx)
+ {
+- if (!dal_i2caux_construct_engine(&engine->base, ctx))
+- return false;
++ dal_i2caux_construct_engine(&engine->base, ctx);
+ engine->delay = 0;
+ engine->max_defer_write_retry = 0;
+- return true;
+ }
+
+ void dal_aux_engine_destruct(
+diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/aux_engine.h b/drivers/gpu/drm/amd/display/dc/i2caux/aux_engine.h
+index 40b2028..8e71324 100644
+--- a/drivers/gpu/drm/amd/display/dc/i2caux/aux_engine.h
++++ b/drivers/gpu/drm/amd/display/dc/i2caux/aux_engine.h
+@@ -100,7 +100,7 @@ struct aux_engine {
+ bool acquire_reset;
+ };
+
+-bool dal_aux_engine_construct(
++void dal_aux_engine_construct(
+ struct aux_engine *engine,
+ struct dc_context *ctx);
+
+diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/dce100/i2caux_dce100.c b/drivers/gpu/drm/amd/display/dc/i2caux/dce100/i2caux_dce100.c
+index c45a2ee..e8d3781 100644
+--- a/drivers/gpu/drm/amd/display/dc/i2caux/dce100/i2caux_dce100.c
++++ b/drivers/gpu/drm/amd/display/dc/i2caux/dce100/i2caux_dce100.c
+@@ -95,18 +95,11 @@ struct i2caux *dal_i2caux_dce100_create(
+ return NULL;
+ }
+
+- if (dal_i2caux_dce110_construct(
+- i2caux_dce110,
+- ctx,
+- dce100_aux_regs,
+- dce100_hw_engine_regs,
+- &i2c_shift,
+- &i2c_mask))
+- return &i2caux_dce110->base;
+-
+- ASSERT_CRITICAL(false);
+-
+- kfree(i2caux_dce110);
+-
+- return NULL;
++ dal_i2caux_dce110_construct(i2caux_dce110,
++ ctx,
++ dce100_aux_regs,
++ dce100_hw_engine_regs,
++ &i2c_shift,
++ &i2c_mask);
++ return &i2caux_dce110->base;
+ }
+diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/dce110/aux_engine_dce110.c b/drivers/gpu/drm/amd/display/dc/i2caux/dce110/aux_engine_dce110.c
+index 4b673b4..0c4bbc1 100644
+--- a/drivers/gpu/drm/amd/display/dc/i2caux/dce110/aux_engine_dce110.c
++++ b/drivers/gpu/drm/amd/display/dc/i2caux/dce110/aux_engine_dce110.c
+@@ -426,22 +426,16 @@ static const struct engine_funcs engine_funcs = {
+ .acquire = dal_aux_engine_acquire,
+ };
+
+-static bool construct(
++static void construct(
+ struct aux_engine_dce110 *engine,
+ const struct aux_engine_dce110_init_data *aux_init_data)
+ {
+- if (!dal_aux_engine_construct(
+- &engine->base, aux_init_data->ctx)) {
+- ASSERT_CRITICAL(false);
+- return false;
+- }
++ dal_aux_engine_construct(&engine->base, aux_init_data->ctx);
+ engine->base.base.funcs = &engine_funcs;
+ engine->base.funcs = &aux_engine_funcs;
+
+ engine->timeout_period = aux_init_data->timeout_period;
+ engine->regs = aux_init_data->regs;
+-
+- return true;
+ }
+
+ static void destruct(
+@@ -471,12 +465,6 @@ struct aux_engine *dal_aux_engine_dce110_create(
+ return NULL;
+ }
+
+- if (construct(engine, aux_init_data))
+- return &engine->base;
+-
+- ASSERT_CRITICAL(false);
+-
+- kfree(engine);
+-
+- return NULL;
++ construct(engine, aux_init_data);
++ return &engine->base;
+ }
+diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2c_hw_engine_dce110.c b/drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2c_hw_engine_dce110.c
+index aab77a8..1a5b3f7 100644
+--- a/drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2c_hw_engine_dce110.c
++++ b/drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2c_hw_engine_dce110.c
+@@ -498,17 +498,13 @@ static const struct i2c_hw_engine_funcs i2c_hw_engine_funcs = {
+ .wait_on_operation_result = dal_i2c_hw_engine_wait_on_operation_result,
+ };
+
+-bool i2c_hw_engine_dce110_construct(
++static void construct(
+ struct i2c_hw_engine_dce110 *hw_engine,
+ const struct i2c_hw_engine_dce110_create_arg *arg)
+ {
+ uint32_t xtal_ref_div = 0;
+
+- if (!arg->reference_frequency)
+- return false;
+-
+- if (!dal_i2c_hw_engine_construct(&hw_engine->base, arg->ctx))
+- return false;
++ dal_i2c_hw_engine_construct(&hw_engine->base, arg->ctx);
+
+ hw_engine->base.base.base.funcs = &engine_funcs;
+ hw_engine->base.base.funcs = &i2c_engine_funcs;
+@@ -545,8 +541,6 @@ bool i2c_hw_engine_dce110_construct(
+ */
+ hw_engine->reference_frequency =
+ (arg->reference_frequency * 2) / xtal_ref_div;
+-
+- return true;
+ }
+
+ struct i2c_engine *dal_i2c_hw_engine_dce110_create(
+@@ -558,6 +552,10 @@ struct i2c_engine *dal_i2c_hw_engine_dce110_create(
+ ASSERT_CRITICAL(false);
+ return NULL;
+ }
++ if (!arg->reference_frequency) {
++ ASSERT_CRITICAL(false);
++ return NULL;
++ }
+
+ engine_dce10 = kzalloc(sizeof(struct i2c_hw_engine_dce110),
+ GFP_KERNEL);
+@@ -567,12 +565,6 @@ struct i2c_engine *dal_i2c_hw_engine_dce110_create(
+ return NULL;
+ }
+
+- if (i2c_hw_engine_dce110_construct(engine_dce10, arg))
+- return &engine_dce10->base.base;
+-
+- ASSERT_CRITICAL(false);
+-
+- kfree(engine_dce10);
+-
+- return NULL;
++ construct(engine_dce10, arg);
++ return &engine_dce10->base.base;
+ }
+diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2c_hw_engine_dce110.h b/drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2c_hw_engine_dce110.h
+index c573c64..5bb0408 100644
+--- a/drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2c_hw_engine_dce110.h
++++ b/drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2c_hw_engine_dce110.h
+@@ -207,8 +207,4 @@ struct i2c_hw_engine_dce110_create_arg {
+ struct i2c_engine *dal_i2c_hw_engine_dce110_create(
+ const struct i2c_hw_engine_dce110_create_arg *arg);
+
+-bool i2c_hw_engine_dce110_construct(
+- struct i2c_hw_engine_dce110 *engine_dce110,
+- const struct i2c_hw_engine_dce110_create_arg *arg);
+-
+ #endif
+diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2c_sw_engine_dce110.c b/drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2c_sw_engine_dce110.c
+index bf2c4b2..3aa7f79 100644
+--- a/drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2c_sw_engine_dce110.c
++++ b/drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2c_sw_engine_dce110.c
+@@ -118,7 +118,7 @@ static const struct engine_funcs engine_funcs = {
+ .submit_request = dal_i2c_sw_engine_submit_request,
+ };
+
+-static bool construct(
++static void construct(
+ struct i2c_sw_engine_dce110 *engine_dce110,
+ const struct i2c_sw_engine_dce110_create_arg *arg_dce110)
+ {
+@@ -127,11 +127,7 @@ static bool construct(
+ arg_base.ctx = arg_dce110->ctx;
+ arg_base.default_speed = arg_dce110->default_speed;
+
+- if (!dal_i2c_sw_engine_construct(
+- &engine_dce110->base, &arg_base)) {
+- ASSERT_CRITICAL(false);
+- return false;
+- }
++ dal_i2c_sw_engine_construct(&engine_dce110->base, &arg_base);
+
+ /*struct engine struct engine_funcs*/
+ engine_dce110->base.base.base.funcs = &engine_funcs;
+@@ -139,8 +135,6 @@ static bool construct(
+ engine_dce110->base.base.funcs = &i2c_engine_funcs;
+ engine_dce110->base.default_speed = arg_dce110->default_speed;
+ engine_dce110->engine_id = arg_dce110->engine_id;
+-
+- return true;
+ }
+
+ struct i2c_engine *dal_i2c_sw_engine_dce110_create(
+@@ -161,12 +155,6 @@ struct i2c_engine *dal_i2c_sw_engine_dce110_create(
+ return NULL;
+ }
+
+- if (construct(engine_dce110, arg))
+- return &engine_dce110->base.base;
+-
+- ASSERT_CRITICAL(false);
+-
+- kfree(engine_dce110);
+-
+- return NULL;
++ construct(engine_dce110, arg);
++ return &engine_dce110->base.base;
+ }
+diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2caux_dce110.c b/drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2caux_dce110.c
+index ae9adb3..2a047f8 100644
+--- a/drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2caux_dce110.c
++++ b/drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2caux_dce110.c
+@@ -196,7 +196,7 @@ static const struct dce110_i2c_hw_engine_mask i2c_mask = {
+ I2C_COMMON_MASK_SH_LIST_DCE110(_MASK)
+ };
+
+-bool dal_i2caux_dce110_construct(
++void dal_i2caux_dce110_construct(
+ struct i2caux_dce110 *i2caux_dce110,
+ struct dc_context *ctx,
+ const struct dce110_aux_registers aux_regs[],
+@@ -217,10 +217,7 @@ bool dal_i2caux_dce110_construct(
+
+ base = &i2caux_dce110->base;
+
+- if (!dal_i2caux_construct(base, ctx)) {
+- ASSERT_CRITICAL(false);
+- return false;
+- }
++ dal_i2caux_construct(base, ctx);
+
+ i2caux_dce110->base.funcs = &i2caux_funcs;
+ i2caux_dce110->i2c_hw_buffer_in_use = false;
+@@ -278,8 +275,6 @@ bool dal_i2caux_dce110_construct(
+ } while (i < ARRAY_SIZE(hw_aux_lines));
+
+ /*TODO Generic I2C SW and HW*/
+-
+- return true;
+ }
+
+ /*
+@@ -306,18 +301,11 @@ struct i2caux *dal_i2caux_dce110_create(
+ return NULL;
+ }
+
+- if (dal_i2caux_dce110_construct(
+- i2caux_dce110,
+- ctx,
+- dce110_aux_regs,
+- i2c_hw_engine_regs,
+- &i2c_shift,
+- &i2c_mask))
+- return &i2caux_dce110->base;
+-
+- ASSERT_CRITICAL(false);
+-
+- kfree(i2caux_dce110);
+-
+- return NULL;
++ dal_i2caux_dce110_construct(i2caux_dce110,
++ ctx,
++ dce110_aux_regs,
++ i2c_hw_engine_regs,
++ &i2c_shift,
++ &i2c_mask);
++ return &i2caux_dce110->base;
+ }
+diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2caux_dce110.h b/drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2caux_dce110.h
+index fd1cc23..1b1f71c 100644
+--- a/drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2caux_dce110.h
++++ b/drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2caux_dce110.h
+@@ -42,7 +42,7 @@ struct dce110_i2c_hw_engine_mask;
+ struct i2caux *dal_i2caux_dce110_create(
+ struct dc_context *ctx);
+
+-bool dal_i2caux_dce110_construct(
++void dal_i2caux_dce110_construct(
+ struct i2caux_dce110 *i2caux_dce110,
+ struct dc_context *ctx,
+ const struct dce110_aux_registers *aux_regs,
+diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/dce112/i2caux_dce112.c b/drivers/gpu/drm/amd/display/dc/i2caux/dce112/i2caux_dce112.c
+index 715ba43..dafc1a7 100644
+--- a/drivers/gpu/drm/amd/display/dc/i2caux/dce112/i2caux_dce112.c
++++ b/drivers/gpu/drm/amd/display/dc/i2caux/dce112/i2caux_dce112.c
+@@ -87,22 +87,16 @@ static const struct dce110_i2c_hw_engine_mask i2c_mask = {
+ I2C_COMMON_MASK_SH_LIST_DCE110(_MASK)
+ };
+
+-static bool construct(
++static void construct(
+ struct i2caux_dce110 *i2caux_dce110,
+ struct dc_context *ctx)
+ {
+- if (!dal_i2caux_dce110_construct(
+- i2caux_dce110,
+- ctx,
+- dce112_aux_regs,
+- dce112_hw_engine_regs,
+- &i2c_shift,
+- &i2c_mask)) {
+- ASSERT_CRITICAL(false);
+- return false;
+- }
+-
+- return true;
++ dal_i2caux_dce110_construct(i2caux_dce110,
++ ctx,
++ dce112_aux_regs,
++ dce112_hw_engine_regs,
++ &i2c_shift,
++ &i2c_mask);
+ }
+
+ /*
+@@ -129,12 +123,6 @@ struct i2caux *dal_i2caux_dce112_create(
+ return NULL;
+ }
+
+- if (construct(i2caux_dce110, ctx))
+- return &i2caux_dce110->base;
+-
+- ASSERT_CRITICAL(false);
+-
+- kfree(i2caux_dce110);
+-
+- return NULL;
++ construct(i2caux_dce110, ctx);
++ return &i2caux_dce110->base;
+ }
+diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/dce120/i2caux_dce120.c b/drivers/gpu/drm/amd/display/dc/i2caux/dce120/i2caux_dce120.c
+index 9574c5b..a401636 100644
+--- a/drivers/gpu/drm/amd/display/dc/i2caux/dce120/i2caux_dce120.c
++++ b/drivers/gpu/drm/amd/display/dc/i2caux/dce120/i2caux_dce120.c
+@@ -108,18 +108,11 @@ struct i2caux *dal_i2caux_dce120_create(
+ return NULL;
+ }
+
+- if (dal_i2caux_dce110_construct(
+- i2caux_dce110,
+- ctx,
+- dce120_aux_regs,
+- dce120_hw_engine_regs,
+- &i2c_shift,
+- &i2c_mask))
+- return &i2caux_dce110->base;
+-
+- ASSERT_CRITICAL(false);
+-
+- kfree(i2caux_dce110);
+-
+- return NULL;
++ dal_i2caux_dce110_construct(i2caux_dce110,
++ ctx,
++ dce120_aux_regs,
++ dce120_hw_engine_regs,
++ &i2c_shift,
++ &i2c_mask);
++ return &i2caux_dce110->base;
+ }
+diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/dce80/i2c_hw_engine_dce80.c b/drivers/gpu/drm/amd/display/dc/i2caux/dce80/i2c_hw_engine_dce80.c
+index d41e37c..fd0832d 100644
+--- a/drivers/gpu/drm/amd/display/dc/i2caux/dce80/i2c_hw_engine_dce80.c
++++ b/drivers/gpu/drm/amd/display/dc/i2caux/dce80/i2c_hw_engine_dce80.c
+@@ -824,20 +824,11 @@ static const struct i2c_hw_engine_funcs i2c_hw_engine_funcs = {
+ dal_i2c_hw_engine_wait_on_operation_result,
+ };
+
+-static bool construct(
++static void construct(
+ struct i2c_hw_engine_dce80 *engine,
+ const struct i2c_hw_engine_dce80_create_arg *arg)
+ {
+- if (arg->engine_id >= sizeof(ddc_setup_offset) / sizeof(int32_t))
+- return false;
+- if (arg->engine_id >= sizeof(ddc_speed_offset) / sizeof(int32_t))
+- return false;
+-
+- if (!arg->reference_frequency)
+- return false;
+-
+- if (!dal_i2c_hw_engine_construct(&engine->base, arg->ctx))
+- return false;
++ dal_i2c_hw_engine_construct(&engine->base, arg->ctx);
+
+ engine->base.base.base.funcs = &engine_funcs;
+ engine->base.base.funcs = &i2c_engine_funcs;
+@@ -853,8 +844,6 @@ static bool construct(
+ engine->buffer_used_bytes = 0;
+ engine->transaction_count = 0;
+ engine->engine_keep_power_up_count = 1;
+-
+- return true;
+ }
+
+ struct i2c_engine *dal_i2c_hw_engine_dce80_create(
+@@ -867,6 +856,13 @@ struct i2c_engine *dal_i2c_hw_engine_dce80_create(
+ return NULL;
+ }
+
++ if ((arg->engine_id >= sizeof(ddc_setup_offset) / sizeof(int32_t)) ||
++ (arg->engine_id >= sizeof(ddc_speed_offset) / sizeof(int32_t)) ||
++ !arg->reference_frequency) {
++ BREAK_TO_DEBUGGER();
++ return NULL;
++ }
++
+ engine = kzalloc(sizeof(struct i2c_hw_engine_dce80), GFP_KERNEL);
+
+ if (!engine) {
+@@ -874,12 +870,6 @@ struct i2c_engine *dal_i2c_hw_engine_dce80_create(
+ return NULL;
+ }
+
+- if (construct(engine, arg))
+- return &engine->base.base;
+-
+- BREAK_TO_DEBUGGER();
+-
+- kfree(engine);
+-
+- return NULL;
++ construct(engine, arg);
++ return &engine->base.base;
+ }
+diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/dce80/i2c_sw_engine_dce80.c b/drivers/gpu/drm/amd/display/dc/i2caux/dce80/i2c_sw_engine_dce80.c
+index 6be77bc..4853ee2 100644
+--- a/drivers/gpu/drm/amd/display/dc/i2caux/dce80/i2c_sw_engine_dce80.c
++++ b/drivers/gpu/drm/amd/display/dc/i2caux/dce80/i2c_sw_engine_dce80.c
+@@ -133,7 +133,7 @@ static const struct engine_funcs engine_funcs = {
+ .submit_request = dal_i2c_sw_engine_submit_request,
+ };
+
+-static bool construct(
++static void construct(
+ struct i2c_sw_engine_dce80 *engine,
+ const struct i2c_sw_engine_dce80_create_arg *arg)
+ {
+@@ -142,17 +142,12 @@ static bool construct(
+ arg_base.ctx = arg->ctx;
+ arg_base.default_speed = arg->default_speed;
+
+- if (!dal_i2c_sw_engine_construct(&engine->base, &arg_base)) {
+- BREAK_TO_DEBUGGER();
+- return false;
+- }
++ dal_i2c_sw_engine_construct(&engine->base, &arg_base);
+
+ engine->base.base.base.funcs = &engine_funcs;
+ engine->base.base.funcs = &i2c_engine_funcs;
+ engine->base.default_speed = arg->default_speed;
+ engine->engine_id = arg->engine_id;
+-
+- return true;
+ }
+
+ struct i2c_engine *dal_i2c_sw_engine_dce80_create(
+@@ -172,13 +167,7 @@ struct i2c_engine *dal_i2c_sw_engine_dce80_create(
+ return NULL;
+ }
+
+- if (construct(engine, arg))
+- return &engine->base.base;
+-
+- BREAK_TO_DEBUGGER();
+-
+- kfree(engine);
+-
+- return NULL;
++ construct(engine, arg);
++ return &engine->base.base;
+ }
+
+diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/dce80/i2caux_dce80.c b/drivers/gpu/drm/amd/display/dc/i2caux/dce80/i2caux_dce80.c
+index d3c157e..ed48596 100644
+--- a/drivers/gpu/drm/amd/display/dc/i2caux/dce80/i2caux_dce80.c
++++ b/drivers/gpu/drm/amd/display/dc/i2caux/dce80/i2caux_dce80.c
+@@ -187,7 +187,7 @@ static const struct i2caux_funcs i2caux_funcs = {
+ .acquire_aux_engine = dal_i2caux_acquire_aux_engine,
+ };
+
+-static bool construct(
++static void construct(
+ struct i2caux_dce80 *i2caux_dce80,
+ struct dc_context *ctx)
+ {
+@@ -207,10 +207,7 @@ static bool construct(
+
+ uint32_t i;
+
+- if (!dal_i2caux_construct(base, ctx)) {
+- BREAK_TO_DEBUGGER();
+- return false;
+- }
++ dal_i2caux_construct(base, ctx);
+
+ i2caux_dce80->base.funcs = &i2caux_funcs;
+ i2caux_dce80->i2c_hw_buffer_in_use = false;
+@@ -269,8 +266,6 @@ static bool construct(
+ } while (i < ARRAY_SIZE(hw_aux_lines));
+
+ /* TODO Generic I2C SW and HW */
+-
+- return true;
+ }
+
+ struct i2caux *dal_i2caux_dce80_create(
+@@ -284,12 +279,6 @@ struct i2caux *dal_i2caux_dce80_create(
+ return NULL;
+ }
+
+- if (construct(i2caux_dce80, ctx))
+- return &i2caux_dce80->base;
+-
+- BREAK_TO_DEBUGGER();
+-
+- kfree(i2caux_dce80);
+-
+- return NULL;
++ construct(i2caux_dce80, ctx);
++ return &i2caux_dce80->base;
+ }
+diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/dcn10/i2caux_dcn10.c b/drivers/gpu/drm/amd/display/dc/i2caux/dcn10/i2caux_dcn10.c
+index 96897e1..bed7cc3 100644
+--- a/drivers/gpu/drm/amd/display/dc/i2caux/dcn10/i2caux_dcn10.c
++++ b/drivers/gpu/drm/amd/display/dc/i2caux/dcn10/i2caux_dcn10.c
+@@ -108,18 +108,11 @@ struct i2caux *dal_i2caux_dcn10_create(
+ return NULL;
+ }
+
+- if (dal_i2caux_dce110_construct(
+- i2caux_dce110,
+- ctx,
+- dcn10_aux_regs,
+- dcn10_hw_engine_regs,
+- &i2c_shift,
+- &i2c_mask))
+- return &i2caux_dce110->base;
+-
+- ASSERT_CRITICAL(false);
+-
+- kfree(i2caux_dce110);
+-
+- return NULL;
++ dal_i2caux_dce110_construct(i2caux_dce110,
++ ctx,
++ dcn10_aux_regs,
++ dcn10_hw_engine_regs,
++ &i2c_shift,
++ &i2c_mask);
++ return &i2caux_dce110->base;
+ }
+diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/diagnostics/i2caux_diag.c b/drivers/gpu/drm/amd/display/dc/i2caux/diagnostics/i2caux_diag.c
+index 1fdb325..e6408f6 100644
+--- a/drivers/gpu/drm/amd/display/dc/i2caux/diagnostics/i2caux_diag.c
++++ b/drivers/gpu/drm/amd/display/dc/i2caux/diagnostics/i2caux_diag.c
+@@ -73,18 +73,12 @@ static const struct i2caux_funcs i2caux_funcs = {
+ .acquire_aux_engine = NULL,
+ };
+
+-static bool construct(
++static void construct(
+ struct i2caux *i2caux,
+ struct dc_context *ctx)
+ {
+- if (!dal_i2caux_construct(i2caux, ctx)) {
+- ASSERT_CRITICAL(false);
+- return false;
+- }
+-
++ dal_i2caux_construct(i2caux, ctx);
+ i2caux->funcs = &i2caux_funcs;
+-
+- return true;
+ }
+
+ struct i2caux *dal_i2caux_diag_fpga_create(
+@@ -98,12 +92,6 @@ struct i2caux *dal_i2caux_diag_fpga_create(
+ return NULL;
+ }
+
+- if (construct(i2caux, ctx))
+- return i2caux;
+-
+- ASSERT_CRITICAL(false);
+-
+- kfree(i2caux);
+-
+- return NULL;
++ construct(i2caux, ctx);
++ return i2caux;
+ }
+diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/engine.h b/drivers/gpu/drm/amd/display/dc/i2caux/engine.h
+index 76fe2df..33de8a8 100644
+--- a/drivers/gpu/drm/amd/display/dc/i2caux/engine.h
++++ b/drivers/gpu/drm/amd/display/dc/i2caux/engine.h
+@@ -110,7 +110,7 @@ struct engine {
+ struct dc_context *ctx;
+ };
+
+-bool dal_i2caux_construct_engine(
++void dal_i2caux_construct_engine(
+ struct engine *engine,
+ struct dc_context *ctx);
+
+diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/engine_base.c b/drivers/gpu/drm/amd/display/dc/i2caux/engine_base.c
+index 09da813..5d155d3 100644
+--- a/drivers/gpu/drm/amd/display/dc/i2caux/engine_base.c
++++ b/drivers/gpu/drm/amd/display/dc/i2caux/engine_base.c
+@@ -36,13 +36,12 @@
+
+ #include "engine.h"
+
+-bool dal_i2caux_construct_engine(
++void dal_i2caux_construct_engine(
+ struct engine *engine,
+ struct dc_context *ctx)
+ {
+ engine->ddc = NULL;
+ engine->ctx = ctx;
+- return true;
+ }
+
+ void dal_i2caux_destruct_engine(
+diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/i2c_engine.c b/drivers/gpu/drm/amd/display/dc/i2caux/i2c_engine.c
+index 144f51d..70e20bd 100644
+--- a/drivers/gpu/drm/amd/display/dc/i2caux/i2c_engine.c
++++ b/drivers/gpu/drm/amd/display/dc/i2caux/i2c_engine.c
+@@ -103,15 +103,12 @@ void dal_i2c_engine_process_channel_reply(
+
+ }
+
+-bool dal_i2c_engine_construct(
++void dal_i2c_engine_construct(
+ struct i2c_engine *engine,
+ struct dc_context *ctx)
+ {
+- if (!dal_i2caux_construct_engine(&engine->base, ctx))
+- return false;
+-
++ dal_i2caux_construct_engine(&engine->base, ctx);
+ engine->timeout_delay = 0;
+- return true;
+ }
+
+ void dal_i2c_engine_destruct(
+diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/i2c_engine.h b/drivers/gpu/drm/amd/display/dc/i2caux/i2c_engine.h
+index ce2c51d..58fc0f2 100644
+--- a/drivers/gpu/drm/amd/display/dc/i2caux/i2c_engine.h
++++ b/drivers/gpu/drm/amd/display/dc/i2caux/i2c_engine.h
+@@ -88,7 +88,7 @@ struct i2c_engine {
+ uint32_t timeout_delay;
+ };
+
+-bool dal_i2c_engine_construct(
++void dal_i2c_engine_construct(
+ struct i2c_engine *engine,
+ struct dc_context *ctx);
+
+diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/i2c_generic_hw_engine.c b/drivers/gpu/drm/amd/display/dc/i2caux/i2c_generic_hw_engine.c
+index 521c4ec..5a4295e 100644
+--- a/drivers/gpu/drm/amd/display/dc/i2caux/i2c_generic_hw_engine.c
++++ b/drivers/gpu/drm/amd/display/dc/i2caux/i2c_generic_hw_engine.c
+@@ -270,13 +270,11 @@ uint32_t dal_i2c_generic_hw_engine_get_transaction_timeout(
+ (1 + (length << 3) + 1);
+ }
+
+-bool dal_i2c_generic_hw_engine_construct(
++void dal_i2c_generic_hw_engine_construct(
+ struct i2c_generic_hw_engine *engine,
+ struct dc_context *ctx)
+ {
+- if (!dal_i2c_hw_engine_construct(&engine->base, ctx))
+- return false;
+- return true;
++ dal_i2c_hw_engine_construct(&engine->base, ctx);
+ }
+
+ void dal_i2c_generic_hw_engine_destruct(
+diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/i2c_generic_hw_engine.h b/drivers/gpu/drm/amd/display/dc/i2caux/i2c_generic_hw_engine.h
+index 083bb0d..1da0397 100644
+--- a/drivers/gpu/drm/amd/display/dc/i2caux/i2c_generic_hw_engine.h
++++ b/drivers/gpu/drm/amd/display/dc/i2caux/i2c_generic_hw_engine.h
+@@ -59,7 +59,7 @@ struct i2c_generic_hw_engine {
+ const struct i2c_generic_hw_engine_funcs *funcs;
+ };
+
+-bool dal_i2c_generic_hw_engine_construct(
++void dal_i2c_generic_hw_engine_construct(
+ struct i2c_generic_hw_engine *engine,
+ struct dc_context *ctx);
+
+diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/i2c_hw_engine.c b/drivers/gpu/drm/amd/display/dc/i2caux/i2c_hw_engine.c
+index 00a8f07..4b54fcf 100644
+--- a/drivers/gpu/drm/amd/display/dc/i2caux/i2c_hw_engine.c
++++ b/drivers/gpu/drm/amd/display/dc/i2caux/i2c_hw_engine.c
+@@ -228,15 +228,13 @@ enum i2c_channel_operation_result dal_i2c_hw_engine_wait_on_operation_result(
+ return result;
+ }
+
+-bool dal_i2c_hw_engine_construct(
++void dal_i2c_hw_engine_construct(
+ struct i2c_hw_engine *engine,
+ struct dc_context *ctx)
+ {
+- if (!dal_i2c_engine_construct(&engine->base, ctx))
+- return false;
++ dal_i2c_engine_construct(&engine->base, ctx);
+ engine->original_speed = I2CAUX_DEFAULT_I2C_HW_SPEED;
+ engine->default_speed = I2CAUX_DEFAULT_I2C_HW_SPEED;
+- return true;
+ }
+
+ void dal_i2c_hw_engine_destruct(
+diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/i2c_hw_engine.h b/drivers/gpu/drm/amd/display/dc/i2caux/i2c_hw_engine.h
+index f2df174..8936a99 100644
+--- a/drivers/gpu/drm/amd/display/dc/i2caux/i2c_hw_engine.h
++++ b/drivers/gpu/drm/amd/display/dc/i2caux/i2c_hw_engine.h
+@@ -53,7 +53,7 @@ struct i2c_hw_engine {
+ uint32_t default_speed;
+ };
+
+-bool dal_i2c_hw_engine_construct(
++void dal_i2c_hw_engine_construct(
+ struct i2c_hw_engine *engine,
+ struct dc_context *ctx);
+
+diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/i2c_sw_engine.c b/drivers/gpu/drm/amd/display/dc/i2caux/i2c_sw_engine.c
+index 9d0077a..8e19bb6 100644
+--- a/drivers/gpu/drm/amd/display/dc/i2caux/i2c_sw_engine.c
++++ b/drivers/gpu/drm/amd/display/dc/i2caux/i2c_sw_engine.c
+@@ -569,17 +569,14 @@ static const struct engine_funcs engine_funcs = {
+ .submit_request = dal_i2c_sw_engine_submit_request,
+ };
+
+-bool dal_i2c_sw_engine_construct(
++void dal_i2c_sw_engine_construct(
+ struct i2c_sw_engine *engine,
+ const struct i2c_sw_engine_create_arg *arg)
+ {
+- if (!dal_i2c_engine_construct(&engine->base, arg->ctx))
+- return false;
+-
++ dal_i2c_engine_construct(&engine->base, arg->ctx);
+ dal_i2c_sw_engine_set_speed(&engine->base, arg->default_speed);
+ engine->base.funcs = &i2c_engine_funcs;
+ engine->base.base.funcs = &engine_funcs;
+- return true;
+ }
+
+ struct i2c_engine *dal_i2c_sw_engine_create(
+@@ -599,12 +596,6 @@ struct i2c_engine *dal_i2c_sw_engine_create(
+ return NULL;
+ }
+
+- if (dal_i2c_sw_engine_construct(engine, arg))
+- return &engine->base;
+-
+- BREAK_TO_DEBUGGER();
+-
+- kfree(engine);
+-
+- return NULL;
++ dal_i2c_sw_engine_construct(engine, arg);
++ return &engine->base;
+ }
+diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/i2c_sw_engine.h b/drivers/gpu/drm/amd/display/dc/i2caux/i2c_sw_engine.h
+index e0cb4c3..546f15b 100644
+--- a/drivers/gpu/drm/amd/display/dc/i2caux/i2c_sw_engine.h
++++ b/drivers/gpu/drm/amd/display/dc/i2caux/i2c_sw_engine.h
+@@ -48,7 +48,7 @@ struct i2c_sw_engine_create_arg {
+ struct dc_context *ctx;
+ };
+
+-bool dal_i2c_sw_engine_construct(
++void dal_i2c_sw_engine_construct(
+ struct i2c_sw_engine *engine,
+ const struct i2c_sw_engine_create_arg *arg);
+
+diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/i2caux.c b/drivers/gpu/drm/amd/display/dc/i2caux/i2caux.c
+index 9b115e1..e1593ff 100644
+--- a/drivers/gpu/drm/amd/display/dc/i2caux/i2caux.c
++++ b/drivers/gpu/drm/amd/display/dc/i2caux/i2caux.c
+@@ -423,7 +423,7 @@ void dal_i2caux_release_engine(
+ engine->ddc = NULL;
+ }
+
+-bool dal_i2caux_construct(
++void dal_i2caux_construct(
+ struct i2caux *i2caux,
+ struct dc_context *ctx)
+ {
+@@ -451,8 +451,6 @@ bool dal_i2caux_construct(
+ i2caux->default_i2c_hw_speed = DEFAULT_I2C_HW_SPEED;
+ i2caux->default_i2c_sw_speed = DEFAULT_I2C_SW_SPEED;
+ }
+-
+- return true;
+ }
+
+ void dal_i2caux_destruct(
+diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/i2caux.h b/drivers/gpu/drm/amd/display/dc/i2caux/i2caux.h
+index bc20de3..64f51bb 100644
+--- a/drivers/gpu/drm/amd/display/dc/i2caux/i2caux.h
++++ b/drivers/gpu/drm/amd/display/dc/i2caux/i2caux.h
+@@ -97,7 +97,7 @@ struct i2caux {
+ uint32_t default_i2c_hw_speed;
+ };
+
+-bool dal_i2caux_construct(
++void dal_i2caux_construct(
+ struct i2caux *i2caux,
+ struct dc_context *ctx);
+
+--
+2.7.4
+