From 2d62572d1dd0c37eb626fd8faa17b26690f20b15 Mon Sep 17 00:00:00 2001 From: Nico Huber Date: Tue, 3 May 2016 10:48:02 +0200 Subject: Fix linking with libpayload MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit o Move flashbuses_to_text() to flashrom.c, it's not a cli function. o Guard `!defined(HAVE_STRNLEN)`. This guard was introduced in 23e10b87 (Add a bunch of new/tested stuff and various small changes 24) to support older BSDs. It's probably completely broken because HAVE_STRNLEN is presumably a GNU autotools thing. But we can't fix it without retesting these older BSDs. Change-Id: I561135209b819361d125eeaeef9ff886d6bae987 Signed-off-by: Nico Huber Reviewed-on: https://review.coreboot.org/18738 Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: David Hendricks Tested-by: build bot (Jenkins) --- flashrom.c | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'flashrom.c') diff --git a/flashrom.c b/flashrom.c index 838dfd05..379f75e4 100644 --- a/flashrom.c +++ b/flashrom.c @@ -1163,6 +1163,39 @@ int map_flash(struct flashctx *flash) return 0; } +/* + * Return a string corresponding to the bustype parameter. + * Memory is obtained with malloc() and must be freed with free() by the caller. + */ +char *flashbuses_to_text(enum chipbustype bustype) +{ + char *ret = calloc(1, 1); + /* + * FIXME: Once all chipsets and flash chips have been updated, NONSPI + * will cease to exist and should be eliminated here as well. + */ + if (bustype == BUS_NONSPI) { + ret = strcat_realloc(ret, "Non-SPI, "); + } else { + if (bustype & BUS_PARALLEL) + ret = strcat_realloc(ret, "Parallel, "); + if (bustype & BUS_LPC) + ret = strcat_realloc(ret, "LPC, "); + if (bustype & BUS_FWH) + ret = strcat_realloc(ret, "FWH, "); + if (bustype & BUS_SPI) + ret = strcat_realloc(ret, "SPI, "); + if (bustype & BUS_PROG) + ret = strcat_realloc(ret, "Programmer-specific, "); + if (bustype == BUS_NONE) + ret = strcat_realloc(ret, "None, "); + } + /* Kill last comma. */ + ret[strlen(ret) - 2] = '\0'; + ret = realloc(ret, strlen(ret) + 1); + return ret; +} + int probe_flash(struct registered_master *mst, int startchip, struct flashctx *flash, int force) { const struct flashchip *chip; -- cgit v1.2.3