All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Lezcano <daniel.lezcano@linaro.org>
To: daniel.lezcano@linaro.org, rafael@kernel.org
Cc: rui.zhang@intel.com, linux-pm@vger.kernel.org,
	linux-kernel@vger.kernel.org, Amit Kucheria <amitk@kernel.org>
Subject: [PATCH v2 02/26] thermal/sysfs: Do not make get_trip_hyst optional
Date: Wed, 10 Aug 2022 00:04:12 +0200	[thread overview]
Message-ID: <20220809220436.711020-3-daniel.lezcano@linaro.org> (raw)
In-Reply-To: <20220809220436.711020-1-daniel.lezcano@linaro.org>

The get_trip_hyst() ops is optional. It results all around the thermal
framework code a check against the ops pointer and different action
adding more complexity and making the code less readable and
understandable.

A zero hysteresis value is perfectly valid, so instead of adding more
circumvolutions in the code, create unconditionnaly the hysteresis and
use the thermal_zone_get_trip() function which returns a zero
hysteresis if the get_trip_hyst() is not defined.

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
---
 drivers/thermal/thermal_sysfs.c | 25 +++++++++----------------
 1 file changed, 9 insertions(+), 16 deletions(-)

diff --git a/drivers/thermal/thermal_sysfs.c b/drivers/thermal/thermal_sysfs.c
index 2b53927f3263..bc3337826ae2 100644
--- a/drivers/thermal/thermal_sysfs.c
+++ b/drivers/thermal/thermal_sysfs.c
@@ -420,23 +420,20 @@ static int create_trip_attrs(struct thermal_zone_device *tz, int mask)
 		return -ENOMEM;
 	}
 
-	if (tz->ops->get_trip_hyst) {
-		tz->trip_hyst_attrs = kcalloc(tz->num_trips,
-					      sizeof(*tz->trip_hyst_attrs),
-					      GFP_KERNEL);
-		if (!tz->trip_hyst_attrs) {
-			kfree(tz->trip_type_attrs);
-			kfree(tz->trip_temp_attrs);
-			return -ENOMEM;
-		}
+	tz->trip_hyst_attrs = kcalloc(tz->num_trips,
+				      sizeof(*tz->trip_hyst_attrs),
+				      GFP_KERNEL);
+	if (!tz->trip_hyst_attrs) {
+		kfree(tz->trip_type_attrs);
+		kfree(tz->trip_temp_attrs);
+		return -ENOMEM;
 	}
 
 	attrs = kcalloc(tz->num_trips * 3 + 1, sizeof(*attrs), GFP_KERNEL);
 	if (!attrs) {
 		kfree(tz->trip_type_attrs);
 		kfree(tz->trip_temp_attrs);
-		if (tz->ops->get_trip_hyst)
-			kfree(tz->trip_hyst_attrs);
+		kfree(tz->trip_hyst_attrs);
 		return -ENOMEM;
 	}
 
@@ -469,9 +466,6 @@ static int create_trip_attrs(struct thermal_zone_device *tz, int mask)
 		}
 		attrs[indx + tz->num_trips] = &tz->trip_temp_attrs[indx].attr.attr;
 
-		/* create Optional trip hyst attribute */
-		if (!tz->ops->get_trip_hyst)
-			continue;
 		snprintf(tz->trip_hyst_attrs[indx].name, THERMAL_NAME_LENGTH,
 			 "trip_point_%d_hyst", indx);
 
@@ -508,8 +502,7 @@ static void destroy_trip_attrs(struct thermal_zone_device *tz)
 
 	kfree(tz->trip_type_attrs);
 	kfree(tz->trip_temp_attrs);
-	if (tz->ops->get_trip_hyst)
-		kfree(tz->trip_hyst_attrs);
+	kfree(tz->trip_hyst_attrs);
 	kfree(tz->trips_attribute_group.attrs);
 }
 
-- 
2.34.1


  parent reply	other threads:[~2022-08-09 22:05 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-09 22:04 [PATCH v2 00/26] Rework the trip points creation Daniel Lezcano
2022-08-09 22:04 ` [PATCH v2 01/26] thermal/core: encapsulate ops->get_trip_* ops into a function Daniel Lezcano
2022-08-09 22:04 ` Daniel Lezcano [this message]
2022-08-09 22:04 ` [PATCH v2 03/26] thermal/core/governors: Use thermal_zone_get_trip() instead of ops functions Daniel Lezcano
2022-08-09 22:04 ` [PATCH v2 04/26] thermal/drivers/st: Use generic trip points Daniel Lezcano
2022-08-09 22:04 ` [PATCH v2 05/26] thermal/drivers/tegra: Use generic thermal_zone_get_trip() function Daniel Lezcano
2022-08-09 22:04 ` [PATCH v2 06/26] thermal/drivers/imx: " Daniel Lezcano
2022-08-09 22:04   ` Daniel Lezcano
2022-08-09 22:04 ` [PATCH v2 07/26] thermal/drivers/exynos: " Daniel Lezcano
2022-08-09 22:04   ` Daniel Lezcano
2022-08-12 10:01   ` Krzysztof Kozlowski
2022-08-12 10:01     ` Krzysztof Kozlowski
2022-08-09 22:04 ` [PATCH v2 08/26] thermal/drivers/rcar: " Daniel Lezcano
2022-08-16  9:00   ` Niklas Söderlund
2022-08-09 22:04 ` [PATCH v2 09/26] thermal/drivers/uniphier: " Daniel Lezcano
2022-08-09 22:04   ` Daniel Lezcano
2022-08-15 14:19   ` Kunihiko Hayashi
2022-08-15 14:19     ` Kunihiko Hayashi
2022-08-09 22:04 ` [PATCH v2 10/26] thermal/drivers/hisi: " Daniel Lezcano
2022-08-09 22:04 ` [PATCH v2 11/26] thermal/drivers/qcom: " Daniel Lezcano
2022-08-09 22:04 ` [PATCH v2 12/26] thermal/drivers/OF: " Daniel Lezcano
2022-08-09 22:04 ` [PATCH v2 13/26] thermal/drivers/armada: " Daniel Lezcano
2022-08-09 22:04 ` [PATCH v2 14/26] thermal/core/OF: Remove unused functions Daniel Lezcano
2022-08-09 22:04 ` [PATCH v2 15/26] thermal/drivers/rcar_gen3: Use the generic function to get the number of trips Daniel Lezcano
2022-08-16  9:01   ` Niklas Söderlund
2022-08-09 22:04 ` [PATCH v2 16/26] thermal/drivers/exynos: of_thermal_get_ntrips() Daniel Lezcano
2022-08-09 22:04   ` Daniel Lezcano
2022-08-12 10:02   ` Krzysztof Kozlowski
2022-08-12 10:02     ` Krzysztof Kozlowski
2022-08-09 22:04 ` [PATCH v2 17/26] thermal/core/of: Remove of_thermal_get_ntrips() Daniel Lezcano
2022-08-09 22:04 ` [PATCH v2 18/26] thermal/drivers/exynos: Replace of_thermal_is_trip_valid() by thermal_zone_get_trip() Daniel Lezcano
2022-08-09 22:04   ` Daniel Lezcano
2022-08-12 10:02   ` Krzysztof Kozlowski
2022-08-12 10:02     ` Krzysztof Kozlowski
2022-08-09 22:04 ` [PATCH v2 19/26] thermal/core/of: Remove of_thermal_is_trip_valid() Daniel Lezcano
2022-08-09 22:04 ` [PATCH v2 20/26] thermal/drivers/broadcom: Use generic thermal_zone_get_trip() function Daniel Lezcano
2022-08-09 22:04   ` Daniel Lezcano
2022-08-09 22:04 ` [PATCH v2 21/26] thermal/drivers/da9062: " Daniel Lezcano
2022-08-10  8:57   ` DLG Adam Ward
2022-08-09 22:04 ` [PATCH v2 22/26] thermal/drivers/ti: Remove unused macros ti_thermal_get_trip_value() / ti_thermal_trip_is_valid() Daniel Lezcano
2022-08-09 22:04 ` [PATCH v2 23/26] thermal/drivers/acerhdf: Use generic thermal_zone_get_trip() function Daniel Lezcano
2022-08-09 22:04 ` [PATCH v2 24/26] thermal/drivers/cxgb4: " Daniel Lezcano
2022-08-09 22:04 ` [PATCH v2 25/26] thermal/intel/int340x: Replace parameter to simplify Daniel Lezcano
2022-08-09 22:04 ` [PATCH v2 26/26] thermal/drivers/intel: Use generic thermal_zone_get_trip() function Daniel Lezcano
2022-08-12 17:17   ` kernel test robot

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=20220809220436.711020-3-daniel.lezcano@linaro.org \
    --to=daniel.lezcano@linaro.org \
    --cc=amitk@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=rafael@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 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.