[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAA8EJpqtuPam2b-87FC=pJidZ=df5KROxcBi8811aZm_WBwqFg@mail.gmail.com>
Date: Tue, 24 Aug 2021 03:08:34 +0300
From: Dmitry Baryshkov <dmitry.baryshkov@...aro.org>
To: Matthias Kaehlcke <mka@...omium.org>
Cc: Andy Gross <agross@...nel.org>,
Bjorn Andersson <bjorn.andersson@...aro.org>,
Amit Kucheria <amitk@...nel.org>,
Thara Gopinath <thara.gopinath@...aro.org>,
Zhang Rui <rui.zhang@...el.com>,
Daniel Lezcano <daniel.lezcano@...aro.org>,
Linux PM <linux-pm@...r.kernel.org>,
Douglas Anderson <dianders@...omium.org>,
"open list:DRM DRIVER FOR MSM ADRENO GPU"
<linux-arm-msm@...r.kernel.org>,
Stephen Boyd <swboyd@...omium.org>,
open list <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] thermal: qcom: spmi-adc-tm5: Don't abort probing if a
sensor is not used
On Mon, 23 Aug 2021 at 23:47, Matthias Kaehlcke <mka@...omium.org> wrote:
>
> adc_tm5_register_tzd() registers the thermal zone sensors for all
> channels of the thermal monitor. If the registration of one channel
> fails the function skips the processing of the remaining channels
> and returns an error, which results in _probe() being aborted.
>
> One of the reasons the registration could fail is that none of the
> thermal zones is using the channel/sensor, which hardly is a critical
> error (if it is an error at all). If this case is detected emit a
> warning and continue with processing the remaining channels.
>
> Fixes: ca66dca5eda6 ("thermal: qcom: add support for adc-tm5 PMIC thermal monitor")
> Signed-off-by: Matthias Kaehlcke <mka@...omium.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@...aro.org>
> ---
>
> drivers/thermal/qcom/qcom-spmi-adc-tm5.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/drivers/thermal/qcom/qcom-spmi-adc-tm5.c b/drivers/thermal/qcom/qcom-spmi-adc-tm5.c
> index 232fd0b33325..8494cc04aa21 100644
> --- a/drivers/thermal/qcom/qcom-spmi-adc-tm5.c
> +++ b/drivers/thermal/qcom/qcom-spmi-adc-tm5.c
> @@ -359,6 +359,12 @@ static int adc_tm5_register_tzd(struct adc_tm5_chip *adc_tm)
> &adc_tm->channels[i],
> &adc_tm5_ops);
> if (IS_ERR(tzd)) {
> + if (PTR_ERR(tzd) == -ENODEV) {
> + dev_warn(adc_tm->dev, "thermal sensor on channel %d is not used\n",
> + adc_tm->channels[i].channel);
> + continue;
> + }
> +
> dev_err(adc_tm->dev, "Error registering TZ zone for channel %d: %ld\n",
> adc_tm->channels[i].channel, PTR_ERR(tzd));
> return PTR_ERR(tzd);
> --
> 2.33.0.rc2.250.ged5fa647cd-goog
>
--
With best wishes
Dmitry
Powered by blists - more mailing lists