drivers/platform/x86/hp/hp-bioscfg/bioscfg.h
Source file repositories/reference/linux-study-clean/drivers/platform/x86/hp/hp-bioscfg/bioscfg.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/platform/x86/hp/hp-bioscfg/bioscfg.h- Extension
.h- Size
- 14172 bytes
- Lines
- 490
- Domain
- Driver Families
- Bucket
- drivers/platform
- Inferred role
- Driver Families: implementation source
- Status
- source implementation candidate
Why This File Exists
Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/wmi.hlinux/types.hlinux/string.hlinux/device.hlinux/module.hlinux/kernel.hlinux/nls.h
Detected Declarations
struct bios_returnstruct common_datastruct string_datastruct integer_datastruct enumeration_datastruct ordered_list_datastruct password_datastruct secure_platform_datastruct bioscfg_privenum mechanism_valuesenum hp_wmi_spm_commandtypeenum hp_wmi_surestart_commandtypeenum hp_wmi_commandenum wmi_error_valuesenum hp_wmi_data_typeenum hp_wmi_data_elements
Annotated Snippet
struct bios_return {
u32 sigpass;
u32 return_code;
};
enum wmi_error_values {
SUCCESS = 0x00,
CMD_FAILED = 0x01,
INVALID_SIGN = 0x02,
INVALID_CMD_VALUE = 0x03,
INVALID_CMD_TYPE = 0x04,
INVALID_DATA_SIZE = 0x05,
INVALID_CMD_PARAM = 0x06,
ENCRYP_CMD_REQUIRED = 0x07,
NO_SECURE_SESSION = 0x08,
SECURE_SESSION_FOUND = 0x09,
SECURE_SESSION_FAILED = 0x0A,
AUTH_FAILED = 0x0B,
INVALID_BIOS_AUTH = 0x0E,
NONCE_DID_NOT_MATCH = 0x18,
GENERIC_ERROR = 0x1C,
BIOS_ADMIN_POLICY_NOT_MET = 0x28,
BIOS_ADMIN_NOT_SET = 0x38,
P21_NO_PROVISIONED = 0x1000,
P21_PROVISION_IN_PROGRESS = 0x1001,
P21_IN_USE = 0x1002,
HEP_NOT_ACTIVE = 0x1004,
HEP_ALREADY_SET = 0x1006,
HEP_CHECK_STATE = 0x1007,
};
struct common_data {
u8 display_name[MAX_BUFF_SIZE];
u8 path[MAX_BUFF_SIZE];
u32 is_readonly;
u32 display_in_ui;
u32 requires_physical_presence;
u32 sequence;
u32 prerequisites_size;
u8 prerequisites[MAX_PREREQUISITES_SIZE][MAX_BUFF_SIZE];
u32 security_level;
};
struct string_data {
struct common_data common;
struct kobject *attr_name_kobj;
u8 current_value[MAX_BUFF_SIZE];
u8 new_value[MAX_BUFF_SIZE];
u32 min_length;
u32 max_length;
};
struct integer_data {
struct common_data common;
struct kobject *attr_name_kobj;
u32 current_value;
u32 new_value;
u32 lower_bound;
u32 upper_bound;
u32 scalar_increment;
};
struct enumeration_data {
struct common_data common;
struct kobject *attr_name_kobj;
u8 current_value[MAX_BUFF_SIZE];
u8 new_value[MAX_BUFF_SIZE];
u32 possible_values_size;
u8 possible_values[MAX_VALUES_SIZE][MAX_BUFF_SIZE];
};
struct ordered_list_data {
struct common_data common;
struct kobject *attr_name_kobj;
u8 current_value[MAX_BUFF_SIZE];
u8 new_value[MAX_BUFF_SIZE];
u32 elements_size;
u8 elements[MAX_ELEMENTS_SIZE][MAX_BUFF_SIZE];
};
struct password_data {
struct common_data common;
struct kobject *attr_name_kobj;
u8 current_password[MAX_PASSWD_SIZE];
u8 new_password[MAX_PASSWD_SIZE];
u32 min_password_length;
u32 max_password_length;
u32 encodings_size;
u8 encodings[MAX_ENCODINGS_SIZE][MAX_BUFF_SIZE];
bool is_enabled;
Annotation
- Immediate include surface: `linux/wmi.h`, `linux/types.h`, `linux/string.h`, `linux/device.h`, `linux/module.h`, `linux/kernel.h`, `linux/nls.h`.
- Detected declarations: `struct bios_return`, `struct common_data`, `struct string_data`, `struct integer_data`, `struct enumeration_data`, `struct ordered_list_data`, `struct password_data`, `struct secure_platform_data`, `struct bioscfg_priv`, `enum mechanism_values`.
- Atlas domain: Driver Families / drivers/platform.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.