Re: [PATCH V11 3/4] iio: adc: Add support for QCOM PMIC5 Gen3 ADC

From: Jishnu Prakash

Date: Fri Mar 06 2026 - 00:59:19 EST


Hi Jonathan,

On 3/1/2026 1:09 AM, Jonathan Cameron wrote:
> On Mon, 9 Feb 2026 16:24:37 +0530
> Jishnu Prakash <jishnu.prakash@xxxxxxxxxxxxxxxx> wrote:
>
>> The ADC architecture on PMIC5 Gen3 is similar to that on PMIC5 Gen2,
>> with all SW communication to ADC going through PMK8550 which
>> communicates with other PMICs through PBS.
>>
>> One major difference is that the register interface used here is that
>> of an SDAM (Shared Direct Access Memory) peripheral present on PMK8550.
>> There may be more than one SDAM used for ADC5 Gen3 and each has eight
>> channels, which may be used for either immediate reads (same functionality
>> as previous PMIC5 and PMIC5 Gen2 ADC peripherals) or recurring measurements
>> (same as ADC_TM functionality).
>>
>> By convention, we reserve the first channel of the first SDAM for all
>> immediate reads and use the remaining channels across all SDAMs for
>> ADC_TM monitoring functionality.
>>
>> Add support for PMIC5 Gen3 ADC driver for immediate read functionality.
>> ADC_TM is implemented as an auxiliary thermal driver under this ADC
>> driver.
>>
>> Signed-off-by: Jishnu Prakash <jishnu.prakash@xxxxxxxxxxxxxxxx>
> Ah. I just realized I built the immutable branch from v10 not this.
> I wasn't seeing any review outstanding on that version and didn't read your
> email closely enough :(
>
> I'd rather not cause more confusion by ripping it down and creating a new
> one. From a quick look none of the changes since v10 look vital.
> Perhaps we can spin a follow up patch to pull into IIO to make those
> tweaks if you want them? That way the immutable branch remains
> the same.
>

Thanks for picking the patches. Picking v10 shouldn't be a problem,
I can make separate refactoring patches for the v10->v11 differences later.

Since you have made the immutable branch now picking patches 1-3,
is it possible for the thermal maintainers to pick v10 patch 4 now
or are there any other procedures to be completed?

Thanks,
Jishnu

> Thanks,
>
> Jonathan
>
>
>> ---
>> Changes since v10:
>> - Made following changes to address Jonathan's comments:
>> - Replaced inclusion of device.h header file in
>> include/linux/iio/adc/qcom-adc5-gen3-common.h with forwards declaration
>> of struct device.
>> - Updated all for() loops to declare and initialize the loop iterator
>> inside the for() loop statement.
>> - Moved initializations for drvdata, completion struct and mutex within
>> adc5_gen3_probe().
>>
>> Changes since v8:
>> - Dropped the common module (drivers/iio/adc/qcom-adc5-gen3-common.c) and moved
>> all of its contents to drivers/iio/adc/qcom-spmi-adc5-gen3.c as suggested by Dmitry.
>> - Made following changes to address Dmitry's comment to use module_auxiliary_driver()
>> in auxiliary driver patch, by simplifying auxiliary device structures: