1
0
mirror of https://review.coreboot.org/flashrom.git synced 2025-04-26 22:52:34 +02:00

ni845x_spi: handle errors using goto during initialization

This patch prepares the programmer to move global singleton states
into a struct.

TOPIC=register_master_api

Change-Id: Ie9620d59db229729fd8523f99b0917d938bcc4ed
Signed-off-by: Alexander Goncharov <chat@joursoir.net>
Ticket: https://ticket.coreboot.org/issues/391
Reviewed-on: https://review.coreboot.org/c/flashrom/+/72156
Reviewed-by: Miklós Márton <martonmiklosqdev@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Anastasia Klimchuk <aklm@chromium.org>
This commit is contained in:
Alexander Goncharov 2023-01-20 14:21:08 +04:00 committed by Anastasia Klimchuk
parent 51335a8eb9
commit 0f0f952740

View File

@ -622,22 +622,24 @@ static int ni845x_spi_init(const struct programmer_cfg *cfg)
tmp = ni845xSpiConfigurationOpen(&configuration_handle);
if (tmp != 0) {
ni845x_report_error("ni845xSpiConfigurationOpen", tmp);
ni845x_spi_shutdown(NULL);
return 1;
goto err;
}
if (usb8452_spi_set_io_voltage(requested_io_voltage_mV, &io_voltage_in_mV, USE_LOWER, device_pid, device_handle) < 0) {
ni845x_spi_shutdown(NULL);
return 1; // no alert here usb8452_spi_set_io_voltage already printed that
// no alert here usb8452_spi_set_io_voltage already printed that
goto err;
}
if (ni845x_spi_set_speed(configuration_handle, spi_speed_KHz)) {
msg_perr("Unable to set SPI speed\n");
ni845x_spi_shutdown(NULL);
return 1;
goto err;
}
return register_spi_master(&spi_programmer_ni845x, NULL);
err:
ni845x_spi_shutdown(NULL);
return 1;
}
const struct programmer_entry programmer_ni845x_spi = {