struct mutex mutex;
        struct regmap *regmap;
        struct iio_trigger *dready_trig;
-       __be16 buffer[8];
+       /* Ensure timestamp is naturally aligned */
+       struct {
+               __be16 chans[3];
+               s64 timestamp __aligned(8);
+       } scan;
        bool trigger_enabled;
 };
 
        int ret;
 
        ret = regmap_bulk_read(data->regmap, MXC4005_REG_XOUT_UPPER,
-                              data->buffer, sizeof(data->buffer));
+                              data->scan.chans, sizeof(data->scan.chans));
        if (ret < 0) {
                dev_err(data->dev, "failed to read axes\n");
                return ret;
        if (ret < 0)
                goto err;
 
-       iio_push_to_buffers_with_timestamp(indio_dev, data->buffer,
+       iio_push_to_buffers_with_timestamp(indio_dev, &data->scan,
                                           pf->timestamp);
 
 err: