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

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

Thermal: Add platform level information to thermal.h



This patch adds platform level information to thermal.h
by introducing two structures to hold:
 * bind parameters for a thermal zone,
 * zone level platform parameters

Signed-off-by: default avatarDurgadoss R <durgadoss.r@intel.com>
Signed-off-by: default avatarZhang Rui <rui.zhang@intel.com>
parent 9b4298a0
Loading
Loading
Loading
Loading
+29 −0
Original line number Diff line number Diff line
@@ -157,6 +157,7 @@ struct thermal_zone_device {
	int passive;
	unsigned int forced_passive;
	const struct thermal_zone_device_ops *ops;
	const struct thermal_zone_params *tzp;
	struct list_head thermal_instances;
	struct idr idr;
	struct mutex lock; /* protect thermal_instances list */
@@ -164,6 +165,34 @@ struct thermal_zone_device {
	struct delayed_work poll_queue;
};

/* Structure that holds binding parameters for a zone */
struct thermal_bind_params {
	struct thermal_cooling_device *cdev;

	/*
	 * This is a measure of 'how effectively these devices can
	 * cool 'this' thermal zone. The shall be determined by platform
	 * characterization. This is on a 'percentage' scale.
	 * See Documentation/thermal/sysfs-api.txt for more information.
	 */
	int weight;

	/*
	 * This is a bit mask that gives the binding relation between this
	 * thermal zone and cdev, for a particular trip point.
	 * See Documentation/thermal/sysfs-api.txt for more information.
	 */
	int trip_mask;
	int (*match) (struct thermal_zone_device *tz,
			struct thermal_cooling_device *cdev);
};

/* Structure to define Thermal Zone parameters */
struct thermal_zone_params {
	int num_tbps;	/* Number of tbp entries */
	struct thermal_bind_params *tbp;
};

struct thermal_genl_event {
	u32 orig;
	enum events event;