mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-27 06:34:11 +08:00
96f7ef90cc
Ultimately, the da_tokens table should not be exported from dell-smbios. Currently, in some cases, dell-laptop accesses that table's members directly, so implement a new function, dell_smbios_find_token(), which returns a pointer to an entry inside the da_tokens table with the given token ID (or NULL if it is not found). Signed-off-by: Michał Kępień <kernel@kempniu.pl> Reviewed-by: Pali Rohár <pali.rohar@gmail.com> Signed-off-by: Darren Hart <dvhart@linux.intel.com>
50 lines
1.3 KiB
C
50 lines
1.3 KiB
C
/*
|
|
* Common functions for kernel modules using Dell SMBIOS
|
|
*
|
|
* Copyright (c) Red Hat <mjg@redhat.com>
|
|
* Copyright (c) 2014 Gabriele Mazzotta <gabriele.mzt@gmail.com>
|
|
* Copyright (c) 2014 Pali Rohár <pali.rohar@gmail.com>
|
|
*
|
|
* Based on documentation in the libsmbios package:
|
|
* Copyright (C) 2005-2014 Dell Inc.
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation.
|
|
*/
|
|
|
|
#ifndef _DELL_SMBIOS_H_
|
|
#define _DELL_SMBIOS_H_
|
|
|
|
/* This structure will be modified by the firmware when we enter
|
|
* system management mode, hence the volatiles */
|
|
|
|
struct calling_interface_buffer {
|
|
u16 class;
|
|
u16 select;
|
|
volatile u32 input[4];
|
|
volatile u32 output[4];
|
|
} __packed;
|
|
|
|
struct calling_interface_token {
|
|
u16 tokenID;
|
|
u16 location;
|
|
union {
|
|
u16 value;
|
|
u16 stringlength;
|
|
};
|
|
};
|
|
|
|
extern struct calling_interface_token *da_tokens;
|
|
|
|
struct calling_interface_buffer *dell_smbios_get_buffer(void);
|
|
void dell_smbios_clear_buffer(void);
|
|
void dell_smbios_release_buffer(void);
|
|
void dell_smbios_send_request(int class, int select);
|
|
|
|
struct calling_interface_token *dell_smbios_find_token(int tokenid);
|
|
|
|
int find_token_id(int tokenid);
|
|
int find_token_location(int tokenid);
|
|
#endif
|