*     the @cur_msg_completion. This flag is used to signal the context that
  *     is running spi_finalize_current_message() that it needs to complete()
  * @cur_msg_mapped: message has been mapped for DMA
+ * @fallback: fallback to PIO if DMA transfer return failure with
+ *     SPI_TRANS_FAIL_NO_START.
+ * @last_cs_mode_high: was (mode & SPI_CS_HIGH) true on the last call to set_cs.
  * @last_cs: the last chip_select that is recorded by set_cs, -1 on non chip
  *           selected
- * @last_cs_mode_high: was (mode & SPI_CS_HIGH) true on the last call to set_cs.
  * @xfer_completion: used by core transfer_one_message()
  * @busy: message pump is busy
  * @running: message pump is running
  *     If the driver does not set this, the SPI core takes the snapshot as
  *     close to the driver hand-over as possible.
  * @irq_flags: Interrupt enable state during PTP system timestamping
- * @fallback: fallback to PIO if DMA transfer return failure with
- *     SPI_TRANS_FAIL_NO_START.
  * @queue_empty: signal green light for opportunistically skipping the queue
  *     for spi_sync transfers.
  * @must_async: disable all fast paths in the core
        bool                            rt;
        bool                            auto_runtime_pm;
        bool                            cur_msg_mapped;
-       char                            last_cs[SPI_CS_CNT_MAX];
-       char                            last_cs_index_mask;
-       bool                            last_cs_mode_high;
        bool                            fallback;
+       bool                            last_cs_mode_high;
+       s8                              last_cs[SPI_CS_CNT_MAX];
+       u32                             last_cs_index_mask : SPI_CS_CNT_MAX;
        struct completion               xfer_completion;
        size_t                          max_dma_len;