Skip to contentSkip to conversation

thermal: core: Cleanups related to the netlink I/F

PATCH In review Rafael J. Wysocki 2 participants 5 messages Jan 9, 2024 Thermal

lore
Share & tools
lore
#1 lore raw

PATCH 1/2 thermal: netlink: Rework notify API for cooling devices

From: Rafael J. Wysocki <[email protected]>

In analogy with some previous thermal netlink API changes, redefine thermal_notify_cdev_state_update(), thermal_notify_cdev_add() and thermal_notify_cdev_delete() to take a const cdev pointer as their first argument and let them extract the requisite information from there by themselves.

No intentional functional impact.

---
 drivers/thermal/thermal_helpers.c |    2 +-
 drivers/thermal/thermal_netlink.c |   15 ++++++++-------
 drivers/thermal/thermal_netlink.h |   16 +++++++++-------
 3 files changed, 18 insertions(+), 15 deletions(-)
drivers/thermal/thermal_netlink.h +9 -7
Index: linux-pm/drivers/thermal/thermal_netlink.h
===================================================================
@@ -12,6 +12,7 @@ struct thermal_genl_cpu_caps {
 
 struct thermal_zone_device;
 struct thermal_trip;
+struct thermal_cooling_device;
 
 /* Netlink notification function */
 #ifdef CONFIG_THERMAL_NETLINK
@@ -27,9 +28,10 @@ int thermal_notify_tz_trip_up(const stru
 			      const struct thermal_trip *trip);
 int thermal_notify_tz_trip_change(const struct thermal_zone_device *tz,
 				  const struct thermal_trip *trip);
-int thermal_notify_cdev_state_update(int cdev_id, int state);
-int thermal_notify_cdev_add(int cdev_id, const char *name, int max_state);
-int thermal_notify_cdev_delete(int cdev_id);
+int thermal_notify_cdev_state_update(const struct thermal_cooling_device *cdev,
+				     int state);
+int thermal_notify_cdev_add(const struct thermal_cooling_device *cdev);
+int thermal_notify_cdev_delete(const struct thermal_cooling_device *cdev);
 int thermal_notify_tz_gov_change(const struct thermal_zone_device *tz,
 				 const char *name);
 int thermal_genl_sampling_temp(int id, int temp);
@@ -79,18 +81,18 @@ static inline int thermal_notify_tz_trip
 	return 0;
 }
 
-static inline int thermal_notify_cdev_state_update(int cdev_id, int state)
+static inline int thermal_notify_cdev_state_update(const struct thermal_cooling_device *cdev,
+						   int state)
 {
 	return 0;
 }
 
-static inline int thermal_notify_cdev_add(int cdev_id, const char *name,
-					  int max_state)
+static inline int thermal_notify_cdev_add(const struct thermal_cooling_device *cdev)
 {
 	return 0;
 }
 
-static inline int thermal_notify_cdev_delete(int cdev_id)
+static inline int thermal_notify_cdev_delete(const struct thermal_cooling_device *cdev)
 {
 	return 0;
 }
drivers/thermal/thermal_netlink.c +8 -7
Index: linux-pm/drivers/thermal/thermal_netlink.c
===================================================================
@@ -364,24 +364,25 @@ int thermal_notify_tz_trip_change(const
 	return thermal_genl_send_event(THERMAL_GENL_EVENT_TZ_TRIP_CHANGE, &p);
 }
 
-int thermal_notify_cdev_state_update(int cdev_id, int cdev_state)
+int thermal_notify_cdev_state_update(const struct thermal_cooling_device *cdev,
+				     int state)
 {
-	struct param p = { .cdev_id = cdev_id, .cdev_state = cdev_state };
+	struct param p = { .cdev_id = cdev->id, .cdev_state = state };
 
 	return thermal_genl_send_event(THERMAL_GENL_EVENT_CDEV_STATE_UPDATE, &p);
 }
 
-int thermal_notify_cdev_add(int cdev_id, const char *name, int cdev_max_state)
+int thermal_notify_cdev_add(const struct thermal_cooling_device *cdev)
 {
-	struct param p = { .cdev_id = cdev_id, .name = name,
-			   .cdev_max_state = cdev_max_state };
+	struct param p = { .cdev_id = cdev->id, .name = cdev->type,
+			   .cdev_max_state = cdev->max_state };
 
 	return thermal_genl_send_event(THERMAL_GENL_EVENT_CDEV_ADD, &p);
 }
 
-int thermal_notify_cdev_delete(int cdev_id)
+int thermal_notify_cdev_delete(const struct thermal_cooling_device *cdev)
 {
-	struct param p = { .cdev_id = cdev_id };
+	struct param p = { .cdev_id = cdev->id };
 
 	return thermal_genl_send_event(THERMAL_GENL_EVENT_CDEV_DELETE, &p);
 }
drivers/thermal/thermal_helpers.c +1 -1
Index: linux-pm/drivers/thermal/thermal_helpers.c
===================================================================
@@ -156,7 +156,7 @@ static int thermal_cdev_set_cur_state(st
 	 */
 	ret = cdev->ops->set_cur_state(cdev, state);
 	if (!ret) {
-		thermal_notify_cdev_state_update(cdev->id, state);
+		thermal_notify_cdev_state_update(cdev, state);
 		thermal_cooling_device_stats_update(cdev, state);
 		thermal_debug_cdev_state_update(cdev, state);
 	}
Reviewed-by on v1 1/2
#2 lore raw

Re: [PATCH v1 1/2] thermal: netlink: Rework notify API for cooling devices

Quoted 11 lines · Rafael J. Wysocki

From: Rafael J. Wysocki <[email protected]>

In analogy with some previous thermal netlink API changes, redefine thermal_notify_cdev_state_update(), thermal_notify_cdev_add() and thermal_notify_cdev_delete() to take a const cdev pointer as their first argument and let them extract the requisite information from there by themselves.

No intentional functional impact.

Signature · 5 lines
<http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs

Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog
#3 lore raw

PATCH 2/2 thermal: helpers: Rearrange thermal_cdev_set_cur_state()

In reply to Rafael J. Wysocki

From: Rafael J. Wysocki <[email protected]>

Change the code layout in thermal_cdev_set_cur_state() so it returns early on errors which is more consistent with what happens elsewhere.

No intentional functional impact.

---
 drivers/thermal/thermal_helpers.c |   13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)
drivers/thermal/thermal_helpers.c +7 -6
Index: linux-pm/drivers/thermal/thermal_helpers.c
===================================================================
@@ -155,13 +155,14 @@ static int thermal_cdev_set_cur_state(st
 	 * registering function checked the ops are correctly set
 	 */
 	ret = cdev->ops->set_cur_state(cdev, state);
-	if (!ret) {
-		thermal_notify_cdev_state_update(cdev, state);
-		thermal_cooling_device_stats_update(cdev, state);
-		thermal_debug_cdev_state_update(cdev, state);
-	}
+	if (ret)
+		return ret;
 
-	return ret;
+	thermal_notify_cdev_state_update(cdev, state);
+	thermal_cooling_device_stats_update(cdev, state);
+	thermal_debug_cdev_state_update(cdev, state);
+
+	return 0;
 }
 
 void __thermal_cdev_update(struct thermal_cooling_device *cdev)
Reviewed-by on v1 2/2
#4 lore raw

Re: [PATCH v1 2/2] thermal: helpers: Rearrange thermal_cdev_set_cur_state()

Quoted 8 lines · Rafael J. Wysocki

From: Rafael J. Wysocki <[email protected]>

Change the code layout in thermal_cdev_set_cur_state() so it returns early on errors which is more consistent with what happens elsewhere.

No intentional functional impact.

Signature · 5 lines
<http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs

Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog