diff mbox

[1/2] spi: add spi_message_init_no_memset to avoid zeroing the spi_message

Message ID 1448632564-2381-2-git-send-email-kernel@martin.sperl.org (mailing list archive)
State Accepted
Commit 49ddedf3bfcb59a562c7db0e50aecd1422e9cdc9
Headers show

Commit Message

Martin Sperl Nov. 27, 2015, 1:56 p.m. UTC
From: Martin Sperl <kernel@martin.sperl.org>

In the spi_loopback_test driver there is the need to initialize
a spi_message that is filled with values from a static structure.

Applying spi_message_init to such a prefilled structure results in
all the settings getting reset to zero, which is not what we want.
Copying each field of spi_message separately instead always includes
the risk that some new fields have not been implemented in the copying
code.

So here we introduce a version of spi_message_init called
spi_message_init_no_memset that does not fill the structure
with zero first, but only initializes the relevant list_heads.

Signed-off-by: Martin Sperl <kernel@martin.sperl.org>
---
 include/linux/spi/spi.h |    7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
diff mbox

Patch

diff --git a/include/linux/spi/spi.h b/include/linux/spi/spi.h
index cce80e6..4c54d47 100644
--- a/include/linux/spi/spi.h
+++ b/include/linux/spi/spi.h
@@ -762,10 +762,15 @@  struct spi_message {
 	void			*state;
 };
 
+static inline void spi_message_init_no_memset(struct spi_message *m)
+{
+	INIT_LIST_HEAD(&m->transfers);
+}
+
 static inline void spi_message_init(struct spi_message *m)
 {
 	memset(m, 0, sizeof *m);
-	INIT_LIST_HEAD(&m->transfers);
+	spi_message_init_no_memset(m);
 }
 
 static inline void