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 <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
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 @@
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 @@
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 @@
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 @@
};
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 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 @@
;
#endif
-char *programmer_param = NULL;
+static char *programmer_param = NULL;
/* Supported buses for the current programmer. */
enum chipbustype buses_supported;
@@ -641,6 +641,11 @@
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 @@
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 @@
}
}
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 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 @@
}
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 @@
}
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 @@
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 @@
/* 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 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 @@
}
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");