[flashrom] [PATCH 3/3] Warn if running on laptops
Michael Karcher
flashrom at mkarcher.dialup.fu-berlin.de
Wed Feb 24 14:28:14 CET 2010
---
dmi.c | 9 +++++++++
flash.h | 1 +
internal.c | 12 ++++++++++++
3 files changed, 22 insertions(+), 0 deletions(-)
diff --git a/dmi.c b/dmi.c
index 100767f..ad023e0 100644
--- a/dmi.c
+++ b/dmi.c
@@ -96,6 +96,7 @@ static char *get_dmi_string(const char * string_name)
void dmi_init(void)
{
int i;
+ char * chassis_type;
has_dmi_support = 1;
for (i = 0; i < DMI_ID_INVALID; i++) {
dmistrings[i] = get_dmi_string(dmidecode_names[i]);
@@ -104,6 +105,14 @@ void dmi_init(void)
break;
}
}
+
+ chassis_type = get_dmi_string("chassis-type");
+ if (chassis_type && !strcmp(chassis_type, "Notebook"))
+ {
+ printf_debug("Laptop detected via DMI");
+ is_laptop = 1;
+ }
+ free (chassis_type);
}
/**
diff --git a/flash.h b/flash.h
index ff2004c..0ad6212 100644
--- a/flash.h
+++ b/flash.h
@@ -382,6 +382,7 @@ struct pci_dev *pci_card_find(uint16_t vendor, uint16_t device,
void get_io_perms(void);
void release_io_perms(void);
#if INTERNAL_SUPPORT == 1
+extern int is_laptop;
void probe_superio(void);
int internal_init(void);
int internal_shutdown(void);
diff --git a/internal.c b/internal.c
index 12dae39..d557738 100644
--- a/internal.c
+++ b/internal.c
@@ -110,6 +110,8 @@ void probe_superio(void)
#endif
}
+int is_laptop;
+
int internal_init(void)
{
int ret = 0;
@@ -131,6 +133,16 @@ int internal_init(void)
/* Probe for the SuperI/O chip and fill global struct superio. */
probe_superio();
+ /* Warn if a laptop is detected */
+ if (is_laptop)
+ printf("========================================================================\n"
+ "WARNING! You seem to be running flashrom on a laptop.\n"
+ "Laptops, notebooks and netbooks are difficult to support and we recommend\n"
+ "to use the vendor flashing utility. The embedded controller (EC) in these\n"
+ "machines often interacts badly with flashing\n"
+ "See http://www.flashrom.org/Supported_hardware#Unsupported_Laptops.2FNotebooks.2FNetbooks\n"
+ "========================================================================\n");
+
/* try to enable it. Failure IS an option, since not all motherboards
* really need this to be done, etc., etc.
*/
--
1.6.5
More information about the flashrom
mailing list