mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-18 10:56:14 +00:00
pinctrl: cy8c95x0: Lock register accesses in cy8c95x0_set_mux()
It seems that cy8c95x0_set_mux() missed serialization of IO access. And its implementation looks half-baked. Add locking to the function. Fixes: e6cbbe42944d ("pinctrl: Add Cypress cy8c95x0 support") Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Link: https://lore.kernel.org/r/20220916205450.86278-1-andriy.shevchenko@linux.intel.com Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
parent
35b871f72a
commit
56e380cfcd
@ -1152,8 +1152,13 @@ static int cy8c95x0_set_mux(struct pinctrl_dev *pctldev, unsigned int selector,
|
||||
unsigned int group)
|
||||
{
|
||||
struct cy8c95x0_pinctrl *chip = pinctrl_dev_get_drvdata(pctldev);
|
||||
int ret;
|
||||
|
||||
return cy8c95x0_pinmux_cfg(chip, selector, group);
|
||||
mutex_lock(&chip->i2c_lock);
|
||||
ret = cy8c95x0_pinmux_cfg(chip, selector, group);
|
||||
mutex_unlock(&chip->i2c_lock);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static const struct pinmux_ops cy8c95x0_pmxops = {
|
||||
|
Loading…
x
Reference in New Issue
Block a user