forked from mirrors/linux
		
	spi: Reorder fields in 'struct spi_message'
Group some variables based on their sizes to reduce hole and avoid padding. On x86_64, this shrinks the size from 112 to 96 bytes. This should have no real impact on memory allocation because 'struct spi_message' is mostly used on stack, but it can save a few cycles when the structure is initialized with spi_message_init() and co. Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Tested-by: Muhammad Usama Anjum <usama.anjum@collabora.com> Reviewed-by: Muhammad Usama Anjum <usama.anjum@collabora.com> Link: https://lore.kernel.org/r/c112aad16eb47808e1ec10abd87b3d273c969a68.1677704283.git.christophe.jaillet@wanadoo.fr Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
		
							parent
							
								
									8c220e6c6d
								
							
						
					
					
						commit
						ae2ade4ba5
					
				
					 1 changed files with 4 additions and 4 deletions
				
			
		| 
						 | 
					@ -1093,6 +1093,9 @@ struct spi_message {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	unsigned		is_dma_mapped:1;
 | 
						unsigned		is_dma_mapped:1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/* spi_prepare_message() was called for this message */
 | 
				
			||||||
 | 
						bool			prepared;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* REVISIT:  we might want a flag affecting the behavior of the
 | 
						/* REVISIT:  we might want a flag affecting the behavior of the
 | 
				
			||||||
	 * last transfer ... allowing things like "read 16 bit length L"
 | 
						 * last transfer ... allowing things like "read 16 bit length L"
 | 
				
			||||||
	 * immediately followed by "read L bytes".  Basically imposing
 | 
						 * immediately followed by "read L bytes".  Basically imposing
 | 
				
			||||||
| 
						 | 
					@ -1105,11 +1108,11 @@ struct spi_message {
 | 
				
			||||||
	 */
 | 
						 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* Completion is reported through a callback */
 | 
						/* Completion is reported through a callback */
 | 
				
			||||||
 | 
						int			status;
 | 
				
			||||||
	void			(*complete)(void *context);
 | 
						void			(*complete)(void *context);
 | 
				
			||||||
	void			*context;
 | 
						void			*context;
 | 
				
			||||||
	unsigned		frame_length;
 | 
						unsigned		frame_length;
 | 
				
			||||||
	unsigned		actual_length;
 | 
						unsigned		actual_length;
 | 
				
			||||||
	int			status;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* For optional use by whatever driver currently owns the
 | 
						/* For optional use by whatever driver currently owns the
 | 
				
			||||||
	 * spi_message ...  between calls to spi_async and then later
 | 
						 * spi_message ...  between calls to spi_async and then later
 | 
				
			||||||
| 
						 | 
					@ -1120,9 +1123,6 @@ struct spi_message {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* List of spi_res reources when the spi message is processed */
 | 
						/* List of spi_res reources when the spi message is processed */
 | 
				
			||||||
	struct list_head        resources;
 | 
						struct list_head        resources;
 | 
				
			||||||
 | 
					 | 
				
			||||||
	/* spi_prepare_message() was called for this message */
 | 
					 | 
				
			||||||
	bool			prepared;
 | 
					 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static inline void spi_message_init_no_memset(struct spi_message *m)
 | 
					static inline void spi_message_init_no_memset(struct spi_message *m)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue