Merge tag 'for-linus-5.9-rc1b-tag' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-microblaze.git] / include / linux / thermal.h
index 216185b..42ef807 100644 (file)
@@ -37,18 +37,6 @@ struct thermal_cooling_device;
 struct thermal_instance;
 struct thermal_attr;
 
-enum thermal_device_mode {
-       THERMAL_DEVICE_DISABLED = 0,
-       THERMAL_DEVICE_ENABLED,
-};
-
-enum thermal_trip_type {
-       THERMAL_TRIP_ACTIVE = 0,
-       THERMAL_TRIP_PASSIVE,
-       THERMAL_TRIP_HOT,
-       THERMAL_TRIP_CRITICAL,
-};
-
 enum thermal_trend {
        THERMAL_TREND_STABLE, /* temperature is stable */
        THERMAL_TREND_RAISING, /* temperature is raising */
@@ -76,9 +64,7 @@ struct thermal_zone_device_ops {
                       struct thermal_cooling_device *);
        int (*get_temp) (struct thermal_zone_device *, int *);
        int (*set_trips) (struct thermal_zone_device *, int, int);
-       int (*get_mode) (struct thermal_zone_device *,
-                        enum thermal_device_mode *);
-       int (*set_mode) (struct thermal_zone_device *,
+       int (*change_mode) (struct thermal_zone_device *,
                enum thermal_device_mode);
        int (*get_trip_type) (struct thermal_zone_device *, int,
                enum thermal_trip_type *);
@@ -128,6 +114,7 @@ struct thermal_cooling_device {
  * @trip_temp_attrs:   attributes for trip points for sysfs: trip temperature
  * @trip_type_attrs:   attributes for trip points for sysfs: trip type
  * @trip_hyst_attrs:   attributes for trip points for sysfs: trip hysteresis
+ * @mode:              current mode of this thermal zone
  * @devdata:   private pointer for device private data
  * @trips:     number of trip points the thermal zone supports
  * @trips_disabled;    bitmap for disabled trips
@@ -170,6 +157,7 @@ struct thermal_zone_device {
        struct thermal_attr *trip_temp_attrs;
        struct thermal_attr *trip_type_attrs;
        struct thermal_attr *trip_hyst_attrs;
+       enum thermal_device_mode mode;
        void *devdata;
        int trips;
        unsigned long trips_disabled;   /* bitmap for disabled trips */
@@ -303,11 +291,6 @@ struct thermal_zone_params {
        int offset;
 };
 
-struct thermal_genl_event {
-       u32 orig;
-       enum events event;
-};
-
 /**
  * struct thermal_zone_of_device_ops - scallbacks for handling DT based zones
  *
@@ -416,6 +399,8 @@ int thermal_zone_get_offset(struct thermal_zone_device *tz);
 
 void thermal_cdev_update(struct thermal_cooling_device *);
 void thermal_notify_framework(struct thermal_zone_device *, int);
+int thermal_zone_device_enable(struct thermal_zone_device *tz);
+int thermal_zone_device_disable(struct thermal_zone_device *tz);
 #else
 static inline struct thermal_zone_device *thermal_zone_device_register(
        const char *type, int trips, int mask, void *devdata,
@@ -463,6 +448,12 @@ static inline void thermal_cdev_update(struct thermal_cooling_device *cdev)
 static inline void thermal_notify_framework(struct thermal_zone_device *tz,
        int trip)
 { }
+
+static inline int thermal_zone_device_enable(struct thermal_zone_device *tz)
+{ return -ENODEV; }
+
+static inline int thermal_zone_device_disable(struct thermal_zone_device *tz)
+{ return -ENODEV; }
 #endif /* CONFIG_THERMAL */
 
 #endif /* __THERMAL_H__ */