spi: add spi_message_init_no_memset to avoid zeroing the spi_message
authorMartin Sperl <kernel@martin.sperl.org>
Fri, 27 Nov 2015 13:56:03 +0000 (13:56 +0000)
committerMark Brown <broonie@kernel.org>
Sat, 12 Dec 2015 23:05:18 +0000 (23:05 +0000)
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>
Signed-off-by: Mark Brown <broonie@kernel.org>
include/linux/spi/spi.h

index cce80e6dc7d115960d8e2ac8833c752ce4a4369a..4c54d4744107d4e557505de92d29ecddd0a1ff94 100644 (file)
@@ -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
This page took 0.029111 seconds and 5 git commands to generate.