On Fri, Oct 16, 2015 at 04:35:30PM +0100, Richard Fitzgerald wrote:
However, what about this sort of scenario: some codec has a speaker volume range of 0..100, all of which are valid and safe. Manufacturer X makes a device with an inadequate speaker that can be damaged with volume settings above 80. How is that protected? There's nothing wrong with the codec driver. There's no software at all for a speaker - it's just a speaker. Where do we put a hard limit of 80 on a codec control for one specific device? If it was my codec driver I don't want to have to put a workaround for one specific device because manufacturer X chose the wrong type of speaker. Or do we not care about the "stupid manufacturer" cases and we're only interested in protecting the device the control directly applies to - in this example it's a codec control so it mustn't damage the codec but we don't care if poor hardware design means it could damage other hardware connected to the codec.
This is what machine drivers are for - providing system specific integration.