diff options
Diffstat (limited to 'drivers/thermal/gov_user_space.c')
| -rw-r--r-- | drivers/thermal/gov_user_space.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/drivers/thermal/gov_user_space.c b/drivers/thermal/gov_user_space.c index 8bc1c22aaf03..ef95cf7d65ef 100644 --- a/drivers/thermal/gov_user_space.c +++ b/drivers/thermal/gov_user_space.c @@ -23,13 +23,16 @@ static int user_space_bind(struct thermal_zone_device *tz) } /** - * notify_user_space - Notifies user space about thermal events + * user_space_trip_crossed - Notify user space about trip crossing events * @tz: thermal_zone_device - * @trip: trip point index + * @trip: trip point + * @upward: whether or not the trip has been crossed on the way up * * This function notifies the user space through UEvents. */ -static int notify_user_space(struct thermal_zone_device *tz, int trip) +static void user_space_trip_crossed(struct thermal_zone_device *tz, + const struct thermal_trip *trip, + bool upward) { char *thermal_prop[5]; int i; @@ -38,19 +41,18 @@ static int notify_user_space(struct thermal_zone_device *tz, int trip) thermal_prop[0] = kasprintf(GFP_KERNEL, "NAME=%s", tz->type); thermal_prop[1] = kasprintf(GFP_KERNEL, "TEMP=%d", tz->temperature); - thermal_prop[2] = kasprintf(GFP_KERNEL, "TRIP=%d", trip); + thermal_prop[2] = kasprintf(GFP_KERNEL, "TRIP=%d", + thermal_zone_trip_id(tz, trip)); thermal_prop[3] = kasprintf(GFP_KERNEL, "EVENT=%d", tz->notify_event); thermal_prop[4] = NULL; kobject_uevent_env(&tz->device.kobj, KOBJ_CHANGE, thermal_prop); for (i = 0; i < 4; ++i) kfree(thermal_prop[i]); - - return 0; } static struct thermal_governor thermal_gov_user_space = { .name = "user_space", - .throttle = notify_user_space, + .trip_crossed = user_space_trip_crossed, .bind_to_tz = user_space_bind, }; THERMAL_GOVERNOR_DECLARE(thermal_gov_user_space); |
