mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-24 21:24:00 +08:00
thermal: core: move idr handling to device management section
Given that idr is only used to get id for thermal devices (zones and cooling), makes sense to move the code closer. Cc: Zhang Rui <rui.zhang@intel.com> Cc: linux-pm@vger.kernel.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Eduardo Valentin <edubezval@gmail.com> Signed-off-by: Zhang Rui <rui.zhang@intel.com>
This commit is contained in:
parent
1b4f48494e
commit
c30176fc6f
@ -286,30 +286,6 @@ static void thermal_unregister_governors(void)
|
||||
thermal_gov_power_allocator_unregister();
|
||||
}
|
||||
|
||||
static int get_idr(struct idr *idr, struct mutex *lock, int *id)
|
||||
{
|
||||
int ret;
|
||||
|
||||
if (lock)
|
||||
mutex_lock(lock);
|
||||
ret = idr_alloc(idr, NULL, 0, 0, GFP_KERNEL);
|
||||
if (lock)
|
||||
mutex_unlock(lock);
|
||||
if (unlikely(ret < 0))
|
||||
return ret;
|
||||
*id = ret;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void release_idr(struct idr *idr, struct mutex *lock, int id)
|
||||
{
|
||||
if (lock)
|
||||
mutex_lock(lock);
|
||||
idr_remove(idr, id);
|
||||
if (lock)
|
||||
mutex_unlock(lock);
|
||||
}
|
||||
|
||||
static void print_bind_err_msg(struct thermal_zone_device *tz,
|
||||
struct thermal_cooling_device *cdev, int ret)
|
||||
{
|
||||
@ -699,6 +675,30 @@ void thermal_zone_device_unbind_exception(struct thermal_zone_device *tz,
|
||||
|
||||
/* Device management */
|
||||
|
||||
static int get_idr(struct idr *idr, struct mutex *lock, int *id)
|
||||
{
|
||||
int ret;
|
||||
|
||||
if (lock)
|
||||
mutex_lock(lock);
|
||||
ret = idr_alloc(idr, NULL, 0, 0, GFP_KERNEL);
|
||||
if (lock)
|
||||
mutex_unlock(lock);
|
||||
if (unlikely(ret < 0))
|
||||
return ret;
|
||||
*id = ret;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void release_idr(struct idr *idr, struct mutex *lock, int id)
|
||||
{
|
||||
if (lock)
|
||||
mutex_lock(lock);
|
||||
idr_remove(idr, id);
|
||||
if (lock)
|
||||
mutex_unlock(lock);
|
||||
}
|
||||
|
||||
/**
|
||||
* thermal_zone_bind_cooling_device() - bind a cooling device to a thermal zone
|
||||
* @tz: pointer to struct thermal_zone_device
|
||||
|
Loading…
Reference in New Issue
Block a user