aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2435-amdgpu-dc-fix-construct-return-values-on-irq-service.patch
diff options
context:
space:
mode:
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.patch206
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
+