From: Lars-Peter Clausen <lars@metafoo.de>
Date: Tue, 26 Mar 2013 18:43:00 +0000 (+0000)
Subject: staging:iio:ad799x: Remove internal reference support
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=8c7e862700285be2bfdca215012eb62cc28e9a48;p=GitHub%2Fexynos8895%2Fandroid_kernel_samsung_universal8895.git

staging:iio:ad799x: Remove internal reference support

None of the devices supported by this driver have an internal voltage reference,
so remove support for it from the driver.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
---

diff --git a/drivers/staging/iio/adc/ad799x.h b/drivers/staging/iio/adc/ad799x.h
index 9f50f9302789..82e83bbb342b 100644
--- a/drivers/staging/iio/adc/ad799x.h
+++ b/drivers/staging/iio/adc/ad799x.h
@@ -87,7 +87,6 @@ struct ad799x_state;
  * struct ad799x_chip_info - chip specifc information
  * @channel:		channel specification
  * @num_channels:	number of channels
- * @int_vref_mv:	the internal reference voltage
  * @monitor_mode:	whether the chip supports monitor interrupts
  * @default_config:	device default configuration
  * @event_attrs:	pointer to the monitor event attribute group
@@ -96,7 +95,6 @@ struct ad799x_state;
 struct ad799x_chip_info {
 	struct iio_chan_spec		channel[9];
 	int				num_channels;
-	u16				int_vref_mv;
 	u16				default_config;
 	const struct iio_info		*info;
 };
diff --git a/drivers/staging/iio/adc/ad799x_core.c b/drivers/staging/iio/adc/ad799x_core.c
index 40cc89abe3c3..d12a4b264891 100644
--- a/drivers/staging/iio/adc/ad799x_core.c
+++ b/drivers/staging/iio/adc/ad799x_core.c
@@ -498,7 +498,6 @@ static const struct ad799x_chip_info ad799x_chip_info_tbl[] = {
 			[4] = IIO_CHAN_SOFT_TIMESTAMP(4),
 		},
 		.num_channels = 5,
-		.int_vref_mv = 4096,
 		.info = &ad7991_info,
 	},
 	[ad7995] = {
@@ -538,7 +537,6 @@ static const struct ad799x_chip_info ad799x_chip_info_tbl[] = {
 			[4] = IIO_CHAN_SOFT_TIMESTAMP(4),
 		},
 		.num_channels = 5,
-		.int_vref_mv = 1024,
 		.info = &ad7991_info,
 	},
 	[ad7999] = {
@@ -578,7 +576,6 @@ static const struct ad799x_chip_info ad799x_chip_info_tbl[] = {
 			[4] = IIO_CHAN_SOFT_TIMESTAMP(4),
 		},
 		.num_channels = 5,
-		.int_vref_mv = 1024,
 		.info = &ad7991_info,
 	},
 	[ad7992] = {
@@ -604,7 +601,6 @@ static const struct ad799x_chip_info ad799x_chip_info_tbl[] = {
 			[2] = IIO_CHAN_SOFT_TIMESTAMP(2),
 		},
 		.num_channels = 3,
-		.int_vref_mv = 4096,
 		.default_config = AD7998_ALERT_EN,
 		.info = &ad7992_info,
 	},
@@ -649,7 +645,6 @@ static const struct ad799x_chip_info ad799x_chip_info_tbl[] = {
 			[4] = IIO_CHAN_SOFT_TIMESTAMP(4),
 		},
 		.num_channels = 5,
-		.int_vref_mv = 1024,
 		.default_config = AD7998_ALERT_EN,
 		.info = &ad7993_4_7_8_info,
 	},
@@ -694,7 +689,6 @@ static const struct ad799x_chip_info ad799x_chip_info_tbl[] = {
 			[4] = IIO_CHAN_SOFT_TIMESTAMP(4),
 		},
 		.num_channels = 5,
-		.int_vref_mv = 4096,
 		.default_config = AD7998_ALERT_EN,
 		.info = &ad7993_4_7_8_info,
 	},
@@ -771,7 +765,6 @@ static const struct ad799x_chip_info ad799x_chip_info_tbl[] = {
 			[8] = IIO_CHAN_SOFT_TIMESTAMP(8),
 		},
 		.num_channels = 9,
-		.int_vref_mv = 1024,
 		.default_config = AD7998_ALERT_EN,
 		.info = &ad7993_4_7_8_info,
 	},
@@ -848,7 +841,6 @@ static const struct ad799x_chip_info ad799x_chip_info_tbl[] = {
 			[8] = IIO_CHAN_SOFT_TIMESTAMP(8),
 		},
 		.num_channels = 9,
-		.int_vref_mv = 4096,
 		.default_config = AD7998_ALERT_EN,
 		.info = &ad7993_4_7_8_info,
 	},
@@ -875,10 +867,10 @@ static int ad799x_probe(struct i2c_client *client,
 
 	/* TODO: Add pdata options for filtering and bit delay */
 
-	if (pdata)
-		st->int_vref_mv = pdata->vref_mv;
-	else
-		st->int_vref_mv = st->chip_info->int_vref_mv;
+	if (!pdata)
+		return -EINVAL;
+
+	st->int_vref_mv = pdata->vref_mv;
 
 	st->reg = regulator_get(&client->dev, "vcc");
 	if (!IS_ERR(st->reg)) {