X-Received: by 2002:a17:90b:1b0e:b0:1b9:f55b:2975 with SMTP id nu14-20020a17090b1b0e00b001b9f55b2975mr1563158pjb.218.1645492585064; Mon, 21 Feb 2022 17:16:25 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1645492585; cv=none; d=google.com; s=arc-20160816; b=gmA+ofAHADuh3Cfpmb5aMUUbz9eZ58BUEOaPAevjwlBUdSzsMxHJQJDlkO+K31TlTN J8st+Zuo0FI8BCUrioj6/xSQh5h61E4In9kh/xBG/JbeObgvv4i5NK0baA1RVB7d21GH YnVFKLGmsBCTfc39NmsVN9Ptx+7J1T8DSxzjqcgODdS/IJnufZhphej1kOeam8id/KHY +xrE1D2kQlm3akfaXPH3TnjOgghARxsM/OmNe+AU68lWU4OfIv6vq0OpeNXgwz39niyK R3pD0dqiwdy1iSpEMWbXTLylXGCI+w4BFf5I3suVBG8dLurwm12CT23mbJnT2eEoWKdA KgqQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:content-language:subject:user-agent:mime-version :date:message-id:sender:dkim-signature; bh=1WzDOpNHJ0rfPRdSj3JhKU3VK3POJ7SwpnBhQLRPXi4=; b=MJ4vI+660OkEju95F5pKyo4HoakXRqSXcqCmJnMroY2ux1oNGemDtWKW4tH7loGIwP BLEbV8kJM4mhgP3R2v6ZSEDLeDBZ0X/aY2Xm2RAchXKSj+5Av+5mjXI+4o1OUEQscDNq Bek4eqvdIQ6+ycVAuHILxBJaVJNgsH5dFonykghgfOCEomCJPW3UMb50WSPwxcV7YYvh wmSt+mwi4Y/6U1zQ7SDJlTctb/TxrfcJwOnn1r0VSgDWjlrIZLBR++6OItG8dZMykUQK PiG79sIxvkKYGQpO52ksdnkxkyBSCdf4oXiUItKmpjfWJlx5x3BqW1SAPMuZK+u594so KPQg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=BNUsuQpf; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id c22si6814550pgb.759.2022.02.21.17.16.09; Mon, 21 Feb 2022 17:16:24 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=BNUsuQpf; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238807AbiBUQnM (ORCPT + 99 others); Mon, 21 Feb 2022 11:43:12 -0500 Received: from mxb-00190b01.gslb.pphosted.com ([23.128.96.19]:57370 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229579AbiBUQnK (ORCPT ); Mon, 21 Feb 2022 11:43:10 -0500 Received: from mail-qv1-xf36.google.com (mail-qv1-xf36.google.com [IPv6:2607:f8b0:4864:20::f36]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BB6611EC69; Mon, 21 Feb 2022 08:42:46 -0800 (PST) Received: by mail-qv1-xf36.google.com with SMTP id a19so33404189qvm.4; Mon, 21 Feb 2022 08:42:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=sender:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=1WzDOpNHJ0rfPRdSj3JhKU3VK3POJ7SwpnBhQLRPXi4=; b=BNUsuQpfaVVWRiN3MmnX5/RAfoD/FMkh0rCYpi4N3w2IehBd/DlNWbByxFTOkGYbR/ g5/vcWrlnA/+6kJ9NvFp0+kV5E2LaDPboyUMt0SfASv+fTzb/pbumnl9i+K+4Bxc3jzz VCABIFvazPQKgBd8HyE9elKLQJS2PKKUbwYQH6nI0fbMWJgWr6xC6h41oX9cjwGUMoIf kVhe5IGIc1dZ0neEh/9nO11AJ/PXPSzvAtYfqOTDDa1/nqYFDs02sCDkyzt8NTFaSkXk f0wA7ewfGq3BtS6ulNfGYvtd4UlEqGk8jteuxvHSAImnkRypAdd84TvoNswXtECWAARA cPow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:sender:message-id:date:mime-version:user-agent :subject:content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=1WzDOpNHJ0rfPRdSj3JhKU3VK3POJ7SwpnBhQLRPXi4=; b=eZz0PyP8qRybv9YVXIERDf5yUPwJoVrg8gtyE+PTAbNAsbYY6DH6MStpvk+ZogbfFa rSby1mZfYpB2nchRfMpN5kIT4u1xqBjm6j4flpwxWjjzfPNZ66KkcToDiyYxEzXQtgX9 9/ysY/UNw0BXzpZhlM9x2xcm4NvTxka8jDFdwRNQa/Q0offwm6r2HVg/49ReBna7saLF uP302+Q3UKex5Yr0FQaB7LQoBcXCVU8wBEZwHHHtHJBcnqVwHdRb/kPo1N92mda5jAQh xKj4U+7pQa8dUG8z2ouIVom4x6aQyVXL/6JRd6M1tz0iPgUhJxv+ZBX1uldkzFDXPFC2 o2mQ== X-Gm-Message-State: AOAM533LrOJag5WlL7ZeFHS2qCr32lTUq3icSeudfn4awz0efOA5JhVk jAEhSgHjiSR9leJA+iBD5RPm/K6zLEeDMA== X-Received: by 2002:a05:622a:c9:b0:2de:15a4:6256 with SMTP id p9-20020a05622a00c900b002de15a46256mr5761940qtw.679.1645461765862; Mon, 21 Feb 2022 08:42:45 -0800 (PST) Received: from ?IPV6:2600:1700:e321:62f0:329c:23ff:fee3:9d7c? ([2600:1700:e321:62f0:329c:23ff:fee3:9d7c]) by smtp.gmail.com with ESMTPSA id s7sm27078557qki.20.2022.02.21.08.42.44 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 21 Feb 2022 08:42:45 -0800 (PST) Sender: Guenter Roeck Message-ID: Date: Mon, 21 Feb 2022 08:42:43 -0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.5.0 Subject: Re: [PATCH v3 2/4] hwmon: (lm90) Use hwmon_notify_event() Content-Language: en-US To: Dmitry Osipenko , Jon Hunter , Jean Delvare Cc: linux-kernel@vger.kernel.org, linux-hwmon@vger.kernel.org, linux-tegra@vger.kernel.org References: <20210618215455.19986-1-digetx@gmail.com> <20210618215455.19986-3-digetx@gmail.com> <9580f660-2a11-40e4-2986-f05703822d72@nvidia.com> <2aae3bac-c9b3-ab47-aae4-a3c7b6fb4bb5@roeck-us.net> <84ddad27-eb22-0ba6-594f-2fc6d098dc2a@nvidia.com> <20da6f55-682f-4b30-7be7-f425f8efa995@nvidia.com> <437c7c3c-66d4-2665-c8fa-781979366bc3@gmail.com> From: Guenter Roeck In-Reply-To: <437c7c3c-66d4-2665-c8fa-781979366bc3@gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS, NICE_REPLY_A,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2/21/22 08:20, Dmitry Osipenko wrote: > 21.02.2022 19:16, Jon Hunter пишет: >> >> On 21/02/2022 16:02, Guenter Roeck wrote: >> >> ... >> >>>> The platform I see this on does use device-tree and it does have a >>>> node for the ti,tmp451 device which uses the lm90 device. This >>>> platform uses the device-tree source >>>> arch/arm64/boot/dts/nvidia/tegra194-p2972-0000.dts and the tmp451 >>>> node is in arch/arm64/boot/dts/nvidia/tegra194-p2888.dtsi. >>>> >>> >>> Interesting. It appears that the call to >>> devm_thermal_zone_of_sensor_register() >>> in the hwmon core nevertheless returns -ENODEV which is not handled >>> properly >>> in the hwmon core. I can see a number of reasons for this to happen: >>> - there is no devicetree node for the lm90 device >>> - there is no thermal-zones devicetree node >>> - there is no thermal zone entry in the thermal-zones node which matches >>>    the sensor >> >> >> So we definitely have the node for the lm90 device and a thermal-zones >> node, but I do not see a thermal-sensor node. Maybe this is what we are >> missing? > > Could you please try this: > > diff --git a/drivers/hwmon/hwmon.c b/drivers/hwmon/hwmon.c > index 5915fedee69b..48f80bc99fe6 100644 > --- a/drivers/hwmon/hwmon.c > +++ b/drivers/hwmon/hwmon.c > @@ -233,8 +233,12 @@ static int hwmon_thermal_add_sensor(struct device > *dev, int index) > * If CONFIG_THERMAL_OF is disabled, this returns -ENODEV, > * so ignore that error but forward any other error. > */ > - if (IS_ERR(tzd) && (PTR_ERR(tzd) != -ENODEV)) > - return PTR_ERR(tzd); > + if (IS_ERR(tzd)) { > + if (PTR_ERR(tzd) != -ENODEV) > + return PTR_ERR(tzd); > + > + tzd = NULL; That should just bail out. I'll send a patch in a minute. Guenter > + } > > err = devm_add_action(dev, hwmon_thermal_remove_sensor, &tdata->node); > if (err) > @@ -283,7 +287,7 @@ static void hwmon_thermal_notify(struct device *dev, > int index) > struct hwmon_thermal_data *tzdata; > > list_for_each_entry(tzdata, &hwdev->tzdata, node) { > - if (tzdata->index == index) { > + if (tzdata->index == index && tzdata->tzd) { > thermal_zone_device_update(tzdata->tzd, > THERMAL_EVENT_UNSPECIFIED); > } >