diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2019-05-07 07:26:18 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2019-05-07 07:26:18 -0700 |
commit | 61be53f9ef37de2677cecb8f87b207e6f061e185 (patch) | |
tree | 45575500d0f642cf93bf0f07759bb9544e7f7428 /drivers/regulator/wm831x-dcdc.c | |
parent | Merge tag 'regmap-v5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap (diff) | |
parent | Merge branch 'regulator-5.2' into regulator-next (diff) | |
download | linux-dev-61be53f9ef37de2677cecb8f87b207e6f061e185.tar.xz linux-dev-61be53f9ef37de2677cecb8f87b207e6f061e185.zip |
Merge tag 'regulator-v5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator
Pull regulator updates from Mark Brown:
"In terms of big picture changes this has been an extremely quiet
release however there's a lot of changes and a fairly big diffstat
thanks to a bunch of small fixes, mainly coming from Axel Lin. Thanks
to his work this release removes code overall even though we've added
a new (albiet fairly small) driver.
Notable things:
- A fix for a long standing issue with locking on error interrupts
from Steve Twiss.
- A new driver for ST Microelectonics STM32 PWR"
* tag 'regulator-v5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (134 commits)
regulator: core: simplify return value on suported_voltage
regulator: da9xxx: Switch to SPDX identifier
regulator: stm32-pwr: Remove unneeded .min_uV and .list_volage
regulator: stm32-pwr: Remove unneeded *desc from struct stm32_pwr_reg
regulator: ab3100: Set fixed_uV instead of min_uV for fixed regulators
regulator: ab3100: Constify regulator_ops and ab3100_regulator_desc
regulator: pv880x0: Switch to SPDX identifier
regulator: hi6xxx: Switch to SPDX identifier
regulator: vexpress: Switch to SPDX identifier
regulator: vexpress: Get rid of struct vexpress_regulator
regulator: sky81452: Switch to SPDX identifier
regulator: sky81452: Constify sky81452_reg_ops
regulator: sy8106a: Get rid of struct sy8106a
regulator: core: do not report EPROBE_DEFER as error but as debug
regulator: mt63xx: Switch to SPDX identifier
regulator: fan53555: Switch to SPDX identifier
regulator: fan53555: Clean up unneeded fields from struct fan53555_device_info
regulator: ltc3589: Switch to SPDX identifier
regulator: ltc3589: Get rid of struct ltc3589_regulator
regulator: ltc3589: Convert to use simplified DT parsing
...
Diffstat (limited to 'drivers/regulator/wm831x-dcdc.c')
-rw-r--r-- | drivers/regulator/wm831x-dcdc.c | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/drivers/regulator/wm831x-dcdc.c b/drivers/regulator/wm831x-dcdc.c index 12b422373580..b422eef97b77 100644 --- a/drivers/regulator/wm831x-dcdc.c +++ b/drivers/regulator/wm831x-dcdc.c @@ -1,15 +1,10 @@ -/* - * wm831x-dcdc.c -- DC-DC buck convertor driver for the WM831x series - * - * Copyright 2009 Wolfson Microelectronics PLC. - * - * Author: Mark Brown <broonie@opensource.wolfsonmicro.com> - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. - */ +// SPDX-License-Identifier: GPL-2.0+ +// +// wm831x-dcdc.c -- DC-DC buck converter driver for the WM831x series +// +// Copyright 2009 Wolfson Microelectronics PLC. +// +// Author: Mark Brown <broonie@opensource.wolfsonmicro.com> #include <linux/module.h> #include <linux/moduleparam.h> @@ -183,9 +178,11 @@ static irqreturn_t wm831x_dcdc_uv_irq(int irq, void *data) { struct wm831x_dcdc *dcdc = data; + regulator_lock(dcdc->regulator); regulator_notifier_call_chain(dcdc->regulator, REGULATOR_EVENT_UNDER_VOLTAGE, NULL); + regulator_unlock(dcdc->regulator); return IRQ_HANDLED; } @@ -194,9 +191,11 @@ static irqreturn_t wm831x_dcdc_oc_irq(int irq, void *data) { struct wm831x_dcdc *dcdc = data; + regulator_lock(dcdc->regulator); regulator_notifier_call_chain(dcdc->regulator, REGULATOR_EVENT_OVER_CURRENT, NULL); + regulator_unlock(dcdc->regulator); return IRQ_HANDLED; } |