Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e8edf53b authored by Michał Kępień's avatar Michał Kępień Committed by Darren Hart
Browse files

dell-laptop: move dell_smi_error() to dell-smbios



The dell_smi_error() method could be used by modules other than
dell-laptop for convenient translation of SMBIOS request errors into
errno values.  Thus, move it to dell-smbios.

Signed-off-by: default avatarMichał Kępień <kernel@kempniu.pl>
Reviewed-by: default avatarPali Rohár <pali.rohar@gmail.com>
Signed-off-by: default avatarDarren Hart <dvhart@linux.intel.com>
parent 4db9675d
Loading
Loading
Loading
Loading
+0 −14
Original line number Diff line number Diff line
@@ -273,20 +273,6 @@ static const struct dmi_system_id dell_quirks[] __initconst = {
	{ }
};

static inline 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;
	}
}

/*
 * Derived from information in smbios-wireless-ctl:
 *
+16 −0
Original line number Diff line number Diff line
@@ -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);
+2 −0
Original line number Diff line number Diff line
@@ -35,6 +35,8 @@ struct calling_interface_token {
	};
};

int dell_smi_error(int value);

struct calling_interface_buffer *dell_smbios_get_buffer(void);
void dell_smbios_clear_buffer(void);
void dell_smbios_release_buffer(void);