Commit 44319ab7 authored by Michał Kępień's avatar Michał Kępień Committed by Jacek Anaszewski

platform/x86: dell-laptop: import dell_micmute_led_set() from drivers/leds/dell-led.c

To ensure all users of dell-smbios are in drivers/platform/x86, move the
dell_micmute_led_set() method from drivers/leds/dell-led.c to
drivers/platform/x86/dell-laptop.c.
Signed-off-by: default avatarMichał Kępień <kernel@kempniu.pl>
Tested-by: default avatarAlex Hung <alex.hung@canonical.com>
Reviewed-by: default avatarPali Rohár <pali.rohar@gmail.com>
Acked-by: default avatarAndy Shevchenko <andy.shevchenko@gmail.com>
Acked-by: default avatarTakashi Iwai <tiwai@suse.de>
Signed-off-by: default avatarJacek Anaszewski <jacek.anaszewski@gmail.com>
parent 5dba8804
...@@ -16,7 +16,6 @@ ...@@ -16,7 +16,6 @@
#include <linux/slab.h> #include <linux/slab.h>
#include <linux/module.h> #include <linux/module.h>
#include <linux/dmi.h> #include <linux/dmi.h>
#include <linux/dell-led.h>
#include "../platform/x86/dell-smbios.h" #include "../platform/x86/dell-smbios.h"
MODULE_AUTHOR("Louis Davis/Jim Dailey"); MODULE_AUTHOR("Louis Davis/Jim Dailey");
...@@ -43,34 +42,6 @@ MODULE_ALIAS("wmi:" DELL_LED_BIOS_GUID); ...@@ -43,34 +42,6 @@ MODULE_ALIAS("wmi:" DELL_LED_BIOS_GUID);
#define CMD_LED_OFF 17 #define CMD_LED_OFF 17
#define CMD_LED_BLINK 18 #define CMD_LED_BLINK 18
#define GLOBAL_MIC_MUTE_ENABLE 0x364
#define GLOBAL_MIC_MUTE_DISABLE 0x365
int dell_micmute_led_set(int state)
{
struct calling_interface_buffer *buffer;
struct calling_interface_token *token;
if (state == 0)
token = dell_smbios_find_token(GLOBAL_MIC_MUTE_DISABLE);
else if (state == 1)
token = dell_smbios_find_token(GLOBAL_MIC_MUTE_ENABLE);
else
return -EINVAL;
if (!token)
return -ENODEV;
buffer = dell_smbios_get_buffer();
buffer->input[0] = token->location;
buffer->input[1] = token->value;
dell_smbios_send_request(1, 0);
dell_smbios_release_buffer();
return state;
}
EXPORT_SYMBOL_GPL(dell_micmute_led_set);
struct bios_args { struct bios_args {
unsigned char length; unsigned char length;
unsigned char result_code; unsigned char result_code;
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
#include <linux/mm.h> #include <linux/mm.h>
#include <linux/i8042.h> #include <linux/i8042.h>
#include <linux/debugfs.h> #include <linux/debugfs.h>
#include <linux/dell-led.h>
#include <linux/seq_file.h> #include <linux/seq_file.h>
#include <acpi/video.h> #include <acpi/video.h>
#include "dell-rbtn.h" #include "dell-rbtn.h"
...@@ -42,6 +43,8 @@ ...@@ -42,6 +43,8 @@
#define KBD_LED_AUTO_50_TOKEN 0x02EB #define KBD_LED_AUTO_50_TOKEN 0x02EB
#define KBD_LED_AUTO_75_TOKEN 0x02EC #define KBD_LED_AUTO_75_TOKEN 0x02EC
#define KBD_LED_AUTO_100_TOKEN 0x02F6 #define KBD_LED_AUTO_100_TOKEN 0x02F6
#define GLOBAL_MIC_MUTE_ENABLE 0x0364
#define GLOBAL_MIC_MUTE_DISABLE 0x0365
struct quirk_entry { struct quirk_entry {
u8 touchpad_led; u8 touchpad_led;
...@@ -1978,6 +1981,31 @@ static void kbd_led_exit(void) ...@@ -1978,6 +1981,31 @@ static void kbd_led_exit(void)
led_classdev_unregister(&kbd_led); led_classdev_unregister(&kbd_led);
} }
int dell_micmute_led_set(int state)
{
struct calling_interface_buffer *buffer;
struct calling_interface_token *token;
if (state == 0)
token = dell_smbios_find_token(GLOBAL_MIC_MUTE_DISABLE);
else if (state == 1)
token = dell_smbios_find_token(GLOBAL_MIC_MUTE_ENABLE);
else
return -EINVAL;
if (!token)
return -ENODEV;
buffer = dell_smbios_get_buffer();
buffer->input[0] = token->location;
buffer->input[1] = token->value;
dell_smbios_send_request(1, 0);
dell_smbios_release_buffer();
return state;
}
EXPORT_SYMBOL_GPL(dell_micmute_led_set);
static int __init dell_init(void) static int __init dell_init(void)
{ {
struct calling_interface_buffer *buffer; struct calling_interface_buffer *buffer;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* to be included from codec driver * to be included from codec driver
*/ */
#if IS_ENABLED(CONFIG_LEDS_DELL_NETBOOKS) #if IS_ENABLED(CONFIG_DELL_LAPTOP)
#include <linux/dell-led.h> #include <linux/dell-led.h>
static int dell_led_value; static int dell_led_value;
...@@ -67,10 +67,10 @@ static void alc_fixup_dell_wmi(struct hda_codec *codec, ...@@ -67,10 +67,10 @@ static void alc_fixup_dell_wmi(struct hda_codec *codec,
} }
} }
#else /* CONFIG_LEDS_DELL_NETBOOKS */ #else /* CONFIG_DELL_LAPTOP */
static void alc_fixup_dell_wmi(struct hda_codec *codec, static void alc_fixup_dell_wmi(struct hda_codec *codec,
const struct hda_fixup *fix, int action) const struct hda_fixup *fix, int action)
{ {
} }
#endif /* CONFIG_LEDS_DELL_NETBOOKS */ #endif /* CONFIG_DELL_LAPTOP */
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