Messages in this thread | ![/](/images/icornerl.gif) | | Date | Mon, 4 Mar 2024 10:16:05 -0600 | Subject | Re: [PATCH v2 2/3] spi: axi-spi-engine: use __counted_by() attribute | From | "Gustavo A. R. Silva" <> |
| |
On 04/03/24 10:04, David Lechner wrote: > 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: Nuno Sá <nuno.sa@analog.com> > Signed-off-by: David Lechner <dlechner@baylibre.com>
Reviewed-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Thanks -- Gustavo
> --- > v2 changes: > * Reordered assignment of length field. > --- > drivers/spi/spi-axi-spi-engine.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/drivers/spi/spi-axi-spi-engine.c b/drivers/spi/spi-axi-spi-engine.c > index d89f75170c9e..a8f626165f44 100644 > --- a/drivers/spi/spi-axi-spi-engine.c > +++ b/drivers/spi/spi-axi-spi-engine.c > @@ -75,7 +75,7 @@ > > struct spi_engine_program { > unsigned int length; > - uint16_t instructions[]; > + uint16_t instructions[] __counted_by(length); > }; > > /** > @@ -115,9 +115,10 @@ struct spi_engine { > static void spi_engine_program_add_cmd(struct spi_engine_program *p, > bool dry, uint16_t cmd) > { > - if (!dry) > - p->instructions[p->length] = cmd; > p->length++; > + > + if (!dry) > + p->instructions[p->length - 1] = cmd; > } > > static unsigned int spi_engine_get_config(struct spi_device *spi) >
| ![\](/images/icornerr.gif) |