[flashrom] [PATCH] Add default arguments for the default programmer (only).

Stefan Tauner stefan.tauner at alumni.tuwien.ac.at
Fri May 30 00:52:41 CEST 2014


This code exists thanks to food for thought from Urja Rannikko.

Signed-off-by: Stefan Tauner <stefan.tauner at alumni.tuwien.ac.at>
---
 Makefile      | 6 ++++++
 cli_classic.c | 6 ++++--
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index 346d46a..998979d 100644
--- a/Makefile
+++ b/Makefile
@@ -52,6 +52,11 @@ DOSLIBS_BASE ?= ..
 # evaluated below, namely those that enable/disable the various programmers).
 # Compilation will fail for unspecified values.
 CONFIG_DEFAULT_PROGRAMMER ?= PROGRAMMER_INVALID
+# The following adds a default parameter for the default programmer set above (only).
+CONFIG_DEFAULT_PROGRAMMER_ARGS ?= ''
+# Example: compiling with
+#   make CONFIG_DEFAULT_PROGRAMMER=PROGRAMMER_SERPROG CONFIG_DEFAULT_PROGRAMMER_ARGS="dev=/dev/ttyUSB0:1500000"
+# would make executing './flashrom' (almost) equivialent to './flashrom -p serprog:dev=/dev/ttyUSB0:1500000'.
 
 # If your compiler spits out excessive warnings, run make WARNERROR=no
 # You shouldn't have to change this flag.
@@ -471,6 +476,7 @@ CONFIG_INTERNAL_DMI ?= yes
 # Depending on the CONFIG_* variables set and verified above we set compiler flags and parameters below.
 
 FEATURE_CFLAGS += -D'CONFIG_DEFAULT_PROGRAMMER=$(CONFIG_DEFAULT_PROGRAMMER)'
+FEATURE_CFLAGS += -D'CONFIG_DEFAULT_PROGRAMMER_ARGS="$(CONFIG_DEFAULT_PROGRAMMER_ARGS)"'
 
 ifeq ($(CONFIG_INTERNAL), yes)
 FEATURE_CFLAGS += -D'CONFIG_INTERNAL=1'
diff --git a/cli_classic.c b/cli_classic.c
index a32d55b..fc1b9ba 100644
--- a/cli_classic.c
+++ b/cli_classic.c
@@ -396,8 +396,10 @@ int main(int argc, char *argv[])
 	if (prog == PROGRAMMER_INVALID) {
 		if (CONFIG_DEFAULT_PROGRAMMER != PROGRAMMER_INVALID) {
 			prog = CONFIG_DEFAULT_PROGRAMMER;
-			msg_pinfo("Using default programmer \"%s\".\n",
-				  programmer_table[CONFIG_DEFAULT_PROGRAMMER].name);
+			/* We need to strdup here because we free(pparam) unconditionally later. */
+			pparam = strdup(CONFIG_DEFAULT_PROGRAMMER_ARGS);
+			msg_pinfo("Using default programmer \"%s\" with arguments \"%s\".\n",
+				  programmer_table[CONFIG_DEFAULT_PROGRAMMER].name, pparam);
 		} else {
 			msg_perr("Please select a programmer with the --programmer parameter.\n"
 				 "Previously this was not necessary because there was a default set.\n"
-- 
Kind regards, Stefan Tauner





More information about the flashrom mailing list