On Sat, Nov 30, 2024 at 02:09:48PM +0000, Jonathan Cameron wrote: > 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. > > Hi Jonathan, I see your point, I can implement this as well. Cheers, Vasilis > > --- > > 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)); >