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

Reply via email to