mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2026-05-05 09:57:21 +02:00
soc: qcom: pmic_glink_altmode: simplify locking with guard()
Simplify error handling (less gotos) over locks with guard(). Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://lore.kernel.org/r/20240822164853.231087-1-krzysztof.kozlowski@linaro.org Signed-off-by: Bjorn Andersson <andersson@kernel.org>
This commit is contained in:
committed by
Bjorn Andersson
parent
2705bce5b4
commit
95fee30094
@@ -5,6 +5,7 @@
|
||||
*/
|
||||
#include <linux/auxiliary_bus.h>
|
||||
#include <linux/bitfield.h>
|
||||
#include <linux/cleanup.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/of.h>
|
||||
#include <linux/of_device.h>
|
||||
@@ -114,7 +115,7 @@ static int pmic_glink_altmode_request(struct pmic_glink_altmode *altmode, u32 cm
|
||||
* The USBC_CMD_WRITE_REQ ack doesn't identify the request, so wait for
|
||||
* one ack at a time.
|
||||
*/
|
||||
mutex_lock(&altmode->lock);
|
||||
guard(mutex)(&altmode->lock);
|
||||
|
||||
req.hdr.owner = cpu_to_le32(altmode->owner_id);
|
||||
req.hdr.type = cpu_to_le32(PMIC_GLINK_REQ_RESP);
|
||||
@@ -125,18 +126,16 @@ static int pmic_glink_altmode_request(struct pmic_glink_altmode *altmode, u32 cm
|
||||
ret = pmic_glink_send(altmode->client, &req, sizeof(req));
|
||||
if (ret) {
|
||||
dev_err(altmode->dev, "failed to send altmode request: %#x (%d)\n", cmd, ret);
|
||||
goto out_unlock;
|
||||
return ret;
|
||||
}
|
||||
|
||||
left = wait_for_completion_timeout(&altmode->pan_ack, 5 * HZ);
|
||||
if (!left) {
|
||||
dev_err(altmode->dev, "timeout waiting for altmode request ack for: %#x\n", cmd);
|
||||
ret = -ETIMEDOUT;
|
||||
return -ETIMEDOUT;
|
||||
}
|
||||
|
||||
out_unlock:
|
||||
mutex_unlock(&altmode->lock);
|
||||
return ret;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void pmic_glink_altmode_enable_dp(struct pmic_glink_altmode *altmode,
|
||||
|
||||
Reference in New Issue
Block a user