diff options
author | hailfinger <hailfinger@2b7e53f0-3cfb-0310-b3e9-8179ed1497e1> | 2016-03-13 16:24:09 +0000 |
---|---|---|
committer | hailfinger <hailfinger@2b7e53f0-3cfb-0310-b3e9-8179ed1497e1> | 2016-03-13 16:24:09 +0000 |
commit | ea134dce722556475293ec47fbea97bc65a296cd (patch) | |
tree | 11f6e63c95d08816d185fb578345525dde3ffd5c /pony_spi.c | |
parent | 4d1dceb9c519d85a2972ce7c58f3d1c62c3e9531 (diff) | |
download | flashrom-ea134dce722556475293ec47fbea97bc65a296cd.tar.gz |
Implement serial port shutdown both for regular termination and error
condition in pony_spi.
Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
git-svn-id: https://code.coreboot.org/svn/flashrom/trunk@1952 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'pony_spi.c')
-rw-r--r-- | pony_spi.c | 17 |
1 files changed, 17 insertions, 0 deletions
@@ -103,6 +103,18 @@ static const struct bitbang_spi_master bitbang_spi_master_pony = { .half_period = 0, }; +static int pony_spi_shutdown(void *data) +{ + /* Shut down serial port communication */ + int ret = serialport_shutdown(NULL); + if (ret) + msg_pdbg("Pony SPI shutdown failed.\n"); + else + msg_pdbg("Pony SPI shutdown completed.\n"); + + return ret; +} + int pony_spi_init(void) { int i, data_out; @@ -120,6 +132,11 @@ int pony_spi_init(void) free(arg); return 1; } + if (register_shutdown(pony_spi_shutdown, NULL) != 0) { + free(arg); + serialport_shutdown(NULL); + return 1; + } have_device++; } free(arg); |