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