summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>2010-06-23 23:14:44 +0000
committerCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>2010-06-23 23:14:44 +0000
commite1fdff44727e69613bc3b8e32896e8290bdb81ab (patch)
tree39108a90e8f265d2bcae5f03707472bb6fecc3ce
parentdcef67e46875f9600c39716c2ac8b843bb86429c (diff)
downloadast2050-flashrom-e1fdff44727e69613bc3b8e32896e8290bdb81ab.zip
ast2050-flashrom-e1fdff44727e69613bc3b8e32896e8290bdb81ab.tar.gz
If flashrom is standalone and has no OS below, it can't call dmidecode
Provide empty DMI stubs for that case until someone implements our own dmidecode subset. Tested by Patrick Georgi on top of libpayload. Corresponding to flashrom svn r1058. Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by: Patrick Georgi <patrick.georgi@coresystems.de>
-rw-r--r--dmi.c23
1 files changed, 22 insertions, 1 deletions
diff --git a/dmi.c b/dmi.c
index cde11a5..40ca85c 100644
--- a/dmi.c
+++ b/dmi.c
@@ -24,6 +24,26 @@
#include "flash.h"
+int has_dmi_support = 0;
+
+#if STANDALONE
+
+/* Stub to indicate missing DMI functionality.
+ * has_dmi_support is 0 by default, so nothing to do here.
+ * Because dmidecode is not available on all systems, the goal is to implement
+ * the DMI subset we need directly in this file.
+ */
+void dmi_init(void)
+{
+}
+
+int dmi_match(const char *pattern)
+{
+ return 0;
+}
+
+#else /* STANDALONE */
+
const char *dmidecode_names[] = {
"system-manufacturer",
"system-product-name",
@@ -36,7 +56,6 @@ const char *dmidecode_names[] = {
#define DMI_COMMAND_LEN_MAX 260
const char *dmidecode_command = "dmidecode";
-int has_dmi_support = 0;
char *dmistrings[ARRAY_SIZE(dmidecode_names)];
/* Strings longer than 4096 in DMI are just insane. */
@@ -172,3 +191,5 @@ int dmi_match(const char *pattern)
return 0;
}
+
+#endif /* STANDALONE */
OpenPOWER on IntegriCloud