]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
iio: Convert IIO_CHAN_SOFT_TIMESTAMP() to be compound literal
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 25 May 2026 01:38:33 +0000 (20:38 -0500)
committerJonathan Cameron <jic23@kernel.org>
Sun, 31 May 2026 10:01:48 +0000 (11:01 +0100)
Currently IIO_CHAN_SOFT_TIMESTAMP() can only be used to fill the static
data.  In some cases it would be convenient to use it as right value in
the assignment operation. But it can't be done as is, because compiler
has no clue about the data layout. Converting it to be a compound literal
allows the above mentioned usage.

While at it, tidy up the indentation.

We also have to change existing uses of compound literal at the same
time to avoid compiler errors.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: David Lechner <dlechner@baylibre.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
drivers/iio/adc/ad7606.c
drivers/iio/adc/max11410.c
include/linux/iio/iio.h

index d9271894f091a837d29197f7de892c022b7e4152..cebb8ed8dcb115a0ed6cefac9c9e505778e8d2cd 100644 (file)
@@ -1475,7 +1475,7 @@ static int ad7606_probe_channels(struct iio_dev *indio_dev)
        }
 
        if (slow_bus)
-               channels[i] = (struct iio_chan_spec)IIO_CHAN_SOFT_TIMESTAMP(i);
+               channels[i] = IIO_CHAN_SOFT_TIMESTAMP(i);
 
        indio_dev->channels = channels;
 
index 69351f4f10bbae79565fe30199a5405f947dd348..dc1b963565920de35ecda57b45270a970bdabf49 100644 (file)
@@ -804,7 +804,7 @@ static int max11410_parse_channels(struct max11410_state *st,
                chan_idx++;
        }
 
-       channels[chan_idx] = (struct iio_chan_spec)IIO_CHAN_SOFT_TIMESTAMP(chan_idx);
+       channels[chan_idx] = IIO_CHAN_SOFT_TIMESTAMP(chan_idx);
 
        indio_dev->num_channels = chan_idx + 1;
        indio_dev->channels = channels;
index 96b05c86c325f6153ccca3b1cfce7bb27b8d5c77..711c00f67371356c913ef0dbf2325e3f4d35266d 100644 (file)
@@ -353,15 +353,15 @@ static inline bool iio_channel_has_available(const struct iio_chan_spec *chan,
                (chan->info_mask_shared_by_all_available & BIT(type));
 }
 
-#define IIO_CHAN_SOFT_TIMESTAMP(_si) {                                 \
+#define IIO_CHAN_SOFT_TIMESTAMP(_si) (struct iio_chan_spec) {          \
        .type = IIO_TIMESTAMP,                                          \
        .channel = -1,                                                  \
        .scan_index = _si,                                              \
        .scan_type = {                                                  \
                .sign = 's',                                            \
-               .realbits = 64,                                 \
+               .realbits = 64,                                         \
                .storagebits = 64,                                      \
-               },                                                      \
+       },                                                              \
 }
 
 s64 iio_get_time_ns(const struct iio_dev *indio_dev);