summaryrefslogtreecommitdiffstats
path: root/stlinkv3_spi.c
diff options
context:
space:
mode:
Diffstat (limited to 'stlinkv3_spi.c')
-rw-r--r--stlinkv3_spi.c13
1 files changed, 2 insertions, 11 deletions
diff --git a/stlinkv3_spi.c b/stlinkv3_spi.c
index 3a5aeb325..58e7a4191 100644
--- a/stlinkv3_spi.c
+++ b/stlinkv3_spi.c
@@ -467,6 +467,7 @@ static const struct spi_master spi_programmer_stlinkv3 = {
.read = default_spi_read,
.write_256 = default_spi_write_256,
.write_aai = default_spi_write_aai,
+ .shutdown = stlinkv3_spi_shutdown,
};
static int stlinkv3_spi_init(void)
@@ -531,17 +532,7 @@ static int stlinkv3_spi_init(void)
stlinkv3_data->usb_ctx = usb_ctx;
stlinkv3_data->handle = stlinkv3_handle;
- if (register_shutdown(stlinkv3_spi_shutdown, stlinkv3_data))
- goto init_err_cleanup_exit;
-
- if (register_spi_master(&spi_programmer_stlinkv3, stlinkv3_data))
- return 1; /* shutdown function does cleanup */
-
- return 0;
-
-init_err_cleanup_exit:
- stlinkv3_spi_shutdown(stlinkv3_data);
- return 1;
+ return register_spi_master(&spi_programmer_stlinkv3, stlinkv3_data);
init_err_exit:
if (stlinkv3_handle)