From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jonathan Cameron Subject: Re: [PATCH v4 10/12] IIO: consumer: allow to set buffer sizes Date: Sun, 19 Nov 2017 14:19:29 +0000 Message-ID: <20171119141929.16e94df7@archlinux> References: <1510222354-15290-1-git-send-email-arnaud.pouliquen@st.com> <1510222354-15290-11-git-send-email-arnaud.pouliquen@st.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1510222354-15290-11-git-send-email-arnaud.pouliquen-qxv4g6HH51o@public.gmane.org> Sender: linux-iio-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Arnaud Pouliquen Cc: Rob Herring , Mark Rutland , Hartmut Knaack , Lars-Peter Clausen , Peter Meerwald-Stadler , Jaroslav Kysela , Takashi Iwai , Liam Girdwood , Mark Brown , devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, linux-iio-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, alsa-devel-K7yf7f+aM1XWsZ/bQMPhNw@public.gmane.org, Maxime Coquelin , Alexandre Torgue List-Id: devicetree@vger.kernel.org On Thu, 9 Nov 2017 11:12:32 +0100 Arnaud Pouliquen wrote: > Add iio consumer API to set buffer size and watermark according > to sysfs API. > > Signed-off-by: Arnaud Pouliquen Reviewed-by: Jonathan Cameron > --- > V3 -> V4 changes: > - Set only the Watermark not the buffer lenght > - Rename functions to replace "params" with "watermark" > > drivers/iio/buffer/industrialio-buffer-cb.c | 11 +++++++++++ > include/linux/iio/consumer.h | 11 +++++++++++ > 2 files changed, 22 insertions(+) > > diff --git a/drivers/iio/buffer/industrialio-buffer-cb.c b/drivers/iio/buffer/industrialio-buffer-cb.c > index 4847534..ea63c83 100644 > --- a/drivers/iio/buffer/industrialio-buffer-cb.c > +++ b/drivers/iio/buffer/industrialio-buffer-cb.c > @@ -104,6 +104,17 @@ struct iio_cb_buffer *iio_channel_get_all_cb(struct device *dev, > } > EXPORT_SYMBOL_GPL(iio_channel_get_all_cb); > > +int iio_channel_cb_set_buffer_watermark(struct iio_cb_buffer *cb_buff, > + size_t watermark) > +{ > + if (!watermark) > + return -EINVAL; > + cb_buff->buffer.watermark = watermark; > + > + return 0; > +} > +EXPORT_SYMBOL_GPL(iio_channel_cb_set_buffer_watermark); > + > int iio_channel_start_all_cb(struct iio_cb_buffer *cb_buff) > { > return iio_update_buffers(cb_buff->indio_dev, &cb_buff->buffer, > diff --git a/include/linux/iio/consumer.h b/include/linux/iio/consumer.h > index 5e347a9..0d94557 100644 > --- a/include/linux/iio/consumer.h > +++ b/include/linux/iio/consumer.h > @@ -134,6 +134,17 @@ struct iio_cb_buffer *iio_channel_get_all_cb(struct device *dev, > void *private), > void *private); > /** > + * iio_channel_cb_set_buffer_watermark() - set the buffer watermark. > + * @cb_buffer: The callback buffer from whom we want the channel > + * information. > + * @watermark: buffer watermark in bytes. > + * > + * This function allows to configure the buffer watermark. > + */ > +int iio_channel_cb_set_buffer_watermark(struct iio_cb_buffer *cb_buffer, > + size_t watermark); > + > +/** > * iio_channel_release_all_cb() - release and unregister the callback. > * @cb_buffer: The callback buffer that was allocated. > */ From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.kernel.org ([198.145.29.99]:54490 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750974AbdKSO0d (ORCPT ); Sun, 19 Nov 2017 09:26:33 -0500 Date: Sun, 19 Nov 2017 14:19:29 +0000 From: Jonathan Cameron To: Arnaud Pouliquen Cc: Rob Herring , Mark Rutland , Hartmut Knaack , Lars-Peter Clausen , Peter Meerwald-Stadler , Jaroslav Kysela , Takashi Iwai , Liam Girdwood , Mark Brown , , , , , Maxime Coquelin , Alexandre Torgue Subject: Re: [PATCH v4 10/12] IIO: consumer: allow to set buffer sizes Message-ID: <20171119141929.16e94df7@archlinux> In-Reply-To: <1510222354-15290-11-git-send-email-arnaud.pouliquen@st.com> References: <1510222354-15290-1-git-send-email-arnaud.pouliquen@st.com> <1510222354-15290-11-git-send-email-arnaud.pouliquen@st.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Sender: linux-iio-owner@vger.kernel.org List-Id: linux-iio@vger.kernel.org On Thu, 9 Nov 2017 11:12:32 +0100 Arnaud Pouliquen wrote: > Add iio consumer API to set buffer size and watermark according > to sysfs API. > > Signed-off-by: Arnaud Pouliquen Reviewed-by: Jonathan Cameron > --- > V3 -> V4 changes: > - Set only the Watermark not the buffer lenght > - Rename functions to replace "params" with "watermark" > > drivers/iio/buffer/industrialio-buffer-cb.c | 11 +++++++++++ > include/linux/iio/consumer.h | 11 +++++++++++ > 2 files changed, 22 insertions(+) > > diff --git a/drivers/iio/buffer/industrialio-buffer-cb.c b/drivers/iio/buffer/industrialio-buffer-cb.c > index 4847534..ea63c83 100644 > --- a/drivers/iio/buffer/industrialio-buffer-cb.c > +++ b/drivers/iio/buffer/industrialio-buffer-cb.c > @@ -104,6 +104,17 @@ struct iio_cb_buffer *iio_channel_get_all_cb(struct device *dev, > } > EXPORT_SYMBOL_GPL(iio_channel_get_all_cb); > > +int iio_channel_cb_set_buffer_watermark(struct iio_cb_buffer *cb_buff, > + size_t watermark) > +{ > + if (!watermark) > + return -EINVAL; > + cb_buff->buffer.watermark = watermark; > + > + return 0; > +} > +EXPORT_SYMBOL_GPL(iio_channel_cb_set_buffer_watermark); > + > int iio_channel_start_all_cb(struct iio_cb_buffer *cb_buff) > { > return iio_update_buffers(cb_buff->indio_dev, &cb_buff->buffer, > diff --git a/include/linux/iio/consumer.h b/include/linux/iio/consumer.h > index 5e347a9..0d94557 100644 > --- a/include/linux/iio/consumer.h > +++ b/include/linux/iio/consumer.h > @@ -134,6 +134,17 @@ struct iio_cb_buffer *iio_channel_get_all_cb(struct device *dev, > void *private), > void *private); > /** > + * iio_channel_cb_set_buffer_watermark() - set the buffer watermark. > + * @cb_buffer: The callback buffer from whom we want the channel > + * information. > + * @watermark: buffer watermark in bytes. > + * > + * This function allows to configure the buffer watermark. > + */ > +int iio_channel_cb_set_buffer_watermark(struct iio_cb_buffer *cb_buffer, > + size_t watermark); > + > +/** > * iio_channel_release_all_cb() - release and unregister the callback. > * @cb_buffer: The callback buffer that was allocated. > */ From mboxrd@z Thu Jan 1 00:00:00 1970 From: jic23@kernel.org (Jonathan Cameron) Date: Sun, 19 Nov 2017 14:19:29 +0000 Subject: [PATCH v4 10/12] IIO: consumer: allow to set buffer sizes In-Reply-To: <1510222354-15290-11-git-send-email-arnaud.pouliquen@st.com> References: <1510222354-15290-1-git-send-email-arnaud.pouliquen@st.com> <1510222354-15290-11-git-send-email-arnaud.pouliquen@st.com> Message-ID: <20171119141929.16e94df7@archlinux> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Thu, 9 Nov 2017 11:12:32 +0100 Arnaud Pouliquen wrote: > Add iio consumer API to set buffer size and watermark according > to sysfs API. > > Signed-off-by: Arnaud Pouliquen Reviewed-by: Jonathan Cameron > --- > V3 -> V4 changes: > - Set only the Watermark not the buffer lenght > - Rename functions to replace "params" with "watermark" > > drivers/iio/buffer/industrialio-buffer-cb.c | 11 +++++++++++ > include/linux/iio/consumer.h | 11 +++++++++++ > 2 files changed, 22 insertions(+) > > diff --git a/drivers/iio/buffer/industrialio-buffer-cb.c b/drivers/iio/buffer/industrialio-buffer-cb.c > index 4847534..ea63c83 100644 > --- a/drivers/iio/buffer/industrialio-buffer-cb.c > +++ b/drivers/iio/buffer/industrialio-buffer-cb.c > @@ -104,6 +104,17 @@ struct iio_cb_buffer *iio_channel_get_all_cb(struct device *dev, > } > EXPORT_SYMBOL_GPL(iio_channel_get_all_cb); > > +int iio_channel_cb_set_buffer_watermark(struct iio_cb_buffer *cb_buff, > + size_t watermark) > +{ > + if (!watermark) > + return -EINVAL; > + cb_buff->buffer.watermark = watermark; > + > + return 0; > +} > +EXPORT_SYMBOL_GPL(iio_channel_cb_set_buffer_watermark); > + > int iio_channel_start_all_cb(struct iio_cb_buffer *cb_buff) > { > return iio_update_buffers(cb_buff->indio_dev, &cb_buff->buffer, > diff --git a/include/linux/iio/consumer.h b/include/linux/iio/consumer.h > index 5e347a9..0d94557 100644 > --- a/include/linux/iio/consumer.h > +++ b/include/linux/iio/consumer.h > @@ -134,6 +134,17 @@ struct iio_cb_buffer *iio_channel_get_all_cb(struct device *dev, > void *private), > void *private); > /** > + * iio_channel_cb_set_buffer_watermark() - set the buffer watermark. > + * @cb_buffer: The callback buffer from whom we want the channel > + * information. > + * @watermark: buffer watermark in bytes. > + * > + * This function allows to configure the buffer watermark. > + */ > +int iio_channel_cb_set_buffer_watermark(struct iio_cb_buffer *cb_buffer, > + size_t watermark); > + > +/** > * iio_channel_release_all_cb() - release and unregister the callback. > * @cb_buffer: The callback buffer that was allocated. > */