Re: [PATCH v3 3/3] ALSA: hda: add support for Huawei WMI micmute LED

Takashi Iwai
2018-11-20T09:49:58Z

On Tue, 20 Nov 2018 10:36:10 +0100,
Pavel Machek wrote:
>
> On Tue 2018-11-20 10:23:25, Takashi Iwai wrote:
> > On Tue, 20 Nov 2018 10:10:39 +0100,
> > Pavel Machek wrote:
> > >
> > > On Tue 2018-11-20 08:07:09, Takashi Iwai wrote:
> > > > On Tue, 20 Nov 2018 00:57:13 +0100,
> > > > Pavel Machek wrote:
> > > > >
> > > > > > +#if IS_ENABLED(CONFIG_HUAWEI_LAPTOP)
> > > > > > +#include <linux/platform_data/x86/huawei_wmi.h>
> > > > > > +
> > > > > > +static int (*huawei_wmi_micmute_led_set_func)(bool);
> > > > > > +
> > > > >
> > > > > So we should not be doing this.
> > > > >
> > > > > Thinkpad ACPI module exports its LEDs there, for example.
> > > >
> > > > Both thinkpad_acpi and dell_laptop provide the interface to HD-audio
> > > > in the very same way like this.
> > >
> > > Not good :-(. Please don't add new ones, general purpose LEDs should
> > > really use LED subsystem.
> >
> > What's the problem with this approach?
>
> You have general-purpose LED, yet you are treating it as "something
> special". That means ugly code (quoted above) and lack of flexibility.
>
> For example, if my notebook lacks HDD LED, I can use scrollock LED for
> that instead. Or, in reverse way, maybe "mic mute" LED is not useful
> for me, and I'd like to use it for notifications instead.

I'm not against adding the LEDs device implementation for any exotic
usage.

But for the audio mute LED features, you'll need really lots of other
works if it were implemented via leds device. That's the hardest
part, and a few lines of hooks solves it easily in the kernel side.
That's all about it.

If you are ready for submitting the real solutions in user-space side
(patching PulseAudio and whatever all existing sound daemons, and
creating yet another daemon for non-PA systems (another footprint,
lovely), and so on), we can happily delete such in-kernel hooks :)

thanks,

Takashi