summaryrefslogtreecommitdiff
path: root/drivers/platform/x86/think-lmi.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/platform/x86/think-lmi.h')
-rw-r--r--drivers/platform/x86/think-lmi.h125
1 files changed, 0 insertions, 125 deletions
diff --git a/drivers/platform/x86/think-lmi.h b/drivers/platform/x86/think-lmi.h
deleted file mode 100644
index a80452482227..000000000000
--- a/drivers/platform/x86/think-lmi.h
+++ /dev/null
@@ -1,125 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-or-later */
-
-#ifndef _THINK_LMI_H_
-#define _THINK_LMI_H_
-
-#include <linux/types.h>
-#include <linux/wmi.h>
-
-#define TLMI_SETTINGS_COUNT 256
-#define TLMI_SETTINGS_MAXLEN 512
-#define TLMI_PWD_BUFSIZE 129
-#define TLMI_LANG_MAXLEN 4
-#define TLMI_INDEX_MAX 32
-
-/* Possible error values */
-struct tlmi_err_codes {
- const char *err_str;
- int err_code;
-};
-
-enum encoding_option {
- TLMI_ENCODING_ASCII,
- TLMI_ENCODING_SCANCODE,
-};
-
-enum level_option {
- TLMI_LEVEL_USER,
- TLMI_LEVEL_MASTER,
-};
-
-/*
- * There are a limit on the number of WMI operations you can do if you use
- * the default implementation of saving on every set. This is due to a
- * limitation in EFI variable space used.
- * Have a 'bulk save' mode where you can manually trigger the save, and can
- * therefore set unlimited variables - for users that need it.
- */
-enum save_mode {
- TLMI_SAVE_SINGLE,
- TLMI_SAVE_BULK,
- TLMI_SAVE_SAVE,
-};
-
-/* password configuration details */
-#define TLMI_PWDCFG_MODE_LEGACY 0
-#define TLMI_PWDCFG_MODE_PASSWORD 1
-#define TLMI_PWDCFG_MODE_MULTICERT 3
-
-struct tlmi_pwdcfg_core {
- uint32_t password_mode;
- uint32_t password_state;
- uint32_t min_length;
- uint32_t max_length;
- uint32_t supported_encodings;
- uint32_t supported_keyboard;
-};
-
-struct tlmi_pwdcfg_ext {
- uint32_t hdd_user_password;
- uint32_t hdd_master_password;
- uint32_t nvme_user_password;
- uint32_t nvme_master_password;
-};
-
-struct tlmi_pwdcfg {
- struct tlmi_pwdcfg_core core;
- struct tlmi_pwdcfg_ext ext;
-};
-
-/* password setting details */
-struct tlmi_pwd_setting {
- struct kobject kobj;
- bool pwd_enabled;
- char password[TLMI_PWD_BUFSIZE];
- const char *pwd_type;
- const char *role;
- int minlen;
- int maxlen;
- enum encoding_option encoding;
- char kbdlang[TLMI_LANG_MAXLEN];
- int index; /*Used for HDD and NVME auth */
- enum level_option level;
- bool cert_installed;
- char *signature;
- char *save_signature;
-};
-
-/* Attribute setting details */
-struct tlmi_attr_setting {
- struct kobject kobj;
- struct wmi_device *wdev;
- int index;
- char display_name[TLMI_SETTINGS_MAXLEN];
- char *possible_values;
-};
-
-struct think_lmi {
- struct wmi_device *wmi_device;
-
- bool can_set_bios_settings;
- bool can_get_bios_selections;
- bool can_set_bios_password;
- bool can_get_password_settings;
- bool pending_changes;
- bool can_debug_cmd;
- bool opcode_support;
- bool certificate_support;
- enum save_mode save_mode;
- bool save_required;
- bool reboot_required;
-
- struct tlmi_attr_setting *setting[TLMI_SETTINGS_COUNT];
- struct device *class_dev;
- struct kset *attribute_kset;
- struct kset *authentication_kset;
-
- struct tlmi_pwdcfg pwdcfg;
- struct tlmi_pwd_setting *pwd_admin;
- struct tlmi_pwd_setting *pwd_power;
- struct tlmi_pwd_setting *pwd_system;
- struct tlmi_pwd_setting *pwd_hdd;
- struct tlmi_pwd_setting *pwd_nvme;
-};
-
-#endif /* !_THINK_LMI_H_ */