summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnastasia Klimchuk <aklm@chromium.org>2021-04-27 11:36:10 +1000
committerNico Huber <nico.h@gmx.de>2021-04-29 07:10:47 +0000
commit4cc7363d2520825aa300d81a67de71aede193f15 (patch)
tree249eae2ec7fb12fe6805260957aebd121254cf7a
parent02350a6fcca8102d9927c6dbc6ce0095ac4051ba (diff)
downloadflashrom-4cc7363d2520825aa300d81a67de71aede193f15.tar.gz
flashrom-4cc7363d2520825aa300d81a67de71aede193f15.tar.bz2
flashrom-4cc7363d2520825aa300d81a67de71aede193f15.zip
ene_lpc.c: Untangle successful vs failed init paths
Exit label now serves as failed init path, it does cleanup and returns 1, so it is renamed into init_err_exit. Since all error paths return 1, and successful init is separated from failure, there is no need to have ret variable anymore. BUG=b:185191942 TEST=builds Change-Id: Iac295f1353785cd73d7cb2f19e4a8cbb69beb576 Signed-off-by: Anastasia Klimchuk <aklm@chromium.org> Reviewed-on: https://review.coreboot.org/c/flashrom/+/52685 Reviewed-by: Angel Pons <th3fanbus@gmail.com> Reviewed-by: Nico Huber <nico.h@gmx.de> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
-rw-r--r--ene_lpc.c29
1 files changed, 14 insertions, 15 deletions
diff --git a/ene_lpc.c b/ene_lpc.c
index c05fef83f..b66e96e73 100644
--- a/ene_lpc.c
+++ b/ene_lpc.c
@@ -529,7 +529,6 @@ static int check_params(void)
int ene_lpc_init()
{
uint8_t hwver, ediid, i;
- int ret = 0;
ene_lpc_data_t *ctx_data = NULL;
msg_pdbg("%s\n", __func__);
@@ -541,10 +540,8 @@ int ene_lpc_init()
}
ctx_data->ec_state = EC_STATE_NORMAL;
- if (check_params()) {
- ret = 1;
- goto ene_probe_spi_flash_exit;
- }
+ if (check_params())
+ goto init_err_exit;
for (i = 0; i < ENE_LAST; ++i) {
ctx_data->chip = &ene_chips[i];
@@ -560,8 +557,7 @@ int ene_lpc_init()
if (i == ENE_LAST) {
msg_pdbg("ENE EC not found (probe failed)\n");
- ret = 1;
- goto ene_probe_spi_flash_exit;
+ goto init_err_exit;
}
/* TODO: probe the EC stop protocol
@@ -574,17 +570,20 @@ int ene_lpc_init()
internal_buses_supported |= BUS_LPC;
spi_master_ene.data = ctx_data;
- if (register_shutdown(ene_leave_flash_mode, ctx_data)) {
- ret = 1;
- goto ene_probe_spi_flash_exit;
- }
+ if (register_shutdown(ene_leave_flash_mode, ctx_data))
+ goto init_err_cleanup_exit;
register_spi_master(&spi_master_ene);
msg_pdbg("%s: successfully initialized ene\n", __func__);
-ene_probe_spi_flash_exit:
- if (ret)
- free(ctx_data);
- return ret;
+ return 0;
+
+init_err_cleanup_exit:
+ ene_leave_flash_mode(ctx_data);
+ return 1;
+
+init_err_exit:
+ free(ctx_data);
+ return 1;
}
#endif /* __i386__ || __x86_64__ */