Re: [PATCH v1 3/3] spi: xilinx: Make num_chipselect 8-bit in the struct xspi_platform_data

From: Michal Simek
Date: Fri Mar 08 2024 - 08:48:20 EST




On 3/8/24 14:31, Andy Shevchenko wrote:
On Fri, Mar 08, 2024 at 09:20:23AM +0100, Michal Simek wrote:
On 3/7/24 16:43, Andy Shevchenko wrote:

...

struct xspi_platform_data {
- u16 num_chipselect;
- u8 bits_per_word;
- struct spi_board_info *devices;
- u8 num_devices;
bool force_irq;
+ u8 num_chipselect;
+ u8 bits_per_word;
+ u8 num_devices;

all above have 32bits. It means on 64bit cpu you have 32bit gap here.

+ struct spi_board_info *devices;

On all architectures? I mean do all 64-bit architecture ABIs _require_
the pointer to be aligned at 8-byte boundary? Even if so, the struct
itself can be aligned on 4-byte boundary.

I am not able to tell if toolchain enforce 8byte alignment by default/by setup on all 64bit systems.
I am using pahole to check this which was recommended by Greg in past which reports gap in the middle.

thanks,
Michal