Re: [PATCH v2 02/12] iio: adc: at91-sama5d2_adc: rework temp calibration layout handling

From: Andy Shevchenko

Date: Tue Jun 23 2026 - 14:15:32 EST


On Tue, Jun 23, 2026 at 04:29:34PM +0530, Varshini Rajendran wrote:
> Extend support to handle different temperature calibration layouts.
>
> Add a temperature calibration data layout structure to describe indexes
> of the factors P1, P4, P6, tag, minimum length of the packet and the
> scaling factors for P1 (mul, div) which are SoC-specific instead of the
> older non scalable id structure. This helps handle the differences in the
> same function flow and prepare the calibration data to be applied. Add
> additional condition to validate the calibration data read from the
> NVMEM cell using the TAG of the packet.
>
> Use cleanup helpers for NVMEM data buffer wherever applicable.

> +#define AT91_TEMP_CALIB_TAG_ACST 0x41435354

This seems like FourCC that can be represented in ASCII (I suppose "ACST").
Can you add a short comment on top to decode that?
/* ...blablabla... in ASCII "ACST" */

...

> struct at91_adc_platform {
> const struct at91_adc_reg_layout *layout;
> @@ -481,6 +504,7 @@ struct at91_adc_platform {
> unsigned int chan_realbits;
> unsigned int temp_chan;
> bool temp_sensor;
> + const struct at91_adc_temp_calib_layout *temp_calib_layout;
> };

Is this the best placement in accordance with `pahole` tool?

...

> - u32 *buf;
> + u32 *buf __free(kfree) = NULL;

This looks like a separate change. Why is it in this patch?

--
With Best Regards,
Andy Shevchenko