|
@@ -319,44 +319,6 @@ static void __bind(struct thermal_zone_device *tz, int mask,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-static void bind_cdev(struct thermal_cooling_device *cdev)
|
|
|
-{
|
|
|
- int i, ret;
|
|
|
- const struct thermal_zone_params *tzp;
|
|
|
- struct thermal_zone_device *pos = NULL;
|
|
|
-
|
|
|
- mutex_lock(&thermal_list_lock);
|
|
|
-
|
|
|
- list_for_each_entry(pos, &thermal_tz_list, node) {
|
|
|
- if (!pos->tzp && !pos->ops->bind)
|
|
|
- continue;
|
|
|
-
|
|
|
- if (pos->ops->bind) {
|
|
|
- ret = pos->ops->bind(pos, cdev);
|
|
|
- if (ret)
|
|
|
- print_bind_err_msg(pos, cdev, ret);
|
|
|
- continue;
|
|
|
- }
|
|
|
-
|
|
|
- tzp = pos->tzp;
|
|
|
- if (!tzp || !tzp->tbp)
|
|
|
- continue;
|
|
|
-
|
|
|
- for (i = 0; i < tzp->num_tbps; i++) {
|
|
|
- if (tzp->tbp[i].cdev || !tzp->tbp[i].match)
|
|
|
- continue;
|
|
|
- if (tzp->tbp[i].match(pos, cdev))
|
|
|
- continue;
|
|
|
- tzp->tbp[i].cdev = cdev;
|
|
|
- __bind(pos, tzp->tbp[i].trip_mask, cdev,
|
|
|
- tzp->tbp[i].binding_limits,
|
|
|
- tzp->tbp[i].weight);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- mutex_unlock(&thermal_list_lock);
|
|
|
-}
|
|
|
-
|
|
|
static void bind_tz(struct thermal_zone_device *tz)
|
|
|
{
|
|
|
int i, ret;
|
|
@@ -889,6 +851,44 @@ static struct class thermal_class = {
|
|
|
.dev_release = thermal_release,
|
|
|
};
|
|
|
|
|
|
+static void bind_cdev(struct thermal_cooling_device *cdev)
|
|
|
+{
|
|
|
+ int i, ret;
|
|
|
+ const struct thermal_zone_params *tzp;
|
|
|
+ struct thermal_zone_device *pos = NULL;
|
|
|
+
|
|
|
+ mutex_lock(&thermal_list_lock);
|
|
|
+
|
|
|
+ list_for_each_entry(pos, &thermal_tz_list, node) {
|
|
|
+ if (!pos->tzp && !pos->ops->bind)
|
|
|
+ continue;
|
|
|
+
|
|
|
+ if (pos->ops->bind) {
|
|
|
+ ret = pos->ops->bind(pos, cdev);
|
|
|
+ if (ret)
|
|
|
+ print_bind_err_msg(pos, cdev, ret);
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ tzp = pos->tzp;
|
|
|
+ if (!tzp || !tzp->tbp)
|
|
|
+ continue;
|
|
|
+
|
|
|
+ for (i = 0; i < tzp->num_tbps; i++) {
|
|
|
+ if (tzp->tbp[i].cdev || !tzp->tbp[i].match)
|
|
|
+ continue;
|
|
|
+ if (tzp->tbp[i].match(pos, cdev))
|
|
|
+ continue;
|
|
|
+ tzp->tbp[i].cdev = cdev;
|
|
|
+ __bind(pos, tzp->tbp[i].trip_mask, cdev,
|
|
|
+ tzp->tbp[i].binding_limits,
|
|
|
+ tzp->tbp[i].weight);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ mutex_unlock(&thermal_list_lock);
|
|
|
+}
|
|
|
+
|
|
|
/**
|
|
|
* __thermal_cooling_device_register() - register a new thermal cooling device
|
|
|
* @np: a pointer to a device tree node.
|