mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-02-20 18:02:58 +07:00
thermal/drivers/of-thermal: Make of_thermal_destroy_zones static
The function of_thermal_destroy_zones() is only used internally by the of_parse_thermal_zones() for rollbacking in case of error. Make it static and tag it as an __init function. Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> Link: https://lore.kernel.org/r/20191219222154.16100-1-daniel.lezcano@linaro.org
This commit is contained in:
parent
23affa2e29
commit
8c24b85d2d
@ -998,6 +998,38 @@ static inline void of_thermal_free_zone(struct __thermal_zone *tz)
|
|||||||
kfree(tz);
|
kfree(tz);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* of_thermal_destroy_zones - remove all zones parsed and allocated resources
|
||||||
|
*
|
||||||
|
* Finds all zones parsed and added to the thermal framework and remove them
|
||||||
|
* from the system, together with their resources.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
static __init void of_thermal_destroy_zones(void)
|
||||||
|
{
|
||||||
|
struct device_node *np, *child;
|
||||||
|
|
||||||
|
np = of_find_node_by_name(NULL, "thermal-zones");
|
||||||
|
if (!np) {
|
||||||
|
pr_debug("unable to find thermal zones\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
for_each_available_child_of_node(np, child) {
|
||||||
|
struct thermal_zone_device *zone;
|
||||||
|
|
||||||
|
zone = thermal_zone_get_zone_by_name(child->name);
|
||||||
|
if (IS_ERR(zone))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
thermal_zone_device_unregister(zone);
|
||||||
|
kfree(zone->tzp);
|
||||||
|
kfree(zone->ops);
|
||||||
|
of_thermal_free_zone(zone->devdata);
|
||||||
|
}
|
||||||
|
of_node_put(np);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* of_parse_thermal_zones - parse device tree thermal data
|
* of_parse_thermal_zones - parse device tree thermal data
|
||||||
*
|
*
|
||||||
@ -1087,35 +1119,3 @@ int __init of_parse_thermal_zones(void)
|
|||||||
|
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* of_thermal_destroy_zones - remove all zones parsed and allocated resources
|
|
||||||
*
|
|
||||||
* Finds all zones parsed and added to the thermal framework and remove them
|
|
||||||
* from the system, together with their resources.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
void of_thermal_destroy_zones(void)
|
|
||||||
{
|
|
||||||
struct device_node *np, *child;
|
|
||||||
|
|
||||||
np = of_find_node_by_name(NULL, "thermal-zones");
|
|
||||||
if (!np) {
|
|
||||||
pr_debug("unable to find thermal zones\n");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
for_each_available_child_of_node(np, child) {
|
|
||||||
struct thermal_zone_device *zone;
|
|
||||||
|
|
||||||
zone = thermal_zone_get_zone_by_name(child->name);
|
|
||||||
if (IS_ERR(zone))
|
|
||||||
continue;
|
|
||||||
|
|
||||||
thermal_zone_device_unregister(zone);
|
|
||||||
kfree(zone->tzp);
|
|
||||||
kfree(zone->ops);
|
|
||||||
of_thermal_free_zone(zone->devdata);
|
|
||||||
}
|
|
||||||
of_node_put(np);
|
|
||||||
}
|
|
||||||
|
@ -92,14 +92,12 @@ thermal_cooling_device_stats_update(struct thermal_cooling_device *cdev,
|
|||||||
/* device tree support */
|
/* device tree support */
|
||||||
#ifdef CONFIG_THERMAL_OF
|
#ifdef CONFIG_THERMAL_OF
|
||||||
int of_parse_thermal_zones(void);
|
int of_parse_thermal_zones(void);
|
||||||
void of_thermal_destroy_zones(void);
|
|
||||||
int of_thermal_get_ntrips(struct thermal_zone_device *);
|
int of_thermal_get_ntrips(struct thermal_zone_device *);
|
||||||
bool of_thermal_is_trip_valid(struct thermal_zone_device *, int);
|
bool of_thermal_is_trip_valid(struct thermal_zone_device *, int);
|
||||||
const struct thermal_trip *
|
const struct thermal_trip *
|
||||||
of_thermal_get_trip_points(struct thermal_zone_device *);
|
of_thermal_get_trip_points(struct thermal_zone_device *);
|
||||||
#else
|
#else
|
||||||
static inline int of_parse_thermal_zones(void) { return 0; }
|
static inline int of_parse_thermal_zones(void) { return 0; }
|
||||||
static inline void of_thermal_destroy_zones(void) { }
|
|
||||||
static inline int of_thermal_get_ntrips(struct thermal_zone_device *tz)
|
static inline int of_thermal_get_ntrips(struct thermal_zone_device *tz)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user