summaryrefslogtreecommitdiff
path: root/drivers/staging/iio/imu/adis16400_core.c
diff options
context:
space:
mode:
authorJonathan Cameron <jic23@cam.ac.uk>2011-08-12 17:08:36 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2011-08-23 13:31:06 -0700
commit7a6ff010e5f423822145e728a57744e5d0f18e2f (patch)
tree43a7662adfac75b8d00752b4d9f44e2eb5c3d809 /drivers/staging/iio/imu/adis16400_core.c
parentdeda386deb537dd2c8ec129bb53c1ffe57e827f7 (diff)
staging:iio:imu:adis16400: use strtobool for reset sysfs and don't assign unused tx members.
Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk> Acked-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/iio/imu/adis16400_core.c')
-rw-r--r--drivers/staging/iio/imu/adis16400_core.c23
1 files changed, 11 insertions, 12 deletions
diff --git a/drivers/staging/iio/imu/adis16400_core.c b/drivers/staging/iio/imu/adis16400_core.c
index a2c3b67dcbdf..4feee26c6f6b 100644
--- a/drivers/staging/iio/imu/adis16400_core.c
+++ b/drivers/staging/iio/imu/adis16400_core.c
@@ -150,8 +150,6 @@ static int adis16400_spi_read_reg_16(struct iio_dev *indio_dev,
mutex_lock(&st->buf_lock);
st->tx[0] = ADIS16400_READ_REG(lower_reg_address);
st->tx[1] = 0;
- st->tx[2] = 0;
- st->tx[3] = 0;
spi_message_init(&msg);
spi_message_add_tail(&xfers[0], &msg);
@@ -240,17 +238,18 @@ static ssize_t adis16400_write_reset(struct device *dev,
struct device_attribute *attr,
const char *buf, size_t len)
{
- struct iio_dev *indio_dev = dev_get_drvdata(dev);
+ bool val;
+ int ret;
- if (len < 1)
- return -1;
- switch (buf[0]) {
- case '1':
- case 'y':
- case 'Y':
- return adis16400_reset(indio_dev);
- }
- return -1;
+ ret = strtobool(buf, &val);
+ if (ret < 0)
+ return ret;
+ if (val)
+ ret = adis16400_reset(dev_get_drvdata(dev));
+ if (ret < 0)
+ return ret;
+
+ return len;
}
int adis16400_set_irq(struct iio_dev *indio_dev, bool enable)