On Thu, 2016-09-22 at 23:06 +0300, Nikita Yushchenko wrote:
tlv320dac31xx is a subset of tlv320aic31xx:
- it does not have MIC inputs and ADC, thus capture is not supported,
- it has analog inputs AIN1/AIN2 that can be mixed into output.
Although tlv320dac31xx does work with tlv320aic31xx driver, this setup does register non-existent widgets and non-existent capture stream. Thus userspace lists non-existent objects in user interfaces, an can access these, causing operations with device registers that are declared as "reserved" in tlv320dac31xx datasheet.
This patch fixes this situation by separating controls/widgets/routes into common, aic31xx-specific, and dac31xx-specific parts. Only parts that match actual hardware (as declared in "compatible" device tree property) are registered.
Signed-off-by: Nikita Yushchenko nikita.yoush@cogentembedded.com
I don't have access to the hardware. My original patch allowed playback to work (ish) on a specific device that I don't own. Probably best to ignore my patch, or even revert it before applying this one.
Cheers