iio: Mark iio_dev::priv member with __private
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Fri, 1 Nov 2024 10:53:42 +0000 (12:53 +0200)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sun, 3 Nov 2024 20:33:42 +0000 (20:33 +0000)
The member is not supposed to be accessed directly, mark it with
__private to catch the misuses up.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://patch.msgid.link/20241101105342.3645018-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/industrialio-core.c
include/linux/iio/iio.h

index 6a6568d..4c54349 100644 (file)
@@ -1665,7 +1665,7 @@ struct iio_dev *iio_device_alloc(struct device *parent, int sizeof_priv)
        indio_dev = &iio_dev_opaque->indio_dev;
 
        if (sizeof_priv)
-               indio_dev->priv = (char *)iio_dev_opaque +
+               ACCESS_PRIVATE(indio_dev, priv) = (char *)iio_dev_opaque +
                        ALIGN(sizeof(*iio_dev_opaque), IIO_DMA_MINALIGN);
 
        indio_dev->dev.parent = parent;
index 445d666..5c6682b 100644 (file)
@@ -624,7 +624,7 @@ struct iio_dev {
        const struct iio_info           *info;
        const struct iio_buffer_setup_ops       *setup_ops;
 
-       void                            *priv;
+       void                            *priv __private;
 };
 
 int iio_device_id(struct iio_dev *indio_dev);
@@ -785,7 +785,7 @@ struct iio_dev *iio_device_alloc(struct device *parent, int sizeof_priv);
 /* The information at the returned address is guaranteed to be cacheline aligned */
 static inline void *iio_priv(const struct iio_dev *indio_dev)
 {
-       return indio_dev->priv;
+       return ACCESS_PRIVATE(indio_dev, priv);
 }
 
 void iio_device_free(struct iio_dev *indio_dev);