[flashrom] [PATCH 3/3] Warn if running on laptops
Carl-Daniel Hailfinger
c-d.hailfinger.devel.2006 at gmx.net
Wed Feb 24 16:39:49 CET 2010
Missing signoff. Will comment anyway.
On 24.02.2010 14:28, Michael Karcher wrote:
> 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;
>
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);
>
Not sure about the most common coding style. free(object) or free
(object). Would be nice to have uniform usage.
> }
>
> /**
> 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"
>
Should we point people to http://www.flashrom.org/Laptops instead?
> + "========================================================================\n");
> +
> /* try to enable it. Failure IS an option, since not all motherboards
> * really need this to be done, etc., etc.
> */
>
Looks good otherwise. Fix or explain the issues above, and this is
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006 at gmx.net>
Regards,
Carl-Daniel
--
"I do consider assignment statements and pointer variables to be among
computer science's most valuable treasures."
-- Donald E. Knuth
More information about the flashrom
mailing list