On Fri, 1 Nov 2024 12:53:42 +0200 Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote: > 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@xxxxxxxxxxxxxxx> Makes sense. Applied and pushed out as testing for all the normal reasons. Jonathan > --- > drivers/iio/industrialio-core.c | 2 +- > include/linux/iio/iio.h | 4 ++-- > 2 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/iio/industrialio-core.c b/drivers/iio/industrialio-core.c > index 6a6568d4a2cb..4c543490e56c 100644 > --- a/drivers/iio/industrialio-core.c > +++ b/drivers/iio/industrialio-core.c > @@ -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; > diff --git a/include/linux/iio/iio.h b/include/linux/iio/iio.h > index 445d6666a291..5c6682bd4cb9 100644 > --- a/include/linux/iio/iio.h > +++ b/include/linux/iio/iio.h > @@ -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);