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: Michał Kępień <kernel@kempniu.pl> Tested-by: Alex Hung <alex.hung@canonical.com> Reviewed-by: Pali Rohár <pali.rohar@gmail.com> Acked-by: Andy Shevchenko <andy.shevchenko@gmail.com> Acked-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jacek Anaszewski <jacek.anaszewski@gmail.com>
This commit is contained in:
Родитель
5dba8804e8
Коммит
44319ab7e0
|
@ -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);
|
||||||
#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 @@
|
||||||
#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 @@
|
||||||
#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)
|
||||||
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 @@
|
||||||
* 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,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#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 */
|
||||||
|
|
Загрузка…
Ссылка в новой задаче