Re: [PATCH v5 3/9] spi: support controllers with multiple data lanes
From: David Lechner
Date: Fri Jan 16 2026 - 18:12:12 EST
On 1/12/26 1:35 PM, Andy Shevchenko wrote:
> On Mon, Jan 12, 2026 at 07:11:26PM +0000, Mark Brown wrote:
>> On Mon, Jan 12, 2026 at 09:07:17PM +0200, Andy Shevchenko wrote:
>>> On Mon, Jan 12, 2026 at 11:45:21AM -0600, David Lechner wrote:
>
> ...
>
>>>> + /* Multi-lane SPI controller support. */
>>>> + u32 tx_lane_map[SPI_DEVICE_DATA_LANE_CNT_MAX];
>>>> + u32 num_tx_lanes;
>>>> + u32 rx_lane_map[SPI_DEVICE_DATA_LANE_CNT_MAX];
>>>> + u32 num_rx_lanes;
>>
>>> This adds 72 bytes in _each_ instance of spi_device on the platforms that do
>>> not use the feature and might not ever use it. Can we move to the pointer
>>> and allocate the mentioned fields separately, please?
>>
>> Do we have real systems where we have enough SPI devices for anyone to
>> care?
>
> Define "enough" :-) To me even dozen of devices is enough (it gets almost a 1kB
> of space) esp. if we are talking about quite low profile embedded systems.
>
We could make it u8 and save the same amount (on 64-bit systems) while avoiding
the extra complexity of separate allocation.
I'm not particularly keen on requiring `/bits/ 8` in the devicetree though since
it is unusual and often trips people up.