]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
amdgpu/dc: cleanup construct returns in gpio.
authorDave Airlie <airlied@redhat.com>
Fri, 29 Sep 2017 04:34:38 +0000 (14:34 +1000)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 29 Sep 2017 17:02:28 +0000 (13:02 -0400)
This is similiar to previous patches, don't return when we don't
need to, also do error checking before allocating memory, makes
it simpler to cleanup after.

Signed-off-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/gpio/hw_ddc.c
drivers/gpu/drm/amd/display/dc/gpio/hw_gpio.c
drivers/gpu/drm/amd/display/dc/gpio/hw_gpio.h
drivers/gpu/drm/amd/display/dc/gpio/hw_hpd.c

index 7b6efa4f2efd9fb2bec0bde09eddd0a76168688f..310f48965b272143273c56fb29fd4f4a3ffb63df 100644 (file)
@@ -199,25 +199,14 @@ static const struct hw_gpio_pin_funcs funcs = {
        .close = dal_hw_gpio_close,
 };
 
-static bool construct(
+static void construct(
        struct hw_ddc *ddc,
        enum gpio_id id,
        uint32_t en,
        struct dc_context *ctx)
 {
-       if ((en < GPIO_DDC_LINE_MIN) || (en > GPIO_DDC_LINE_MAX)) {
-               ASSERT_CRITICAL(false);
-               return false;
-       }
-
-       if (!dal_hw_gpio_construct(&ddc->base, id, en, ctx)) {
-               ASSERT_CRITICAL(false);
-               return false;
-       }
-
+       dal_hw_gpio_construct(&ddc->base, id, en, ctx);
        ddc->base.base.funcs = &funcs;
-
-       return true;
 }
 
 struct hw_gpio_pin *dal_hw_ddc_create(
@@ -225,19 +214,19 @@ struct hw_gpio_pin *dal_hw_ddc_create(
        enum gpio_id id,
        uint32_t en)
 {
-       struct hw_ddc *pin = kzalloc(sizeof(struct hw_ddc), GFP_KERNEL);
+       struct hw_ddc *pin;
 
-       if (!pin) {
+       if ((en < GPIO_DDC_LINE_MIN) || (en > GPIO_DDC_LINE_MAX)) {
                ASSERT_CRITICAL(false);
                return NULL;
        }
 
-       if (construct(pin, id, en, ctx))
-               return &pin->base.base;
-
-       ASSERT_CRITICAL(false);
-
-       kfree(pin);
+       pin = kzalloc(sizeof(struct hw_ddc), GFP_KERNEL);
+       if (!pin) {
+               ASSERT_CRITICAL(false);
+               return NULL;
+       }
 
-       return NULL;
+       construct(pin, id, en, ctx);
+       return &pin->base.base;
 }
index 4cdcdfb73e5c5ef6b13fd46be2dd0e3b2417b439..660510842ecfbb6957f95e495513088e49ec4f0b 100644 (file)
@@ -176,7 +176,7 @@ enum gpio_result dal_hw_gpio_config_mode(
        }
 }
 
-bool dal_hw_gpio_construct(
+void dal_hw_gpio_construct(
        struct hw_gpio *pin,
        enum gpio_id id,
        uint32_t en,
@@ -194,8 +194,6 @@ bool dal_hw_gpio_construct(
        pin->store.mux = 0;
 
        pin->mux_supported = false;
-
-       return true;
 }
 
 void dal_hw_gpio_destruct(
index fb41ee2be958293271422ac6923802aa4f124a44..bca0cef18ff9c66b5c5578dd4a9302ea42c12736 100644 (file)
@@ -109,7 +109,7 @@ struct hw_gpio {
 #define HW_GPIO_FROM_BASE(hw_gpio_pin) \
        container_of((hw_gpio_pin), struct hw_gpio, base)
 
-bool dal_hw_gpio_construct(
+void dal_hw_gpio_construct(
        struct hw_gpio *pin,
        enum gpio_id id,
        uint32_t en,
index 0c255c02045bd2fe74929e955fb76155e6833ad5..784feccc5853af4d322f2a3177df43ed06e934f4 100644 (file)
 #define REG(reg)\
        (hpd->regs->reg)
 
-static bool dal_hw_hpd_construct(
+static void dal_hw_hpd_construct(
        struct hw_hpd *pin,
        enum gpio_id id,
        uint32_t en,
        struct dc_context *ctx)
 {
-       if (!dal_hw_gpio_construct(&pin->base, id, en, ctx))
-               return false;
-       return true;
+       dal_hw_gpio_construct(&pin->base, id, en, ctx);
 }
 
 static void dal_hw_hpd_destruct(
@@ -126,30 +124,14 @@ static const struct hw_gpio_pin_funcs funcs = {
        .close = dal_hw_gpio_close,
 };
 
-static bool construct(
+static void construct(
        struct hw_hpd *hpd,
        enum gpio_id id,
        uint32_t en,
        struct dc_context *ctx)
 {
-       if (id != GPIO_ID_HPD) {
-               ASSERT_CRITICAL(false);
-               return false;
-       }
-
-       if ((en < GPIO_HPD_MIN) || (en > GPIO_HPD_MAX)) {
-               ASSERT_CRITICAL(false);
-               return false;
-       }
-
-       if (!dal_hw_hpd_construct(hpd, id, en, ctx)) {
-               ASSERT_CRITICAL(false);
-               return false;
-       }
-
+       dal_hw_hpd_construct(hpd, id, en, ctx);
        hpd->base.base.funcs = &funcs;
-
-       return true;
 }
 
 struct hw_gpio_pin *dal_hw_hpd_create(
@@ -157,19 +139,24 @@ struct hw_gpio_pin *dal_hw_hpd_create(
        enum gpio_id id,
        uint32_t en)
 {
-       struct hw_hpd *hpd = kzalloc(sizeof(struct hw_hpd), GFP_KERNEL);
+       struct hw_hpd *hpd;
 
-       if (!hpd) {
+       if (id != GPIO_ID_HPD) {
                ASSERT_CRITICAL(false);
                return NULL;
        }
 
-       if (construct(hpd, id, en, ctx))
-               return &hpd->base.base;
-
-       ASSERT_CRITICAL(false);
+       if ((en < GPIO_HPD_MIN) || (en > GPIO_HPD_MAX)) {
+               ASSERT_CRITICAL(false);
+               return NULL;
+       }
 
-       kfree(hpd);
+       hpd = kzalloc(sizeof(struct hw_hpd), GFP_KERNEL);
+       if (!hpd) {
+               ASSERT_CRITICAL(false);
+               return NULL;
+       }
 
-       return NULL;
+       construct(hpd, id, en, ctx);
+       return &hpd->base.base;
 }