Anton Lindqvist wrote:
> I'm trying to fix a minor annoyance on my x240: the speaker mute key
> LED-state is not respected at boot. Pressing the mute key will mute the
> speaker while the expected behavior is to unmute. The LED-state will
> remain out-of-sync until I run `mixerctl -t outputs.master.mute`.
> 
> I've managed to determine if the speaker is muted in the acpithinkpad(4)
> attach function by reading from the embedded controller. However,
> calling wskbd_set_mixervolume at this stage returns ENODEV. I assume the
> audio device has not been attached yet. I'm new to kernel development
> and therefore wonder if this approach makes sense. If true, is it
> possible to postpone a task to run once a certain device has attached?

The function you're looking for is startuphook_establish.

But this requires crazy amounts of testing, since many thinkpads will be
different. It's well known that the mute button, hardware state, and software
state can became desynced, but the specifics vary by model. 

Reply via email to