summaryrefslogtreecommitdiffstats
path: root/drivers/pinctrl/mediatek
diff options
context:
space:
mode:
authorchuanjia.liu <Chuanjia.Liu@mediatek.com>2019-01-02 22:37:15 -0500
committerLinus Walleij <linus.walleij@linaro.org>2019-01-11 07:15:06 -0500
commit6e737a4e921ea99125955d0d8821d8da129b03bd (patch)
treec1df903a3face09c376a4b1c3d211f4fbd114ee7 /drivers/pinctrl/mediatek
parent3fbb9a8d79a84bf549979cad5511e202098d0aaa (diff)
pinctrl: mediatek: add EINT support to virtual GPIOs
Virtual gpio only used inside SOC and not being exported to outside SOC. Some modules use virtual gpio as eint and doesn't need SMT. So this patch add EINT support to virtual GPIOs. Signed-off-by: Chuanjia Liu <Chuanjia.Liu@mediatek.com> Acked-by: Sean Wang <sean.wang@kernel.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/pinctrl/mediatek')
-rw-r--r--drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.c b/drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.c
index 4a9e0d4c2bbc..b1c368455d30 100644
--- a/drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.c
+++ b/drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.c
@@ -290,7 +290,13 @@ static int mtk_xt_set_gpio_as_eint(void *data, unsigned long eint_n)
290 return err; 290 return err;
291 291
292 err = mtk_hw_set_value(hw, desc, PINCTRL_PIN_REG_SMT, MTK_ENABLE); 292 err = mtk_hw_set_value(hw, desc, PINCTRL_PIN_REG_SMT, MTK_ENABLE);
293 if (err) 293 /* SMT is supposed to be supported by every real GPIO and doesn't
294 * support virtual GPIOs, so the extra condition err != -ENOTSUPP
295 * is just for adding EINT support to these virtual GPIOs. It should
296 * add an extra flag in the pin descriptor when more pins with
297 * distinctive characteristic come out.
298 */
299 if (err && err != -ENOTSUPP)
294 return err; 300 return err;
295 301
296 return 0; 302 return 0;