diff options
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.patch | 886 |
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 + |