17.10.2015 20:54, Pierre-Louis Bossart wrote:
To say that a configuration is 'safe' requires a breadth of information from thermal, acoustic and mechanical design that is just not available to kernel contributors who work in parallel on different building blocks and different configurations. Adding a safeguard in the machine driver is not practical: it's not uncommon for manufacturers to swap out speakers to save a couple of cents on a specific production batch and a value set in stone in a driver would not work for all those different batches.
So, here is a strawman counterproposal.
Design some safe and hardware-agnostic form of bytecode. This bytecode should be able to access mixer controls by name or by index, get proposed values, and decide, using arithmetical and logical operations, whether the proposal is safe. Load this bytecode as firmware, just like we load various overrides in snd-hda-intel.
I.e. the mechanism remains in the kernel, but the policy becomes easily swappable by the board manufacturer.