diff options
Diffstat (limited to 'drivers/staging/iio/gyro/adis16080_core.c')
-rw-r--r-- | drivers/staging/iio/gyro/adis16080_core.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/staging/iio/gyro/adis16080_core.c b/drivers/staging/iio/gyro/adis16080_core.c index a73902573f79..41d7350d030f 100644 --- a/drivers/staging/iio/gyro/adis16080_core.c +++ b/drivers/staging/iio/gyro/adis16080_core.c @@ -69,7 +69,7 @@ static int adis16080_spi_read(struct iio_dev *indio_dev, ret = spi_read(st->us, st->buf, 2); if (ret == 0) - *val = ((st->buf[0] & 0xF) << 8) | st->buf[1]; + *val = sign_extend32(((st->buf[0] & 0xF) << 8) | st->buf[1], 11); mutex_unlock(&st->buf_lock); return ret; @@ -138,7 +138,7 @@ static const struct iio_info adis16080_info = { .driver_module = THIS_MODULE, }; -static int __devinit adis16080_probe(struct spi_device *spi) +static int adis16080_probe(struct spi_device *spi) { int ret; struct adis16080_state *st; @@ -177,7 +177,7 @@ error_ret: } /* fixme, confirm ordering in this function */ -static int __devexit adis16080_remove(struct spi_device *spi) +static int adis16080_remove(struct spi_device *spi) { iio_device_unregister(spi_get_drvdata(spi)); iio_device_free(spi_get_drvdata(spi)); @@ -191,7 +191,7 @@ static struct spi_driver adis16080_driver = { .owner = THIS_MODULE, }, .probe = adis16080_probe, - .remove = __devexit_p(adis16080_remove), + .remove = adis16080_remove, }; module_spi_driver(adis16080_driver); |