summaryrefslogtreecommitdiff
path: root/drivers/platform/x86/dell-smbios.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/platform/x86/dell-smbios.c')
-rw-r--r--drivers/platform/x86/dell-smbios.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/platform/x86/dell-smbios.c b/drivers/platform/x86/dell-smbios.c
index 2a4992a..942572f 100644
--- a/drivers/platform/x86/dell-smbios.c
+++ b/drivers/platform/x86/dell-smbios.c
@@ -16,6 +16,7 @@
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/dmi.h>
+#include <linux/err.h>
#include <linux/gfp.h>
#include <linux/mutex.h>
#include <linux/slab.h>
@@ -39,6 +40,21 @@ static int da_command_code;
static int da_num_tokens;
static struct calling_interface_token *da_tokens;
+int dell_smi_error(int value)
+{
+ switch (value) {
+ case 0: /* Completed successfully */
+ return 0;
+ case -1: /* Completed with error */
+ return -EIO;
+ case -2: /* Function not supported */
+ return -ENXIO;
+ default: /* Unknown error */
+ return -EINVAL;
+ }
+}
+EXPORT_SYMBOL_GPL(dell_smi_error);
+
struct calling_interface_buffer *dell_smbios_get_buffer(void)
{
mutex_lock(&buffer_mutex);