summaryrefslogtreecommitdiff
path: root/drivers/staging
diff options
context:
space:
mode:
authorRoger Hsieh <rhsieh@nvidia.com>2014-07-04 13:29:49 +0800
committerRiham Haidar <rhaidar@nvidia.com>2014-07-11 21:15:18 -0700
commit4971feec8b024b77827b8373e3f359e616ea05f0 (patch)
tree2447fee24351694430a4a3809f29a3c11f25cfb9 /drivers/staging
parent7b61eb02ea2360e3bf19a06a066edeede599dfa3 (diff)
iio: meter: ina230: power on if current_threshold defined
Power it on after initializatin in case current_threshold is defined in device tree, or power it down. Bug 200012361 Change-Id: Ic1b463af1812bf47b01ce04dc7714fb7965629e0 Signed-off-by: Roger Hsieh <rhsieh@nvidia.com> Reviewed-on: http://git-master/r/434620 Reviewed-by: Timo Alho <talho@nvidia.com> Reviewed-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-by: Jinyoung Park <jinyoungp@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Diffstat (limited to 'drivers/staging')
-rw-r--r--drivers/staging/iio/meter/ina230.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/drivers/staging/iio/meter/ina230.c b/drivers/staging/iio/meter/ina230.c
index d5bb34cbe626..1a6ca96e6cf0 100644
--- a/drivers/staging/iio/meter/ina230.c
+++ b/drivers/staging/iio/meter/ina230.c
@@ -901,12 +901,18 @@ static int ina230_probe(struct i2c_client *client,
goto exit;
}
- /* set ina230 to power down mode */
- ret = i2c_smbus_write_word_data(client, INA230_CONFIG,
- __constant_cpu_to_be16(INA230_POWER_DOWN));
- if (ret < 0) {
- dev_err(&client->dev, "INA power down failed: %d\n", ret);
- goto exit;
+ /* Power it on once current_threshold defined, or power it down */
+ if (pdata->current_threshold) {
+ ina230_evaluate_state(chip);
+ } else {
+ /* set ina230 to power down mode */
+ ret = i2c_smbus_write_word_data(client, INA230_CONFIG,
+ __constant_cpu_to_be16(INA230_POWER_DOWN));
+ if (ret < 0) {
+ dev_err(&client->dev, "INA power down failed: %d\n",
+ ret);
+ goto exit;
+ }
}
return 0;