Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S964985AbbDUXNi (ORCPT ); Tue, 21 Apr 2015 19:13:38 -0400 Received: from mail-wi0-f178.google.com ([209.85.212.178]:36771 "EHLO mail-wi0-f178.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752410AbbDUXNe (ORCPT ); Tue, 21 Apr 2015 19:13:34 -0400 MIME-Version: 1.0 In-Reply-To: <20150421210101.GA23820@dtor-glaptop> References: <20150420222131.GA6077@dtor-ws> <20150421210101.GA23820@dtor-glaptop> From: Rob Herring Date: Tue, 21 Apr 2015 18:13:12 -0500 Message-ID: Subject: Re: [PATCH] thermal: allow creating hwmon for thermal zones on OF systems To: Dmitry Torokhov Cc: Eduardo Valentin , Rob Herring , Zhang Rui , Pawel Moll , Mark Rutland , Ian Campbell , Kumar Gala , "devicetree@vger.kernel.org" , "linux-kernel@vger.kernel.org" Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 4087 Lines: 93 On Tue, Apr 21, 2015 at 4:01 PM, Dmitry Torokhov wrote: > On Tue, Apr 21, 2015 at 03:17:03PM -0500, Rob Herring wrote: >> On Mon, Apr 20, 2015 at 5:21 PM, Dmitry Torokhov >> wrote: >> > Current implementation forcibly suppresses creation of hwmon instances >> > for thermal zones defined in device tree data. Let's add a new property, >> > "linux,hwmon" to allow marking certain thermal zones as needing generic >> > hwmon interface. >> >> What is the decision process for deciding to add this property or not? > > A platform may have dedicated hwmon device/driver already covering the thermal > sensor responsible for this thermal zone, in which case another hwmon instance > is not needed. If there isn't such driver then we may want to create standard > hwmon instance so that userspace tools can use standard interface to access the > readings. This sounds similar to the general problem we have of how to have 2 drivers where one is preferred over another. Say a h/w block has 2 compatible strings (one being a generic string perhaps) and different drivers for each compatible string. The DT can't really know what drivers the kernel may or may not have, so I don't think the DT is the right place for this. You could have a compatible match list for hardware that doesn't have a driver and you want to use the standard/generic driver. That doesn't really solve the above problem, but does allow you to statically decide. Would something like that work for you? > Board code has hooks to support both options, but in case of DT we don't (hence > this patch). Yes, but that doesn't mean it gets moved to DT necessarily. Rob > >> >> >> > Signed-off-by: Dmitry Torokhov >> > --- >> > Documentation/devicetree/bindings/thermal/thermal.txt | 4 ++++ >> > drivers/thermal/of-thermal.c | 7 +++++-- >> > 2 files changed, 9 insertions(+), 2 deletions(-) >> > >> > diff --git a/Documentation/devicetree/bindings/thermal/thermal.txt b/Documentation/devicetree/bindings/thermal/thermal.txt >> > index 8a49362..0106f8f 100644 >> > --- a/Documentation/devicetree/bindings/thermal/thermal.txt >> > +++ b/Documentation/devicetree/bindings/thermal/thermal.txt >> > @@ -174,6 +174,10 @@ Optional property: >> > 2000mW, while on a 10'' tablet is around >> > 4500mW. >> > >> > +- linux,hwmon: A boolean property that instructs Linux thermal core >> > + to create an instance of hwmon device representing >> > + this thermal zone. >> > + >> > Note: The delay properties are bound to the maximum dT/dt (temperature >> > derivative over time) in two situations for a thermal zone: >> > (i) - when passive cooling is activated (polling-delay-passive); and >> > diff --git a/drivers/thermal/of-thermal.c b/drivers/thermal/of-thermal.c >> > index 9e8c614..7b7a70c 100644 >> > --- a/drivers/thermal/of-thermal.c >> > +++ b/drivers/thermal/of-thermal.c >> > @@ -891,8 +891,11 @@ int __init of_parse_thermal_zones(void) >> > goto exit_free; >> > } >> > >> > - /* No hwmon because there might be hwmon drivers registering */ >> > - tzp->no_hwmon = true; >> > + /* >> > + * Do not attach hwmon device unless explicitly requested, >> > + * since there might be dedicated hwmon drivers registering. >> > + */ >> > + tzp->no_hwmon = !of_property_read_bool(child, "linux,hwmon"); >> > >> > if (!of_property_read_u32(child, "sustainable-power", &prop)) >> > tzp->sustainable_power = prop; >> > -- >> > 2.2.0.rc0.207.ga3a616c >> > >> > >> > -- >> > Dmitry > > -- > Dmitry -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/