[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