diff options
Diffstat (limited to 'drivers/staging/iio/meter/ade7759.c')
-rw-r--r-- | drivers/staging/iio/meter/ade7759.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/drivers/staging/iio/meter/ade7759.c b/drivers/staging/iio/meter/ade7759.c index b3f7e0fa9612..cb0707cbc347 100644 --- a/drivers/staging/iio/meter/ade7759.c +++ b/drivers/staging/iio/meter/ade7759.c @@ -385,6 +385,8 @@ static ssize_t ade7759_write_frequency(struct device *dev, ret = strict_strtol(buf, 10, &val); if (ret) return ret; + if (val == 0) + return -EINVAL; mutex_lock(&indio_dev->mlock); @@ -497,20 +499,15 @@ error_ret: } /* fixme, confirm ordering in this function */ -static int ade7759_remove(struct spi_device *spi) +static int __devexit ade7759_remove(struct spi_device *spi) { - int ret; struct iio_dev *indio_dev = spi_get_drvdata(spi); iio_device_unregister(indio_dev); - ret = ade7759_stop_device(&(indio_dev->dev)); - if (ret) - goto err_ret; - + ade7759_stop_device(&indio_dev->dev); iio_device_free(indio_dev); -err_ret: - return ret; + return 0; } static struct spi_driver ade7759_driver = { |