summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2018-07-06 09:57:12 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2018-07-06 09:57:12 -0700
commitf9c50487ba851925f031fd5f9ae318ff212af1dc (patch)
treec8e897802b93c3cfae340ee86ad3535df9613693
parentd429fdd458540d709ab71933d712120197a2b0d8 (diff)
parent886e726260439a8b3b480cc7d4aa2a1c7265fca0 (diff)
Merge "pinctrl: qcom: Clear status bit on irq_unmask"
-rw-r--r--drivers/pinctrl/qcom/pinctrl-msm.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/pinctrl/qcom/pinctrl-msm.c b/drivers/pinctrl/qcom/pinctrl-msm.c
index c5a351e7bb4e..7b36cc4ad110 100644
--- a/drivers/pinctrl/qcom/pinctrl-msm.c
+++ b/drivers/pinctrl/qcom/pinctrl-msm.c
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2013, Sony Mobile Communications AB.
- * Copyright (c) 2013-2016, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2013-2017, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -602,6 +602,10 @@ static void msm_gpio_irq_unmask(struct irq_data *d)
spin_lock_irqsave(&pctrl->lock, flags);
+ val = readl(pctrl->regs + g->intr_status_reg);
+ val &= ~BIT(g->intr_status_bit);
+ writel(val, pctrl->regs + g->intr_status_reg);
+
val = readl(pctrl->regs + g->intr_cfg_reg);
val |= BIT(g->intr_enable_bit);
writel(val, pctrl->regs + g->intr_cfg_reg);