.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(
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;
}
#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(
.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(
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;
}