Shutdown serial port in pony_spi

Implement serial port shutdown both for regular termination and error
conditions in pony_spi.

Corresponding to flashrom svn r1952.
Signed-off-by: default avatarCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: default avatarStefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
parent 0be072cb
......@@ -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);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment