aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/iio/adc/ad7266.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/iio/adc/ad7266.c')
-rw-r--r--drivers/iio/adc/ad7266.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/drivers/iio/adc/ad7266.c b/drivers/iio/adc/ad7266.c
index a6f4fc5f8201..bbad9b94cd75 100644
--- a/drivers/iio/adc/ad7266.c
+++ b/drivers/iio/adc/ad7266.c
@@ -367,7 +367,7 @@ static const struct ad7266_chan_info ad7266_chan_infos[] = {
367 }, 367 },
368}; 368};
369 369
370static void __devinit ad7266_init_channels(struct iio_dev *indio_dev) 370static void ad7266_init_channels(struct iio_dev *indio_dev)
371{ 371{
372 struct ad7266_state *st = iio_priv(indio_dev); 372 struct ad7266_state *st = iio_priv(indio_dev);
373 bool is_differential, is_signed; 373 bool is_differential, is_signed;
@@ -391,7 +391,7 @@ static const char * const ad7266_gpio_labels[] = {
391 "AD0", "AD1", "AD2", 391 "AD0", "AD1", "AD2",
392}; 392};
393 393
394static int __devinit ad7266_probe(struct spi_device *spi) 394static int ad7266_probe(struct spi_device *spi)
395{ 395{
396 struct ad7266_platform_data *pdata = spi->dev.platform_data; 396 struct ad7266_platform_data *pdata = spi->dev.platform_data;
397 struct iio_dev *indio_dev; 397 struct iio_dev *indio_dev;
@@ -411,7 +411,11 @@ static int __devinit ad7266_probe(struct spi_device *spi)
411 if (ret) 411 if (ret)
412 goto error_put_reg; 412 goto error_put_reg;
413 413
414 st->vref_uv = regulator_get_voltage(st->reg); 414 ret = regulator_get_voltage(st->reg);
415 if (ret < 0)
416 goto error_disable_reg;
417
418 st->vref_uv = ret;
415 } else { 419 } else {
416 /* Use internal reference */ 420 /* Use internal reference */
417 st->vref_uv = 2500000; 421 st->vref_uv = 2500000;
@@ -494,7 +498,7 @@ error_put_reg:
494 return ret; 498 return ret;
495} 499}
496 500
497static int __devexit ad7266_remove(struct spi_device *spi) 501static int ad7266_remove(struct spi_device *spi)
498{ 502{
499 struct iio_dev *indio_dev = spi_get_drvdata(spi); 503 struct iio_dev *indio_dev = spi_get_drvdata(spi);
500 struct ad7266_state *st = iio_priv(indio_dev); 504 struct ad7266_state *st = iio_priv(indio_dev);
@@ -525,7 +529,7 @@ static struct spi_driver ad7266_driver = {
525 .owner = THIS_MODULE, 529 .owner = THIS_MODULE,
526 }, 530 },
527 .probe = ad7266_probe, 531 .probe = ad7266_probe,
528 .remove = __devexit_p(ad7266_remove), 532 .remove = ad7266_remove,
529 .id_table = ad7266_id, 533 .id_table = ad7266_id,
530}; 534};
531module_spi_driver(ad7266_driver); 535module_spi_driver(ad7266_driver);