Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f2b4caaf authored by Durgadoss R's avatar Durgadoss R Committed by Zhang Rui
Browse files

Thermal: Add a notification API



This patch adds a notification API which the sensor drivers'
can use to notify the framework. The framework then takes
care of the throttling according to the configured policy.

Signed-off-by: default avatarDurgadoss R <durgadoss.r@intel.com>
Signed-off-by: default avatarZhang Rui <rui.zhang@intel.com>
parent 0c01ebbf
Loading
Loading
Loading
Loading
+18 −0
Original line number Original line Diff line number Diff line
@@ -1368,6 +1368,24 @@ void thermal_cdev_update(struct thermal_cooling_device *cdev)
}
}
EXPORT_SYMBOL(thermal_cdev_update);
EXPORT_SYMBOL(thermal_cdev_update);


/**
 * notify_thermal_framework - Sensor drivers use this API to notify framework
 * @tz:		thermal zone device
 * @trip:	indicates which trip point has been crossed
 *
 * This function handles the trip events from sensor drivers. It starts
 * throttling the cooling devices according to the policy configured.
 * For CRITICAL and HOT trip points, this notifies the respective drivers,
 * and does actual throttling for other trip points i.e ACTIVE and PASSIVE.
 * The throttling policy is based on the configured platform data; if no
 * platform data is provided, this uses the step_wise throttling policy.
 */
void notify_thermal_framework(struct thermal_zone_device *tz, int trip)
{
	handle_thermal_trip(tz, trip);
}
EXPORT_SYMBOL(notify_thermal_framework);

/**
/**
 * create_trip_attrs - create attributes for trip points
 * create_trip_attrs - create attributes for trip points
 * @tz:		the thermal zone device
 * @tz:		the thermal zone device
+1 −0
Original line number Original line Diff line number Diff line
@@ -232,6 +232,7 @@ int get_tz_trend(struct thermal_zone_device *, int);
struct thermal_instance *get_thermal_instance(struct thermal_zone_device *,
struct thermal_instance *get_thermal_instance(struct thermal_zone_device *,
		struct thermal_cooling_device *, int);
		struct thermal_cooling_device *, int);
void thermal_cdev_update(struct thermal_cooling_device *);
void thermal_cdev_update(struct thermal_cooling_device *);
void notify_thermal_framework(struct thermal_zone_device *, int);


int thermal_register_governor(struct thermal_governor *);
int thermal_register_governor(struct thermal_governor *);
void thermal_unregister_governor(struct thermal_governor *);
void thermal_unregister_governor(struct thermal_governor *);