aboutsummaryrefslogtreecommitdiff
path: root/drivers/regulator
AgeCommit message (Collapse)AuthorFilesLines
2016-01-15regulator: fan53555: fill set_suspend_enable/disable callbackzhangqing1-0/+18
Setting the set_suspend_enable/disable callback to support enable and disable the dcdc when system is suspend. Signed-off-by: zhangqing <[email protected]> Reviewed-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-01-12Merge remote-tracking branch 'regulator/topic/wm831x' into regulator-nextMark Brown2-41/+17
2016-01-12Merge remote-tracking branches 'regulator/topic/pv88090', ↵Mark Brown8-113/+1102
'regulator/topic/qcom-smd', 'regulator/topic/tps6105x', 'regulator/topic/tps65086' and 'regulator/topic/tps65218' into regulator-next
2016-01-12Merge remote-tracking branches 'regulator/topic/lp8788', ↵Mark Brown10-17/+575
'regulator/topic/mt6311', 'regulator/topic/optional', 'regulator/topic/palmas' and 'regulator/topic/pv88060' into regulator-next
2016-01-12Merge remote-tracking branches 'regulator/topic/const', ↵Mark Brown18-34/+356
'regulator/topic/lm363x', 'regulator/topic/lockdep' and 'regulator/topic/lp872x' into regulator-next
2016-01-12Merge remote-tracking branch 'regulator/topic/core' into regulator-nextMark Brown1-9/+4
2016-01-12Merge remote-tracking branches 'regulator/fix/axp20x' and ↵Mark Brown2-2/+3
'regulator/fix/mt6311' into regulator-linus
2016-01-07regulator: core: remove some dead codeDan Carpenter1-8/+3
Originally queue_delayed_work() used to negative error codes or 0 and 1 on success depending if the work was queued or not. It caused a lot of bugs where people treated all non-zero returns as failures so we changed it to return bool instead in d4283e937861 ('workqueue: make queueing functions return bool'). Now it never returns failure. Checking for negative values causes a static checker warning since it is impossible based on the bool type. Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-01-05regulator: core: use dev_to_rdevGeliang Tang1-1/+1
Use dev_to_rdev() instead of open-coding it. Signed-off-by: Geliang Tang <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2015-12-23regulator: lp872x: Get rid of duplicate reference to DVS GPIOPaul Kocialkowski1-2/+0
The lp872x structure holds a reference to the DVS GPIO, but it is never actually used anywhere, since a first reference exists from the lp872x_dvs structure. Signed-off-by: Paul Kocialkowski <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2015-12-23regulator: lp872x: Add missing of_match in regulators descriptionsPaul Kocialkowski1-0/+15
In order to select the regulators via of_find_regulator_by_node (and thus use them in devicetree), defining of_match for each regulator is required. Signed-off-by: Paul Kocialkowski <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2015-12-23regulator: axp20x: Fix GPIO LDO enable value for AXP22xChen-Yu Tsai1-2/+2
The enable/disable values for GPIO LDOs are reversed. It seems no one noticed as AXP22x support was introduced recently, and no one was using the GPIO LDOs, either because no designs actually use them or board support hasn't caught up. Fixes: 1b82b4e4f954 ("regulator: axp20x: Add support for AXP22X regulators") Signed-off-by: Chen-Yu Tsai <[email protected]> Signed-off-by: Mark Brown <[email protected]> Cc: [email protected]
2015-12-23regulator: lp8788: constify regulator_ops structuresJulia Lawall2-4/+4
The regulator_ops structures are never modified, so declare them as const. Done with the help of Coccinelle. Signed-off-by: Julia Lawall <[email protected]> Acked-by: Milo Kim <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2015-12-23regulator: wm8*: constify regulator_ops structuresJulia Lawall6-16/+16
The regulator_ops structures are never modified, so declare them as const. Done with the help of Coccinelle. Signed-off-by: Julia Lawall <[email protected]> Acked-by: Charles Keepax <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2015-12-22regulator: da9*: constify regulator_ops structuresJulia Lawall7-15/+15
The regulator_ops structures are never modified, so declare them as const. Done with the help of Coccinelle. Signed-off-by: Julia Lawall <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2015-12-18regulator: mt6311: Use REGCACHE_RBTREEDaniel Kurtz1-0/+1
This regulator is on a slow i2c bus. Register accesses are very simple, they all either enable/disable a regulator channel, or select a new voltage level. Thus, reading registers from the device will always return what was last written. Therefore we can save a lot of time when reading registers by using a regmap_cache. Since the register map is relatively large, but we only ever access a few of them, we use an RBTREE cache. Signed-off-by: Daniel Kurtz <[email protected]> Acked-by: Henry Chen <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2015-12-16regulator: tps65917/palmas: Add bypass ops for LDOs with bypass capabilityKeerthy1-0/+39
set/get_bypass ops were missing for ldo1/ldo2 on tps65917 and ldo9 on palmas/tps659038 which support bypass mode. Adding the bypass ops helps consumers configure these ldos in bypass mode or remove bypass mode if need be. Signed-off-by: Keerthy <[email protected]> Reported-by: Kishon Vijay Abraham I <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2015-12-16regulator: qcom-smd: Add support for PMA8084Andy Gross1-0/+95
This patch adds support and documentation for the PMA8084 regulators found on APQ8084 platforms. Signed-off-by: Andy Gross <[email protected]> Acked-by: Bjorn Andersson <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2015-12-16regulator: qcom-smd: Add PM8916 supportAndy Gross1-0/+64
This patch adds support and documentation for the PM8916 regulators found on MSM8916 platforms. Acked-by: Bjorn Andersson <[email protected]> Signed-off-by: Andy Gross <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2015-12-12regulator: pv88090: logical vs bitwise AND typoDan Carpenter1-5/+5
These were supposed to be bitwise AND instead of logical. Also kernel style is for the operator to be on the first line and I removed some extra parenthesis. Fixes: c90456e36d9c ('regulator: pv88090: new regulator driver') Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2015-12-12regulator: pv88090: Fix irq leakAxel Lin1-1/+1
Use devm_request_threaded_irq to ensure the irq is freed when unload the module. Signed-off-by: Axel Lin <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2015-12-08regulator: pv88090: new regulator driverJames Ban4-0/+565
This is the driver for the Powerventure PV88090 BUCKs and LDOs regulator. It communicates via an I2C bus to the device. Signed-off-by: James Ban <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2015-12-02regulator: wm831x-ldo: Use platform_register/unregister_drivers()Thierry Reding1-19/+8
These new helpers simplify implementing multi-driver modules and properly handle failure to register one driver by unregistering all previously registered drivers. Signed-off-by: Thierry Reding <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2015-12-02regulator: wm831x-dcdc: Use platform_register/unregister_drivers()Thierry Reding1-22/+9
These new helpers simplify implementing multi-driver modules and properly handle failure to register one driver by unregistering all previously registered drivers. Signed-off-by: Thierry Reding <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2015-12-02regulator: lp8788-ldo: Use platform_register/unregister_drivers()Thierry Reding1-9/+7
These new helpers simplify implementing multi-driver modules and properly handle failure to register one driver by unregistering all previously registered drivers. Signed-off-by: Thierry Reding <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2015-12-02regulator: core: Fix nested locking of suppliesThierry Reding1-2/+9
Commit fa731ac7ea04 ("regulator: core: avoid unused variable warning") introduced a subtle change in how supplies are locked. Where previously code was always locking the regulator of the current iteration, the new implementation only locks the regulator if it has a supply. For any given power tree that means that the root will never get locked. On the other hand the regulator_unlock_supply() will still release all the locks, which in turn causes the lock debugging code to warn about a mutex being unlocked which wasn't locked. Cc: Mark Brown <[email protected]> Cc: Arnd Bergmann <[email protected]> Fixes: Fixes: fa731ac7ea04 ("regulator: core: avoid unused variable warning") Signed-off-by: Thierry Reding <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2015-12-02regulator: core: Ensure we lock all regulatorsMark Brown1-1/+1
The latest workaround for the lockdep interface's not using the second argument of mutex_lock_nested() changed the loop missed locking the last regulator due to a thinko with the loop termination condition exiting one regulator too soon. Reported-by: Tyler Baker <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2015-12-01regulator: tps65086: Update regulator driver for the TPS65086 PMICAndrew F. Davis1-3/+4
Make changes to allow this driver to work with the updated TPS65086 core driver and bindings. Signed-off-by: Andrew F. Davis <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2015-12-01regulator: pv88060: fix error handling in probeDan Carpenter1-2/+2
There were some missing "ret = " assignments here. Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2015-11-30regulator: lm363x: Staticise ldo_cont_enable_timeAxel Lin1-1/+1
Signed-off-by: Axel Lin <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2015-11-30regulator: lm363x: Remove struct lm363x_regulator which is not necessaryAxel Lin1-19/+1
Signed-off-by: Axel Lin <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2015-11-27regulator: core: fix regulator_lock_supply regressionArnd Bergmann1-1/+2
As noticed by Geert Uytterhoeven, my patch to avoid a harmless build warning in regulator_lock_supply() was total crap and introduced a real bug: > [ BUG: bad unlock balance detected! ] > kworker/u4:0/6 is trying to release lock (&rdev->mutex) at: > [<c0247b84>] regulator_set_voltage+0x38/0x50 we still lock the regulator supplies, but not the actual regulators, so we are missing a lock, and the unlock is unbalanced. This rectifies it by first locking the regulator device itself before using the same loop as before to lock its supplies. Reported-by: Geert Uytterhoeven <[email protected]> Signed-off-by: Arnd Bergmann <[email protected]> Fixes: 716fec9d1965 ("[SUBMITTED] regulator: core: avoid unused variable warning") Signed-off-by: Mark Brown <[email protected]>
2015-11-27regulator: add LM363X driverMilo Kim3-0/+319
LM363X regulator driver supports LM3631 and LM3632. LM3631 has 5 regulators. LM3632 provides 3 regulators. One boost output and LDOs are used for the display module. Boost voltage is configurable but always on. Supported operations for LDOs are enabled/disabled and voltage change. Two LDOs of LM3632 can be controlled by external pins. Those are configured through the DT properties. Signed-off-by: Milo Kim <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2015-11-25regulator: tps65218: add support for LS3 current regulatorNikita Kiryanov1-30/+107
Add support for TPS65218 LS3 current regulator, which is capable of 4 current input limit modes: 100, 200, 500, and 1000 uA. Signed-off-by: Nikita Kiryanov <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2015-11-25regulator: pv88060: Fix irq leakAxel Lin1-1/+1
Use devm_request_threaded_irq to ensure the irq is freed when unload the module. Signed-off-by: Axel Lin <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2015-11-24mfd: sec-core: Rename MFD and regulator names differentlyAlim Akhtar1-4/+4
Currently S2MPSXX multifunction device is named as *-pmic, and these MFDs also supports regulator as a one of its MFD cell which has the same name, because current name is confusing and we want to sort it out. We did discussed different approaches about how the MFD and it cells need to be named here [1]. Based in the discussion this patch rename MFD regulator name as *-regulator instead of current *-pmic. This patch also changes the corresponding entries in the regulator driver to keep git-bisect happy. [1]-> https://lkml.org/lkml/2015/10/28/417 Suggested-by: Lee Jones <[email protected]> Signed-off-by: Alim Akhtar <[email protected]> Reviewed-by: Krzysztof Kozlowski <[email protected]> Acked-by: Mark Brown <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-11-23regulator: s2mps11: Add support for S2MPS15 regulatorsThomas Abraham2-3/+136
The S2MPS15 PMIC is similar in functionality to S2MPS11/14 PMIC. It contains 27 LDO and 10 Buck regulators and allows programming these regulators via a I2C interface. This patch adds initial support for LDO/Buck regulators of S2MPS15 PMIC. Signed-off-by: Thomas Abraham <[email protected]> Signed-off-by: Alim Akhtar <[email protected]> Reviewed-by: Krzysztof Kozlowski <[email protected]> Acked-by: Mark Brown <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-11-20regulator: pv88060: new regulator driverJames Ban4-0/+515
This is the driver for the Powerventure PV88060 BUCKs and LDOs regulator. It communicates via an I2C bus to the device. Signed-off-by: James Ban <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2015-11-20regulator: core: avoid unused variable warningArnd Bergmann1-11/+3
The second argument of the mutex_lock_nested() helper is only evaluated if CONFIG_DEBUG_LOCK_ALLOC is set. Otherwise we get this build warning for the new regulator_lock_supply function: drivers/regulator/core.c: In function 'regulator_lock_supply': drivers/regulator/core.c:142:6: warning: unused variable 'i' [-Wunused-variable] To avoid the warning, this restructures the code to make it both simpler and to move the 'i++' outside of the mutex_lock_nested call, where it is now always used and the variable is not flagged as unused. We had some discussion about changing mutex_lock_nested to an inline function, which would make the code do the right thing here, but in the end decided against it, in order to guarantee that mutex_lock_nested() does not introduced overhead without CONFIG_DEBUG_LOCK_ALLOC. Signed-off-by: Arnd Bergmann <[email protected]> Fixes: 9f01cd4a915 ("regulator: core: introduce function to lock regulators and its supplies") Link: http://permalink.gmane.org/gmane.linux.kernel/2068900 Signed-off-by: Mark Brown <[email protected]>
2015-11-18regulator: tps6105x: Convert to use regmap helper functionsAxel Lin1-83/+12
Since commit 7e5071199355 ("mfd: tps6105x: Use i2c regmap to access registers"), we can use regmap helper functions instead of open coded. Signed-off-by: Axel Lin <[email protected]> Tested-by: Denis Grigoryev <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2015-11-17regulator: Make bulk API support optional suppliesBjorn Andersson2-4/+9
Make it possible to use the bulk API with optional supplies, by allowing the consumer to marking supplies as optional in the regulator_bulk_data. Signed-off-by: Bjorn Andersson <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2015-11-17regulator: mt6311: MT6311_REGULATOR needs to select REGMAP_I2CHenry Chen1-0/+1
This patch fix the below build error: drivers/regulator/mt6311-regulator.c:111: undefined reference to `__devm_regmap_init_i2c' Signed-off-by: Henry Chen <[email protected]> Signed-off-by: Mark Brown <[email protected]> Cc: [email protected]
2015-11-16regulator: tps65086: Add regulator driver for the TPS65086 PMICAndrew F. Davis3-0/+258
Add support for TPS65086 PMIC regulators. The regulators set consists of 3 Step-down Controllers, 3 Step-down Converters, 3 LDOs, 3 Load Switches, and a Sink and Source LDO. The output voltages are configurable and are meant to supply power to a SoC and/or other components. Signed-off-by: Andrew F. Davis <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2015-11-05Merge tag 'spi-v4.4' of ↵Linus Torvalds1-1/+0
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi Pull spi updates from Mark Brown: "Quite a lot of activity in SPI this cycle, almost all of it in drivers with a few minor improvements and tweaks in the core. - Updates to pxa2xx to support Intel Broxton and multiple chip selects. - Support for big endian in the bcm63xx driver. - Multiple slave support for the mt8173 - New driver for the auxiliary SPI controller in bcm2835 SoCs. - Support for Layerscale SoCs in the Freescale DSPI driver" * tag 'spi-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (87 commits) spi: pxa2xx: Rework self-initiated platform data creation for non-ACPI spi: pxa2xx: Add support for Intel Broxton spi: pxa2xx: Detect number of enabled Intel LPSS SPI chip select signals spi: pxa2xx: Add output control for multiple Intel LPSS chip selects spi: pxa2xx: Use LPSS prefix for defines that are Intel LPSS specific spi: Add DSPI support for layerscape family spi: ti-qspi: improve ->remove() callback spi/spi-xilinx: Fix race condition on last word read spi: Drop owner assignment from spi_drivers spi: Add THIS_MODULE to spi_driver in SPI core spi: Setup the master controller driver before setting the chipselect spi: dw: replace magic constant by DW_SPI_DR spi: mediatek: mt8173 spi multiple devices support spi: mediatek: handle controller_data in mtk_spi_setup spi: mediatek: remove mtk_spi_config spi: mediatek: Update document devicetree bindings to support multiple devices spi: fix kernel-doc warnings about missing return desc in spi.c spi: fix kernel-doc warnings about missing return desc in spi.h spi: pxa2xx: Align a few defines spi: pxa2xx: Save other reg_cs_ctrl bits when configuring chip select ...
2015-11-04Merge remote-tracking branches 'regulator/topic/supply', ↵Mark Brown3-252/+295
'regulator/topic/tps6105x' and 'regulator/topic/tps65023' into regulator-next
2015-11-04Merge remote-tracking branches 'regulator/topic/load', ↵Mark Brown4-21/+47
'regulator/topic/max77802', 'regulator/topic/pwm', 'regulator/topic/qcom-smd' and 'regulator/topic/stw481x' into regulator-next
2015-11-04Merge remote-tracking branches 'regulator/topic/da9053' and ↵Mark Brown2-1/+2
'regulator/topic/da9063' into regulator-next
2015-11-04Merge remote-tracking branches 'regulator/topic/act8865', ↵Mark Brown5-12/+91
'regulator/topic/anatop', 'regulator/topic/arizona', 'regulator/topic/axp20x' and 'regulator/topic/bcm590xx' into regulator-next
2015-11-04Merge remote-tracking branch 'regulator/topic/list' into regulator-nextMark Brown1-91/+164
2015-11-04Merge remote-tracking branch 'regulator/topic/core' into regulator-nextMark Brown1-4/+4