Re: [PATCH] thermal: qcom: spmi-adc-tm5: Don't abort probing if a sensor is not used

From: Dmitry Baryshkov
Date: Mon Aug 23 2021 - 20:09:48 EST


On Mon, 23 Aug 2021 at 23:47, Matthias Kaehlcke <mka@xxxxxxxxxxxx> 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@xxxxxxxxxxxx>

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx>

> ---
>
> 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