Re: [PATCH 5/9] iio: core: move @scan_index_timestamp to struct iio_dev_opaque

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Apr 26, 2021 at 8:50 PM Jonathan Cameron <jic23@xxxxxxxxxx> wrote:
>
> From: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx>
>
> No reason for this cached value to be exposed to drivers so move it
> to the opaque structure.
>


Reviewed-by: Alexandru Ardelean <ardeleanalex@xxxxxxxxx>


> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx>
> ---
>  drivers/iio/industrialio-buffer.c | 7 +++++--
>  include/linux/iio/iio-opaque.h    | 4 ++++
>  include/linux/iio/iio.h           | 2 --
>  3 files changed, 9 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/iio/industrialio-buffer.c b/drivers/iio/industrialio-buffer.c
> index 9a8e16c7e9af..9ecb3c58d94c 100644
> --- a/drivers/iio/industrialio-buffer.c
> +++ b/drivers/iio/industrialio-buffer.c
> @@ -601,8 +601,10 @@ static unsigned int iio_storage_bytes_for_si(struct iio_dev *indio_dev,
>
>  static unsigned int iio_storage_bytes_for_timestamp(struct iio_dev *indio_dev)
>  {
> +       struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev);
> +
>         return iio_storage_bytes_for_si(indio_dev,
> -                                       indio_dev->scan_index_timestamp);
> +                                       iio_dev_opaque->scan_index_timestamp);
>  }
>
>  static int iio_compute_scan_bytes(struct iio_dev *indio_dev,
> @@ -1469,6 +1471,7 @@ static int __iio_buffer_alloc_sysfs_and_mask(struct iio_buffer *buffer,
>                                              struct iio_dev *indio_dev,
>                                              int index)
>  {
> +       struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev);
>         struct iio_dev_attr *p;
>         struct attribute **attr;
>         int ret, i, attrn, scan_el_attrcount, buffer_attrcount;
> @@ -1495,7 +1498,7 @@ static int __iio_buffer_alloc_sysfs_and_mask(struct iio_buffer *buffer,
>                                 goto error_cleanup_dynamic;
>                         scan_el_attrcount += ret;
>                         if (channels[i].type == IIO_TIMESTAMP)
> -                               indio_dev->scan_index_timestamp =
> +                               iio_dev_opaque->scan_index_timestamp =
>                                         channels[i].scan_index;
>                 }
>                 if (indio_dev->masklength && buffer->scan_mask == NULL) {
> diff --git a/include/linux/iio/iio-opaque.h b/include/linux/iio/iio-opaque.h
> index 10aa97239117..02038fb2d291 100644
> --- a/include/linux/iio/iio-opaque.h
> +++ b/include/linux/iio/iio-opaque.h
> @@ -22,6 +22,7 @@
>   * @groupcounter:              index of next attribute group
>   * @legacy_scan_el_group:      attribute group for legacy scan elements attribute group
>   * @legacy_buffer_group:       attribute group for legacy buffer attributes group
> + * @scan_index_timestamp:      cache of the index to the timestamp
>   * @debugfs_dentry:            device specific debugfs dentry
>   * @cached_reg_addr:           cached register address for debugfs reads
>   * @read_buf:                  read buffer to be used for the initial reg read
> @@ -44,6 +45,9 @@ struct iio_dev_opaque {
>         int                             groupcounter;
>         struct attribute_group          legacy_scan_el_group;
>         struct attribute_group          legacy_buffer_group;
> +
> +       unsigned int                    scan_index_timestamp;
> +
>  #if defined(CONFIG_DEBUG_FS)
>         struct dentry                   *debugfs_dentry;
>         unsigned                        cached_reg_addr;
> diff --git a/include/linux/iio/iio.h b/include/linux/iio/iio.h
> index 672f141f74c5..cbc9e9ece0a6 100644
> --- a/include/linux/iio/iio.h
> +++ b/include/linux/iio/iio.h
> @@ -501,7 +501,6 @@ struct iio_buffer_setup_ops {
>   *                     channels
>   * @active_scan_mask:  [INTERN] union of all scan masks requested by buffers
>   * @scan_timestamp:    [INTERN] set if any buffers have requested timestamp
> - * @scan_index_timestamp:[INTERN] cache of the index to the timestamp
>   * @trig:              [INTERN] current device trigger (buffer modes)
>   * @pollfunc:          [DRIVER] function run on trigger being received
>   * @pollfunc_event:    [DRIVER] function run on events trigger being received
> @@ -532,7 +531,6 @@ struct iio_dev {
>         unsigned                        masklength;
>         const unsigned long             *active_scan_mask;
>         bool                            scan_timestamp;
> -       unsigned                        scan_index_timestamp;
>         struct iio_trigger              *trig;
>         struct iio_poll_func            *pollfunc;
>         struct iio_poll_func            *pollfunc_event;
> --
> 2.31.1
>



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux