linux-gpio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] pinctrl: mediatek: fix dual-edge code defect
@ 2016-05-21  7:23 hongkun.cao
  2016-05-23 10:39 ` Matthias Brugger
  2016-05-31  8:13 ` Linus Walleij
  0 siblings, 2 replies; 4+ messages in thread
From: hongkun.cao @ 2016-05-21  7:23 UTC (permalink / raw)
  To: robh+dt, pawel.moll, mark.rutland, ijc+devicetree, galak, linux,
	matthias.bgg, linus.walleij, erin.lo
  Cc: devicetree, hongkun.cao, srv_heupstream, hongzhou.yang,
	linux-kernel, linux-gpio, yingjoe.chen, inux-mediatek,
	linux-arm-kernel

From: "hongkun.cao" <hongkun.cao@mediatek.com>

When a dual-edge irq is triggered, an incorrect irq will be reported on
condition that the external signal is not stable and this incorrect irq
has been registered.
Correct the register offset.

Signed-off-by: hongkun.cao <hongkun.cao@mediatek.com>
---
 drivers/pinctrl/mediatek/pinctrl-mtk-common.c |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
index 2bbe6f7..92ae49f 100644
--- a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
+++ b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
@@ -1255,9 +1255,10 @@ static void mtk_eint_irq_handler(struct irq_desc *desc)
 	const struct mtk_desc_pin *pin;
 
 	chained_irq_enter(chip, desc);
-	for (eint_num = 0; eint_num < pctl->devdata->ap_num; eint_num += 32) {
+	for (eint_num = 0;
+	     eint_num < pctl->devdata->ap_num;
+	     eint_num += 32, reg += 4) {
 		status = readl(reg);
-		reg += 4;
 		while (status) {
 			offset = __ffs(status);
 			index = eint_num + offset;
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-05-31  8:13 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-05-21  7:23 [PATCH] pinctrl: mediatek: fix dual-edge code defect hongkun.cao
2016-05-23 10:39 ` Matthias Brugger
     [not found]   ` <5742DDE5.7050701-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-05-24  3:10     ` hongkun.cao
2016-05-31  8:13 ` Linus Walleij

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).