Re: [PATCH 8/9] iio: core: move @flags from struct iio_dev 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 any driver should ever need access to this field, so hide it.
>


Reviewed-by: Alexandru Ardelean <ardeleanalex@xxxxxxxxx>


> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx>
> ---
>  drivers/iio/industrialio-core.c | 6 +++---
>  include/linux/iio/iio-opaque.h  | 2 ++
>  include/linux/iio/iio.h         | 2 --
>  3 files changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/iio/industrialio-core.c b/drivers/iio/industrialio-core.c
> index 6fbe29f0b1de..4a4c02fea152 100644
> --- a/drivers/iio/industrialio-core.c
> +++ b/drivers/iio/industrialio-core.c
> @@ -1720,7 +1720,7 @@ static int iio_chrdev_open(struct inode *inode, struct file *filp)
>         struct iio_dev *indio_dev = &iio_dev_opaque->indio_dev;
>         struct iio_dev_buffer_pair *ib;
>
> -       if (test_and_set_bit(IIO_BUSY_BIT_POS, &indio_dev->flags))
> +       if (test_and_set_bit(IIO_BUSY_BIT_POS, &iio_dev_opaque->flags))
>                 return -EBUSY;
>
>         iio_device_get(indio_dev);
> @@ -1728,7 +1728,7 @@ static int iio_chrdev_open(struct inode *inode, struct file *filp)
>         ib = kmalloc(sizeof(*ib), GFP_KERNEL);
>         if (!ib) {
>                 iio_device_put(indio_dev);
> -               clear_bit(IIO_BUSY_BIT_POS, &indio_dev->flags);
> +               clear_bit(IIO_BUSY_BIT_POS, &iio_dev_opaque->flags);
>                 return -ENOMEM;
>         }
>
> @@ -1754,7 +1754,7 @@ static int iio_chrdev_release(struct inode *inode, struct file *filp)
>                 container_of(inode->i_cdev, struct iio_dev_opaque, chrdev);
>         struct iio_dev *indio_dev = &iio_dev_opaque->indio_dev;
>         kfree(ib);
> -       clear_bit(IIO_BUSY_BIT_POS, &indio_dev->flags);
> +       clear_bit(IIO_BUSY_BIT_POS, &iio_dev_opaque->flags);
>         iio_device_put(indio_dev);
>
>         return 0;
> diff --git a/include/linux/iio/iio-opaque.h b/include/linux/iio/iio-opaque.h
> index 2f8ef5d15a66..d7c3036861ac 100644
> --- a/include/linux/iio/iio-opaque.h
> +++ b/include/linux/iio/iio-opaque.h
> @@ -25,6 +25,7 @@
>   * @legacy_buffer_group:       attribute group for legacy buffer attributes group
>   * @scan_index_timestamp:      cache of the index to the timestamp
>   * @chrdev:                    associated character device
> + * @flags:                     file ops related flags including busy flag.
>   * @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
> @@ -51,6 +52,7 @@ struct iio_dev_opaque {
>
>         unsigned int                    scan_index_timestamp;
>         struct cdev                     chrdev;
> +       unsigned long                   flags;
>
>  #if defined(CONFIG_DEBUG_FS)
>         struct dentry                   *debugfs_dentry;
> diff --git a/include/linux/iio/iio.h b/include/linux/iio/iio.h
> index 586e2dc4fbf3..ed0537015eee 100644
> --- a/include/linux/iio/iio.h
> +++ b/include/linux/iio/iio.h
> @@ -512,7 +512,6 @@ struct iio_buffer_setup_ops {
>   * @clock_id:          [INTERN] timestamping clock posix identifier
>   * @setup_ops:         [DRIVER] callbacks to call before and after buffer
>   *                     enable/disable
> - * @flags:             [INTERN] file ops related flags including busy flag.
>   * @priv:              [DRIVER] reference to driver's private information
>   *                     **MUST** be accessed **ONLY** via iio_priv() helper
>   */
> @@ -542,7 +541,6 @@ struct iio_dev {
>         clockid_t                       clock_id;
>         const struct iio_buffer_setup_ops       *setup_ops;
>
> -       unsigned long                   flags;
>         void                            *priv;
>  };
>
> --
> 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