summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/staging/iio/dac/ad5504.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/staging/iio/dac/ad5504.c b/drivers/staging/iio/dac/ad5504.c
index 331b536..220150d 100644
--- a/drivers/staging/iio/dac/ad5504.c
+++ b/drivers/staging/iio/dac/ad5504.c
@@ -147,20 +147,18 @@ static ssize_t ad5504_write_dac_powerdown(struct iio_dev *indio_dev,
uintptr_t private, const struct iio_chan_spec *chan, const char *buf,
size_t len)
{
- long readin;
+ bool pwr_down;
int ret;
struct ad5504_state *st = iio_priv(indio_dev);
- ret = strict_strtol(buf, 10, &readin);
+ ret = strtobool(buf, &pwr_down);
if (ret)
return ret;
- if (readin == 0)
+ if (pwr_down)
st->pwr_down_mask |= (1 << chan->channel);
- else if (readin == 1)
- st->pwr_down_mask &= ~(1 << chan->channel);
else
- ret = -EINVAL;
+ st->pwr_down_mask &= ~(1 << chan->channel);
ret = ad5504_spi_write(st->spi, AD5504_ADDR_CTRL,
AD5504_DAC_PWRDWN_MODE(st->pwr_down_mode) |