summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars-Peter Clausen <lars@metafoo.de>2012-04-25 11:44:56 +0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-04-25 21:57:20 +0400
commit4e5d3f92cfe79c928414ec497f04a831e5c63a83 (patch)
tree6f9a0b995bcbd3f2109d33a5295cca1756089432
parent39c58b607948c731cc1b4c64a1f22f90f72684e2 (diff)
downloadlinux-4e5d3f92cfe79c928414ec497f04a831e5c63a83.tar.xz
staging:iio:dac:ad5446: Do not check for individual chip ids in probe
Use the chip_info's int_vref_mv field to decide whether a certain chip has a internal reference or not. There is no need to check for individual chip ids. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Acked-by: Jonathan Cameron <jic23@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/staging/iio/dac/ad5446.c20
1 files changed, 5 insertions, 15 deletions
diff --git a/drivers/staging/iio/dac/ad5446.c b/drivers/staging/iio/dac/ad5446.c
index 2ce6b5be84e2..659d0834bb19 100644
--- a/drivers/staging/iio/dac/ad5446.c
+++ b/drivers/staging/iio/dac/ad5446.c
@@ -344,22 +344,12 @@ static int __devinit ad5446_probe(struct spi_device *spi)
indio_dev->channels = &st->chip_info->channel;
indio_dev->num_channels = 1;
- switch (spi_get_device_id(spi)->driver_data) {
- case ID_AD5620_2500:
- case ID_AD5620_1250:
- case ID_AD5640_2500:
- case ID_AD5640_1250:
- case ID_AD5660_2500:
- case ID_AD5660_1250:
+ if (st->chip_info->int_vref_mv)
st->vref_mv = st->chip_info->int_vref_mv;
- break;
- default:
- if (voltage_uv)
- st->vref_mv = voltage_uv / 1000;
- else
- dev_warn(&spi->dev,
- "reference voltage unspecified\n");
- }
+ else if (voltage_uv)
+ st->vref_mv = voltage_uv / 1000;
+ else
+ dev_warn(&spi->dev, "reference voltage unspecified\n");
ret = iio_device_register(indio_dev);
if (ret)