// SPDX-License-Identifier: GPL-2.0
/* Copyright (c) 2018, The Linux Foundation. All rights reserved.*/
+#include <linux/cleanup.h>
#include <linux/err.h>
#include <linux/init.h>
#include <linux/kernel.h>
unsigned int level)
{
struct rpmhpd *pd = domain_to_rpmhpd(domain);
- int ret = 0, i;
+ int ret, i;
- mutex_lock(&rpmhpd_lock);
+ guard(mutex)(&rpmhpd_lock);
for (i = 0; i < pd->level_count; i++)
if (level <= pd->level[i])
ret = rpmhpd_aggregate_corner(pd, i);
if (ret)
- goto out;
+ return ret;
}
pd->corner = i;
-out:
- mutex_unlock(&rpmhpd_lock);
- return ret;
+ return 0;
}
static int rpmhpd_update_level_mapping(struct rpmhpd *rpmhpd)