Browse Source

staging:iio:ad7606: Remove default device configuration from platform data

While for some very selected setups it might be useful to be able to
provide default configuration data via the platform data, generally this
becomes very impractical as the number of configuration options increases.
So the general policy is to use the power-on default values of the device
and let the application using the device configure it according to its
needs.

Implement this scheme for the ad7606 driver by removing support for
specifying a default configuration via the platform data.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Lars-Peter Clausen 9 years ago
parent
commit
9f72520fa4
2 changed files with 2 additions and 14 deletions
  1. 0 4
      drivers/staging/iio/adc/ad7606.h
  2. 2 10
      drivers/staging/iio/adc/ad7606_core.c

+ 0 - 4
drivers/staging/iio/adc/ad7606.h

@@ -15,8 +15,6 @@
 
 /**
  * struct ad7606_platform_data - platform/board specific information
- * @default_os:		default oversampling value {0, 2, 4, 8, 16, 32, 64}
- * @default_range:	default range +/-{5000, 10000} mVolt
  * @gpio_convst:	number of gpio connected to the CONVST pin
  * @gpio_reset:		gpio connected to the RESET pin, if not used set to -1
  * @gpio_range:		gpio connected to the RANGE pin, if not used set to -1
@@ -28,8 +26,6 @@
  */
 
 struct ad7606_platform_data {
-	unsigned int			default_os;
-	unsigned int			default_range;
 	unsigned int			gpio_convst;
 	unsigned int			gpio_reset;
 	unsigned int			gpio_range;

+ 2 - 10
drivers/staging/iio/adc/ad7606_core.c

@@ -452,16 +452,8 @@ struct iio_dev *ad7606_probe(struct device *dev, int irq,
 	st->dev = dev;
 	st->bops = bops;
 	st->base_address = base_address;
-	st->range = pdata->default_range == 10000 ? 10000 : 5000;
-
-	ret = ad7606_oversampling_get_index(pdata->default_os);
-	if (ret < 0) {
-		dev_warn(dev, "oversampling %d is not supported\n",
-			 pdata->default_os);
-		st->oversampling = 0;
-	} else {
-		st->oversampling = pdata->default_os;
-	}
+	st->range = 5000;
+	st->oversampling = 0;
 
 	st->reg = devm_regulator_get(dev, "vcc");
 	if (!IS_ERR(st->reg)) {