diff options
author | Roger Hsieh <rhsieh@nvidia.com> | 2014-07-04 13:29:49 +0800 |
---|---|---|
committer | Riham Haidar <rhaidar@nvidia.com> | 2014-07-11 21:15:18 -0700 |
commit | 4971feec8b024b77827b8373e3f359e616ea05f0 (patch) | |
tree | 2447fee24351694430a4a3809f29a3c11f25cfb9 /drivers/staging | |
parent | 7b61eb02ea2360e3bf19a06a066edeede599dfa3 (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.c | 18 |
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; |