2 * Common functions for kernel modules using Dell SMBIOS
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>
8 * Based on documentation in the libsmbios package:
9 * Copyright (C) 2005-2014 Dell Inc.
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.
16 #ifndef _DELL_SMBIOS_H_
17 #define _DELL_SMBIOS_H_
19 /* This structure will be modified by the firmware when we enter
20 * system management mode, hence the volatiles */
22 struct calling_interface_buffer
{
25 volatile u32 input
[4];
26 volatile u32 output
[4];
29 struct calling_interface_token
{
38 int dell_smbios_error(int value
);
40 struct calling_interface_buffer
*dell_smbios_get_buffer(void);
41 void dell_smbios_clear_buffer(void);
42 void dell_smbios_release_buffer(void);
43 void dell_smbios_send_request(int class, int select
);
45 struct calling_interface_token
*dell_smbios_find_token(int tokenid
);