enum thermal_trend {
THERMAL_TREND_STABLE, /* temperature is stable */
THERMAL_TREND_RAISING, /* temperature is raising */
THERMAL_TREND_DROPPING, /* temperature is dropping */
};
/* Thermal notification reason */ enum thermal_notify_event {
THERMAL_EVENT_UNSPECIFIED, /* Unspecified event */
THERMAL_EVENT_TEMP_SAMPLE, /* New Temperature sample */
THERMAL_TRIP_VIOLATED, /* TRIP Point violation */
THERMAL_TRIP_CHANGED, /* TRIP Point temperature changed */
THERMAL_DEVICE_DOWN, /* Thermal device is down */
THERMAL_DEVICE_UP, /* Thermal device is up after a down event */
THERMAL_DEVICE_POWER_CAPABILITY_CHANGED, /* power capability changed */
THERMAL_TABLE_CHANGED, /* Thermal table(s) changed */
THERMAL_EVENT_KEEP_ALIVE, /* Request for user space handler to respond */
THERMAL_TZ_BIND_CDEV, /* Cooling dev is bind to the thermal zone */
THERMAL_TZ_UNBIND_CDEV, /* Cooling dev is unbind from the thermal zone */
THERMAL_INSTANCE_WEIGHT_CHANGED, /* Thermal instance weight changed */
THERMAL_TZ_RESUME, /* Thermal zone is resuming after system sleep */
THERMAL_TZ_ADD_THRESHOLD, /* Threshold added */
THERMAL_TZ_DEL_THRESHOLD, /* Threshold deleted */
THERMAL_TZ_FLUSH_THRESHOLDS, /* All thresholds deleted */
};
/** * struct thermal_trip - representation of a point in temperature domain * @temperature: temperature value in miliCelsius * @hysteresis: relative hysteresis in miliCelsius * @type: trip point type * @priv: pointer to driver data associated with this trip * @flags: flags representing binary properties of the trip
*/ struct thermal_trip { int temperature; int hysteresis; enum thermal_trip_type type;
u8 flags; void *priv;
};
/* Structure to define Thermal Zone parameters */ struct thermal_zone_params { constchar *governor_name;
/* * a boolean to indicate if the thermal to hwmon sysfs interface * is required. when no_hwmon == false, a hwmon sysfs interface * will be created. when no_hwmon == true, nothing will be done
*/ bool no_hwmon;
/* * Sustainable power (heat) that this thermal zone can dissipate in * mW
*/
u32 sustainable_power;
/* * Proportional parameter of the PID controller when * overshooting (i.e., when temperature is below the target)
*/
s32 k_po;
/* * Proportional parameter of the PID controller when * undershooting
*/
s32 k_pu;
/* Integral parameter of the PID controller */
s32 k_i;
/* Derivative parameter of the PID controller */
s32 k_d;
/* threshold below which the error is no longer accumulated */
s32 integral_cutoff;
/* * @slope: slope of a linear temperature adjustment curve. * Used by thermal zone drivers.
*/ int slope; /* * @offset: offset of a linear temperature adjustment curve. * Used by thermal zone drivers (default 0).
*/ int offset;
};
/* Function declarations */ #ifdef CONFIG_THERMAL_OF struct thermal_zone_device *devm_thermal_of_zone_register(struct device *dev, int id, void *data, conststruct thermal_zone_device_ops *ops);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.