summaryrefslogtreecommitdiff
path: root/drivers/power/bq2415x_charger.c
diff options
context:
space:
mode:
authorDan Murphy <DMurphy@ti.com>2014-11-21 12:16:32 -0600
committerDan Murphy <DMurphy@ti.com>2014-11-21 12:16:32 -0600
commit5dcfe16d0585aeed7158820e934a5e43ff017476 (patch)
tree1974ff5d6d579a774de59bc0ccf19c5f20e64e7b /drivers/power/bq2415x_charger.c
parentd9bd3f9c687afc5c317d2c61262913c9a7c2bd0d (diff)
parent2dc2565902d3c24108c4b7101e91957fd068a242 (diff)
Merge tag 'v3.14.25' of http://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable into ti-linux-3.14.y
This is the 3.14.25 stable release * tag 'v3.14.25' of http://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable: (123 commits) Linux 3.14.25 mm/page_alloc: prevent MIGRATE_RESERVE pages from being misplaced mm: vmscan: use proportional scanning during direct reclaim and full scan at DEF_PRIORITY fs/superblock: avoid locking counting inodes and dentries before reclaiming them fs/superblock: unregister sb shrinker before ->kill_sb() mm: fix direct reclaim writeback regression x86/mm: In the PTE swapout page reclaim case clear the accessed bit instead of flushing the TLB mm, compaction: properly signal and act upon lock and need_sched() contention mm/compaction: avoid rescanning pageblocks in isolate_freepages mm/compaction: do not count migratepages when unnecessary mm, compaction: terminate async compaction when rescheduling mm, compaction: embed migration mode in compact_control mm, compaction: add per-zone migration pfn cache for async compaction mm, compaction: return failed migration target pages back to freelist mm, migration: add destination page freeing callback mm/compaction: cleanup isolate_freepages() mm/compaction: clean up unused code lines mm/readahead.c: inline ra_submit callers of iov_copy_from_user_atomic() don't need pagecache_disable() mm: remove read_cache_page_async() ... Signed-off-by: Dan Murphy <DMurphy@ti.com>
Diffstat (limited to 'drivers/power/bq2415x_charger.c')
-rw-r--r--drivers/power/bq2415x_charger.c23
1 files changed, 15 insertions, 8 deletions
diff --git a/drivers/power/bq2415x_charger.c b/drivers/power/bq2415x_charger.c
index e384844a1ae..1f49986fc60 100644
--- a/drivers/power/bq2415x_charger.c
+++ b/drivers/power/bq2415x_charger.c
@@ -1579,8 +1579,15 @@ static int bq2415x_probe(struct i2c_client *client,
if (np) {
bq->notify_psy = power_supply_get_by_phandle(np, "ti,usb-charger-detection");
- if (!bq->notify_psy)
- return -EPROBE_DEFER;
+ if (IS_ERR(bq->notify_psy)) {
+ dev_info(&client->dev,
+ "no 'ti,usb-charger-detection' property (err=%ld)\n",
+ PTR_ERR(bq->notify_psy));
+ bq->notify_psy = NULL;
+ } else if (!bq->notify_psy) {
+ ret = -EPROBE_DEFER;
+ goto error_2;
+ }
}
else if (pdata->notify_device)
bq->notify_psy = power_supply_get_by_name(pdata->notify_device);
@@ -1602,27 +1609,27 @@ static int bq2415x_probe(struct i2c_client *client,
ret = of_property_read_u32(np, "ti,current-limit",
&bq->init_data.current_limit);
if (ret)
- return ret;
+ goto error_2;
ret = of_property_read_u32(np, "ti,weak-battery-voltage",
&bq->init_data.weak_battery_voltage);
if (ret)
- return ret;
+ goto error_2;
ret = of_property_read_u32(np, "ti,battery-regulation-voltage",
&bq->init_data.battery_regulation_voltage);
if (ret)
- return ret;
+ goto error_2;
ret = of_property_read_u32(np, "ti,charge-current",
&bq->init_data.charge_current);
if (ret)
- return ret;
+ goto error_2;
ret = of_property_read_u32(np, "ti,termination-current",
&bq->init_data.termination_current);
if (ret)
- return ret;
+ goto error_2;
ret = of_property_read_u32(np, "ti,resistor-sense",
&bq->init_data.resistor_sense);
if (ret)
- return ret;
+ goto error_2;
} else {
memcpy(&bq->init_data, pdata, sizeof(bq->init_data));
}