Linux Audio

Check our new training course

Open-source upstreaming

Need help get the support for your hardware in upstream Linux?
Loading...
Note: File does not exist in v6.8.
 1/*
 2 *  Common functions for kernel modules using Dell SMBIOS
 3 *
 4 *  Copyright (c) Red Hat <mjg@redhat.com>
 5 *  Copyright (c) 2014 Gabriele Mazzotta <gabriele.mzt@gmail.com>
 6 *  Copyright (c) 2014 Pali Rohár <pali.rohar@gmail.com>
 7 *
 8 *  Based on documentation in the libsmbios package:
 9 *  Copyright (C) 2005-2014 Dell Inc.
10 *
11 *  This program is free software; you can redistribute it and/or modify
12 *  it under the terms of the GNU General Public License version 2 as
13 *  published by the Free Software Foundation.
14 */
15
16#ifndef _DELL_SMBIOS_H_
17#define _DELL_SMBIOS_H_
18
19/* This structure will be modified by the firmware when we enter
20 * system management mode, hence the volatiles */
21
22struct calling_interface_buffer {
23	u16 class;
24	u16 select;
25	volatile u32 input[4];
26	volatile u32 output[4];
27} __packed;
28
29struct calling_interface_token {
30	u16 tokenID;
31	u16 location;
32	union {
33		u16 value;
34		u16 stringlength;
35	};
36};
37
38int dell_smbios_error(int value);
39
40struct calling_interface_buffer *dell_smbios_get_buffer(void);
41void dell_smbios_clear_buffer(void);
42void dell_smbios_release_buffer(void);
43void dell_smbios_send_request(int class, int select);
44
45struct calling_interface_token *dell_smbios_find_token(int tokenid);
46#endif