struct isl29125_data {
        struct i2c_client *client;
        u8 conf1;
-       u16 buffer[8]; /* 3x 16-bit, padding, 8 bytes timestamp */
+       /* Ensure timestamp is naturally aligned */
+       struct {
+               u16 chans[3];
+               s64 timestamp __aligned(8);
+       } scan;
 };
 
 #define ISL29125_CHANNEL(_color, _si) { \
                if (ret < 0)
                        goto done;
 
-               data->buffer[j++] = ret;
+               data->scan.chans[j++] = ret;
        }
 
-       iio_push_to_buffers_with_timestamp(indio_dev, data->buffer,
+       iio_push_to_buffers_with_timestamp(indio_dev, &data->scan,
                iio_get_time_ns(indio_dev));
 
 done: