summaryrefslogtreecommitdiffstats
path: root/internal.c
diff options
context:
space:
mode:
Diffstat (limited to 'internal.c')
-rw-r--r--internal.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/internal.c b/internal.c
index d3866ba..33a4150 100644
--- a/internal.c
+++ b/internal.c
@@ -125,6 +125,7 @@ int register_superio(struct superio s)
#endif
int is_laptop = 0;
+int laptop_ok = 0;
int internal_init(void)
{
@@ -198,6 +199,9 @@ int internal_init(void)
dmi_init();
+ /* In case Super I/O probing would cause pretty explosions. */
+ board_handle_before_superio();
+
/* Probe for the Super I/O chip and fill global struct superio. */
probe_superio();
#else
@@ -208,10 +212,13 @@ int internal_init(void)
*/
#endif
- /* Warn if a laptop is detected. */
- if (is_laptop) {
+ /* Check laptop whitelist. */
+ board_handle_before_laptop();
+
+ /* Warn if a non-whitelisted laptop is detected. */
+ if (is_laptop && !laptop_ok) {
msg_perr("========================================================================\n"
- "WARNING! You seem to be running flashrom on a laptop.\n"
+ "WARNING! You seem to be running flashrom on an unsupported 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"
OpenPOWER on IntegriCloud