summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Documentation/driver-api/thermal/sysfs-api.rst59
-rw-r--r--drivers/thermal/thermal_core.c75
-rw-r--r--include/linux/thermal.h10
3 files changed, 6 insertions, 138 deletions
diff --git a/Documentation/driver-api/thermal/sysfs-api.rst b/Documentation/driver-api/thermal/sysfs-api.rst
index 15fb59a9365d..c803b89b7248 100644
--- a/Documentation/driver-api/thermal/sysfs-api.rst
+++ b/Documentation/driver-api/thermal/sysfs-api.rst
@@ -58,10 +58,9 @@ temperature) and throttle appropriate devices.
ops:
thermal zone device call-backs.
- .bind:
- bind the thermal zone device with a thermal cooling device.
- .unbind:
- unbind the thermal zone device with a thermal cooling device.
+ .should_bind:
+ check whether or not a given cooling device should be bound to
+ a given trip point in this thermal zone.
.get_temp:
get the current temperature of the thermal zone.
.set_trips:
@@ -246,56 +245,6 @@ temperature) and throttle appropriate devices.
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
------------------------------------------------------------------------------
-
- ::
-
- 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 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 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.
- lower:
- the Minimum cooling state can be used for this trip point.
- THERMAL_NO_LIMIT means no lower limit,
- and the cooling device can be in cooling state 0.
- weight:
- the influence of this cooling device in this thermal
- zone. See 1.4.1 below for more information.
-
- ::
-
- int thermal_zone_unbind_cooling_device(struct thermal_zone_device *tz,
- int trip, struct thermal_cooling_device *cdev);
-
- 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 in this thermal zone the cooling device
- is associated with.
-
1.4 Thermal Zone Parameters
---------------------------
@@ -366,8 +315,6 @@ Thermal cooling device sys I/F, created once it's registered::
Then next two dynamic attributes are created/removed in pairs. They represent
the relationship between a thermal zone and its associated cooling device.
-They are created/removed for each successful execution of
-thermal_zone_bind_cooling_device/thermal_zone_unbind_cooling_device.
::
diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c
index 68fb85c18afa..9ca9d741fa0f 100644
--- a/drivers/thermal/thermal_core.c
+++ b/drivers/thermal/thermal_core.c
@@ -886,28 +886,6 @@ free_mem:
return result;
}
-int thermal_zone_bind_cooling_device(struct thermal_zone_device *tz,
- int trip_index,
- struct thermal_cooling_device *cdev,
- unsigned long upper, unsigned long lower,
- unsigned int weight)
-{
- int ret;
-
- if (trip_index < 0 || trip_index >= tz->num_trips)
- return -EINVAL;
-
- mutex_lock(&tz->lock);
-
- ret = thermal_bind_cdev_to_trip(tz, &tz->trips[trip_index].trip, cdev,
- upper, lower, weight);
-
- mutex_unlock(&tz->lock);
-
- return ret;
-}
-EXPORT_SYMBOL_GPL(thermal_zone_bind_cooling_device);
-
/**
* thermal_unbind_cdev_from_trip - unbind a cooling device from a thermal zone.
* @tz: pointer to a struct thermal_zone_device.
@@ -953,25 +931,6 @@ unbind:
return 0;
}
-int thermal_zone_unbind_cooling_device(struct thermal_zone_device *tz,
- int trip_index,
- struct thermal_cooling_device *cdev)
-{
- int ret;
-
- if (trip_index < 0 || trip_index >= tz->num_trips)
- return -EINVAL;
-
- mutex_lock(&tz->lock);
-
- ret = thermal_unbind_cdev_from_trip(tz, &tz->trips[trip_index].trip, cdev);
-
- mutex_unlock(&tz->lock);
-
- return ret;
-}
-EXPORT_SYMBOL_GPL(thermal_zone_unbind_cooling_device);
-
static void thermal_release(struct device *dev)
{
struct thermal_zone_device *tz;
@@ -1000,14 +959,8 @@ void print_bind_err_msg(struct thermal_zone_device *tz,
const struct thermal_trip *trip,
struct thermal_cooling_device *cdev, int ret)
{
- if (trip) {
- dev_err(&tz->device, "binding cdev %s to trip %d failed: %d\n",
- cdev->type, thermal_zone_trip_id(tz, trip), ret);
- return;
- }
-
- dev_err(&tz->device, "binding zone %s with cdev %s failed:%d\n",
- tz->type, cdev->type, ret);
+ dev_err(&tz->device, "binding cdev %s to trip %d failed: %d\n",
+ cdev->type, thermal_zone_trip_id(tz, trip), ret);
}
static void thermal_zone_cdev_binding(struct thermal_zone_device *tz,
@@ -1016,18 +969,6 @@ static void thermal_zone_cdev_binding(struct thermal_zone_device *tz,
struct thermal_trip_desc *td;
int ret;
- /*
- * Old-style binding. The .bind() callback is expected to call
- * thermal_bind_cdev_to_trip() under the thermal zone lock.
- */
- if (tz->ops.bind) {
- ret = tz->ops.bind(tz, cdev);
- if (ret)
- print_bind_err_msg(tz, NULL, cdev, ret);
-
- return;
- }
-
if (!tz->ops.should_bind)
return;
@@ -1354,15 +1295,6 @@ static void thermal_zone_cdev_unbinding(struct thermal_zone_device *tz,
{
struct thermal_trip_desc *td;
- /*
- * Old-style unbinding. The .unbind callback is expected to call
- * thermal_unbind_cdev_from_trip() under the thermal zone lock.
- */
- if (tz->ops.unbind) {
- tz->ops.unbind(tz, cdev);
- return;
- }
-
mutex_lock(&tz->lock);
for_each_trip_desc(tz, td)
@@ -1496,8 +1428,7 @@ thermal_zone_device_register_with_trips(const char *type,
return ERR_PTR(-EINVAL);
}
- if (!ops || !ops->get_temp || (ops->should_bind && ops->bind) ||
- (ops->should_bind && ops->unbind)) {
+ if (!ops || !ops->get_temp) {
pr_err("Thermal zone device ops not defined or invalid\n");
return ERR_PTR(-EINVAL);
}
diff --git a/include/linux/thermal.h b/include/linux/thermal.h
index 6599a26847f7..25ea8fe2313e 100644
--- a/include/linux/thermal.h
+++ b/include/linux/thermal.h
@@ -92,10 +92,6 @@ struct cooling_spec {
};
struct thermal_zone_device_ops {
- int (*bind) (struct thermal_zone_device *,
- struct thermal_cooling_device *);
- int (*unbind) (struct thermal_zone_device *,
- struct thermal_cooling_device *);
bool (*should_bind) (struct thermal_zone_device *,
const struct thermal_trip *,
struct thermal_cooling_device *,
@@ -247,12 +243,6 @@ const char *thermal_zone_device_type(struct thermal_zone_device *tzd);
int thermal_zone_device_id(struct thermal_zone_device *tzd);
struct device *thermal_zone_device(struct thermal_zone_device *tzd);
-int thermal_zone_bind_cooling_device(struct thermal_zone_device *, int,
- struct thermal_cooling_device *,
- unsigned long, unsigned long,
- unsigned int);
-int thermal_zone_unbind_cooling_device(struct thermal_zone_device *, int,
- struct thermal_cooling_device *);
void thermal_zone_device_update(struct thermal_zone_device *,
enum thermal_notify_event);