summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolin Chen <nicoleotsuka@gmail.com>2016-08-24 22:03:39 +0300
committerMark Brown <broonie@kernel.org>2016-09-01 23:10:21 +0300
commit38d16f791634ee95a1a818d2170dc75681ee80af (patch)
tree237609bede6c3b1ea098c76f519a3df247d78c91
parentc6f8769b03749b244331699471bef02c9b9d5ebc (diff)
downloadlinux-38d16f791634ee95a1a818d2170dc75681ee80af.tar.xz
ASoC: rt5659: Enable IRQ output for GPIO1 pin
Since it's possible to have an IRQ without enabling JD3, the GPIO1 pin then would remain its default GPIO function which is set as an input direction (seeing from rt5659). Meanwhile, CPU would also listen this connection via its own GPIO input: [input] [input] CPU GPIO <--------> RT5659 GPIO1 The result for the IRQ on the CPU side will be unexpectable. So this patch enables the IRQ output for GPIO1 pin any way as long as there's an IRQ assigned from platform data or DT: [input] [IRQ output] CPU GPIO <--------< RT5659 GPIO1 Signed-off-by: Nicolin Chen <nicoleotsuka@gmail.com> Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r--sound/soc/codecs/rt5659.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/soc/codecs/rt5659.c b/sound/soc/codecs/rt5659.c
index 42c183f97c31..952e80287b87 100644
--- a/sound/soc/codecs/rt5659.c
+++ b/sound/soc/codecs/rt5659.c
@@ -4187,6 +4187,9 @@ static int rt5659_i2c_probe(struct i2c_client *i2c,
if (ret)
dev_err(&i2c->dev, "Failed to reguest IRQ: %d\n", ret);
+ /* Enable IRQ output for GPIO1 pin any way */
+ regmap_update_bits(rt5659->regmap, RT5659_GPIO_CTRL_1,
+ RT5659_GP1_PIN_MASK, RT5659_GP1_PIN_IRQ);
}
return snd_soc_register_codec(&i2c->dev, &soc_codec_dev_rt5659,