HI!
> 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 :)
I'm not saying we should move it to the userspace.
I'm saying this should be "normal" led. drivers/leds/led-huawei-acpi.c, or something. Perhaps this acpi stuff is so similar you don't really need .c code.
And then there should be a "mic muted" trigger. Similar to drivers/leds/trigger/ledtrig-disk.c.
And who will trigger this, e.g. when the mixer is muted?
Is this settled? I'm encouraged to promote this series to our for-next branch.
I'd prefer this to be normal LED and "mic muted" to become normal trigger.
But how would you solve the existing problem?
As already mentioned, you'll need to hook the LED trigger and the actual mixer value change. This is the biggest missing piece, and it's the very reason we have the exported symbol from the platform driver side.
So, if you prefer in that way, please implement that for the existing driver (thinkpad_acpi and dell-laptop) at first. I'll be really happy to get rid of the present ugly solution! But it's been there just because it's not so trivial at all. FWIW, this must be all done inside the kernel; otherwise you'll hit a regression.
I am really have enough work to do at the moment, but let me take a look.
If the path via leds class can't be achieved quickly, I'd prefer taking the current approach at first. Once after it's done for those above, we can apply the same for huawei-wmi later, too.
I'd prefer not adding more mess. Don't expect full solution from me, but ... I should have something better than what is in the tree rather soon.
Best regards, Pavel