summaryrefslogtreecommitdiff
path: root/drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.h
diff options
context:
space:
mode:
authorZhiyong Tao <zhiyong.tao@mediatek.com>2021-03-21 06:31:50 +0300
committerLinus Walleij <linus.walleij@linaro.org>2021-03-25 12:14:50 +0300
commit42a46434e9b18b35d2e57433cdbeff3233ca9765 (patch)
tree2ae95aa6a5a8d58de13a40b233e859c853d861c3 /drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.h
parent1517dad8e7129c5e28bd7b536c560f0f0bff87a4 (diff)
downloadlinux-42a46434e9b18b35d2e57433cdbeff3233ca9765.tar.xz
pinctrl: add lock in mtk_rmw function.
When multiple threads operate on the same register resource which include multiple pin, It will make the register resource wrong to control. So we add lock to avoid the case. Signed-off-by: Zhiyong Tao <zhiyong.tao@mediatek.com> Link: https://lore.kernel.org/r/20210321033150.15380-2-zhiyong.tao@mediatek.com Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.h')
-rw-r--r--drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.h b/drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.h
index e2aae285b5fc..65eac708a3b3 100644
--- a/drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.h
+++ b/drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.h
@@ -251,6 +251,8 @@ struct mtk_pinctrl {
struct mtk_eint *eint;
struct mtk_pinctrl_group *groups;
const char **grp_names;
+ /* lock pin's register resource to avoid multiple threads issue*/
+ struct mutex lock;
};
void mtk_rmw(struct mtk_pinctrl *pctl, u8 i, u32 reg, u32 mask, u32 set);