linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jonathan Cameron <jic23@kernel.org>
To: Jishnu Prakash <jishnu.prakash@oss.qualcomm.com>
Cc: robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org,
	agross@kernel.org, andersson@kernel.org, lumag@kernel.org,
	dmitry.baryshkov@oss.qualcomm.com, konradybcio@kernel.org,
	daniel.lezcano@linaro.org, sboyd@kernel.org, amitk@kernel.org,
	thara.gopinath@gmail.com, lee@kernel.org, rafael@kernel.org,
	subbaraman.narayanamurthy@oss.qualcomm.com,
	david.collins@oss.qualcomm.com,
	anjelique.melendez@oss.qualcomm.com,
	kamal.wadhwa@oss.qualcomm.com, rui.zhang@intel.com,
	lukasz.luba@arm.com, devicetree@vger.kernel.org,
	linux-arm-msm@vger.kernel.org, linux-iio@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org,
	cros-qcom-dts-watchers@chromium.org, quic_kotarake@quicinc.com,
	neil.armstrong@linaro.org, stephan.gerhold@linaro.org
Subject: Re: [PATCH V8 3/4] iio: adc: Add support for QCOM PMIC5 Gen3 ADC
Date: Sun, 21 Dec 2025 19:00:10 +0000	[thread overview]
Message-ID: <20251221190010.2d111e0e@jic23-huawei> (raw)
In-Reply-To: <6afcb26f-6f6a-41ef-ac45-976e5e2f17ae@oss.qualcomm.com>

On Fri, 19 Dec 2025 18:45:32 +0530
Jishnu Prakash <jishnu.prakash@oss.qualcomm.com> wrote:

> Hi Jonathan,
> 
> On 12/7/2025 10:23 PM, Jonathan Cameron wrote:
> > On Thu, 27 Nov 2025 19:10:35 +0530
> > Jishnu Prakash <jishnu.prakash@oss.qualcomm.com> 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@oss.qualcomm.com>  
> > Hi Jishnu
> > 
> > Biggest thing I noticed on a fresh review is that you include
> > very few headers.  This only compiles (I think) because of lots
> > of deeply nested includes.  General principle in kernel code is
> > to follow IWYU approach with a few exceptions.  That makes code
> > much less prone to changes deep in the header hierarchy.
> > 
> > You can even use the tooling that exists for clang to give you suggestions
> > though search around for config files (I posted one a long time back)
> > that reduce the noise somewhat.
> > 
> > Jonathan
> > 
> >   
> >> diff --git a/drivers/iio/adc/qcom-adc5-gen3-common.c b/drivers/iio/adc/qcom-adc5-gen3-common.c
> >> new file mode 100644
> >> index 000000000000..46bb09424f22
> >> --- /dev/null
> >> +++ b/drivers/iio/adc/qcom-adc5-gen3-common.c
> >> @@ -0,0 +1,107 @@
> >> +// SPDX-License-Identifier: GPL-2.0-only
> >> +/*
> >> + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
> >> + *
> >> + * Code shared between the main and auxiliary Qualcomm PMIC voltage ADCs
> >> + * of type ADC5 Gen3.
> >> + */
> >> +
> >> +#include <linux/bitfield.h>
> >> +#include <linux/delay.h>
> >> +#include <linux/iio/adc/qcom-adc5-gen3-common.h>
> >> +#include <linux/regmap.h>  
> > This seems like very light set of includes.
> > If nothing else should be seeing linux/types.h I think
> > 
> > In general try to follow include what you use principles (loosely as some
> > conventions exit for not including particular headers). 
> >   
> 
> I have a question about this - I'm including some header files in my
> newly added common header file too (include/linux/iio/adc/qcom-adc5-gen3-common.h).
> Do I need to repeat those in the driver files where this header is already
> included?

Yes. If things defined in those headers are used directly in this
c code. 

Just because they are in the header today, doesn't mean they will be 
after some future change and we shouldn't make that sort of future
change harder by requiring people look at all the files that include your
header with those includes.

It's also fairly common for stuff to be needed in the header that isn't needed
directly in the c file (maybe cause it's only needed for a macro). In those
cases no need to include in the c file.

Jonathan


  reply	other threads:[~2025-12-21 19:00 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-11-27 13:40 [PATCH V8 0/4] Add support for QCOM SPMI PMIC5 Gen3 ADC Jishnu Prakash
2025-11-27 13:40 ` [PATCH V8 1/4] dt-bindings: iio: adc: Split out QCOM VADC channel properties Jishnu Prakash
2025-11-27 13:40 ` [PATCH V8 2/4] dt-bindings: iio: adc: Add support for QCOM PMIC5 Gen3 ADC Jishnu Prakash
2025-12-05  8:57   ` Krzysztof Kozlowski
2025-11-27 13:40 ` [PATCH V8 3/4] " Jishnu Prakash
2025-12-06  2:22   ` Dmitry Baryshkov
2025-12-19 13:13     ` Jishnu Prakash
2025-12-07 16:53   ` Jonathan Cameron
2025-12-19 13:15     ` Jishnu Prakash
2025-12-21 19:00       ` Jonathan Cameron [this message]
2025-11-27 13:40 ` [PATCH V8 4/4] thermal: qcom: add support for PMIC5 Gen3 ADC thermal monitoring Jishnu Prakash
2025-12-06  2:24   ` Dmitry Baryshkov
2025-12-19 13:14     ` Jishnu Prakash
2025-12-07 17:04   ` Jonathan Cameron
2025-12-19 13:16     ` Jishnu Prakash

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20251221190010.2d111e0e@jic23-huawei \
    --to=jic23@kernel.org \
    --cc=agross@kernel.org \
    --cc=amitk@kernel.org \
    --cc=andersson@kernel.org \
    --cc=anjelique.melendez@oss.qualcomm.com \
    --cc=conor+dt@kernel.org \
    --cc=cros-qcom-dts-watchers@chromium.org \
    --cc=daniel.lezcano@linaro.org \
    --cc=david.collins@oss.qualcomm.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dmitry.baryshkov@oss.qualcomm.com \
    --cc=jishnu.prakash@oss.qualcomm.com \
    --cc=kamal.wadhwa@oss.qualcomm.com \
    --cc=konradybcio@kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=lee@kernel.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=lukasz.luba@arm.com \
    --cc=lumag@kernel.org \
    --cc=neil.armstrong@linaro.org \
    --cc=quic_kotarake@quicinc.com \
    --cc=rafael@kernel.org \
    --cc=robh@kernel.org \
    --cc=rui.zhang@intel.com \
    --cc=sboyd@kernel.org \
    --cc=stephan.gerhold@linaro.org \
    --cc=subbaraman.narayanamurthy@oss.qualcomm.com \
    --cc=thara.gopinath@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).