Edward O'Callaghan has uploaded this change for review.

View Change

internal.c: Seperate out get_params() from internal_init()

Move all programmer parameter wrangling into its own
function.

BUG=none
TEST=`make`

Change-Id: I66bb370eb0466c5c838621762a6ba825c44567d4
Signed-off-by: Edward O'Callaghan <quasisec@google.com>
---
M internal.c
1 file changed, 29 insertions(+), 15 deletions(-)

git pull ssh://review.coreboot.org:29418/flashrom refs/changes/78/61578/1
diff --git a/internal.c b/internal.c
index b8e0564..1640781 100644
--- a/internal.c
+++ b/internal.c
@@ -174,22 +174,15 @@
.chip_writen = fallback_chip_writen,
};

-static int internal_init(void)
+static int get_params(int *boardenable, int *boardmismatch,
+ int *force_laptop, int *not_a_laptop,
+ char **board_vendor, char **board_model)
{
- int ret = 0;
- int force_laptop = 0;
- int not_a_laptop = 0;
- char *board_vendor = NULL;
- char *board_model = NULL;
-#if defined(__i386__) || defined(__x86_64__)
- const char *cb_vendor = NULL;
- const char *cb_model = NULL;
-#endif
char *arg;

arg = extract_programmer_param("boardenable");
if (arg && !strcmp(arg,"force")) {
- force_boardenable = 1;
+ *boardenable = 1;
} else if (arg && !strlen(arg)) {
msg_perr("Missing argument for boardenable.\n");
free(arg);
@@ -203,7 +196,7 @@

arg = extract_programmer_param("boardmismatch");
if (arg && !strcmp(arg,"force")) {
- force_boardmismatch = 1;
+ *boardmismatch = 1;
} else if (arg && !strlen(arg)) {
msg_perr("Missing argument for boardmismatch.\n");
free(arg);
@@ -217,9 +210,9 @@

arg = extract_programmer_param("laptop");
if (arg && !strcmp(arg, "force_I_want_a_brick"))
- force_laptop = 1;
+ *force_laptop = 1;
else if (arg && !strcmp(arg, "this_is_not_a_laptop"))
- not_a_laptop = 1;
+ *not_a_laptop = 1;
else if (arg && !strlen(arg)) {
msg_perr("Missing argument for laptop.\n");
free(arg);
@@ -233,7 +226,7 @@

arg = extract_programmer_param("mainboard");
if (arg && strlen(arg)) {
- if (board_parse_parameter(arg, &board_vendor, &board_model)) {
+ if (board_parse_parameter(arg, board_vendor, board_model)) {
free(arg);
return 1;
}
@@ -244,6 +237,27 @@
}
free(arg);

+ return 0;
+}
+
+static int internal_init(void)
+{
+ int ret = 0;
+ int force_laptop = 0;
+ int not_a_laptop = 0;
+ char *board_vendor = NULL;
+ char *board_model = NULL;
+#if defined(__i386__) || defined(__x86_64__)
+ const char *cb_vendor = NULL;
+ const char *cb_model = NULL;
+#endif
+
+ ret = get_params(&force_boardenable, &force_boardmismatch,
+ &force_laptop, &not_a_laptop,
+ &board_vendor, &board_model);
+ if (ret)
+ return ret;
+
/* Default to Parallel/LPC/FWH flash devices. If a known host controller
* is found, the host controller init routine sets the
* internal_buses_supported bitfield.

To view, visit change 61578. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: flashrom
Gerrit-Branch: master
Gerrit-Change-Id: I66bb370eb0466c5c838621762a6ba825c44567d4
Gerrit-Change-Number: 61578
Gerrit-PatchSet: 1
Gerrit-Owner: Edward O'Callaghan <quasisec@chromium.org>
Gerrit-MessageType: newchange