Vincent Whitchurch
59ae97a7a9
regulator: pwm: Fix machine constraints application
...
If the zero duty cycle doesn't correspond to any voltage in the voltage
table, the PWM regulator returns an -EINVAL from get_voltage_sel() which
results in the core erroring out with a "failed to get the current
voltage" and ending up not applying the machine constraints.
Instead, return -ENOTRECOVERABLE which makes the core set the voltage
since it's at an unknown value.
For example, with this device tree:
fooregulator {
compatible = "pwm-regulator";
pwms = <&foopwm 0 100000>;
regulator-min-microvolt = <2250000>;
regulator-max-microvolt = <2250000>;
regulator-name = "fooregulator";
regulator-always-on;
regulator-boot-on;
voltage-table = <2250000 30>;
};
Before this patch:
fooregulator: failed to get the current voltage(-22)
After this patch:
fooregulator: Setting 2250000-2250000uV
fooregulator: 2250 mV
Signed-off-by: Vincent Whitchurch <vincent.whitchurch@axis.com >
Link: https://lore.kernel.org/r/20200902130952.24880-1-vincent.whitchurch@axis.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-09-02 19:13:29 +01:00
Rikard Falkeborn
385d41d7ed
regulator: tps65910: Constify static regulator_ops
...
The only usage of these is to assign their address to the ops field in
the regulator_desc struct, which is a const pointer. Make them const to
allow the compiler to put them in read-only memory.
Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com >
Link: https://lore.kernel.org/r/20200829221104.20870-9-rikard.falkeborn@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-09-01 15:48:57 +01:00
Rikard Falkeborn
e92b8ef87a
regulator: tps65912: Constify static regulator_ops
...
The only usage of tps65912_ops_dcdc and tps65912_ops_ldo is to assign
their address to the ops field in the regulator_desc struct, which is a
const pointer. Make them const to allow the compiler to put them in
read-only memory.
Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com >
Link: https://lore.kernel.org/r/20200829221104.20870-8-rikard.falkeborn@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-09-01 15:48:56 +01:00
Rikard Falkeborn
25c8044502
regulator: tps6586x: Constify static regulator_ops
...
The only usage of these are to assign their address to the ops field in
the regulator_desc struct, which is a const pointer. Make them const to
allow the compiler to put them in read-only memory.
Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com >
Link: https://lore.kernel.org/r/20200829221104.20870-7-rikard.falkeborn@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-09-01 15:48:56 +01:00
Rikard Falkeborn
7d844ac3b5
regulator: tps65090: constify static regulator_ops
...
The only usages of these are to assign their address to the ops field in
the regulator_desc struct, which is a const pointer. Make them const to
allow the compiler to put them in read-only memory.
Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com >
Link: https://lore.kernel.org/r/20200829221104.20870-6-rikard.falkeborn@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-09-01 15:48:55 +01:00
Rikard Falkeborn
2e6d9db83a
regulator: tps65086: Constify static regulator_ops
...
The only usage of reg_ops and switch_ops is to assign their addresses to
the ops field in the regulator_desc struct, which is a const pointer.
Make them const to allow the compiler to put them in read-only memory.
Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com >
Link: https://lore.kernel.org/r/20200829221104.20870-5-rikard.falkeborn@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-09-01 15:48:54 +01:00
Rikard Falkeborn
01167e88e9
regulator: tps62360: Constify tps62360_dcdc_ops
...
The only usage of tps62360_dcdc_ops is to assign its address to the ops
field in the regulator_desc struct, which is a const pointer. Make it
const to allow the compiler to put it in read-only memory.
Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com >
Link: https://lore.kernel.org/r/20200829221104.20870-4-rikard.falkeborn@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-09-01 15:48:53 +01:00
Rikard Falkeborn
55c81934e7
regulator: tps6105x: Constify tps6105x_regulator_ops
...
The only usage of tps6105x_regulator_ops is to assign its address to the
ops field in the regulator_desc struct, which is a const pointer. Make it
const to allow the compiler to put it in read-only memory.
Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com >
Link: https://lore.kernel.org/r/20200829221104.20870-3-rikard.falkeborn@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-09-01 15:48:52 +01:00
Rikard Falkeborn
dcb97c10f9
regulator: tps51632: Constify tps51632_dcdc_ops
...
The only usage of tps51632_dcdc_ops is to assign its address to the ops
field in the regulator_desc struct, which is a const pointer. Make it
const to allow the compiler to put it in read-only memory.
Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com >
Link: https://lore.kernel.org/r/20200829221104.20870-2-rikard.falkeborn@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-09-01 15:48:51 +01:00
Dmitry Osipenko
0a7416f947
regulator: core: Fix slab-out-of-bounds in regulator_unlock_recursive()
...
The recent commit 7d8196641e ("regulator: Remove pointer table
overallocation") changed the size of coupled_rdevs and now KASAN is able
to detect slab-out-of-bounds problem in regulator_unlock_recursive(),
which is a legit problem caused by a typo in the code. The recursive
unlock function uses n_coupled value of a parent regulator for unlocking
supply regulator, while supply's n_coupled should be used. In practice
problem may only affect platforms that use coupled regulators.
Cc: stable@vger.kernel.org # 5.0+
Fixes: f8702f9e4a ("regulator: core: Use ww_mutex for regulators locking")
Signed-off-by: Dmitry Osipenko <digetx@gmail.com >
Link: https://lore.kernel.org/r/20200831204335.19489-1-digetx@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-09-01 13:26:28 +01:00
Piyush Goyal
18ccf8b9f8
regulator: mt6360: fix spelling mistake: "regulaotr" -> "regulator"
...
There are some spelling mistakes in two dev_err messages. Fix these.
Signed-off-by: Piyush Goyal <piyushgoyaliit@gmail.com >
Link: https://lore.kernel.org/r/20200827133419.36151-1-piyushgoyaliit@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-08-27 14:55:44 +01:00
Gene Chen
d321571d5e
regulator: mt6360: Add support for MT6360 regulator
...
Add MT6360 regulator driver that contains two BUCKs and six LDOs
Signed-off-by: Gene Chen <gene_chen@richtek.com >
Link: https://lore.kernel.org/r/1598438958-26802-2-git-send-email-gene.chen.richtek@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-08-26 13:41:10 +01:00
Mark Brown
3bec5b6aae
Merge tag 'v5.9-rc2' into regulator-5.9
...
Linux 5.9-rc2
2020-08-25 11:01:46 +01:00
ChiYuan Huang
c8b2c8949c
regulator: rt4801: Fix W=1 build warning when CONFIG_OF=n
...
Fix below warning when CONFIG_OF=n:
drivers/regulator/rt4801-regulator.c:206:34: warning: unused variable 'rt4801_of_id' [-Wunused-const-variable]
206 | static const struct of_device_id rt4801_of_id[] = {
| ^~~~~~~~~~~~
Signed-off-by: ChiYuan Huang <cy_huang@richtek.com >
Reported-by: kernel test robot <lkp@intel.com >
Link: https://lore.kernel.org/r/1598234713-8532-1-git-send-email-u0084500@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-08-24 14:17:54 +01:00
Jisheng Zhang
a5f7949570
regulator: mp886x: use "mps,switch-frequency-hz"
...
As Rob suggested, use the "mps,switch-frequency-hz" instead of the
"mps,switch-frequency" for switch frequency. Fortunately, the switch
frequency support isn't released, so we can modify it now without
any concern.
Signed-off-by: Jisheng Zhang <Jisheng.Zhang@synaptics.com >
Link: https://lore.kernel.org/r/20200824102402.4047fa5f@xhacker.debian
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-08-24 14:17:53 +01:00
Gustavo A. R. Silva
df561f6688
treewide: Use fallthrough pseudo-keyword
...
Replace the existing /* fall through */ comments and its variants with
the new pseudo-keyword macro fallthrough[1]. Also, remove unnecessary
fall-through markings when it is the case.
[1] https://www.kernel.org/doc/html/v5.7/process/deprecated.html?highlight=fallthrough#implicit-switch-case-fall-through
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org >
2020-08-23 17:36:59 -05:00
Mark Brown
23ce1e5c27
Merge series "regulator: Fix W=1 build warning when CONFIG_OF=n" from Jisheng Zhang <Jisheng.Zhang@synaptics.com>:
...
Fixing W=1 build warning when no support for device tree is there.
Since v1:
- fix the warning with __maybe_unused instead of CONFIG_OF macro
- add 3 more patches to fix the same issue
Jisheng Zhang (15):
regulator: 88pg86x: Fix W=1 build warning when CONFIG_OF=n
regulator: da9210: Fix W=1 build warning when CONFIG_OF=n
regulator: fan53555: Fix W=1 build warning when CONFIG_OF=n
regulator: fixed: Fix W=1 build warnings when CONFIG_OF=n
regulator: ltc3589: Fix W=1 build warning when CONFIG_OF=n
regulator: ltc3676: Fix W=1 build warning when CONFIG_OF=n
regulator: max1586: Fix W=1 build warning when CONFIG_OF=n
regulator: max77826: Fix W=1 build warning when CONFIG_OF=n
regulator: pwm: Fix W=1 build warning when CONFIG_OF=n
regulator: stm32-pwr: Fix W=1 build warning when CONFIG_OF=n
regulator: stm32-vrefbuf: Fix W=1 build warning when CONFIG_OF=n
regulator: sy8106a: Fix W=1 build warning when CONFIG_OF=n
regulator: qcom-rpmh: Fix W=1 build warning when CONFIG_OF=n
regulator: stm32-booster: Fix W=1 build warning when CONFIG_OF=n
regulator: tps65023: Fix W=1 build warning when CONFIG_OF=n
drivers/regulator/88pg86x.c | 2 +-
drivers/regulator/da9210-regulator.c | 2 +-
drivers/regulator/fan53555.c | 2 +-
drivers/regulator/fixed.c | 16 ++++++++--------
drivers/regulator/ltc3589.c | 2 +-
drivers/regulator/ltc3676.c | 2 +-
drivers/regulator/max1586.c | 2 +-
drivers/regulator/max77826-regulator.c | 2 +-
drivers/regulator/pwm-regulator.c | 2 +-
drivers/regulator/qcom-rpmh-regulator.c | 2 +-
drivers/regulator/stm32-booster.c | 2 +-
drivers/regulator/stm32-pwr.c | 2 +-
drivers/regulator/stm32-vrefbuf.c | 2 +-
drivers/regulator/sy8106a-regulator.c | 2 +-
drivers/regulator/tps65023-regulator.c | 2 +-
15 files changed, 22 insertions(+), 22 deletions(-)
--
2.28.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
2020-08-21 17:38:50 +01:00
Fabio Estevam
c0e53a4486
regulator: dbx500: Remove unused debugfs goto label
...
The following build warning is seen after commit 8bdaa43808 ("regulator:
dbx500: no need to check return value of debugfs_create functions"):
drivers/regulator/dbx500-prcmu.c:144:1: warning: label 'exit_no_debugfs' defined but not used [-Wunused-label]
Remove the unused label and its associated error message.
Fixes: 8bdaa43808 ("regulator: dbx500: no need to check return value of debugfs_create functions")
Reported-by: Olof's autobuilder <build@lixom.net >
Signed-off-by: Fabio Estevam <festevam@gmail.com >
Link: https://lore.kernel.org/r/20200821144823.13404-1-festevam@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-08-21 17:38:49 +01:00
Jisheng Zhang
8536bf811d
regulator: tps65023: Fix W=1 build warning when CONFIG_OF=n
...
Fix below warning when CONFIG_OF=n:
drivers/regulator/tps65023-regulator.c:319:34: warning: ‘tps65023_of_match’ defined but not used [-Wunused-const-variable=]
319 | static const struct of_device_id tps65023_of_match[] = {
| ^~~~~~~~~~~~~~~~~
Signed-off-by: Jisheng Zhang <Jisheng.Zhang@synaptics.com >
Link: https://lore.kernel.org/r/20200821112009.58ee8511@xhacker.debian
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-08-21 17:28:21 +01:00
Jisheng Zhang
b461ac1cc6
regulator: stm32-booster: Fix W=1 build warning when CONFIG_OF=n
...
Fix below warning when CONFIG_OF=n:
drivers/regulator/stm32-booster.c:104:34: warning: ‘stm32_booster_of_match’ defined but not used [-Wunused-const-variable=]
104 | static const struct of_device_id stm32_booster_of_match[] = {
| ^~~~~~~~~~~~~~~~~~~~~~
Signed-off-by: Jisheng Zhang <Jisheng.Zhang@synaptics.com >
Acked-by: Fabrice Gasnier <fabrice.gasnier@st.com >
Link: https://lore.kernel.org/r/20200821111943.29b2b4ca@xhacker.debian
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-08-21 17:28:20 +01:00
Jisheng Zhang
a2508eeb8d
regulator: qcom-rpmh: Fix W=1 build warning when CONFIG_OF=n
...
Fix below warning when CONFIG_OF=n:
drivers/regulator/qcom-rpmh-regulator.c:970:34: warning: ‘rpmh_regulator_match_table’ defined but not used [-Wunused-const-variable=]
970 | static const struct of_device_id rpmh_regulator_match_table[] = {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
Signed-off-by: Jisheng Zhang <Jisheng.Zhang@synaptics.com >
Link: https://lore.kernel.org/r/20200821111913.1096f7cc@xhacker.debian
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-08-21 17:28:20 +01:00
Jisheng Zhang
bbe2610720
regulator: sy8106a: Fix W=1 build warning when CONFIG_OF=n
...
Fix below warning when CONFIG_OF=n:
drivers/regulator/sy8106a-regulator.c:126:34: warning: ‘sy8106a_i2c_of_match’ defined but not used [-Wunused-const-variable=]
126 | static const struct of_device_id sy8106a_i2c_of_match[] = {
| ^~~~~~~~~~~~~~~~~~~~
Signed-off-by: Jisheng Zhang <Jisheng.Zhang@synaptics.com >
Link: https://lore.kernel.org/r/20200821111820.5c6ddb04@xhacker.debian
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-08-21 17:28:19 +01:00
Jisheng Zhang
d5579e7a2c
regulator: stm32-vrefbuf: Fix W=1 build warning when CONFIG_OF=n
...
Fix below warning when CONFIG_OF=n:
drivers/regulator/stm32-vrefbuf.c:287:34: warning: ‘stm32_vrefbuf_of_match’ defined but not used [-Wunused-const-variable=]
287 | static const struct of_device_id stm32_vrefbuf_of_match[] = {
| ^~~~~~~~~~~~~~~~~~~~~~
Signed-off-by: Jisheng Zhang <Jisheng.Zhang@synaptics.com >
Acked-by: Fabrice Gasnier <fabrice.gasnier@st.com >
Link: https://lore.kernel.org/r/20200821111755.4c461039@xhacker.debian
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-08-21 17:28:18 +01:00
Jisheng Zhang
a94a11ce0d
regulator: stm32-pwr: Fix W=1 build warning when CONFIG_OF=n
...
Fix below warning when CONFIG_OF=n:
drivers/regulator/stm32-pwr.c:169:34: warning: ‘stm32_pwr_of_match’ defined but not used [-Wunused-const-variable=]
169 | static const struct of_device_id stm32_pwr_of_match[] = {
| ^~~~~~~~~~~~~~~~~~
Signed-off-by: Jisheng Zhang <Jisheng.Zhang@synaptics.com >
Link: https://lore.kernel.org/r/20200821111726.38e0e746@xhacker.debian
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-08-21 17:28:17 +01:00
Jisheng Zhang
dc8c5ea357
regulator: pwm: Fix W=1 build warning when CONFIG_OF=n
...
Fix below warning when CONFIG_OF=n:
drivers/regulator/pwm-regulator.c:393:34: warning: ‘pwm_of_match’ defined but not used [-Wunused-const-variable=]
393 | static const struct of_device_id pwm_of_match[] = {
| ^~~~~~~~~~~~
Signed-off-by: Jisheng Zhang <Jisheng.Zhang@synaptics.com >
Link: https://lore.kernel.org/r/20200821111658.59a7218b@xhacker.debian
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-08-21 17:28:16 +01:00
Jisheng Zhang
7bf0a29c35
regulator: max77826: Fix W=1 build warning when CONFIG_OF=n
...
Fix below warning when CONFIG_OF=n:
drivers/regulator/max77826-regulator.c:277:34: warning: ‘max77826_of_match’ defined but not used [-Wunused-const-variable=]
277 | static const struct of_device_id max77826_of_match[] = {
| ^~~~~~~~~~~~~~~~~
Signed-off-by: Jisheng Zhang <Jisheng.Zhang@synaptics.com >
Link: https://lore.kernel.org/r/20200821111631.4e799c86@xhacker.debian
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-08-21 17:28:15 +01:00
Jisheng Zhang
44bc5d168d
regulator: max1586: Fix W=1 build warning when CONFIG_OF=n
...
Fix below warning when CONFIG_OF=n:
drivers/regulator/max1586.c:204:34: warning: ‘max1586_of_match’ defined but not used [-Wunused-const-variable=]
204 | static const struct of_device_id max1586_of_match[] = {
| ^~~~~~~~~~~~~~~~
Signed-off-by: Jisheng Zhang <Jisheng.Zhang@synaptics.com >
Link: https://lore.kernel.org/r/20200821111601.26243417@xhacker.debian
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-08-21 17:28:14 +01:00
Jisheng Zhang
1d4c1e02b9
regulator: ltc3676: Fix W=1 build warning when CONFIG_OF=n
...
Fix below warning when CONFIG_OF=n:
drivers/regulator/ltc3676.c:371:34: warning: ‘ltc3676_of_match’ defined but not used [-Wunused-const-variable=]
371 | static const struct of_device_id ltc3676_of_match[] = {
| ^~~~~~~~~~~~~~~~
Signed-off-by: Jisheng Zhang <Jisheng.Zhang@synaptics.com >
Link: https://lore.kernel.org/r/20200821111517.59d7b8c8@xhacker.debian
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-08-21 17:28:13 +01:00
Jisheng Zhang
8ece31564f
regulator: ltc3589: Fix W=1 build warning when CONFIG_OF=n
...
Fix below warning when CONFIG_OF=n:
drivers/regulator/ltc3589.c:460:34: warning: ‘ltc3589_of_match’ defined but not used [-Wunused-const-variable=]
460 | static const struct of_device_id ltc3589_of_match[] = {
| ^~~~~~~~~~~~~~~~
Signed-off-by: Jisheng Zhang <Jisheng.Zhang@synaptics.com >
Link: https://lore.kernel.org/r/20200821111449.7cf580f2@xhacker.debian
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-08-21 17:28:12 +01:00
Jisheng Zhang
0f03725500
regulator: fixed: Fix W=1 build warnings when CONFIG_OF=n
...
Fix below warnings when CONFIG_OF=n:
drivers/regulator/fixed.c:48:36: warning: ‘fixed_clkenable_data’ defined but not used [-Wunused-const-variable=]
48 | static const struct fixed_dev_type fixed_clkenable_data = {
| ^~~~~~~~~~~~~~~~~~~~
drivers/regulator/fixed.c:44:36: warning: ‘fixed_voltage_data’ defined but not used [-Wunused-const-variable=]
44 | static const struct fixed_dev_type fixed_voltage_data = {
| ^~~~~~~~~~~~~~~~~~
Signed-off-by: Jisheng Zhang <Jisheng.Zhang@synaptics.com >
Link: https://lore.kernel.org/r/20200821111403.3e8b58a3@xhacker.debian
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-08-21 17:28:11 +01:00
Jisheng Zhang
5e97d7e809
regulator: fan53555: Fix W=1 build warning when CONFIG_OF=n
...
Fix below warning when CONFIG_OF=n:
drivers/regulator/fan53555.c:439:34: warning: ‘fan53555_dt_ids’ defined but not used [-Wunused-const-variable=]
439 | static const struct of_device_id fan53555_dt_ids[] = {
| ^~~~~~~~~~~~~~~
Signed-off-by: Jisheng Zhang <Jisheng.Zhang@synaptics.com >
Link: https://lore.kernel.org/r/20200821111324.430fe1da@xhacker.debian
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-08-21 17:28:11 +01:00
Jisheng Zhang
2d2a84ae30
regulator: da9210: Fix W=1 build warning when CONFIG_OF=n
...
Fix below warning when CONFIG_OF=n:
drivers/regulator/da9210-regulator.c:128:34: warning: ‘da9210_dt_ids’ defined but not used [-Wunused-const-variable=]
128 | static const struct of_device_id da9210_dt_ids[] = {
| ^~~~~~~~~~~~~
Signed-off-by: Jisheng Zhang <Jisheng.Zhang@synaptics.com >
Acked-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com >
Link: https://lore.kernel.org/r/20200821111235.14473a88@xhacker.debian
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-08-21 17:28:10 +01:00
Jisheng Zhang
e11e068ccb
regulator: 88pg86x: Fix W=1 build warning when CONFIG_OF=n
...
Fix below warning when CONFIG_OF=n:
drivers/regulator/88pg86x.c:87:34: warning: ‘pg86x_dt_ids’ defined but not used [-Wunused-const-variable=]
87 | static const struct of_device_id pg86x_dt_ids [] = {
| ^~~~~~~~~~~~
Signed-off-by: Jisheng Zhang <Jisheng.Zhang@synaptics.com >
Link: https://lore.kernel.org/r/20200821111210.0a0bed94@xhacker.debian
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-08-21 17:28:09 +01:00
Axel Lin
02532cb805
regulator: rt4801: Select REGMAP_I2C to fix build error
...
Fix build error when CONFIG_REGMAP_I2C is not set.
Signed-off-by: Axel Lin <axel.lin@ingics.com >
Link: https://lore.kernel.org/r/20200819085959.1914471-1-axel.lin@ingics.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-08-19 13:02:11 +01:00
Greg Kroah-Hartman
8bdaa43808
regulator: dbx500: no need to check return value of debugfs_create functions
...
When calling debugfs functions, there is no need to ever check the
return value. The function can work or not, but the code logic should
never do something different based on this.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
Cc: Liam Girdwood <lgirdwood@gmail.com >
Cc: Mark Brown <broonie@kernel.org >
Cc: linux-kernel@vger.kernel.org
Link: https://lore.kernel.org/r/20200818133701.462958-1-gregkh@linuxfoundation.org
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-08-18 18:38:26 +01:00
Jonathan Marek
66c3b96a7b
regulator: set of_node for qcom vbus regulator
...
This allows the regulator to be found by devm_regulator_get().
Fixes: 4fe66d5a62 ("regulator: Add support for QCOM PMIC VBUS booster")
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Link: https://lore.kernel.org/r/20200818162508.5246-1-jonathan@marek.ca
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-08-18 18:38:25 +01:00
Mark Brown
2063818114
Merge series "regulator: mp886x: two features and dt json convert" from Jisheng Zhang <jszhang3@mail.ustc.edu.cn>
...
Jisheng Zhang <Jisheng.Zhang@synaptics.com >:
From: Jisheng Zhang <Jisheng.Zhang@synaptics.com >
This is to improve the mp886x regulator driver support.
patch1 implments .set_ramp_delay
patch2 and patch3 support the switch freq setting
patch4 converts dt binding to json-schema
Since v2:
- put any schema conversions at the end of the series as Mark
suggested.
Jisheng Zhang (4):
regulator: mp886x: implement set_ramp_delay
dt-bindings: regulator: mp886x: support mps,switch-frequency
regulator: mp886x: support setting switch freq
dt-bindings: regulator: Convert mp886x to json-schema
.../devicetree/bindings/regulator/mp886x.txt | 27 -----
.../bindings/regulator/mps,mp886x.yaml | 58 ++++++++++
drivers/regulator/mp886x.c | 109 +++++++++++++++++-
3 files changed, 164 insertions(+), 30 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/regulator/mp886x.txt
create mode 100644 Documentation/devicetree/bindings/regulator/mps,mp886x.yaml
--
2.28.0.rc1
2020-08-18 17:18:49 +01:00
Mark Brown
4c13f934e3
Merge series "regulator: fix deadlock vs memory reclaim" from Michał Mirosław <mirq-linux@rere.qmqm.pl>:
...
For systems that have eg. eMMC storage using voltage regulator, memory
reclaim path might call back into regulator subsystem. This means we
have to make sure no allocations happen with a regulator or regulator
list locked.
After this series I see no more lockdep complaints on my test system,
but please review and test further.
First four patches move allocations out of locked regions, next three
came as a drive-by cleanups.
---
v2: fix bug in patch #4 spotted by kernel test robot
reworded commit #7 description
Michał Mirosław (7):
regulator: push allocation in regulator_init_coupling() outside of
lock
regulator: push allocation in regulator_ena_gpio_request() out of lock
regulator: push allocations in create_regulator() outside of lock
regulator: push allocation in set_consumer_device_supply() out of lock
regulator: plug of_node leak in regulator_register()'s error path
regulator: cleanup regulator_ena_gpio_free()
regulator: remove superfluous lock in regulator_resolve_coupling()
drivers/regulator/core.c | 164 +++++++++++++++++++++------------------
1 file changed, 87 insertions(+), 77 deletions(-)
--
2.20.1
2020-08-18 17:18:46 +01:00
Axel Lin
6a1fe83bf1
regulator: qcom_spmi: Improve readability for setting up enable/mode pin control
...
By checking data->pin_ctrl_enable / data->pin_ctrl_hpm flags first, then
use switch-case to improve readability.
Signed-off-by: Axel Lin <axel.lin@ingics.com >
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org >
Link: https://lore.kernel.org/r/20200801054820.134859-1-axel.lin@ingics.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-08-18 17:18:45 +01:00
Michał Mirosław
7d8196641e
regulator: Remove pointer table overallocation
...
The code allocates sizeof(regulator_dev) for a pointer. Make it less
generous. Let kcalloc() calculate the size, while at it.
Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl >
Reviewed-by: Dmitry Osipenko <digetx@gmail.com >
Link: https://lore.kernel.org/r/407fbd06a02caf038a9ba3baa51c7d6d47cd6517.1597000795.git.mirq-linux@rere.qmqm.pl
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-08-18 17:18:44 +01:00
Marek Vasut
3857347227
regulator: rpi-panel: Add regulator/backlight driver for RPi panel
...
This regulator/backlight driver handles the ATTINY88 present on the
RPi 7" touchscreen panel and exposes the power/backlight interfaces.
Signed-off-by: Marek Vasut <marex@denx.de >
Cc: Eric Anholt <eric@anholt.net >
Cc: Mark Brown <broonie@kernel.org >
Cc: Sam Ravnborg <sam@ravnborg.org >
To: dri-devel@lists.freedesktop.org
Link: https://lore.kernel.org/r/20200809105938.6388-2-marex@denx.de
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-08-18 17:18:42 +01:00
Stephen Boyd
0955f5be43
regulator: Avoid grabbing regulator lock during suspend/resume
...
I see it takes about 5us per regulator to grab the lock, check that this
regulator isn't going to do anything for suspend, and then release the
lock. When that is combined with PMICs that have dozens of regulators we
get into a state where we spend a few miliseconds doing a bunch of
locking operations synchronously to figure out that there's nothing to
do. Let's reorganize the code here a bit so that we don't grab the lock
until we're actually going to do something so that suspend is a little
faster.
Signed-off-by: Stephen Boyd <swboyd@chromium.org >
Reviewed-by: Douglas Anderson <dianders@chromium.org >
Cc: Matthias Kaehlcke <mka@chromium.org >
Cc: Douglas Anderson <dianders@chromium.org >
Link: https://lore.kernel.org/r/20200804070837.1084024-1-swboyd@chromium.org
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-08-18 17:18:41 +01:00
Jisheng Zhang
a16138a32e
regulator: sy8827n: Fix W=1 build warning when CONFIG_OF=n
...
Fixing W=1 build warning when no support for device tree is there.
Reported-by: kernel test robot <lkp@intel.com >
Signed-off-by: Jisheng Zhang <Jisheng.Zhang@synaptics.com >
Link: https://lore.kernel.org/r/20200810095753.59ce9f75@xhacker.debian
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-08-18 17:18:40 +01:00
Hsin-Yi Wang
989e08c3d0
regulator: da9211: add cache_type
...
Add regmap_cache to reduce wakeups events of interrupt if regulator is
accessed frequently. This results in saving more power.
Suggested-by: Daniel Kurtz <djkurtz@chromium.org >
Signed-off-by: Hsin-Yi Wang <hsinyi@chromium.org >
Acked-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com >
Link: https://lore.kernel.org/r/20200812133101.2513317-1-hsinyi@chromium.org
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-08-18 17:18:39 +01:00
Axel Lin
4cf12735de
regulator: lp8755: Get rid of lp8755_read/lp8755_write/lp8755_update_bits
...
Just use regmap_read/regmap_write/regmap_update_bits instead.
Signed-off-by: Axel Lin <axel.lin@ingics.com >
Link: https://lore.kernel.org/r/20200802090638.380589-1-axel.lin@ingics.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-08-18 17:18:38 +01:00
ChiYuan Huang
5bbbfc7f7f
regulator: rt4801: Add support for RT4801 Display Bias regulator driver
...
Adds support for the RT4801 DSV. It has two regulators (DSVP/DSVN) with
an I2C interface. DSVP/DSVN can provide the display panel module for the
positive/negative voltage range from (+/-)4V to (+/-)6V.
Signed-off-by: ChiYuan Huang <cy_huang@richtek.com >
Link: https://lore.kernel.org/r/1597461262-25878-1-git-send-email-u0084500@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-08-18 17:18:35 +01:00
Michał Mirosław
a577f3456c
regulator: remove superfluous lock in regulator_resolve_coupling()
...
The code modifies rdev, but locks c_rdev instead. Remove the lock
as this is held together by regulator_list_mutex taken in the caller.
Fixes: f9503385b1 ("regulator: core: Mutually resolve regulators coupling")
Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl >
Reviewed-by: Dmitry Osipenko <digetx@gmail.com >
Link: https://lore.kernel.org/r/25eb81cefb37a646f3e44eaaf1d8ae8881cfde52.1597195321.git.mirq-linux@rere.qmqm.pl
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-08-17 13:13:55 +01:00
Michał Mirosław
2dbf085594
regulator: cleanup regulator_ena_gpio_free()
...
Since only regulator_ena_gpio_request() allocates rdev->ena_pin, and it
guarantees that same gpiod gets same pin structure, it is enough to
compare just the pointers. Also we know there can be only one matching
entry on the list. Rework the code take advantage of the facts.
Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl >
Link: https://lore.kernel.org/r/3ff002c7aa3bd774491af4291a9df23541fcf892.1597195321.git.mirq-linux@rere.qmqm.pl
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-08-17 13:13:54 +01:00
Michał Mirosław
d3c731564e
regulator: plug of_node leak in regulator_register()'s error path
...
By calling device_initialize() earlier and noting that kfree(NULL) is
ok, we can save a bit of code in error handling and plug of_node leak.
Fixed commit already did part of the work.
Fixes: 9177514ce3 ("regulator: fix memory leak on error path of regulator_register()")
Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl >
Reviewed-by: Vladimir Zapolskiy <vz@mleia.com >
Acked-by: Vladimir Zapolskiy <vz@mleia.com >
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/f5035b1b4d40745e66bacd571bbbb5e4644d21a1.1597195321.git.mirq-linux@rere.qmqm.pl
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-08-17 13:13:53 +01:00
Michał Mirosław
5c06540165
regulator: push allocation in set_consumer_device_supply() out of lock
...
Pull regulator_list_mutex into set_consumer_device_supply() and keep
allocations outside of it. Fourth of the fs_reclaim deadlock case.
Fixes: 45389c4752 ("regulator: core: Add early supply resolution for regulators")
Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl >
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/f0380bdb3d60aeefa9693c4e234d2dcda7e56747.1597195321.git.mirq-linux@rere.qmqm.pl
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-08-17 13:13:52 +01:00