Message ID | 20241101105342.3645018-1-andriy.shevchenko@linux.intel.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | [v1,1/1] iio: Mark iio_dev::priv member with __private | expand |
On Fri, 1 Nov 2024 12:53:42 +0200 Andy Shevchenko <andriy.shevchenko@linux.intel.com> 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@linux.intel.com> 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);
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);
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> --- drivers/iio/industrialio-core.c | 2 +- include/linux/iio/iio.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-)