linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Rafael J. Wysocki" <rjw@rjwysocki.net>
To: Linux PM <linux-pm@vger.kernel.org>
Cc: LKML <linux-kernel@vger.kernel.org>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Lukasz Luba <lukasz.luba@arm.com>,
	Zhang Rui <rui.zhang@intel.com>
Subject: [PATCH v2 04/17] thermal: core: Clean up cdev binding/unbinding functions
Date: Mon, 12 Aug 2024 15:56:23 +0200	[thread overview]
Message-ID: <2819322.BEx9A2HvPv@rjwysocki.net> (raw)
In-Reply-To: <114901234.nniJfEyVGO@rjwysocki.net>

From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

Add a new label to thermal_bind_cdev_to_trip() and use it to eliminate
two redundant !result check from that function, rename a label in
thermal_unbind_cdev_from_trip() to reflect its actual purpose and
adjust some white space in these functions.

No intentional functional impact.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---

v1 -> v2: No changes.

---
 drivers/thermal/thermal_core.c |   32 ++++++++++++++++++--------------
 1 file changed, 18 insertions(+), 14 deletions(-)

Index: linux-pm/drivers/thermal/thermal_core.c
===================================================================
--- linux-pm.orig/drivers/thermal/thermal_core.c
+++ linux-pm/drivers/thermal/thermal_core.c
@@ -806,6 +806,7 @@ int thermal_bind_cdev_to_trip(struct the
 	dev = kzalloc(sizeof(*dev), GFP_KERNEL);
 	if (!dev)
 		return -ENOMEM;
+
 	dev->tz = tz;
 	dev->cdev = cdev;
 	dev->trip = trip;
@@ -821,8 +822,7 @@ int thermal_bind_cdev_to_trip(struct the
 
 	dev->id = result;
 	sprintf(dev->name, "cdev%d", dev->id);
-	result =
-	    sysfs_create_link(&tz->device.kobj, &cdev->device.kobj, dev->name);
+	result = sysfs_create_link(&tz->device.kobj, &cdev->device.kobj, dev->name);
 	if (result)
 		goto release_ida;
 
@@ -849,24 +849,26 @@ int thermal_bind_cdev_to_trip(struct the
 
 	mutex_lock(&tz->lock);
 	mutex_lock(&cdev->lock);
-	list_for_each_entry(pos, &tz->thermal_instances, tz_node)
+
+	list_for_each_entry(pos, &tz->thermal_instances, tz_node) {
 		if (pos->trip == trip && pos->cdev == cdev) {
 			result = -EEXIST;
-			break;
+			goto remove_weight_file;
 		}
-	if (!result) {
-		list_add_tail(&dev->tz_node, &tz->thermal_instances);
-		list_add_tail(&dev->cdev_node, &cdev->thermal_instances);
-		atomic_set(&tz->need_update, 1);
-
-		thermal_governor_update_tz(tz, THERMAL_TZ_BIND_CDEV);
 	}
+
+	list_add_tail(&dev->tz_node, &tz->thermal_instances);
+	list_add_tail(&dev->cdev_node, &cdev->thermal_instances);
+	atomic_set(&tz->need_update, 1);
+
+	thermal_governor_update_tz(tz, THERMAL_TZ_BIND_CDEV);
+
 	mutex_unlock(&cdev->lock);
 	mutex_unlock(&tz->lock);
 
-	if (!result)
-		return 0;
+	return 0;
 
+remove_weight_file:
 	device_remove_file(&tz->device, &dev->weight_attr);
 remove_trip_file:
 	device_remove_file(&tz->device, &dev->attr);
@@ -914,6 +916,7 @@ int thermal_unbind_cdev_from_trip(struct
 
 	mutex_lock(&tz->lock);
 	mutex_lock(&cdev->lock);
+
 	list_for_each_entry_safe(pos, next, &tz->thermal_instances, tz_node) {
 		if (pos->trip == trip && pos->cdev == cdev) {
 			list_del(&pos->tz_node);
@@ -923,15 +926,16 @@ int thermal_unbind_cdev_from_trip(struct
 
 			mutex_unlock(&cdev->lock);
 			mutex_unlock(&tz->lock);
-			goto unbind;
+			goto free;
 		}
 	}
+
 	mutex_unlock(&cdev->lock);
 	mutex_unlock(&tz->lock);
 
 	return -ENODEV;
 
-unbind:
+free:
 	device_remove_file(&tz->device, &pos->weight_attr);
 	device_remove_file(&tz->device, &pos->attr);
 	sysfs_remove_link(&tz->device.kobj, pos->name);




  parent reply	other threads:[~2024-08-12 13:59 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-12 13:50 [PATCH v2 00/17] thermal: Rework binding cooling devices to trip points Rafael J. Wysocki
2024-08-12 13:51 ` [PATCH v2 01/17] thermal: core: Fold two functions into their respective callers Rafael J. Wysocki
2024-08-12 13:53 ` [PATCH v2 02/17] thermal: core: Rearrange checks in thermal_bind_cdev_to_trip() Rafael J. Wysocki
2024-08-12 13:54 ` [PATCH v2 03/17] thermal: core: Drop redundant thermal instance checks Rafael J. Wysocki
2024-08-12 13:56 ` Rafael J. Wysocki [this message]
2024-08-13  7:38   ` [PATCH v2 04/17] thermal: core: Clean up cdev binding/unbinding functions Zhang, Rui
2024-08-13 10:54     ` Rafael J. Wysocki
2024-08-12 13:59 ` [PATCH v2 05/17] thermal: core: Move lists of thermal instances to trip descriptors Rafael J. Wysocki
2024-08-12 14:02 ` [PATCH v2 06/17] thermal: sysfs: Use the dev argument in instance-related show/store Rafael J. Wysocki
2024-08-12 14:04 ` [PATCH v2 07/17] thermal: core: Move thermal zone locking out of bind/unbind functions Rafael J. Wysocki
2024-08-12 14:06 ` [PATCH v2 08/17] thermal: core: Introduce .should_bind() thermal zone callback Rafael J. Wysocki
2024-08-12 14:07 ` [PATCH v2 09/17] thermal: ACPI: Use the " Rafael J. Wysocki
2024-08-12 14:09 ` [PATCH v2 10/17] thermal: core: Unexport thermal_bind_cdev_to_trip() and thermal_unbind_cdev_from_trip() Rafael J. Wysocki
2024-08-12 14:17 ` [PATCH v2 11/17] thermal: imx: Use the .should_bind() thermal zone callback Rafael J. Wysocki
2024-08-12 14:19 ` [PATCH v2 12/17] platform/x86: acerhdf: " Rafael J. Wysocki
2024-08-19 10:20   ` Hans de Goede
2024-08-12 14:23 ` [PATCH v2 13/17] mlxsw: core_thermal: " Rafael J. Wysocki
2024-08-13 10:25   ` Ido Schimmel
2024-08-12 14:25 ` [PATCH v2 14/17] thermal/of: " Rafael J. Wysocki
2024-08-12 14:26 ` [PATCH v2 15/17] thermal: core: Drop unused bind/unbind functions and callbacks Rafael J. Wysocki
2024-08-12 14:27 ` [PATCH v2 16/17] thermal: code: Clean up trip bind/unbind functions Rafael J. Wysocki
2024-08-12 14:28 ` [PATCH v2 17/17] thermal: code: Pass trip descriptors to " Rafael J. Wysocki
2024-08-13 16:55 ` [PATCH v2 00/17] thermal: Rework binding cooling devices to trip points Rafael J. Wysocki

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=2819322.BEx9A2HvPv@rjwysocki.net \
    --to=rjw@rjwysocki.net \
    --cc=daniel.lezcano@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=lukasz.luba@arm.com \
    --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).