diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2435-amdgpu-dc-fix-construct-return-values-on-irq-service.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2435-amdgpu-dc-fix-construct-return-values-on-irq-service.patch | 206 |
1 files changed, 206 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2435-amdgpu-dc-fix-construct-return-values-on-irq-service.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2435-amdgpu-dc-fix-construct-return-values-on-irq-service.patch new file mode 100644 index 00000000..7f877175 --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2435-amdgpu-dc-fix-construct-return-values-on-irq-service.patch @@ -0,0 +1,206 @@ +From 7d1f502bff149ea77273202d1d32bf4e4437ef74 Mon Sep 17 00:00:00 2001 +From: Dave Airlie <airlied@redhat.com> +Date: Fri, 29 Sep 2017 14:34:42 +1000 +Subject: [PATCH 2435/4131] amdgpu/dc: fix construct return values on irq + service. + +This just removes more unused return/errors paths. + +Signed-off-by: Dave Airlie <airlied@redhat.com> +Reviewed-by: Harry Wentland <harry.wentland@amd.com> +--- + .../gpu/drm/amd/display/dc/irq/dce110/irq_service_dce110.c | 14 ++++---------- + .../gpu/drm/amd/display/dc/irq/dce120/irq_service_dce120.c | 14 ++++---------- + .../gpu/drm/amd/display/dc/irq/dce80/irq_service_dce80.c | 14 ++++---------- + .../gpu/drm/amd/display/dc/irq/dcn10/irq_service_dcn10.c | 14 ++++---------- + drivers/gpu/drm/amd/display/dc/irq/irq_service.c | 9 +++++---- + drivers/gpu/drm/amd/display/dc/irq/irq_service.h | 2 +- + 6 files changed, 22 insertions(+), 45 deletions(-) + +diff --git a/drivers/gpu/drm/amd/display/dc/irq/dce110/irq_service_dce110.c b/drivers/gpu/drm/amd/display/dc/irq/dce110/irq_service_dce110.c +index 5c55896..f7e40b2 100644 +--- a/drivers/gpu/drm/amd/display/dc/irq/dce110/irq_service_dce110.c ++++ b/drivers/gpu/drm/amd/display/dc/irq/dce110/irq_service_dce110.c +@@ -406,17 +406,14 @@ static const struct irq_service_funcs irq_service_funcs_dce110 = { + .to_dal_irq_source = to_dal_irq_source_dce110 + }; + +-static bool construct( ++static void construct( + struct irq_service *irq_service, + struct irq_service_init_data *init_data) + { +- if (!dal_irq_service_construct(irq_service, init_data)) +- return false; ++ dal_irq_service_construct(irq_service, init_data); + + irq_service->info = irq_source_info_dce110; + irq_service->funcs = &irq_service_funcs_dce110; +- +- return true; + } + + struct irq_service *dal_irq_service_dce110_create( +@@ -428,9 +425,6 @@ struct irq_service *dal_irq_service_dce110_create( + if (!irq_service) + return NULL; + +- if (construct(irq_service, init_data)) +- return irq_service; +- +- kfree(irq_service); +- return NULL; ++ construct(irq_service, init_data); ++ return irq_service; + } +diff --git a/drivers/gpu/drm/amd/display/dc/irq/dce120/irq_service_dce120.c b/drivers/gpu/drm/amd/display/dc/irq/dce120/irq_service_dce120.c +index ed0571d..66d5258 100644 +--- a/drivers/gpu/drm/amd/display/dc/irq/dce120/irq_service_dce120.c ++++ b/drivers/gpu/drm/amd/display/dc/irq/dce120/irq_service_dce120.c +@@ -265,17 +265,14 @@ static const struct irq_service_funcs irq_service_funcs_dce120 = { + .to_dal_irq_source = to_dal_irq_source_dce110 + }; + +-static bool construct( ++static void construct( + struct irq_service *irq_service, + struct irq_service_init_data *init_data) + { +- if (!dal_irq_service_construct(irq_service, init_data)) +- return false; ++ dal_irq_service_construct(irq_service, init_data); + + irq_service->info = irq_source_info_dce120; + irq_service->funcs = &irq_service_funcs_dce120; +- +- return true; + } + + struct irq_service *dal_irq_service_dce120_create( +@@ -287,9 +284,6 @@ struct irq_service *dal_irq_service_dce120_create( + if (!irq_service) + return NULL; + +- if (construct(irq_service, init_data)) +- return irq_service; +- +- kfree(irq_service); +- return NULL; ++ construct(irq_service, init_data); ++ return irq_service; + } +diff --git a/drivers/gpu/drm/amd/display/dc/irq/dce80/irq_service_dce80.c b/drivers/gpu/drm/amd/display/dc/irq/dce80/irq_service_dce80.c +index d6e1fb6..8a2066c 100644 +--- a/drivers/gpu/drm/amd/display/dc/irq/dce80/irq_service_dce80.c ++++ b/drivers/gpu/drm/amd/display/dc/irq/dce80/irq_service_dce80.c +@@ -277,17 +277,14 @@ static const struct irq_service_funcs irq_service_funcs_dce80 = { + .to_dal_irq_source = to_dal_irq_source_dce110 + }; + +-static bool construct( ++static void construct( + struct irq_service *irq_service, + struct irq_service_init_data *init_data) + { +- if (!dal_irq_service_construct(irq_service, init_data)) +- return false; ++ dal_irq_service_construct(irq_service, init_data); + + irq_service->info = irq_source_info_dce80; + irq_service->funcs = &irq_service_funcs_dce80; +- +- return true; + } + + struct irq_service *dal_irq_service_dce80_create( +@@ -299,11 +296,8 @@ struct irq_service *dal_irq_service_dce80_create( + if (!irq_service) + return NULL; + +- if (construct(irq_service, init_data)) +- return irq_service; +- +- kfree(irq_service); +- return NULL; ++ construct(irq_service, init_data); ++ return irq_service; + } + + +diff --git a/drivers/gpu/drm/amd/display/dc/irq/dcn10/irq_service_dcn10.c b/drivers/gpu/drm/amd/display/dc/irq/dcn10/irq_service_dcn10.c +index 4d38582..7f7db66 100644 +--- a/drivers/gpu/drm/amd/display/dc/irq/dcn10/irq_service_dcn10.c ++++ b/drivers/gpu/drm/amd/display/dc/irq/dcn10/irq_service_dcn10.c +@@ -332,17 +332,14 @@ static const struct irq_service_funcs irq_service_funcs_dcn10 = { + .to_dal_irq_source = to_dal_irq_source_dcn10 + }; + +-static bool construct( ++static void construct( + struct irq_service *irq_service, + struct irq_service_init_data *init_data) + { +- if (!dal_irq_service_construct(irq_service, init_data)) +- return false; ++ dal_irq_service_construct(irq_service, init_data); + + irq_service->info = irq_source_info_dcn10; + irq_service->funcs = &irq_service_funcs_dcn10; +- +- return true; + } + + struct irq_service *dal_irq_service_dcn10_create( +@@ -354,9 +351,6 @@ struct irq_service *dal_irq_service_dcn10_create( + if (!irq_service) + return NULL; + +- if (construct(irq_service, init_data)) +- return irq_service; +- +- kfree(irq_service); +- return NULL; ++ construct(irq_service, init_data); ++ return irq_service; + } +diff --git a/drivers/gpu/drm/amd/display/dc/irq/irq_service.c b/drivers/gpu/drm/amd/display/dc/irq/irq_service.c +index ce20622..b106513 100644 +--- a/drivers/gpu/drm/amd/display/dc/irq/irq_service.c ++++ b/drivers/gpu/drm/amd/display/dc/irq/irq_service.c +@@ -48,15 +48,16 @@ + #define CTX \ + irq_service->ctx + +-bool dal_irq_service_construct( ++void dal_irq_service_construct( + struct irq_service *irq_service, + struct irq_service_init_data *init_data) + { +- if (!init_data || !init_data->ctx) +- return false; ++ if (!init_data || !init_data->ctx) { ++ BREAK_TO_DEBUGGER(); ++ return; ++ } + + irq_service->ctx = init_data->ctx; +- return true; + } + + void dal_irq_service_destroy(struct irq_service **irq_service) +diff --git a/drivers/gpu/drm/amd/display/dc/irq/irq_service.h b/drivers/gpu/drm/amd/display/dc/irq/irq_service.h +index a2a2d69..dbfcb09 100644 +--- a/drivers/gpu/drm/amd/display/dc/irq/irq_service.h ++++ b/drivers/gpu/drm/amd/display/dc/irq/irq_service.h +@@ -69,7 +69,7 @@ struct irq_service { + const struct irq_service_funcs *funcs; + }; + +-bool dal_irq_service_construct( ++void dal_irq_service_construct( + struct irq_service *irq_service, + struct irq_service_init_data *init_data); + +-- +2.7.4 + |