audio: cs42l73: Fix widget duplication in codec dapm map
BZ: 27806 27797 26919
The codec DAPM map contained different widgets like APSINL, ASPINR, ASPINM that
modify the same port settings. Having 3 widgets for the same port confuses DAPM
and the port gets switched off if any of the widgets gets switched off.
Merge the 3 widgets into one ASPIN widget. Similar problem exists with the
ASPOUT, XSPIN, XSPOUT and VSP ports. Fix them too.
Additionally, replace snd_soc_write with snd_soc_update_bits which checks for
any change in the register settings before updating the register. Also, there
was an error where ADC Left and DMIC Left were mapped to register bits
corresponding to ADC B and DMIC B instead of ADC A and DMIC A. Swapped the
mappings to fix that.
Change-Id: Iddbde5b64d4af5f5eabbd3fb0cb9722cfdc8c7fe
Signed-off-by: Omair Mohammed Abdullah <omair.m.abdullah@linux.intel.com>
Reviewed-on: http://android.intel.com:8080/43772
Reviewed-by: Abdullah, Omair M <omair.m.abdullah@intel.com>
Reviewed-by: Kp, Jeeja <jeeja.kp@intel.com>
Reviewed-by: Koul, Vinod <vinod.koul@intel.com>
Reviewed-by: Agarwal, Vaibhav <vaibhav.agarwal@intel.com>
Reviewed-by: Gupta, ArvindX K <arvindx.k.gupta@intel.com>
Reviewed-by: M, Arulselvan <arulselvan.m@intel.com>
Tested-by: M, Arulselvan <arulselvan.m@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>