linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Guenter Roeck <linux@roeck-us.net>
To: Dmitry Osipenko <digetx@gmail.com>
Cc: Zhang Rui <rui.zhang@intel.com>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Amit Kucheria <amitk@kernel.org>,
	Jean Delvare <jdelvare@suse.com>,
	linux-hwmon@vger.kernel.org, linux-pm@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-tegra@vger.kernel.org
Subject: Re: [PATCH v1 1/2] hwmon: Support set_trips() of thermal device ops
Date: Sun, 20 Jun 2021 12:21:24 -0700	[thread overview]
Message-ID: <20210620192124.GA3853199@roeck-us.net> (raw)
In-Reply-To: <1cb97f70-9fdd-e7d5-da73-dc5c42a53104@gmail.com>

On Sun, Jun 20, 2021 at 08:38:27PM +0300, Dmitry Osipenko wrote:
> 20.06.2021 20:23, Guenter Roeck пишет:
> > On Sun, Jun 20, 2021 at 07:12:22PM +0300, Dmitry Osipenko wrote:
> >> Support set_trips() callback of thermal device ops. This allows HWMON
> >> device to operatively notify thermal core about temperature changes, which
> >> is very handy to have in a case where HWMON sensor is used by CPU thermal
> >> zone that performs passive cooling and emergency shutdown on overheat.
> >> Thermal core will be able to react faster to temperature changes.
> >>
> > 
> > Why would this require a driver callback, and why can it not be handled
> > in the hwmon core alone ? The hwmon core could register a set_trip function
> > if the chip (driver) supports setting low and high limits, and it could
> > call the appropriate driver functions when hwmon_thermal_set_trips()
> > is called.
> 
> I wasn't sure about what other hwmon drivers may need and want to do for
> programming of the trips, so decided to start with this variant. I'll
> prepare v2 since you're suggesting that the universal callback should
> work okay for all drivers, thanks.

It will require some checks during probe to make sure that writeable limits
exist, but that is still better than per-driver code. If for whatever
reason some platform expects a different set of registers (say,
critical limits instead of warning limits to attach to trip points),
or if some platform expects that limits are _not_ used as trip points,
that would not be driver but platform specific. You would not be able
to address that on driver level with a single callback either (after all,
lm90 compatible chips support up to three sets of limits).
That means you already made an implementation specific choice with your
code, by selecting one of those three sets of limits to act as trip
points, and by making trip point support mandatory for all lm90 compatible
chips. If we need to make that configurable, we'll need a better solution
than a single driver callback, and that solution may as well be generic
and driver independent.

Thanks,
Guenter

  reply	other threads:[~2021-06-20 19:21 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-20 16:12 [PATCH v1 0/2] Support temperature trips by HWMON core and LM90 driver Dmitry Osipenko
2021-06-20 16:12 ` [PATCH v1 1/2] hwmon: Support set_trips() of thermal device ops Dmitry Osipenko
2021-06-20 17:23   ` Guenter Roeck
2021-06-20 17:38     ` Dmitry Osipenko
2021-06-20 19:21       ` Guenter Roeck [this message]
2021-06-20 20:35         ` Dmitry Osipenko
2021-06-20 16:12 ` [PATCH v1 2/2] hwmon: (lm90) Implement set_trips() callback Dmitry Osipenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210620192124.GA3853199@roeck-us.net \
    --to=linux@roeck-us.net \
    --cc=amitk@kernel.org \
    --cc=daniel.lezcano@linaro.org \
    --cc=digetx@gmail.com \
    --cc=jdelvare@suse.com \
    --cc=linux-hwmon@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=rui.zhang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).