Commit 63c4029b authored by Michał Kępień's avatar Michał Kępień Committed by Darren Hart

dell-laptop: use dell_smbios_find_token() instead of find_token_id()

Replace all uses of find_token_id() with dell_smbios_find_token() to
avoid directly accessing the da_tokens table.
Signed-off-by: default avatarMichał Kępień <kernel@kempniu.pl>
Reviewed-by: default avatarPali Rohár <pali.rohar@gmail.com>
Signed-off-by: default avatarDarren Hart <dvhart@linux.intel.com>
parent 96f7ef90
......@@ -1326,19 +1326,19 @@ static int kbd_set_state_safe(struct kbd_state *state, struct kbd_state *old)
static int kbd_set_token_bit(u8 bit)
{
struct calling_interface_buffer *buffer;
int id;
struct calling_interface_token *token;
int ret;
if (bit >= ARRAY_SIZE(kbd_tokens))
return -EINVAL;
id = find_token_id(kbd_tokens[bit]);
if (id == -1)
token = dell_smbios_find_token(kbd_tokens[bit]);
if (!token)
return -EINVAL;
buffer = dell_smbios_get_buffer();
buffer->input[0] = da_tokens[id].location;
buffer->input[1] = da_tokens[id].value;
buffer->input[0] = token->location;
buffer->input[1] = token->value;
dell_smbios_send_request(1, 0);
ret = buffer->output[0];
dell_smbios_release_buffer();
......@@ -1349,19 +1349,19 @@ static int kbd_set_token_bit(u8 bit)
static int kbd_get_token_bit(u8 bit)
{
struct calling_interface_buffer *buffer;
int id;
struct calling_interface_token *token;
int ret;
int val;
if (bit >= ARRAY_SIZE(kbd_tokens))
return -EINVAL;
id = find_token_id(kbd_tokens[bit]);
if (id == -1)
token = dell_smbios_find_token(kbd_tokens[bit]);
if (!token)
return -EINVAL;
buffer = dell_smbios_get_buffer();
buffer->input[0] = da_tokens[id].location;
buffer->input[0] = token->location;
dell_smbios_send_request(0, 0);
ret = buffer->output[0];
val = buffer->output[1];
......@@ -1370,7 +1370,7 @@ static int kbd_get_token_bit(u8 bit)
if (ret)
return dell_smi_error(ret);
return (val == da_tokens[id].value);
return (val == token->value);
}
static int kbd_get_first_active_token_bit(void)
......@@ -1472,7 +1472,7 @@ static inline void kbd_init_tokens(void)
int i;
for (i = 0; i < ARRAY_SIZE(kbd_tokens); ++i)
if (find_token_id(kbd_tokens[i]) != -1)
if (dell_smbios_find_token(kbd_tokens[i]))
kbd_token_bits |= BIT(i);
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment