There was a recent discussion about this code: https://lore.kernel.org/linux-iio/20200322165317.0b1f0674@archlinux/
This looks like a good time to rework this, since any issues about it should pop-up under testing, because the iio_dev is having a bit of an overhaul and stuff being moved to iio_dev_priv. Signed-off-by: Alexandru Ardelean <alexandru.ardel...@analog.com> --- drivers/iio/industrialio-core.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/drivers/iio/industrialio-core.c b/drivers/iio/industrialio-core.c index f0888dd84d3d..b924197b5984 100644 --- a/drivers/iio/industrialio-core.c +++ b/drivers/iio/industrialio-core.c @@ -1521,13 +1521,9 @@ struct iio_dev *iio_device_alloc(int sizeof_priv) struct iio_dev *dev; size_t alloc_size; - alloc_size = sizeof(struct iio_dev_priv); - if (sizeof_priv) { - alloc_size = ALIGN(alloc_size, IIO_ALIGN); - alloc_size += sizeof_priv; - } - /* ensure 32-byte alignment of whole construct ? */ - alloc_size += IIO_ALIGN - 1; + alloc_size = ALIGN(sizeof(struct iio_dev_priv), IIO_ALIGN); + if (sizeof_priv) + alloc_size += ALIGN(sizeof_priv, IIO_ALIGN); iio_dev_priv = kzalloc(alloc_size, GFP_KERNEL); if (!iio_dev_priv) -- 2.17.1