diff options
author | Michał Mirosław <mirq-linux@rere.qmqm.pl> | 2020-08-10 07:33:32 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2020-09-07 20:35:25 +0300 |
commit | e9c142b0d2c08178a9e146d47d8fe397373bda3e (patch) | |
tree | 02f3ef2859f7d0e6cae992c3c340f6ce636c897a /drivers/regulator/slg51000-regulator.c | |
parent | 3bca239d6184df61a619d78764e0481242d844b4 (diff) | |
download | linux-e9c142b0d2c08178a9e146d47d8fe397373bda3e.tar.xz |
regulator: remove locking around regulator_notifier_call_chain()
regulator_notifier_call_chain() doesn't need rdev lock and rdev's
existence is assumed in the code anyway. Remove the locks from drivers.
Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Acked-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
Reviewed-by: Dmitry Osipenko <digetx@gmail.com>
Link: https://lore.kernel.org/r/42393f66dcc4d80dcd9797be45216b4035aa96cb.1597032945.git.mirq-linux@rere.qmqm.pl
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers/regulator/slg51000-regulator.c')
-rw-r--r-- | drivers/regulator/slg51000-regulator.c | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/drivers/regulator/slg51000-regulator.c b/drivers/regulator/slg51000-regulator.c index 44e4cecbf6de..0f8041981436 100644 --- a/drivers/regulator/slg51000-regulator.c +++ b/drivers/regulator/slg51000-regulator.c @@ -386,10 +386,8 @@ static irqreturn_t slg51000_irq_handler(int irq, void *data) for (i = 0; i < SLG51000_MAX_REGULATORS; i++) { if (!(evt[i][R2] & SLG51000_IRQ_ILIM_FLAG_MASK) && (evt[i][R0] & SLG51000_EVT_ILIM_FLAG_MASK)) { - regulator_lock(chip->rdev[i]); regulator_notifier_call_chain(chip->rdev[i], REGULATOR_EVENT_OVER_CURRENT, NULL); - regulator_unlock(chip->rdev[i]); if (evt[i][R1] & SLG51000_STA_ILIM_FLAG_MASK) dev_warn(chip->dev, @@ -403,10 +401,8 @@ static irqreturn_t slg51000_irq_handler(int irq, void *data) for (i = 0; i < SLG51000_MAX_REGULATORS; i++) { if (!(evt[i][R1] & SLG51000_STA_ILIM_FLAG_MASK) && (evt[i][R1] & SLG51000_STA_VOUT_OK_FLAG_MASK)) { - regulator_lock(chip->rdev[i]); regulator_notifier_call_chain(chip->rdev[i], REGULATOR_EVENT_OVER_TEMP, NULL); - regulator_unlock(chip->rdev[i]); } } handled = IRQ_HANDLED; |