On Sat, 30 Nov 2024 01:27:08 +0100 Vasileios Amoiridis <vassilisamir@xxxxxxxxx> wrote: > Use the iio_is_soft_ts_enabled() accessor to access the value of the > scan_timestamp. This way, it can be marked as __private when there > are no direct accessors of it. > > Signed-off-by: Vasileios Amoiridis <vassilisamir@xxxxxxxxx> Hmm. A younger me one ;) A simple allocation that is always big enough is going to cost us very little. Should almost certainly be using kzalloc. I'd change this driver to just stick an array of size 12 * 2 + 8 so 32bytes in the iio_priv() (12 channels, possibly of 2 bytes each + aligned timestamp) and always use that for the rx_buf. Both a simplification and probably a performance improvement as well by dropping the frequent allocations. > --- > drivers/iio/adc/max1363.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/iio/adc/max1363.c b/drivers/iio/adc/max1363.c > index 9a0baea08ab6..57d9aff729f4 100644 > --- a/drivers/iio/adc/max1363.c > +++ b/drivers/iio/adc/max1363.c > @@ -1473,7 +1473,7 @@ static irqreturn_t max1363_trigger_handler(int irq, void *p) > d_size = numvals*2; > else > d_size = numvals; > - if (indio_dev->scan_timestamp) { > + if (iio_is_soft_ts_enabled(indio_dev)) { > d_size += sizeof(s64); > if (d_size % sizeof(s64)) > d_size += sizeof(s64) - (d_size % sizeof(s64));