From a28087fab98105a46111af9d4dc1062aba38fd37 Mon Sep 17 00:00:00 2001 From: Stefan Tauner Date: Tue, 13 Sep 2011 23:14:25 +0000 Subject: Make the laptop warning less scary if unsure Telling the user to use "force_I_want_a_brick" if it is not even a laptop, is a bit over-the-top. Introduce a new laptop parameter "this_is_not_a_laptop" that allows to force operation, but only if the detection is not sure. Corresponding to flashrom svn r1440. Signed-off-by: Stefan Tauner Acked-by: Carl-Daniel Hailfinger --- internal.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'internal.c') diff --git a/internal.c b/internal.c index 46836b7..fc9d9e4 100644 --- a/internal.c +++ b/internal.c @@ -139,6 +139,7 @@ int internal_init(void) int ret = 0; #endif int force_laptop = 0; + int not_a_laptop = 0; char *arg; arg = extract_programmer_param("boardenable"); @@ -170,9 +171,11 @@ int internal_init(void) free(arg); arg = extract_programmer_param("laptop"); - if (arg && !strcmp(arg,"force_I_want_a_brick")) { + if (arg && !strcmp(arg, "force_I_want_a_brick")) force_laptop = 1; - } else if (arg && !strlen(arg)) { + else if (arg && !strcmp(arg, "this_is_not_a_laptop")) + not_a_laptop = 1; + else if (arg && !strlen(arg)) { msg_perr("Missing argument for laptop.\n"); free(arg); return 1; @@ -237,7 +240,7 @@ int internal_init(void) msg_perr("WARNING! You may be running flashrom on an unsupported laptop. We could\n" "not detect this for sure because your vendor has not setup the SMBIOS\n" "tables correctly. You can enforce execution by adding\n" - "'-p internal:laptop=force_I_want_a_brick' to the command line, but\n" + "'-p internal:laptop=this_is_not_a_laptop' to the command line, but\n" "please read the following warning if you are not sure.\n\n"); } msg_perr("Laptops, notebooks and netbooks are difficult to support and we\n" @@ -251,9 +254,8 @@ int internal_init(void) "You have been warned.\n" "========================================================================\n"); - if (force_laptop) { - msg_perr("Proceeding anyway because user specified " - "laptop=force_I_want_a_brick\n"); + if (force_laptop || (not_a_laptop && (is_laptop == 2))) { + msg_perr("Proceeding anyway because user forced us to.\n"); } else { msg_perr("Aborting.\n"); exit(1); -- cgit v1.1