staging:iio:ad7606: Remove default device configuration from platform data
authorLars-Peter Clausen <lars@metafoo.de>
Wed, 19 Oct 2016 17:06:58 +0000 (19:06 +0200)
committerJonathan Cameron <jic23@kernel.org>
Sun, 23 Oct 2016 18:34:12 +0000 (19:34 +0100)
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>
drivers/staging/iio/adc/ad7606.h
drivers/staging/iio/adc/ad7606_core.c

index 380c56ae6570f1ea4230155dcbd2ad65958687fb..cf6be6500bfb3b88f0fd17a907dea3558daca463 100644 (file)
@@ -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;
index 109364750ac75b83b5f179bc9f5ca01a419d6ee9..a16c6f5a333bde9f9719855c35c8013368e63ceb 100644 (file)
@@ -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)) {