All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Lezcano <daniel.lezcano@linexp.org>
To: daniel.lezcano@linaro.org, rafael@kernel.org
Cc: linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org,
	khilman@baylibre.com, abailon@baylibre.com
Subject: [PATCH v3 00/12] thermal OF rework
Date: Sun,  3 Jul 2022 20:30:47 +0200	[thread overview]
Message-ID: <20220703183059.4133659-1-daniel.lezcano@linexp.org> (raw)

The thermal framework initialization with the device tree appears to
be complicated and hard to make it to evolve.

It contains duplication of almost the same thermal generic structures
and has an assymetric initialization making hard any kind of serious
changes for more complex features. One of them is the multiple sensors
support per thermal zone.

In order to set the scene for the aforementioned feature with generic
code, we need to cleanup and rework the device tree initialization.

However this rework is not obvious because of the multiple components
entering in the composition of a thermal zone and being initialized at
different moments. For instance, a cooling device can be initialized
before a sensor, so the thermal zones must exist before the cooling
device as well as the sensor. This asynchronous initialization forces
the thermal zone to be created with fake ops because they are
mandotory and build a list of cooling devices which is used to lookup
afterwards when the cooling device driver is registering itself.

As there could be a large number of changes, this first series provide
some steps forward for a simpler device tree initialization.

Changelog:

 - V3:
    - Removed patch 1 and 2 from the V2 which consist in renaming the
      thermal_zone_device_ops to thermal_sensor_ops and separating the
      structure. I'll do a separate proposal for that after the incoming
      cleanups

 - V2:
   - Drop patch 1/15 which contains too many changes for a simple
     structure renaming. This could be addressed in a separate series as
     it is not necessary for the OF rework
     
   - Fixed of_node_put with gchild not initialized as reported by
     kbuild and Dan Carpenter

 - V1:
   - Initial post

Daniel Lezcano (12):
  thermal/core: Remove duplicate information when an error occurs
  thermal/of: Replace device node match with device node search
  thermal/of: Remove the device node pointer for thermal_trip
  thermal/of: Move thermal_trip structure to thermal.h
  thermal/core: Remove unneeded EXPORT_SYMBOLS
  thermal/core: Move thermal_set_delay_jiffies to static
  thermal/core: Rename trips to ntrips
  thermal/core: Add thermal_trip in thermal_zone
  thermal/core: Register with the trip points
  thermal/of: Store the trips in the thermal zone
  thermal/of: Use thermal trips stored in the thermal zone
  thermal/of: Initialize trip points separately

 drivers/thermal/gov_fair_share.c        |   6 +-
 drivers/thermal/gov_power_allocator.c   |   4 +-
 drivers/thermal/tegra/tegra30-tsensor.c |   2 +-
 drivers/thermal/thermal_core.c          |  53 +++++--
 drivers/thermal/thermal_core.h          |  25 ++-
 drivers/thermal/thermal_helpers.c       |  13 +-
 drivers/thermal/thermal_netlink.c       |   2 +-
 drivers/thermal/thermal_of.c            | 201 +++++++++++++-----------
 drivers/thermal/thermal_sysfs.c         |  22 +--
 include/linux/thermal.h                 |  21 ++-
 10 files changed, 197 insertions(+), 152 deletions(-)

-- 
2.25.1


             reply	other threads:[~2022-07-03 18:31 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-03 18:30 Daniel Lezcano [this message]
2022-07-03 18:30 ` [PATCH v3 01/12] thermal/core: Remove duplicate information when an error occurs Daniel Lezcano
2022-07-04  7:38   ` Lukasz Luba
2022-07-03 18:30 ` [PATCH v3 02/12] thermal/of: Replace device node match with device node search Daniel Lezcano
2022-07-04  7:59   ` Lukasz Luba
2022-07-04 21:18     ` Daniel Lezcano
2022-07-03 18:30 ` [PATCH v3 03/12] thermal/of: Remove the device node pointer for thermal_trip Daniel Lezcano
2022-07-04  8:01   ` Lukasz Luba
2022-07-03 18:30 ` [PATCH v3 04/12] thermal/of: Move thermal_trip structure to thermal.h Daniel Lezcano
2022-07-04  8:04   ` Lukasz Luba
2022-07-03 18:30 ` [PATCH v3 05/12] thermal/core: Remove unneeded EXPORT_SYMBOLS Daniel Lezcano
2022-07-04  7:35   ` Lukasz Luba
2022-07-04 21:14     ` Daniel Lezcano
2022-07-05  7:30       ` Lukasz Luba
2022-07-05 14:20         ` Rafael J. Wysocki
2022-07-05 14:47           ` Lukasz Luba
2022-07-05 16:26       ` Todd Kjos
2022-07-03 18:30 ` [PATCH v3 06/12] thermal/core: Move thermal_set_delay_jiffies to static Daniel Lezcano
2022-07-04  8:05   ` Lukasz Luba
2022-07-03 18:30 ` [PATCH v3 07/12] thermal/core: Rename trips to ntrips Daniel Lezcano
2022-07-04  8:24   ` Lukasz Luba
2022-07-04 14:17     ` Zhang Rui
2022-07-04 21:19     ` Daniel Lezcano
2022-07-03 18:30 ` [PATCH v3 08/12] thermal/core: Add thermal_trip in thermal_zone Daniel Lezcano
2022-07-04  8:35   ` Lukasz Luba
2022-07-04 14:11   ` Zhang Rui
2022-07-04 21:20     ` Daniel Lezcano
2022-07-03 18:30 ` [PATCH v3 09/12] thermal/core: Register with the trip points Daniel Lezcano
2022-07-04  8:32   ` Lukasz Luba
2022-07-05  2:03   ` Zhang Rui
2022-07-05 13:59     ` Rafael J. Wysocki
2022-07-03 18:30 ` [PATCH v3 10/12] thermal/of: Store the trips in the thermal zone Daniel Lezcano
2022-07-04  8:38   ` Lukasz Luba
2022-07-03 18:30 ` [PATCH v3 11/12] thermal/of: Use thermal trips stored " Daniel Lezcano
2022-07-04 14:14   ` Zhang Rui
2022-07-04 21:24     ` Daniel Lezcano
2022-07-05  1:20       ` Zhang Rui
2022-07-05  6:44         ` Daniel Lezcano
2022-07-05  8:17           ` Zhang Rui
2022-07-03 18:30 ` [PATCH v3 12/12] thermal/of: Initialize trip points separately Daniel Lezcano

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=20220703183059.4133659-1-daniel.lezcano@linexp.org \
    --to=daniel.lezcano@linexp.org \
    --cc=abailon@baylibre.com \
    --cc=daniel.lezcano@linaro.org \
    --cc=khilman@baylibre.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=rafael@kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.