diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-07-26 19:49:09 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-07-26 19:49:09 -0700 |
commit | f7816ad0f878dacd5f0120476f9b836ccf8699ea (patch) | |
tree | 43c81a5697976af080e58e41ec84c7f5c7c29fbe /drivers/power/power_supply_core.c | |
parent | Merge tag 'regulator-v4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator (diff) | |
parent | power: reset: add reboot mode driver (diff) | |
download | linux-dev-f7816ad0f878dacd5f0120476f9b836ccf8699ea.tar.xz linux-dev-f7816ad0f878dacd5f0120476f9b836ccf8699ea.zip |
Merge tag 'for-v4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply
Pull power supply and reset updates from Sebastian Reichel:
- introduce reboot mode driver
- add DT support to max8903
- add power supply support for axp221
- misc fixes
* tag 'for-v4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply:
power: reset: add reboot mode driver
dt-bindings: power: reset: add document for reboot-mode driver
power_supply: fix return value of get_property
power: qcom_smbb: Make an extcon for usb cable detection
max8903: adds support for initiation via device tree
max8903: adds documentation for device tree bindings.
max8903: remove unnecessary 'out of memory' error message.
max8903: removes non zero validity checks on gpios.
max8903: adds requesting of gpios.
max8903: cleans up confusing relationship between dc_valid, dok and dcm.
max8903: store pointer to pdata instead of copying it.
power_supply: bq27xxx_battery: Group register mappings into one table
docs: Move brcm,bcm21664-resetmgr.txt
power/reset: make syscon_poweroff() static
power: axp20x_usb: Add support for usb power-supply on axp22x pmics
power_supply: bq27xxx_battery: Index register numbers by enum
power_supply: bq27xxx_battery: Fix copy/paste error in header comment
MAINTAINERS: Add file patterns for power supply device tree bindings
power: reset: keystone: Enable COMPILE_TEST
Diffstat (limited to 'drivers/power/power_supply_core.c')
-rw-r--r-- | drivers/power/power_supply_core.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/power/power_supply_core.c b/drivers/power/power_supply_core.c index b13cd074c52a..a74d8ca383a1 100644 --- a/drivers/power/power_supply_core.c +++ b/drivers/power/power_supply_core.c @@ -491,8 +491,11 @@ int power_supply_get_property(struct power_supply *psy, enum power_supply_property psp, union power_supply_propval *val) { - if (atomic_read(&psy->use_cnt) <= 0) + if (atomic_read(&psy->use_cnt) <= 0) { + if (!psy->initialized) + return -EAGAIN; return -ENODEV; + } return psy->desc->get_property(psy, psp, val); } @@ -785,6 +788,7 @@ __power_supply_register(struct device *parent, * after calling power_supply_register()). */ atomic_inc(&psy->use_cnt); + psy->initialized = true; queue_delayed_work(system_power_efficient_wq, &psy->deferred_register_work, |