Nico Huber submitted this change.

View Change

Approvals: build bot (Jenkins): Verified Nico Huber: Looks good to me, approved Angel Pons: Looks good to me, but someone else must approve
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>
---
M ene_lpc.c
1 file changed, 14 insertions(+), 15 deletions(-)

diff --git a/ene_lpc.c b/ene_lpc.c
index c05fef8..b66e96e 100644
--- a/ene_lpc.c
+++ b/ene_lpc.c
@@ -529,7 +529,6 @@
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 @@
}
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 @@

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 @@
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__ */

To view, visit change 52685. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: flashrom
Gerrit-Branch: master
Gerrit-Change-Id: Iac295f1353785cd73d7cb2f19e4a8cbb69beb576
Gerrit-Change-Number: 52685
Gerrit-PatchSet: 4
Gerrit-Owner: Anastasia Klimchuk <aklm@chromium.org>
Gerrit-Reviewer: Angel Pons <th3fanbus@gmail.com>
Gerrit-Reviewer: Edward O'Callaghan <quasisec@chromium.org>
Gerrit-Reviewer: Nico Huber <nico.h@gmx.de>
Gerrit-Reviewer: build bot (Jenkins) <no-reply@coreboot.org>
Gerrit-CC: Miklós Márton <martonmiklosqdev@gmail.com>
Gerrit-CC: Paul Menzel <paulepanter@mailbox.org>
Gerrit-CC: Victor Ding <victording@google.com>
Gerrit-MessageType: merged