summaryrefslogtreecommitdiffstats
path: root/linux_spi.c
diff options
context:
space:
mode:
Diffstat (limited to 'linux_spi.c')
-rw-r--r--linux_spi.c21
1 files changed, 13 insertions, 8 deletions
diff --git a/linux_spi.c b/linux_spi.c
index 2f46463..d12fceb 100644
--- a/linux_spi.c
+++ b/linux_spi.c
@@ -66,28 +66,33 @@ int linux_spi_init(void)
const uint8_t mode = SPI_MODE_0;
const uint8_t bits = 8;
- dev = extract_programmer_param("dev");
- if (!dev || !strlen(dev)) {
- msg_perr("No SPI device given. Use flashrom -p "
- "linux_spi:dev=/dev/spidevX.Y\n");
- return 1;
- }
-
- p = extract_programmer_param("speed");
+ p = extract_programmer_param("spispeed");
if (p && strlen(p)) {
speed = (uint32_t)strtoul(p, &endp, 10) * 1024;
if (p == endp) {
msg_perr("%s: invalid clock: %s kHz\n", __func__, p);
+ free(p);
return 1;
}
}
+ free(p);
+
+ dev = extract_programmer_param("dev");
+ if (!dev || !strlen(dev)) {
+ msg_perr("No SPI device given. Use flashrom -p "
+ "linux_spi:dev=/dev/spidevX.Y\n");
+ free(dev);
+ return 1;
+ }
msg_pdbg("Using device %s\n", dev);
if ((fd = open(dev, O_RDWR)) == -1) {
msg_perr("%s: failed to open %s: %s\n", __func__,
dev, strerror(errno));
+ free(dev);
return 1;
}
+ free(dev);
if (register_shutdown(linux_spi_shutdown, NULL))
return 1;
OpenPOWER on IntegriCloud