audio: cs42l73: Fix widget duplication in codec dapm map
authorOmair Mohammed Abdullah <omair.m.abdullah@linux.intel.com>
Thu, 12 Apr 2012 04:35:46 +0000 (10:05 +0530)
committerbuildbot <buildbot@intel.com>
Mon, 7 May 2012 22:40:10 +0000 (15:40 -0700)
commitef43476fb9396f3ae370c46adbffaa625eb754bc
tree1fc634ff756eb4858ee63d99247c474e2487ab58
parent99db2b1afac52089c7f71c161094ebeeab1487c7
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>
sound/soc/codecs/cs42l73.c