[alsa-devel] [PATCH v7 2/3] x86: add support for Huawei WMI hotkeys.

Takashi Iwai tiwai at suse.de
Tue Nov 27 12:02:39 CET 2018


Some more forgotten bits...

On Tue, 27 Nov 2018 03:57:48 +0100,
Ayman Bagabas wrote:
> --- a/drivers/platform/x86/Kconfig
> +++ b/drivers/platform/x86/Kconfig
....
> +config HUAWEI_WMI
> +	tristate "Huawei WMI hotkeys driver"
> +	depends on ACPI_WMI
> +	depends on INPUT
> +	select INPUT_SPARSEKMAP
> +	select LEDS_TRIGGERS
> +	select LEDS_TRIGGER_AUDIO

I guess "select LEDS_CLASS" is needed as well.
Other drivers had already it.

> --- /dev/null
> +++ b/drivers/platform/x86/huawei-wmi.c
....
> +static int huawei_wmi_micmute_led_set(bool on)
> +{
> +	acpi_handle handle;
> +	char *method;
> +	union acpi_object args[3];
> +	struct acpi_object_list arg_list = {
> +		.pointer = args,
> +		.count = ARRAY_SIZE(args),
> +	};
> +
> +	handle = ACPI_HANDLE(&inputdev->dev);
> +	args[0].type = args[1].type = args[2].type = ACPI_TYPE_INTEGER;
> +	args[1].integer.value = 0x04;
> +
> +	if (acpi_has_method(handle, method = "\\_SB.PCI0.LPCB.EC0.SPIN")) {

This looks ugly...  And checkpatch also complains.

> +		args[0].integer.value = 0;
> +		args[2].integer.value = on ? 1 : 0;
> +	} else if (acpi_has_method(handle, method = "\\_SB.PCI0.LPCB.EC0.WPIN")) {
> +		args[0].integer.value = 1;
> +		args[2].integer.value = on ? 0 : 1;
> +	} else {
> +		dev_err(&inputdev->dev, "Unable to find ACPI method\n");
> +		return -ENOSYS;
> +	}

Can these checks be done at initialization phase?  It doesn't seem
needed to be executed at each call.


thanks,

Takashi


More information about the Alsa-devel mailing list