Commit c8340ac1 authored by David Lechner's avatar David Lechner Committed by Mark Brown

spi: axi-spi-engine: use __counted_by() attribute

This adds the __counted_by() attribute to the flex array at the end of
struct spi_engine_program in the AXI SPI Engine controller driver.

The assignment of the length field has to be reordered to be before
the access to the flex array in order to avoid potential compiler
warnings/errors due to adding the __counted_by() attribute.
Suggested-by: default avatarNuno Sá <nuno.sa@analog.com>
Signed-off-by: default avatarDavid Lechner <dlechner@baylibre.com>
Reviewed-by: default avatarGustavo A. R. Silva <gustavoars@kernel.org>
Reviewed-by: default avatarKees Cook <keescook@chromium.org>
Link: https://msgid.link/r/20240304-mainline-axi-spi-engine-small-cleanups-v2-2-5b14ed729a31@baylibre.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent 69d54ee2
...@@ -75,7 +75,7 @@ ...@@ -75,7 +75,7 @@
struct spi_engine_program { struct spi_engine_program {
unsigned int length; unsigned int length;
uint16_t instructions[]; uint16_t instructions[] __counted_by(length);
}; };
/** /**
...@@ -115,9 +115,10 @@ struct spi_engine { ...@@ -115,9 +115,10 @@ struct spi_engine {
static void spi_engine_program_add_cmd(struct spi_engine_program *p, static void spi_engine_program_add_cmd(struct spi_engine_program *p,
bool dry, uint16_t cmd) bool dry, uint16_t cmd)
{ {
if (!dry)
p->instructions[p->length] = cmd;
p->length++; p->length++;
if (!dry)
p->instructions[p->length - 1] = cmd;
} }
static unsigned int spi_engine_get_config(struct spi_device *spi) static unsigned int spi_engine_get_config(struct spi_device *spi)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment