Skip to content

Commit

Permalink
spi: add spi_message_init_no_memset to avoid zeroing the spi_message
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Martin Sperl authored and Mark Brown committed Dec 12, 2015
1 parent 8005c49 commit 49ddedf
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion include/linux/spi/spi.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 49ddedf

Please sign in to comment.