From: Stephen Boyd <swboyd@chromium.org>
To: Amit Kucheria <amit.kucheria@linaro.org>,
Andy Gross <agross@kernel.org>,
Daniel Lezcano <daniel.lezcano@linaro.org>,
Mark Rutland <mark.rutland@arm.com>,
Rob Herring <robh+dt@kernel.org>, Zhang Rui <rui.zhang@intel.com>,
andy.gross@linaro.org, bjorn.andersson@linaro.org,
edubezval@gmail.com, linux-arm-msm@vger.kernel.org,
linux-kernel@vger.kernel.org
Cc: linux-pm@vger.kernel.org
Subject: Re: [PATCH 14/15] drivers: thermal: tsens: Create function to return sign-extended temperature
Date: Fri, 16 Aug 2019 21:16:20 -0700 [thread overview]
Message-ID: <5d577f95.1c69fb81.6c07e.44da@mx.google.com> (raw)
In-Reply-To: <07de61a57cf2362169d3b128405d7305eb20785f.1564091601.git.amit.kucheria@linaro.org>
Quoting Amit Kucheria (2019-07-25 15:18:49)
> diff --git a/drivers/thermal/qcom/tsens-common.c b/drivers/thermal/qcom/tsens-common.c
> index 7ab2e740a1da..13a875b99094 100644
> --- a/drivers/thermal/qcom/tsens-common.c
> +++ b/drivers/thermal/qcom/tsens-common.c
> @@ -84,13 +84,35 @@ static inline int code_to_degc(u32 adc_code, const struct tsens_sensor *s)
> return degc;
> }
>
> +/**
> + * tsens_hw_to_mC - Return properly sign extended temperature in mCelsius,
Can you make this proper kernel-doc? Describe the arguments and have a
"Return:" section.
> + * whether in ADC code or deciCelsius depending on IP version.
> + * This function handles the different widths of the signed integer across IPs.
> + */
> +static int tsens_hw_to_mC(char *str, struct tsens_sensor *s, int field, int temp)
> +{
> + struct tsens_priv *priv = s->priv;
> + u32 mask;
> +
> + if (priv->feat->adc) {
> + /* Convert temperature from ADC code to milliCelsius */
> + return code_to_degc(temp, s) * 1000;
> + } else {
Please deindent and drop the else because there's a return above.
> + mask = GENMASK(priv->fields[field].msb,
> + priv->fields[field].lsb) >> priv->fields[field].lsb;
Why is the mask generated, shifted right, sent into fls(), and then
passed to sign_extend32? Shoudln't it be something like
sign_extend32(temp, priv->fields[field].msg - priv->fiels[field].lsb - 1)
> + dev_dbg(priv->dev, "%s: mask: %d\n", str, fls(mask));
> + /* Convert temperature from deciCelsius to milliCelsius */
> + return sign_extend32(temp, fls(mask) - 1) * 100;
> + }
> +}
> +
> @@ -112,15 +134,7 @@ int get_temp_tsens_valid(struct tsens_sensor *s, int *temp)
> if (ret)
> return ret;
>
> - if (priv->feat->adc) {
> - /* Convert temperature from ADC code to milliCelsius */
> - *temp = code_to_degc(last_temp, s) * 1000;
> - } else {
> - mask = GENMASK(priv->fields[LAST_TEMP_0].msb,
> - priv->fields[LAST_TEMP_0].lsb);
> - /* Convert temperature from deciCelsius to milliCelsius */
> - *temp = sign_extend32(last_temp, fls(mask) - 1) * 100;
Oh the code is copied. Seems really complicated still.
> - }
> + *temp = tsens_hw_to_mC("get_temp", s, LAST_TEMP_0, last_temp);
next prev parent reply other threads:[~2019-08-17 4:16 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-07-25 22:18 [PATCH 00/15] thermal: qcom: tsens: Add interrupt support Amit Kucheria
2019-07-25 22:18 ` [PATCH 01/15] drivers: thermal: tsens: Get rid of id field in tsens_sensor Amit Kucheria
2019-08-17 4:01 ` Stephen Boyd
2019-08-19 11:55 ` Daniel Lezcano
2019-07-25 22:18 ` [PATCH 02/15] drivers: thermal: tsens: Simplify code flow in tsens_probe Amit Kucheria
2019-08-17 4:02 ` Stephen Boyd
2019-08-19 11:57 ` Daniel Lezcano
2019-07-25 22:18 ` [PATCH 03/15] drivers: thermal: tsens: Add __func__ identifier to debug statements Amit Kucheria
2019-08-17 4:03 ` Stephen Boyd
2019-08-19 13:19 ` Daniel Lezcano
2019-07-25 22:18 ` [PATCH 04/15] drivers: thermal: tsens: Add debugfs support Amit Kucheria
2019-08-17 4:07 ` Stephen Boyd
2019-08-19 7:58 ` Amit Kucheria
2019-08-19 14:27 ` Stephen Boyd
2019-08-21 12:55 ` Amit Kucheria
2019-08-26 20:55 ` Stephen Boyd
2019-07-25 22:18 ` [PATCH 05/15] arm: dts: msm8974: thermal: Add thermal zones for each sensor Amit Kucheria
2019-08-08 20:49 ` Brian Masney
2019-07-25 22:18 ` [PATCH 06/15] arm64: dts: msm8916: thermal: Fixup HW ids for cpu sensors Amit Kucheria
2019-08-13 13:25 ` Daniel Lezcano
2019-07-25 22:18 ` [PATCH 07/15] dt: thermal: tsens: Document interrupt support in tsens driver Amit Kucheria
2019-08-16 21:36 ` Rob Herring
2019-08-16 22:02 ` Amit Kucheria
2019-08-17 4:10 ` Stephen Boyd
2019-08-17 19:25 ` Rob Herring
2019-08-19 7:10 ` Amit Kucheria
2019-08-19 13:07 ` Rob Herring
2019-07-25 22:18 ` [PATCH 08/15] arm64: dts: sdm845: thermal: Add interrupt support Amit Kucheria
2019-07-25 22:18 ` [PATCH 09/15] arm64: dts: msm8996: " Amit Kucheria
2019-07-25 22:18 ` [PATCH 10/15] arm64: dts: msm8998: " Amit Kucheria
2019-07-25 22:18 ` [PATCH 11/15] arm64: dts: qcs404: " Amit Kucheria
2019-07-25 22:18 ` [PATCH 12/15] arm64: dts: msm8974: " Amit Kucheria
2019-07-29 9:03 ` Luca Weiss
2019-07-29 9:29 ` Amit Kucheria
2019-08-08 20:49 ` Brian Masney
2019-07-25 22:18 ` [PATCH 13/15] arm64: dts: msm8916: " Amit Kucheria
2019-07-25 22:18 ` [PATCH 14/15] drivers: thermal: tsens: Create function to return sign-extended temperature Amit Kucheria
2019-08-17 4:16 ` Stephen Boyd [this message]
2019-08-19 20:51 ` Amit Kucheria
2019-07-25 22:18 ` [PATCH 15/15] drivers: thermal: tsens: Add interrupt support Amit Kucheria
2019-08-17 6:09 ` Stephen Boyd
2019-08-22 13:40 ` Amit Kucheria
2019-07-26 10:36 ` [PATCH 00/15] thermal: qcom: " Brian Masney
2019-07-26 10:44 ` Amit Kucheria
2019-07-26 11:10 ` Amit Kucheria
2019-07-26 11:29 ` Brian Masney
2019-07-27 7:28 ` Amit Kucheria
2019-07-29 9:07 ` Brian Masney
2019-07-29 9:32 ` Luca Weiss
2019-07-29 9:50 ` Amit Kucheria
2019-08-12 15:28 ` Niklas Cassel
2019-08-08 13:04 ` Amit Kucheria
-- strict thread matches above, loose matches on Subject: below --
2019-10-16 7:33 Amit Kucheria
2019-10-16 7:34 ` [PATCH 14/15] drivers: thermal: tsens: Create function to return sign-extended temperature Amit Kucheria
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=5d577f95.1c69fb81.6c07e.44da@mx.google.com \
--to=swboyd@chromium.org \
--cc=agross@kernel.org \
--cc=amit.kucheria@linaro.org \
--cc=andy.gross@linaro.org \
--cc=bjorn.andersson@linaro.org \
--cc=daniel.lezcano@linaro.org \
--cc=edubezval@gmail.com \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=robh+dt@kernel.org \
--cc=rui.zhang@intel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.