ASoC: ts3a227e: do not report jack status when there is i2c read err
authorFang, Yang A <yang.a.fang@intel.com>
Tue, 7 Jul 2015 21:21:47 +0000 (14:21 -0700)
committerMark Brown <broonie@kernel.org>
Wed, 8 Jul 2015 17:40:08 +0000 (18:40 +0100)
commitc4a99a4b4f6ef56e9c8182920680b84a7129ca80
tree3a2a93d2f414a9360ef52f25d9b91f3c889d03c0
parentd770e558e21961ad6cfdf0ff7df0eb5d7d4f0754
ASoC: ts3a227e: do not report jack status when there is i2c read err

After suspend -> resume the ts3a227e_interrupt sometimes comes before i2c
controller resume is called .regmap_read will return incorrect status
and report a wrong jack status.This patch will disable irq on suspend
and enable irq again on the resume to make sure interrupt is coming
after TI resumes. Also We should return if there is read err,the
interrupt will come again since it is level triggered and we are not yet
clear the interrupt.

In addtion,cht_bsw_max98090_ti machine driver registered additional
notifier base on jack event which will program the audio codec.there
will be codec timeout err if such event occurs prior to i2c controller
is resumed.

Signed-off-by: Fang, Yang A <yang.a.fang@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/ts3a227e.c