staging:iio: Constify static iio_chan_spec arrays
authorLars-Peter Clausen <lars@metafoo.de>
Thu, 9 Aug 2012 07:51:00 +0000 (08:51 +0100)
committerJonathan Cameron <jic23@kernel.org>
Tue, 14 Aug 2012 19:27:42 +0000 (20:27 +0100)
The per driver iio_chan_spec arrays are usually shared between multiple device
instances. So a single device instance may not modify the iio_chan_spec array
since this would also affect the other device instances. To make this restriction
explicit mark the per driver iio_chan_spec arrays as const.

Conversion was done automatically using the following coccinelle semantic patch:

// <smpl>
@disable optional_qualifier@
identifier channels;
@@
static
+const
struct iio_chan_spec channels[] = ...;
// </smpl>

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
22 files changed:
drivers/staging/iio/accel/adis16201_core.c
drivers/staging/iio/accel/adis16203_core.c
drivers/staging/iio/accel/adis16204_core.c
drivers/staging/iio/accel/adis16209_core.c
drivers/staging/iio/accel/adis16240_core.c
drivers/staging/iio/accel/kxsd9.c
drivers/staging/iio/accel/lis3l02dq_core.c
drivers/staging/iio/accel/sca3000_core.c
drivers/staging/iio/adc/ad7192.c
drivers/staging/iio/adc/ad7298_core.c
drivers/staging/iio/adc/ad7606.h
drivers/staging/iio/adc/ad7606_core.c
drivers/staging/iio/adc/lpc32xx_adc.c
drivers/staging/iio/adc/max1363.h
drivers/staging/iio/adc/max1363_core.c
drivers/staging/iio/adc/spear_adc.c
drivers/staging/iio/iio_simple_dummy.c
drivers/staging/iio/impedance-analyzer/ad5933.c
drivers/staging/iio/imu/adis16400_core.c
drivers/staging/iio/meter/ade7758.h
drivers/staging/iio/meter/ade7758_core.c
drivers/staging/iio/resolver/ad2s1210.c

index 204106b..ec2332f 100644 (file)
@@ -390,7 +390,7 @@ static int adis16201_write_raw(struct iio_dev *indio_dev,
        return -EINVAL;
 }
 
-static struct iio_chan_spec adis16201_channels[] = {
+static const struct iio_chan_spec adis16201_channels[] = {
        {
                .type = IIO_VOLTAGE,
                .indexed = 1,
index 22085e9..34b76c5 100644 (file)
@@ -355,7 +355,7 @@ static int adis16203_read_raw(struct iio_dev *indio_dev,
        }
 }
 
-static struct iio_chan_spec adis16203_channels[] = {
+static const struct iio_chan_spec adis16203_channels[] = {
        {
                .type = IIO_VOLTAGE,
                .indexed = 1,
index 5f2e5f1..02fb101 100644 (file)
@@ -397,7 +397,7 @@ static int adis16204_write_raw(struct iio_dev *indio_dev,
        return -EINVAL;
 }
 
-static struct iio_chan_spec adis16204_channels[] = {
+static const struct iio_chan_spec adis16204_channels[] = {
        {
                .type = IIO_VOLTAGE,
                .indexed = 1, /* Note was not previously indexed */
index 4945705..4fa2229 100644 (file)
@@ -390,7 +390,7 @@ static int adis16209_read_raw(struct iio_dev *indio_dev,
        return -EINVAL;
 }
 
-static struct iio_chan_spec adis16209_channels[] = {
+static const struct iio_chan_spec adis16209_channels[] = {
        {
                .type = IIO_VOLTAGE,
                .indexed = 1,
index b30b787..dafc0d8 100644 (file)
@@ -448,7 +448,7 @@ static int adis16240_write_raw(struct iio_dev *indio_dev,
        return -EINVAL;
 }
 
-static struct iio_chan_spec adis16240_channels[] = {
+static const struct iio_chan_spec adis16240_channels[] = {
        {
                .type = IIO_VOLTAGE,
                .indexed = 1,
index 8cf7cd9..713469f 100644 (file)
@@ -186,7 +186,7 @@ error_ret:
                .address = KXSD9_REG_##axis,                            \
        }
 
-static struct iio_chan_spec kxsd9_channels[] = {
+static const struct iio_chan_spec kxsd9_channels[] = {
        KXSD9_ACCEL_CHAN(X), KXSD9_ACCEL_CHAN(Y), KXSD9_ACCEL_CHAN(Z),
        {
                .type = IIO_VOLTAGE,
index 9d26348..0c2b4ba 100644 (file)
@@ -538,7 +538,7 @@ static irqreturn_t lis3l02dq_event_handler(int irq, void *private)
                .event_mask = LIS3L02DQ_EVENT_MASK,             \
         }
 
-static struct iio_chan_spec lis3l02dq_channels[] = {
+static const struct iio_chan_spec lis3l02dq_channels[] = {
        LIS3L02DQ_CHAN(0, IIO_MOD_X),
        LIS3L02DQ_CHAN(1, IIO_MOD_Y),
        LIS3L02DQ_CHAN(2, IIO_MOD_Z),
index c218d71..cc040e1 100644 (file)
@@ -450,7 +450,7 @@ static IIO_DEVICE_ATTR(revision, S_IRUGO, sca3000_show_rev, NULL, 0);
                .event_mask = SCA3000_EVENT_MASK,               \
         }
 
-static struct iio_chan_spec sca3000_channels[] = {
+static const struct iio_chan_spec sca3000_channels[] = {
        SCA3000_CHAN(0, IIO_MOD_X),
        SCA3000_CHAN(1, IIO_MOD_Y),
        SCA3000_CHAN(2, IIO_MOD_Z),
index 22c3923..e381d4b 100644 (file)
@@ -967,7 +967,7 @@ static const struct iio_info ad7195_info = {
          .scan_index = _si,                                            \
          .scan_type =  IIO_ST('s', 24, 32, 0)}
 
-static struct iio_chan_spec ad7192_channels[] = {
+static const struct iio_chan_spec ad7192_channels[] = {
        AD7192_CHAN_DIFF(1, 2, NULL, AD7192_CH_AIN1P_AIN2M, 0),
        AD7192_CHAN_DIFF(3, 4, NULL, AD7192_CH_AIN3P_AIN4M, 1),
        AD7192_CHAN_TEMP(0, AD7192_CH_TEMP, 2),
index 6141f4a..4c75114 100644 (file)
@@ -38,7 +38,7 @@
                },                                                      \
        }
 
-static struct iio_chan_spec ad7298_channels[] = {
+static const struct iio_chan_spec ad7298_channels[] = {
        {
                .type = IIO_TEMP,
                .indexed = 1,
index 10f5989..9221a74 100644 (file)
@@ -51,7 +51,7 @@ struct ad7606_platform_data {
 struct ad7606_chip_info {
        const char                      *name;
        u16                             int_vref_mv;
-       struct iio_chan_spec            *channels;
+       const struct iio_chan_spec      *channels;
        unsigned                        num_channels;
 };
 
index ccb97fe..bae61cb 100644 (file)
@@ -241,7 +241,7 @@ static const struct attribute_group ad7606_attribute_group_range = {
                .scan_type = IIO_ST('s', 16, 16, 0),            \
        }
 
-static struct iio_chan_spec ad7606_8_channels[] = {
+static const struct iio_chan_spec ad7606_8_channels[] = {
        AD7606_CHANNEL(0),
        AD7606_CHANNEL(1),
        AD7606_CHANNEL(2),
@@ -253,7 +253,7 @@ static struct iio_chan_spec ad7606_8_channels[] = {
        IIO_CHAN_SOFT_TIMESTAMP(8),
 };
 
-static struct iio_chan_spec ad7606_6_channels[] = {
+static const struct iio_chan_spec ad7606_6_channels[] = {
        AD7606_CHANNEL(0),
        AD7606_CHANNEL(1),
        AD7606_CHANNEL(2),
@@ -263,7 +263,7 @@ static struct iio_chan_spec ad7606_6_channels[] = {
        IIO_CHAN_SOFT_TIMESTAMP(6),
 };
 
-static struct iio_chan_spec ad7606_4_channels[] = {
+static const struct iio_chan_spec ad7606_4_channels[] = {
        AD7606_CHANNEL(0),
        AD7606_CHANNEL(1),
        AD7606_CHANNEL(2),
index 348d051..7e9bd00 100644 (file)
@@ -108,7 +108,7 @@ static const struct iio_info lpc32xx_adc_iio_info = {
        .scan_index = _index,                           \
 }
 
-static struct iio_chan_spec lpc32xx_adc_iio_channels[] = {
+static const struct iio_chan_spec lpc32xx_adc_iio_channels[] = {
        LPC32XX_ADC_CHANNEL(0),
        LPC32XX_ADC_CHANNEL(1),
        LPC32XX_ADC_CHANNEL(2),
index 2cd0112..c746918 100644 (file)
@@ -100,7 +100,7 @@ enum max1363_modes {
  */
 struct max1363_chip_info {
        const struct iio_info           *info;
-       struct iio_chan_spec *channels;
+       const struct iio_chan_spec *channels;
        int num_channels;
        const enum max1363_modes        *mode_list;
        enum max1363_modes              default_mode;
index 6799ce2..816bb2c 100644 (file)
@@ -335,12 +335,12 @@ static const enum max1363_modes max1363_mode_list[] = {
        IIO_CHAN_SOFT_TIMESTAMP(8)                      \
        }
 
-static struct iio_chan_spec max1036_channels[] = MAX1363_4X_CHANS(8, 0);
-static struct iio_chan_spec max1136_channels[] = MAX1363_4X_CHANS(10, 0);
-static struct iio_chan_spec max1236_channels[] = MAX1363_4X_CHANS(12, 0);
-static struct iio_chan_spec max1361_channels[] =
+static const struct iio_chan_spec max1036_channels[] = MAX1363_4X_CHANS(8, 0);
+static const struct iio_chan_spec max1136_channels[] = MAX1363_4X_CHANS(10, 0);
+static const struct iio_chan_spec max1236_channels[] = MAX1363_4X_CHANS(12, 0);
+static const struct iio_chan_spec max1361_channels[] =
        MAX1363_4X_CHANS(10, MAX1363_EV_M);
-static struct iio_chan_spec max1363_channels[] =
+static const struct iio_chan_spec max1363_channels[] =
        MAX1363_4X_CHANS(12, MAX1363_EV_M);
 
 /* Applies to max1236, max1237 */
@@ -392,9 +392,9 @@ static const enum max1363_modes max1238_mode_list[] = {
        MAX1363_CHAN_B(11, 10, d11m10, 23, bits, 0),    \
        IIO_CHAN_SOFT_TIMESTAMP(24)                     \
        }
-static struct iio_chan_spec max1038_channels[] = MAX1363_12X_CHANS(8);
-static struct iio_chan_spec max1138_channels[] = MAX1363_12X_CHANS(10);
-static struct iio_chan_spec max1238_channels[] = MAX1363_12X_CHANS(12);
+static const struct iio_chan_spec max1038_channels[] = MAX1363_12X_CHANS(8);
+static const struct iio_chan_spec max1138_channels[] = MAX1363_12X_CHANS(10);
+static const struct iio_chan_spec max1238_channels[] = MAX1363_12X_CHANS(12);
 
 static const enum max1363_modes max11607_mode_list[] = {
        _s0, _s1, _s2, _s3,
@@ -433,9 +433,9 @@ static const enum max1363_modes max11608_mode_list[] = {
        MAX1363_CHAN_B(7, 6, d7m6, 15, bits, 0),        \
        IIO_CHAN_SOFT_TIMESTAMP(16)                     \
 }
-static struct iio_chan_spec max11602_channels[] = MAX1363_8X_CHANS(8);
-static struct iio_chan_spec max11608_channels[] = MAX1363_8X_CHANS(10);
-static struct iio_chan_spec max11614_channels[] = MAX1363_8X_CHANS(12);
+static const struct iio_chan_spec max11602_channels[] = MAX1363_8X_CHANS(8);
+static const struct iio_chan_spec max11608_channels[] = MAX1363_8X_CHANS(10);
+static const struct iio_chan_spec max11614_channels[] = MAX1363_8X_CHANS(12);
 
 static const enum max1363_modes max11644_mode_list[] = {
        _s0, _s1, s0to1, d0m1, d1m0,
@@ -449,8 +449,8 @@ static const enum max1363_modes max11644_mode_list[] = {
        IIO_CHAN_SOFT_TIMESTAMP(4)                      \
        }
 
-static struct iio_chan_spec max11646_channels[] = MAX1363_2X_CHANS(10);
-static struct iio_chan_spec max11644_channels[] = MAX1363_2X_CHANS(12);
+static const struct iio_chan_spec max11646_channels[] = MAX1363_2X_CHANS(10);
+static const struct iio_chan_spec max11644_channels[] = MAX1363_2X_CHANS(12);
 
 enum { max1361,
        max1362,
index 64d630e..675c427 100644 (file)
@@ -189,7 +189,7 @@ static int spear_read_raw(struct iio_dev *indio_dev,
        },                                              \
 }
 
-static struct iio_chan_spec spear_adc_iio_channels[] = {
+static const struct iio_chan_spec spear_adc_iio_channels[] = {
        SPEAR_ADC_CHAN(0),
        SPEAR_ADC_CHAN(1),
        SPEAR_ADC_CHAN(2),
index 155a49a..22eea83 100644 (file)
@@ -63,7 +63,7 @@ static const struct iio_dummy_accel_calibscale dummy_scales[] = {
  * This array of structures tells the IIO core about what the device
  * actually provides for a given channel.
  */
-static struct iio_chan_spec iio_dummy_channels[] = {
+static const struct iio_chan_spec iio_dummy_channels[] = {
        /* indexed ADC channel in_voltage0_raw etc */
        {
                .type = IIO_VOLTAGE,
index a8e51bc..e239ea9 100644 (file)
@@ -108,7 +108,7 @@ static struct ad5933_platform_data ad5933_default_pdata  = {
        .vref_mv = 3300,
 };
 
-static struct iio_chan_spec ad5933_channels[] = {
+static const struct iio_chan_spec ad5933_channels[] = {
        {
                .type = IIO_TEMP,
                .indexed = 1,
index 1f4c177..4ce9e3d 100644 (file)
@@ -610,7 +610,7 @@ static int adis16400_read_raw(struct iio_dev *indio_dev,
        }
 }
 
-static struct iio_chan_spec adis16400_channels[] = {
+static const struct iio_chan_spec adis16400_channels[] = {
        {
                .type = IIO_VOLTAGE,
                .indexed = 1,
@@ -740,7 +740,7 @@ static struct iio_chan_spec adis16400_channels[] = {
        IIO_CHAN_SOFT_TIMESTAMP(12)
 };
 
-static struct iio_chan_spec adis16350_channels[] = {
+static const struct iio_chan_spec adis16350_channels[] = {
        {
                .type = IIO_VOLTAGE,
                .indexed = 1,
@@ -865,7 +865,7 @@ static struct iio_chan_spec adis16350_channels[] = {
        IIO_CHAN_SOFT_TIMESTAMP(11)
 };
 
-static struct iio_chan_spec adis16300_channels[] = {
+static const struct iio_chan_spec adis16300_channels[] = {
        {
                .type = IIO_VOLTAGE,
                .indexed = 1,
index ec202b4..1e11ad5 100644 (file)
@@ -122,7 +122,7 @@ struct ade7758_state {
        u8                      *tx;
        u8                      *rx;
        struct mutex            buf_lock;
-       struct iio_chan_spec    *ade7758_ring_channels;
+       const struct iio_chan_spec *ade7758_ring_channels;
        struct spi_transfer     ring_xfer[4];
        struct spi_message      ring_msg;
        /*
index 7014a00..6d3725a 100644 (file)
@@ -661,7 +661,7 @@ static const struct attribute_group ade7758_attribute_group = {
        .attrs = ade7758_attributes,
 };
 
-static struct iio_chan_spec ade7758_channels[] = {
+static const struct iio_chan_spec ade7758_channels[] = {
        {
                .type = IIO_VOLTAGE,
                .indexed = 1,
index f313859..4ba4d05 100644 (file)
@@ -575,7 +575,7 @@ static IIO_DEVICE_ATTR(lot_low_thrd, S_IRUGO | S_IWUSR,
                       AD2S1210_REG_LOT_LOW_THRD);
 
 
-static struct iio_chan_spec ad2s1210_channels[] = {
+static const struct iio_chan_spec ad2s1210_channels[] = {
        {
                .type = IIO_ANGL,
                .indexed = 1,