From 2b6dcb36c4121ed12fa2fb66f133365bd88f2456 Mon Sep 17 00:00:00 2001 From: Carl-Daniel Hailfinger Date: Thu, 8 Jul 2010 10:13:37 +0000 Subject: Unify programmer parameter extraction Make programmer_param static by converting all users to extract_programmer_param. Programmer parameters can no longer be separated with a colon, they have to be separated with a comma. Corresponding to flashrom svn r1072. Signed-off-by: Carl-Daniel Hailfinger Acked-by: Michael Karcher --- buspirate_spi.c | 4 ++-- chipset_enable.c | 2 +- dummyflasher.c | 2 +- flash.h | 2 +- flashrom.c | 7 ++++++- ft2232_spi.c | 4 ++-- internal.c | 6 +++--- it87spi.c | 2 +- pcidev.c | 2 +- serprog.c | 4 ++-- 10 files changed, 20 insertions(+), 15 deletions(-) diff --git a/buspirate_spi.c b/buspirate_spi.c index 4dceca5..e0683ec 100644 --- a/buspirate_spi.c +++ b/buspirate_spi.c @@ -101,14 +101,14 @@ int buspirate_spi_init(void) char *speed = NULL; int spispeed = 0x7; - dev = extract_param(&programmer_param, "dev", ",:"); + dev = extract_programmer_param("dev"); if (!dev || !strlen(dev)) { msg_perr("No serial device given. Use flashrom -p " "buspirate_spi:dev=/dev/ttyUSB0\n"); return 1; } - speed = extract_param(&programmer_param, "spispeed", ",:"); + speed = extract_programmer_param("spispeed"); if (speed) { for (i = 0; spispeeds[i].name; i++) if (!strncasecmp(spispeeds[i].name, speed, diff --git a/chipset_enable.c b/chipset_enable.c index 855cd2b..5c16259 100644 --- a/chipset_enable.c +++ b/chipset_enable.c @@ -300,7 +300,7 @@ static int enable_flash_ich_dc(struct pci_dev *dev, const char *name) int max_decode_fwh_decode = 0; int contiguous = 1; - idsel = extract_param(&programmer_param, "fwh_idsel", ",:"); + idsel = extract_programmer_param("fwh_idsel"); if (idsel && strlen(idsel)) { fwh_conf = (uint32_t)strtoul(idsel, NULL, 0); diff --git a/dummyflasher.c b/dummyflasher.c index 456e22d..5f88fc4 100644 --- a/dummyflasher.c +++ b/dummyflasher.c @@ -37,7 +37,7 @@ int dummy_init(void) msg_pspew("%s\n", __func__); - bustext = extract_param(&programmer_param, "bus", ",:"); + bustext = extract_programmer_param("bus"); msg_pdbg("Requested buses are: %s\n", bustext ? bustext : "default"); if (!bustext) bustext = strdup("parallel+lpc+fwh+spi"); diff --git a/flash.h b/flash.h index 4e3c9b9..351505c 100644 --- a/flash.h +++ b/flash.h @@ -570,7 +570,6 @@ struct decode_sizes { }; extern struct decode_sizes max_rom_decode; extern int programmer_may_write; -extern char *programmer_param; extern unsigned long flashbase; extern int verbose; extern const char * const flashrom_version; @@ -585,6 +584,7 @@ int check_max_decode(enum chipbustype buses, uint32_t size); int min(int a, int b); int max(int a, int b); char *extract_param(char **haystack, char *needle, char *delim); +char *extract_programmer_param(char *param_name); int check_erased_range(struct flashchip *flash, int start, int len); int verify_range(struct flashchip *flash, uint8_t *cmpbuf, int start, int len, char *message); int need_erase(uint8_t *have, uint8_t *want, int len, enum write_granularity gran); diff --git a/flashrom.c b/flashrom.c index db15ae5..fc78198 100644 --- a/flashrom.c +++ b/flashrom.c @@ -89,7 +89,7 @@ enum programmer programmer = ; #endif -char *programmer_param = NULL; +static char *programmer_param = NULL; /* Supported buses for the current programmer. */ enum chipbustype buses_supported; @@ -641,6 +641,11 @@ char *extract_param(char **haystack, char *needle, char *delim) return opt; } +char *extract_programmer_param(char *param_name) +{ + return extract_param(&programmer_param, param_name, ","); +} + /* start is an offset to the base address of the flash chip */ int check_erased_range(struct flashchip *flash, int start, int len) { diff --git a/ft2232_spi.c b/ft2232_spi.c index 0245c53..1dd2e0c 100644 --- a/ft2232_spi.c +++ b/ft2232_spi.c @@ -80,7 +80,7 @@ int ft2232_spi_init(void) enum ftdi_interface ft2232_interface = INTERFACE_B; char *arg; - arg = extract_param(&programmer_param, "type", ",:"); + arg = extract_programmer_param("type"); if (arg) { if (!strcasecmp(arg, "2232H")) ft2232_type = FTDI_FT2232H; @@ -93,7 +93,7 @@ int ft2232_spi_init(void) } } free(arg); - arg = extract_param(&programmer_param, "port", ",:"); + arg = extract_programmer_param("port"); if (arg) { switch (toupper(*arg)) { case 'A': diff --git a/internal.c b/internal.c index 188fd5d..7b31e79 100644 --- a/internal.c +++ b/internal.c @@ -121,7 +121,7 @@ int internal_init(void) int force_laptop = 0; char *arg; - arg = extract_param(&programmer_param, "boardenable", ",:"); + arg = extract_programmer_param("boardenable"); if (arg && !strcmp(arg,"force")) { force_boardenable = 1; } else if (arg && !strlen(arg)) { @@ -135,7 +135,7 @@ int internal_init(void) } free(arg); - arg = extract_param(&programmer_param, "boardmismatch", ",:"); + arg = extract_programmer_param("boardmismatch"); if (arg && !strcmp(arg,"force")) { force_boardmismatch = 1; } else if (arg && !strlen(arg)) { @@ -149,7 +149,7 @@ int internal_init(void) } free(arg); - arg = extract_param(&programmer_param, "laptop", ",:"); + arg = extract_programmer_param("laptop"); if (arg && !strcmp(arg,"force_I_want_a_brick")) { force_laptop = 1; } else if (arg && !strlen(arg)) { diff --git a/it87spi.c b/it87spi.c index d314856..eccee0e 100644 --- a/it87spi.c +++ b/it87spi.c @@ -143,7 +143,7 @@ static uint16_t find_ite_spi_flash_port(uint16_t port, uint16_t id) flashport |= sio_read(port, 0x65); msg_pdbg("Serial flash port 0x%04x\n", flashport); /* Non-default port requested? */ - portpos = extract_param(&programmer_param, "it87spiport", ",:"); + portpos = extract_programmer_param("it87spiport"); if (portpos && strlen(portpos)) { flashport = strtol(portpos, (char **)NULL, 0); msg_pinfo("Forcing serial flash port 0x%04x\n", diff --git a/pcidev.c b/pcidev.c index 4cb629d..cc08a65 100644 --- a/pcidev.c +++ b/pcidev.c @@ -94,7 +94,7 @@ uint32_t pcidev_init(uint16_t vendor_id, uint32_t bar, /* Filter by vendor and also bb:dd.f (if supplied by the user). */ filter.vendor = vendor_id; - pcidev_bdf = extract_param(&programmer_param, "pci", ","); + pcidev_bdf = extract_programmer_param("pci"); if (pcidev_bdf != NULL) { if ((msg = pci_filter_parse_slot(&filter, pcidev_bdf))) { msg_perr("Error: %s\n", msg); diff --git a/serprog.c b/serprog.c index b2f5787..b1c4cef 100644 --- a/serprog.c +++ b/serprog.c @@ -306,7 +306,7 @@ int serprog_init(void) int have_device = 0; /* the parameter is either of format "dev=/dev/device:baud" or "ip=ip:port" */ - device = extract_param(&programmer_param, "dev", ","); + device = extract_programmer_param("dev"); if (device && strlen(device)) { baudport = strstr(device, ":"); if (baudport) { @@ -333,7 +333,7 @@ int serprog_init(void) } free(device); - device = extract_param(&programmer_param, "ip", ","); + device = extract_programmer_param("ip"); if (have_device && device) { msg_perr("Error: Both host and device specified.\n" "Please use either dev= or ip= but not both.\n"); -- cgit v1.1