diff options
author | Zhiyong Tao <zhiyong.tao@mediatek.com> | 2021-03-21 06:31:50 +0300 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2021-03-25 12:14:50 +0300 |
commit | 42a46434e9b18b35d2e57433cdbeff3233ca9765 (patch) | |
tree | 2ae95aa6a5a8d58de13a40b233e859c853d861c3 /drivers/pinctrl/mediatek/pinctrl-moore.c | |
parent | 1517dad8e7129c5e28bd7b536c560f0f0bff87a4 (diff) | |
download | linux-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-moore.c')
-rw-r--r-- | drivers/pinctrl/mediatek/pinctrl-moore.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/pinctrl/mediatek/pinctrl-moore.c b/drivers/pinctrl/mediatek/pinctrl-moore.c index 0fa7de43bc4c..f77921957f15 100644 --- a/drivers/pinctrl/mediatek/pinctrl-moore.c +++ b/drivers/pinctrl/mediatek/pinctrl-moore.c @@ -619,6 +619,8 @@ int mtk_moore_pinctrl_probe(struct platform_device *pdev, hw->nbase = hw->soc->nbase_names; + mutex_init(&hw->lock); + /* Copy from internal struct mtk_pin_desc to register to the core */ pins = devm_kmalloc_array(&pdev->dev, hw->soc->npins, sizeof(*pins), GFP_KERNEL); |