Historically the tsens driver fetches the calibration data as a blob and then parses the blob on its own. This results in semi-duplicated code spreading over the platform-specific functions. This patch series changes tsens calibration code to use pre-parsed nvmem cells rather than parsing the blob in the driver. For backwards compatibility the old code is left in place for msm8916 and qcs404, two platforms which have in-tree DT files. For msm8974 the original function is left intact, since it differs significantly (and I can not test the code on msm8974). For all other affected platforms the old parsing code has been dropped as a part of this RFC. The code was tested on msm8916 and qcs404 only, thus it is being sent as an RFC. Dmitry Baryshkov (10): dt-bindings: thermal: tsens: support per-sensor calibration cells thermal/drivers/tsens: Support using nvmem cells for calibration data thermal/drivers/tsens: drop single-cell code for msm8939 thermal/drivers/tsens: drop single-cell code for mdm9607 thermal/drivers/tsens: drop msm8976-specific defines thermal/drivers/tsens: use generic calibration routine for msm8976 thermal/drivers/tsens: use tsens_calibrate_nvmem for msm8976 calibration thermal/drivers/tsens: drop single-cell code for msm8976 arm64: dts: qcom: msm8916: specify per-sensor calibration cells arm64: dts: qcom: qcs404: specify per-sensor calibration cells .../bindings/thermal/qcom-tsens.yaml | 64 +++++- arch/arm64/boot/dts/qcom/msm8916.dtsi | 70 +++++- arch/arm64/boot/dts/qcom/qcs404.dtsi | 120 +++++++++- drivers/thermal/qcom/tsens-v0_1.c | 208 +----------------- drivers/thermal/qcom/tsens-v1.c | 154 +------------ drivers/thermal/qcom/tsens.c | 62 ++++++ drivers/thermal/qcom/tsens.h | 4 + 7 files changed, 314 insertions(+), 368 deletions(-) -- 2.35.1