Simplify the available scales building. Building the available scales tables looks confusing. It has also been a source of a few memory leaks. https://lore.kernel.org/lkml/20241016012453.2013302-1-ruanjinjie@xxxxxxxxxx/ https://lore.kernel.org/lkml/20241011095512.3667549-1-ruanjinjie@xxxxxxxxxx/ Attempt making it a bit less error prone by simplifying some error paths using __free(kfree) from the cleanup.h. Try doing this without introducing variables in the middle of a function while also improving the logic of the functions. This is possble by splitting the long scale building logic in a couple of different, well purposed functions, and finally streamlining the logic a bit by taking out one extra 'total gains to scales'-conversion. Inspired by the discussion here: https://lore.kernel.org/lkml/2d16bf36-57d3-4c54-bbee-2e7d93399f29@xxxxxxxxx/ Matti Vaittinen (3): iio: gts: Simplify using __free iio: gts: split table-building function iio: gts: simplify scale table build drivers/iio/industrialio-gts-helper.c | 171 ++++++++++++++------------ 1 file changed, 91 insertions(+), 80 deletions(-) base-commit: a61ff7eac77e86de828fe28c4e42b8ae9ec2b195 -- 2.47.0
Attachment:
signature.asc
Description: PGP signature