* [PATCH] thermal: allow creating hwmon for thermal zones on OF systems
@ 2015-04-20 22:21 Dmitry Torokhov
2015-04-21 20:17 ` Rob Herring
0 siblings, 1 reply; 4+ messages in thread
From: Dmitry Torokhov @ 2015-04-20 22:21 UTC (permalink / raw)
To: Eduardo Valentin
Cc: Rob Herring, Zhang Rui, Pawel Moll, Mark Rutland, Ian Campbell,
Kumar Gala, devicetree-u79uwXL29TY76Z2rM5mHXA,
linux-kernel-u79uwXL29TY76Z2rM5mHXA
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.
Signed-off-by: Dmitry Torokhov <dmitry.torokhov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
---
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
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] thermal: allow creating hwmon for thermal zones on OF systems
2015-04-20 22:21 [PATCH] thermal: allow creating hwmon for thermal zones on OF systems Dmitry Torokhov
@ 2015-04-21 20:17 ` Rob Herring
2015-04-21 21:01 ` Dmitry Torokhov
0 siblings, 1 reply; 4+ messages in thread
From: Rob Herring @ 2015-04-21 20:17 UTC (permalink / raw)
To: Dmitry Torokhov
Cc: Eduardo Valentin, Rob Herring, Zhang Rui, Pawel Moll,
Mark Rutland, Ian Campbell, Kumar Gala,
devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
On Mon, Apr 20, 2015 at 5:21 PM, Dmitry Torokhov
<dmitry.torokhov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 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?
> Signed-off-by: Dmitry Torokhov <dmitry.torokhov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
> ---
> 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
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] thermal: allow creating hwmon for thermal zones on OF systems
2015-04-21 20:17 ` Rob Herring
@ 2015-04-21 21:01 ` Dmitry Torokhov
2015-04-21 23:13 ` Rob Herring
0 siblings, 1 reply; 4+ messages in thread
From: Dmitry Torokhov @ 2015-04-21 21:01 UTC (permalink / raw)
To: Rob Herring
Cc: Eduardo Valentin, Rob Herring, Zhang Rui, Pawel Moll,
Mark Rutland, Ian Campbell, Kumar Gala,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
On Tue, Apr 21, 2015 at 03:17:03PM -0500, Rob Herring wrote:
> On Mon, Apr 20, 2015 at 5:21 PM, Dmitry Torokhov
> <dmitry.torokhov@gmail.com> 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.
Board code has hooks to support both options, but in case of DT we don't (hence
this patch).
>
>
> > Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> > ---
> > 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
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] thermal: allow creating hwmon for thermal zones on OF systems
2015-04-21 21:01 ` Dmitry Torokhov
@ 2015-04-21 23:13 ` Rob Herring
0 siblings, 0 replies; 4+ messages in thread
From: Rob Herring @ 2015-04-21 23:13 UTC (permalink / raw)
To: Dmitry Torokhov
Cc: Eduardo Valentin, Rob Herring, Zhang Rui, Pawel Moll,
Mark Rutland, Ian Campbell, Kumar Gala,
devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
On Tue, Apr 21, 2015 at 4:01 PM, Dmitry Torokhov
<dmitry.torokhov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 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
>> <dmitry.torokhov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 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 <dmitry.torokhov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
>> > ---
>> > 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 devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-04-21 23:13 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-04-20 22:21 [PATCH] thermal: allow creating hwmon for thermal zones on OF systems Dmitry Torokhov
2015-04-21 20:17 ` Rob Herring
2015-04-21 21:01 ` Dmitry Torokhov
2015-04-21 23:13 ` Rob Herring
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).