Merge branch 'mailbox-for-next' of git://git.linaro.org/landing-teams/working/fujitsu...
[firefly-linux-kernel-4.4.55.git] / drivers / staging / iio / meter / ade7854.c
index e8379c0f1173ffc454067788d16cd39ee8bc48fb..a83883596dbcb41e73e8e494527b4a4f5c433e89 100644 (file)
@@ -100,9 +100,9 @@ static ssize_t ade7854_write_8bit(struct device *dev,
        struct ade7854_state *st = iio_priv(indio_dev);
 
        int ret;
-       long val;
+       u8 val;
 
-       ret = strict_strtol(buf, 10, &val);
+       ret = kstrtou8(buf, 10, &val);
        if (ret)
                goto error_ret;
        ret = st->write_reg_8(dev, this_attr->address, val);
@@ -121,9 +121,9 @@ static ssize_t ade7854_write_16bit(struct device *dev,
        struct ade7854_state *st = iio_priv(indio_dev);
 
        int ret;
-       long val;
+       u16 val;
 
-       ret = strict_strtol(buf, 10, &val);
+       ret = kstrtou16(buf, 10, &val);
        if (ret)
                goto error_ret;
        ret = st->write_reg_16(dev, this_attr->address, val);
@@ -142,9 +142,9 @@ static ssize_t ade7854_write_24bit(struct device *dev,
        struct ade7854_state *st = iio_priv(indio_dev);
 
        int ret;
-       long val;
+       u32 val;
 
-       ret = strict_strtol(buf, 10, &val);
+       ret = kstrtou32(buf, 10, &val);
        if (ret)
                goto error_ret;
        ret = st->write_reg_24(dev, this_attr->address, val);
@@ -163,9 +163,9 @@ static ssize_t ade7854_write_32bit(struct device *dev,
        struct ade7854_state *st = iio_priv(indio_dev);
 
        int ret;
-       long val;
+       u32 val;
 
-       ret = strict_strtol(buf, 10, &val);
+       ret = kstrtou32(buf, 10, &val);
        if (ret)
                goto error_ret;
        ret = st->write_reg_32(dev, this_attr->address, val);
@@ -181,7 +181,7 @@ static int ade7854_reset(struct device *dev)
        u16 val;
 
        st->read_reg_16(dev, ADE7854_CONFIG, &val);
-       val |= 1 << 7; /* Software Chip Reset */
+       val |= BIT(7); /* Software Chip Reset */
 
        return st->write_reg_16(dev, ADE7854_CONFIG, val);
 }
@@ -420,10 +420,10 @@ static int ade7854_set_irq(struct device *dev, bool enable)
                goto error_ret;
 
        if (enable)
-               irqen |= 1 << 17; /* 1: interrupt enabled when all periodical
+               irqen |= BIT(17); /* 1: interrupt enabled when all periodical
                                     (at 8 kHz rate) DSP computations finish. */
        else
-               irqen &= ~(1 << 17);
+               irqen &= ~BIT(17);
 
        ret = st->write_reg_32(dev, ADE7854_MASK0, irqen);
        if (ret)
@@ -550,7 +550,7 @@ int ade7854_probe(struct iio_dev *indio_dev, struct device *dev)
 
        ret = iio_device_register(indio_dev);
        if (ret)
-               goto error_free_dev;
+               return ret;
 
        /* Get the device into a sane initial state */
        ret = ade7854_initial_setup(indio_dev);
@@ -561,9 +561,6 @@ int ade7854_probe(struct iio_dev *indio_dev, struct device *dev)
 
 error_unreg_dev:
        iio_device_unregister(indio_dev);
-error_free_dev:
-       iio_device_free(indio_dev);
-
        return ret;
 }
 EXPORT_SYMBOL(ade7854_probe);
@@ -571,7 +568,6 @@ EXPORT_SYMBOL(ade7854_probe);
 int ade7854_remove(struct iio_dev *indio_dev)
 {
        iio_device_unregister(indio_dev);
-       iio_device_free(indio_dev);
 
        return 0;
 }