thermal: Syntactic and factual errors in the API document
[deliverable/linux.git] / Documentation / thermal / sysfs-api.txt
index 8c745c8931da05a5fb57d5a10a5aa4a3cd376a22..efc3f3d293c499d479e0c558837157caca5d0352 100644 (file)
@@ -69,8 +69,76 @@ temperature) and throttle appropriate devices.
 1.1.2 void thermal_zone_device_unregister(struct thermal_zone_device *tz)
 
     This interface function removes the thermal zone device.
-    It deletes the corresponding entry form /sys/class/thermal folder and
-    unbind all the thermal cooling devices it uses.
+    It deletes the corresponding entry from /sys/class/thermal folder and
+    unbinds all the thermal cooling devices it uses.
+
+1.1.3 struct thermal_zone_device *thermal_zone_of_sensor_register(
+               struct device *dev, int sensor_id, void *data,
+               const struct thermal_zone_of_device_ops *ops)
+
+       This interface adds a new sensor to a DT thermal zone.
+       This function will search the list of thermal zones described in
+       device tree and look for the zone that refer to the sensor device
+       pointed by dev->of_node as temperature providers. For the zone
+       pointing to the sensor node, the sensor will be added to the DT
+       thermal zone device.
+
+       The parameters for this interface are:
+       dev:            Device node of sensor containing valid node pointer in
+                       dev->of_node.
+       sensor_id:      a sensor identifier, in case the sensor IP has more
+                       than one sensors
+       data:           a private pointer (owned by the caller) that will be
+                       passed back, when a temperature reading is needed.
+       ops:            struct thermal_zone_of_device_ops *.
+
+                       get_temp:       a pointer to a function that reads the
+                                       sensor temperature. This is mandatory
+                                       callback provided by sensor driver.
+                       get_trend:      a pointer to a function that reads the
+                                       sensor temperature trend.
+                       set_emul_temp:  a pointer to a function that sets
+                                       sensor emulated temperature.
+       The thermal zone temperature is provided by the get_temp() function
+       pointer of thermal_zone_of_device_ops. When called, it will
+       have the private pointer @data back.
+
+       It returns error pointer if fails otherwise valid thermal zone device
+       handle. Caller should check the return handle with IS_ERR() for finding
+       whether success or not.
+
+1.1.4 void thermal_zone_of_sensor_unregister(struct device *dev,
+               struct thermal_zone_device *tzd)
+
+       This interface unregisters a sensor from a DT thermal zone which was
+       successfully added by interface thermal_zone_of_sensor_register().
+       This function removes the sensor callbacks and private data from the
+       thermal zone device registered with thermal_zone_of_sensor_register()
+       interface. It will also silent the zone by remove the .get_temp() and
+       get_trend() thermal zone device callbacks.
+
+1.1.5 struct thermal_zone_device *devm_thermal_zone_of_sensor_register(
+               struct device *dev, int sensor_id,
+               void *data, const struct thermal_zone_of_device_ops *ops)
+
+       This interface is resource managed version of
+       thermal_zone_of_sensor_register().
+       All details of thermal_zone_of_sensor_register() described in
+       section 1.1.3 is applicable here.
+       The benefit of using this interface to register sensor is that it
+       is not require to explicitly call thermal_zone_of_sensor_unregister()
+       in error path or during driver unbinding as this is done by driver
+       resource manager.
+
+1.1.6 void devm_thermal_zone_of_sensor_unregister(struct device *dev,
+               struct thermal_zone_device *tzd)
+
+       This interface is resource managed version of
+       thermal_zone_of_sensor_unregister().
+       All details of thermal_zone_of_sensor_unregister() described in
+       section 1.1.4 is applicable here.
+       Normally this function will not need to be called and the resource
+       management code will ensure that the resource is freed.
 
 1.2 thermal cooling device interface
 1.2.1 struct thermal_cooling_device *thermal_cooling_device_register(char *name,
@@ -78,32 +146,32 @@ temperature) and throttle appropriate devices.
 
     This interface function adds a new thermal cooling device (fan/processor/...)
     to /sys/class/thermal/ folder as cooling_device[0-*]. It tries to bind itself
-    to all the thermal zone devices register at the same time.
+    to all the thermal zone devices registered at the same time.
     name: the cooling device name.
     devdata: device private data.
     ops: thermal cooling devices call-backs.
        .get_max_state: get the Maximum throttle state of the cooling device.
-       .get_cur_state: get the Current throttle state of the cooling device.
+       .get_cur_state: get the Currently requested throttle state of the cooling device.
        .set_cur_state: set the Current throttle state of the cooling device.
 
 1.2.2 void thermal_cooling_device_unregister(struct thermal_cooling_device *cdev)
 
-    This interface function remove the thermal cooling device.
-    It deletes the corresponding entry form /sys/class/thermal folder and
-    unbind itself from all the thermal zone devices using it.
+    This interface function removes the thermal cooling device.
+    It deletes the corresponding entry from /sys/class/thermal folder and
+    unbinds itself from all the thermal zone devices using it.
 
 1.3 interface for binding a thermal zone device with a thermal cooling device
 1.3.1 int thermal_zone_bind_cooling_device(struct thermal_zone_device *tz,
        int trip, struct thermal_cooling_device *cdev,
        unsigned long upper, unsigned long lower, unsigned int weight);
 
-    This interface function bind a thermal cooling device to the certain trip
+    This interface function binds a thermal cooling device to a particular trip
     point of a thermal zone device.
     This function is usually called in the thermal zone device .bind callback.
     tz: the thermal zone device
     cdev: thermal cooling device
-    trip: indicates which trip point the cooling devices is associated with
-         in this thermal zone.
+    trip: indicates which trip point in this thermal zone the cooling device
+          is associated with.
     upper:the Maximum cooling state for this trip point.
           THERMAL_NO_LIMIT means no upper limit,
          and the cooling device can be in max_state.
@@ -116,13 +184,13 @@ temperature) and throttle appropriate devices.
 1.3.2 int thermal_zone_unbind_cooling_device(struct thermal_zone_device *tz,
                int trip, struct thermal_cooling_device *cdev);
 
-    This interface function unbind a thermal cooling device from the certain
+    This interface function unbinds a thermal cooling device from a particular
     trip point of a thermal zone device. This function is usually called in
     the thermal zone device .unbind callback.
     tz: the thermal zone device
     cdev: thermal cooling device
-    trip: indicates which trip point the cooling devices is associated with
-         in this thermal zone.
+    trip: indicates which trip point in this thermal zone the cooling device
+          is associated with.
 
 1.4 Thermal Zone Parameters
 1.4.1 struct thermal_bind_params
@@ -142,13 +210,13 @@ temperature) and throttle appropriate devices.
                this thermal zone and cdev, for a particular trip point.
                If nth bit is set, then the cdev and thermal zone are bound
                for trip point n.
-    .limits: This is an array of cooling state limits. Must have exactly
-         2 * thermal_zone.number_of_trip_points. It is an array consisting
-         of tuples <lower-state upper-state> of state limits. Each trip
-         will be associated with one state limit tuple when binding.
-         A NULL pointer means <THERMAL_NO_LIMITS THERMAL_NO_LIMITS>
-         on all trips. These limits are used when binding a cdev to a
-         trip point.
+    .binding_limits: This is an array of cooling state limits. Must have
+                     exactly 2 * thermal_zone.number_of_trip_points. It is an
+                     array consisting of tuples <lower-state upper-state> of
+                     state limits. Each trip will be associated with one state
+                     limit tuple when binding. A NULL pointer means
+                     <THERMAL_NO_LIMITS THERMAL_NO_LIMITS> on all trips.
+                     These limits are used when binding a cdev to a trip point.
     .match: This call back returns success(0) if the 'tz and cdev' need to
            be bound, as per platform data.
 1.4.2 struct thermal_zone_params
@@ -283,8 +351,8 @@ cdev[0-*]
        RO, Optional
 
 cdev[0-*]_trip_point
-       The trip point with which cdev[0-*] is associated in this thermal
-       zone; -1 means the cooling device is not associated with any trip
+       The trip point in this thermal zone which cdev[0-*] is associated
+       with; -1 means the cooling device is not associated with any trip
        point.
        RO, Optional
 
This page took 0.066875 seconds and 5 git commands to generate.