New version, changed extract_programmer_param() to only take the
parameter name.
Thanks to Michael Karcher for suggesting to unify the parameter
separator across the tree.

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.


Signed-off-by: Carl-Daniel Hailfinger <[email protected]>

Index: flashrom-programmer_param_static/flash.h
===================================================================
--- flashrom-programmer_param_static/flash.h    (Revision 1070)
+++ flashrom-programmer_param_static/flash.h    (Arbeitskopie)
@@ -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 *needle);
 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);
Index: flashrom-programmer_param_static/it87spi.c
===================================================================
--- flashrom-programmer_param_static/it87spi.c  (Revision 1070)
+++ flashrom-programmer_param_static/it87spi.c  (Arbeitskopie)
@@ -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",
Index: flashrom-programmer_param_static/buspirate_spi.c
===================================================================
--- flashrom-programmer_param_static/buspirate_spi.c    (Revision 1070)
+++ flashrom-programmer_param_static/buspirate_spi.c    (Arbeitskopie)
@@ -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,
Index: flashrom-programmer_param_static/pcidev.c
===================================================================
--- flashrom-programmer_param_static/pcidev.c   (Revision 1070)
+++ flashrom-programmer_param_static/pcidev.c   (Arbeitskopie)
@@ -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);
Index: flashrom-programmer_param_static/serprog.c
===================================================================
--- flashrom-programmer_param_static/serprog.c  (Revision 1070)
+++ flashrom-programmer_param_static/serprog.c  (Arbeitskopie)
@@ -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");
Index: flashrom-programmer_param_static/ft2232_spi.c
===================================================================
--- flashrom-programmer_param_static/ft2232_spi.c       (Revision 1070)
+++ flashrom-programmer_param_static/ft2232_spi.c       (Arbeitskopie)
@@ -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':
Index: flashrom-programmer_param_static/dummyflasher.c
===================================================================
--- flashrom-programmer_param_static/dummyflasher.c     (Revision 1070)
+++ flashrom-programmer_param_static/dummyflasher.c     (Arbeitskopie)
@@ -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");
Index: flashrom-programmer_param_static/chipset_enable.c
===================================================================
--- flashrom-programmer_param_static/chipset_enable.c   (Revision 1070)
+++ flashrom-programmer_param_static/chipset_enable.c   (Arbeitskopie)
@@ -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);
 
Index: flashrom-programmer_param_static/flashrom.c
===================================================================
--- flashrom-programmer_param_static/flashrom.c (Revision 1070)
+++ flashrom-programmer_param_static/flashrom.c (Arbeitskopie)
@@ -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 *needle)
+{
+       return extract_param(&programmer_param, needle, ",");
+}
+
 /* start is an offset to the base address of the flash chip */
 int check_erased_range(struct flashchip *flash, int start, int len)
 {
Index: flashrom-programmer_param_static/internal.c
===================================================================
--- flashrom-programmer_param_static/internal.c (Revision 1070)
+++ flashrom-programmer_param_static/internal.c (Arbeitskopie)
@@ -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)) {


-- 
http://www.hailfinger.org/


_______________________________________________
flashrom mailing list
[email protected]
http://www.flashrom.org/mailman/listinfo/flashrom

Reply via email to