[PATCH 2/3] iio: core: simplify alloc alignment code

From: Alexandru Ardelean
Date: Fri May 08 2020 - 10:13:14 EST


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.ardelean@xxxxxxxxxx>
---
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