[PATCH 9/9] amdgpu/dc: fix construct return values on irq service.

Dave Airlie airlied at gmail.com
Fri Sep 29 04:34:42 UTC 2017


From: Dave Airlie <airlied at redhat.com>

This just removes more unused return/errors paths.

Signed-off-by: Dave Airlie <airlied at redhat.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 61d7c28..2ad56b1 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 f6e8611..74ad247 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.9.4



More information about the amd-gfx mailing list