2017-12-08 17:42:18

by Stefan Brüns

[permalink] [raw]
Subject: [PATCH v1 2/7] iio: adc: ina2xx: Clarify size requirement for data buffer

The timestamp is inserted into the buffer after the sample data by
iio_push_to_buffers_with_timestamp, document the space requirement for
the timestamp.

Signed-off-by: Stefan Brüns <[email protected]>
---

drivers/iio/adc/ina2xx-adc.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/iio/adc/ina2xx-adc.c b/drivers/iio/adc/ina2xx-adc.c
index 3195f8754c3b..8c8120406f52 100644
--- a/drivers/iio/adc/ina2xx-adc.c
+++ b/drivers/iio/adc/ina2xx-adc.c
@@ -700,7 +700,8 @@ static const struct iio_chan_spec ina219_channels[] = {
static int ina2xx_work_buffer(struct iio_dev *indio_dev)
{
struct ina2xx_chip_info *chip = iio_priv(indio_dev);
- unsigned short data[8];
+ /* data buffer needs space for channel data and timestap */
+ unsigned short data[4 + sizeof(s64)/sizeof(short)];
int bit, ret, i = 0;
s64 time_a, time_b;
unsigned int alert;
--
2.15.1


2017-12-17 09:44:52

by Jonathan Cameron

[permalink] [raw]
Subject: Re: [PATCH v1 2/7] iio: adc: ina2xx: Clarify size requirement for data buffer

On Fri, 8 Dec 2017 18:41:47 +0100
Stefan Brüns <[email protected]> wrote:

> The timestamp is inserted into the buffer after the sample data by
> iio_push_to_buffers_with_timestamp, document the space requirement for
> the timestamp.
>
> Signed-off-by: Stefan Brüns <[email protected]>
Applied and pushed out as testing for the autobuilders to play with it.
Thanks,

Jonathan
> ---
>
> drivers/iio/adc/ina2xx-adc.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/iio/adc/ina2xx-adc.c b/drivers/iio/adc/ina2xx-adc.c
> index 3195f8754c3b..8c8120406f52 100644
> --- a/drivers/iio/adc/ina2xx-adc.c
> +++ b/drivers/iio/adc/ina2xx-adc.c
> @@ -700,7 +700,8 @@ static const struct iio_chan_spec ina219_channels[] = {
> static int ina2xx_work_buffer(struct iio_dev *indio_dev)
> {
> struct ina2xx_chip_info *chip = iio_priv(indio_dev);
> - unsigned short data[8];
> + /* data buffer needs space for channel data and timestap */
> + unsigned short data[4 + sizeof(s64)/sizeof(short)];
> int bit, ret, i = 0;
> s64 time_a, time_b;
> unsigned int alert;