From 0a7f036610673f6664c9d1492912abfdfbdf9f20 Mon Sep 17 00:00:00 2001 From: Anastasia Klimchuk Date: Tue, 6 Jul 2021 16:03:11 +1000 Subject: spi_master: Move shutdown function above spi_master struct This patch prepares spi masters to use new API which allows to register shutdown function in spi_master struct. See also later patch in this chain, where spi masters are converted to new API. BUG=b:185191942 TEST=builds and ninja test Comparing flashrom binary before and after the patch, make clean && make CONFIG_EVERYTHING=yes VERSION=none binary is the same Change-Id: I50716686552b4ddcc6089d5afadb19ef59d9f9b4 Signed-off-by: Anastasia Klimchuk Reviewed-on: https://review.coreboot.org/c/flashrom/+/56101 Tested-by: build bot (Jenkins) Reviewed-by: Edward O'Callaghan Reviewed-by: Nico Huber --- dediprog.c | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) (limited to 'dediprog.c') diff --git a/dediprog.c b/dediprog.c index b47e8e94..d98af493 100644 --- a/dediprog.c +++ b/dediprog.c @@ -992,6 +992,24 @@ static int parse_voltage(char *voltage) return millivolt; } +static int dediprog_shutdown(void *data) +{ + dediprog_devicetype = DEV_UNKNOWN; + + /* URB 28. Command Set SPI Voltage to 0. */ + if (dediprog_set_spi_voltage(0x0)) + return 1; + + if (libusb_release_interface(dediprog_handle, 0)) { + msg_perr("Could not release USB interface!\n"); + return 1; + } + libusb_close(dediprog_handle); + libusb_exit(usb_ctx); + + return 0; +} + static struct spi_master spi_master_dediprog = { .features = SPI_MASTER_NO_4BA_MODES, .max_data_read = 16, /* 18 seems to work fine as well, but 19 times out sometimes with FW 5.15. */ @@ -1037,24 +1055,6 @@ static int dediprog_open(int index) return 0; } -static int dediprog_shutdown(void *data) -{ - dediprog_devicetype = DEV_UNKNOWN; - - /* URB 28. Command Set SPI Voltage to 0. */ - if (dediprog_set_spi_voltage(0x0)) - return 1; - - if (libusb_release_interface(dediprog_handle, 0)) { - msg_perr("Could not release USB interface!\n"); - return 1; - } - libusb_close(dediprog_handle); - libusb_exit(usb_ctx); - - return 0; -} - static int dediprog_init(void) { char *voltage, *id_str, *device, *spispeed, *target_str; -- cgit v1.2.3