From nobody Sat Jul 25 00:54:32 2026 Received: from mail-pl1-f174.google.com (mail-pl1-f174.google.com [209.85.214.174]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E982A3C9891 for ; Tue, 21 Jul 2026 10:26:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629589; cv=none; b=X8dICTpwlIWI9zz1uT4b6mGMMTKEq9xmzLxSGoJOPs4k12LPBUCc6KuKTjYk/SJ+kITd12ddnxMeY0dv57QfC20algt9AKKg488VgIGIIoVehJhLTTlWPr9DDQt7p/Y6sj9gJQJ0SJGQIHfb2em5DQIiw2Gw4xayIDJGEpPMvPo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629589; c=relaxed/simple; bh=WOalQFBHar3NvkPew2YrsEq8h801FlbaMFuTGotQNTc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=tyxv/lG2g7EW2ZlTgOwsZrt5ZeWqHcu776Y8f/JmU6qXa0WH95M5VbpNiof9Gi9CUcrnJLryJPF1ZGsDdbo7spCM8H2DV/GpKVJk/G3D28D7LUhwe0VzOtFo6sWuior6pzdXFziEjdQjzGl57oWbpbQ7yIABEGVaA5cUcCBBZEg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=GfdBQlkz; arc=none smtp.client-ip=209.85.214.174 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="GfdBQlkz" Received: by mail-pl1-f174.google.com with SMTP id d9443c01a7336-2cace91f112so114269925ad.0 for ; Tue, 21 Jul 2026 03:26:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784629587; x=1785234387; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=i+E/hLMGoCFm2Bo6D9s4vrTO1A3cUntDy1XLWjBr550=; b=GfdBQlkz4k7ZCnVEiwGMoFrpOhIXxCxvteueCP3fU9H9pAvHNFhz6gLZSJShcOqeon P1bZe7MvYm0c9C+iJ6S0HNkTRxIqXOyhTZP34APSe2MkX06M/Nk7Gatng8FHYH3MFlf/ dNDBSACA2vH/eEo2k3OwrlzJzVDdUEMGfkP43zZvgsRu6HSbdQd21OhcxvUsRMGu1+If hYk1nJX1XtEh/t3dflx4KKp8m9qIqNsY+eHmciieGAPVvUBVjMCe424JkBpZeVahTJfy ZZrLBwfFToP6/J8P9fe0x0EIA53LTv5sX43mThMAHsMhijKTLgX1VVy8/Uf3eieKxkbx s23Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784629587; x=1785234387; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=i+E/hLMGoCFm2Bo6D9s4vrTO1A3cUntDy1XLWjBr550=; b=Ho/U/JxW2ETVor35dVlfOQ9B250trAl8OXO2WfbLEWDvG++G1AaIB7ujUzyuo1xjV0 tHnNRkwX9DZ6JC72R1kRSJTOJ2VoRHu3/RXnYe2CP2CeABPDdQWT5EOZBPIDxinbr3xM g8IV944pzHu/LsYof5gtUj6GdOylM72iSV/j9NVrJXtL21KLBEmnKc6bElgDjh4xrMWg y20fPTETXYf5LwQOPGgzcogy5U4Xw55HZYS3Cw5LPyFGxPn7bEdEfTCEHzxkDRbxMU4T pNc8gfAWqT6NOpQeTRIhYFDHucHns4i5mtUUqShCwCGkBoZDBkKeOaetMfWdpckqts6c 6I+w== X-Forwarded-Encrypted: i=1; AHgh+RriLBVrFR23Ysfo6dyZN++8B1iaaNPnzClgHk8+5UhDRpmIVjsW5lUiORJF1CqmcRwQJXDqAq6rYzyp9w8=@vger.kernel.org X-Gm-Message-State: AOJu0YyHY8QNwDVJfDVY1g7kJXaNGmu9EYbicIEsQQ1mSBKTuawgwzsJ KRCXL8i76UX4uB4tXmQJxjKVQ9j5RfH892FtlMTd0k5vhtqxfZ/b+pOa X-Gm-Gg: AR+sD10oZqV8a7MRJ63q8gTQpsFQTPQzTQKQwGCkxhkfguo49eYL7hG+kt8UtG4YnP/ yzFusARoZAlZNHe7UUuqOgUlpuEQjWdUhKdcMVT5J9trFRiimt7i+xmM8a5mWP/2HNxRGrvNEJp 3TVfCsquLPblLaOOCIp0bh15hIeq5SPtBevFDQ1u1NeVya9qTCn4M3z20whjYhCy7eZLmITMatk pOXcKqb0XnarqdQZz1X0H/au62eGNnQEnPtZ5+fyqqcnEc0V2vzflffw11HbYb9RUlhHyfksAkn OHsPFo03B333WHKFJNpR5aHkjtEjpqZUT2Hm8t9q/+cvAvOZYu3sW88Eznor8n69bDkvizKvLwn 9gbOGUDr1vcpnV0Sx/I9jKGZNhoXFi9D40OSLsqL8RosXy63Mo5jafWrc2qNpLX07ExHnpS3C8j +VFFjzzj+xUnhm3OYl3f1CwDufZqYyZf+Swy/aXQNEO2WHEPE= X-Received: by 2002:a17:903:1110:b0:2cc:89ce:2ef8 with SMTP id d9443c01a7336-2cf34a2ad90mr188368875ad.40.1784629587347; Tue, 21 Jul 2026 03:26:27 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2cf3448dac2sm73581365ad.3.2026.07.21.03.26.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 03:26:27 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , Takashi Iwai , Nick Li , Herve Codina Cc: Support Opensource , Liam Girdwood , Jaroslav Kysela , Srinivas Kandagatla , Charles Keepax , Richard Fitzgerald , Matthias Brugger , AngeloGioacchino Del Regno , Shenghao Ding , Kevin Lu , Baojun Xu , Sen Wang , Oder Chiou , Linus Walleij , Kuninori Morimoto , u.kleine-koenig@baylibre.com, Zhang Yi , Marco Crivellari , Kees Cook , HyeongJun An , Arnd Bergmann , Qianfeng Rong , linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, patches@opensource.cirrus.com, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, bui duc phuc Subject: [PATCH v4 01/29] ASoC: codecs: da7213: Use guard() for mutex locks Date: Tue, 21 Jul 2026 17:25:32 +0700 Message-ID: <20260721102600.523199-2-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260721102600.523199-1-phucduc.bui@gmail.com> References: <20260721102600.523199-1-phucduc.bui@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: bui duc phuc Clean up the code using guard() for mutex locks. Merely code refactoring, and no behavior change. Signed-off-by: bui duc phuc --- sound/soc/codecs/da7213.c | 37 ++++++++++++------------------------- 1 file changed, 12 insertions(+), 25 deletions(-) diff --git a/sound/soc/codecs/da7213.c b/sound/soc/codecs/da7213.c index 4bf91ab2553a..923b997efbc4 100644 --- a/sound/soc/codecs/da7213.c +++ b/sound/soc/codecs/da7213.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include @@ -216,13 +217,10 @@ static int da7213_volsw_locked_get(struct snd_kcontro= l *kcontrol, { struct snd_soc_component *component =3D snd_kcontrol_chip(kcontrol); struct da7213_priv *da7213 =3D snd_soc_component_get_drvdata(component); - int ret; =20 - mutex_lock(&da7213->ctrl_lock); - ret =3D snd_soc_get_volsw(kcontrol, ucontrol); - mutex_unlock(&da7213->ctrl_lock); + guard(mutex)(&da7213->ctrl_lock); =20 - return ret; + return snd_soc_get_volsw(kcontrol, ucontrol); } =20 static int da7213_volsw_locked_put(struct snd_kcontrol *kcontrol, @@ -230,13 +228,10 @@ static int da7213_volsw_locked_put(struct snd_kcontro= l *kcontrol, { struct snd_soc_component *component =3D snd_kcontrol_chip(kcontrol); struct da7213_priv *da7213 =3D snd_soc_component_get_drvdata(component); - int ret; =20 - mutex_lock(&da7213->ctrl_lock); - ret =3D snd_soc_put_volsw(kcontrol, ucontrol); - mutex_unlock(&da7213->ctrl_lock); + guard(mutex)(&da7213->ctrl_lock); =20 - return ret; + return snd_soc_put_volsw(kcontrol, ucontrol); } =20 static int da7213_enum_locked_get(struct snd_kcontrol *kcontrol, @@ -244,13 +239,10 @@ static int da7213_enum_locked_get(struct snd_kcontrol= *kcontrol, { struct snd_soc_component *component =3D snd_kcontrol_chip(kcontrol); struct da7213_priv *da7213 =3D snd_soc_component_get_drvdata(component); - int ret; =20 - mutex_lock(&da7213->ctrl_lock); - ret =3D snd_soc_get_enum_double(kcontrol, ucontrol); - mutex_unlock(&da7213->ctrl_lock); + guard(mutex)(&da7213->ctrl_lock); =20 - return ret; + return snd_soc_get_enum_double(kcontrol, ucontrol); } =20 static int da7213_enum_locked_put(struct snd_kcontrol *kcontrol, @@ -258,13 +250,10 @@ static int da7213_enum_locked_put(struct snd_kcontrol= *kcontrol, { struct snd_soc_component *component =3D snd_kcontrol_chip(kcontrol); struct da7213_priv *da7213 =3D snd_soc_component_get_drvdata(component); - int ret; =20 - mutex_lock(&da7213->ctrl_lock); - ret =3D snd_soc_put_enum_double(kcontrol, ucontrol); - mutex_unlock(&da7213->ctrl_lock); + guard(mutex)(&da7213->ctrl_lock); =20 - return ret; + return snd_soc_put_enum_double(kcontrol, ucontrol); } =20 /* ALC */ @@ -465,9 +454,8 @@ static int da7213_tonegen_freq_get(struct snd_kcontrol = *kcontrol, __le16 val; int ret; =20 - mutex_lock(&da7213->ctrl_lock); - ret =3D regmap_raw_read(da7213->regmap, reg, &val, sizeof(val)); - mutex_unlock(&da7213->ctrl_lock); + scoped_guard(mutex, &da7213->ctrl_lock) + ret =3D regmap_raw_read(da7213->regmap, reg, &val, sizeof(val)); =20 if (ret) return ret; @@ -499,12 +487,11 @@ static int da7213_tonegen_freq_put(struct snd_kcontro= l *kcontrol, */ val_new =3D cpu_to_le16(ucontrol->value.integer.value[0]); =20 - mutex_lock(&da7213->ctrl_lock); + guard(mutex)(&da7213->ctrl_lock); ret =3D regmap_raw_read(da7213->regmap, reg, &val_old, sizeof(val_old)); if (ret =3D=3D 0 && (val_old !=3D val_new)) ret =3D regmap_raw_write(da7213->regmap, reg, &val_new, sizeof(val_new)); - mutex_unlock(&da7213->ctrl_lock); =20 if (ret < 0) return ret; --=20 2.43.0 From nobody Sat Jul 25 00:54:32 2026 Received: from mail-pl1-f181.google.com (mail-pl1-f181.google.com [209.85.214.181]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3C445453486 for ; Tue, 21 Jul 2026 10:26:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.181 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629598; cv=none; b=Hxtpe+Fd1WUImeA2xfefs4xH1Bq068TLpKCIth6/AvDB3w9gga/LbI7CIN9vFEF+bsL/TKvHeGiy4ob877OGs/AxzqakkgQguY1jNP8YsIkjQGfwmE9iL0CattUfh5cUt9zYn4b5OcnvoogiqSUWxeSgUGUNJBPpThTLqexHls8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629598; c=relaxed/simple; bh=W+FH/hihk45TjXu/Dl+KwPA0SNPvmFDimRQIFSI/5qo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ePu9CBRgqBMWnxFz6qpunPnlOOKpJ5QFtvIfAQxrZmKLM2zqCBQEHQgnY43ZdhCxXwjSO33XNlf1IxjtybQpI9PpBhxz9O1CDjCVYIjmnTVPs2+q9PZhqE+TLYYq6UFiu79tuSNiXfzxA/DZqtlSiceTX6HD23TR2rKiY8Vou8E= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Wtx4GLiG; arc=none smtp.client-ip=209.85.214.181 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Wtx4GLiG" Received: by mail-pl1-f181.google.com with SMTP id d9443c01a7336-2cab973140bso136523455ad.3 for ; Tue, 21 Jul 2026 03:26:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784629596; x=1785234396; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=E63rONCybeKNZ9BBxLw4/pUgmeGU/hnyC6bCIs5It3Y=; b=Wtx4GLiGyLlf1IvabLRHNoyVCMbGE5n/7lUGtlOT9qrPE1y70fTPAMXVv557hoMjvB XXY67/Goi28Vy6Lq8YT7GfmtAVQHudMh6Vf/oGdp0QSfuRVPd7BN+k77Qu7KEwnUW7Ul IfjD/lj7WVAI2CV+lbAHowPKigMdyXsn3PvGlv+eLrtRBWQcgGv/iDkaKYKmi1wEjfyU 5U13c+O8Y08psD67Lsb5TuD4VdUHSOOdhLKYV8S2leocy9urKPAcvSJNHHD4X/1B5P6I qPKTYjSwPin/bF5oiAMZw5vsKdVRTTOrSUX7t0jPofY0L5PbtNL3fqkOeqMhNI/T+twx tIJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784629596; x=1785234396; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=E63rONCybeKNZ9BBxLw4/pUgmeGU/hnyC6bCIs5It3Y=; b=ko7jtgkla3KKBAMI0BJ9I9LPhcTUqs7Iu50whdWVlNVNZjid8RRVqN6RAg0x49CP9w 08s8tv9Z0vTG7PbV8KKbGFj3Elxb81k5rx7r+fRCBHqOXbmN+4/mh9W9b2ysQJF2b+GV eJfm2FrV1x3sDx388tH+yyt6kybhB0Ylqhyyk4btseTVP6EUE8vnq7HmF9RlVh6L7rF3 +nwm+bKmBtyzM7Pgvebdc3nIb0cxDcmVA6dEs8M3tRyKm/jHKkOZ4KoI6RDekuZBblcw VvEirpm6LlGghJmlvifXX7iBLk8ZcKnKavZ1WloK62TWJjq9jrL2GUtkm/ngHuUgkxdu mwCg== X-Forwarded-Encrypted: i=1; AHgh+RoPm7iozAoIRbvLCSuKLHkmwYhPFNLPLePbDmSJGrPBlmuEnWvZ9YBg2LBPuiQsrjxjPhWir3slCbGXCqs=@vger.kernel.org X-Gm-Message-State: AOJu0YxCpPKx2n1EejIiTKyDVY7wpuetlTwAgMPTIDpVyfyYhnvXjZtF mmhYq3mvO+PBmblpPN8GLEy0jP9HW8X4ACrsud2xBKuZ/Yy4GfFBgXOE X-Gm-Gg: AR+sD131W3jF+u8vTxjRlxjV/P68D5NMB/6ZyV2CzbI9Y6E1MCbQEf7mY+RAzUGj01n OkZGn4DORhsYH21odX+x5CnwB5DxMtHFDLVQcLJ2reGEwvnfVv2TMYIxEK1QoupTV55uavLpdlE IEebbIGDCp6nenCi5In6JYBSG4IuqKPPjDbHQM34O+5AxiibweqtWN+8/bopJYCTjNZLMHhmzgx cy6u1OzVBoClio3FF50BujniqnLkwKSGtZ9egaf8NCej4P4M894QjMiimJG7dAhHijZ+aO7f9I8 Op4QrFRtCO+OYOnW+cCvp+9yek3ojJzP5C+NYIrpa6FUaoVfT0+bPQjqsZCPqFqql5H1ekCagdq JFnSu5sB1hEy+lVubKPrnitR+UoiY3mU7nrfBYkKssY6p/XwirHcPQrOs8Pj3Thywk2b5P3U40T d4cBtLfBs1S01fLx+96wDALzqkxY33kEoU7HZq X-Received: by 2002:a17:902:f693:b0:2cf:7f6b:8c8a with SMTP id d9443c01a7336-2cf7f6b8e8emr33258775ad.30.1784629596463; Tue, 21 Jul 2026 03:26:36 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2cf3448dac2sm73581365ad.3.2026.07.21.03.26.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 03:26:36 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , Takashi Iwai , Nick Li , Herve Codina Cc: Support Opensource , Liam Girdwood , Jaroslav Kysela , Srinivas Kandagatla , Charles Keepax , Richard Fitzgerald , Matthias Brugger , AngeloGioacchino Del Regno , Shenghao Ding , Kevin Lu , Baojun Xu , Sen Wang , Oder Chiou , Linus Walleij , Kuninori Morimoto , u.kleine-koenig@baylibre.com, Zhang Yi , Marco Crivellari , Kees Cook , HyeongJun An , Arnd Bergmann , Qianfeng Rong , linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, patches@opensource.cirrus.com, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, bui duc phuc Subject: [PATCH v4 02/29] ASoC: codecs: da7219: Use guard() for mutex locks Date: Tue, 21 Jul 2026 17:25:33 +0700 Message-ID: <20260721102600.523199-3-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260721102600.523199-1-phucduc.bui@gmail.com> References: <20260721102600.523199-1-phucduc.bui@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: bui duc phuc Clean up the code using guard() for mutex locks. Merely code refactoring, and no behavior change. Signed-off-by: bui duc phuc --- sound/soc/codecs/da7219.c | 62 ++++++++++++--------------------------- 1 file changed, 19 insertions(+), 43 deletions(-) diff --git a/sound/soc/codecs/da7219.c b/sound/soc/codecs/da7219.c index f0874d891e12..f6d371e93549 100644 --- a/sound/soc/codecs/da7219.c +++ b/sound/soc/codecs/da7219.c @@ -8,6 +8,7 @@ */ =20 #include +#include #include #include #include @@ -256,13 +257,10 @@ static int da7219_volsw_locked_get(struct snd_kcontro= l *kcontrol, { struct snd_soc_component *component =3D snd_kcontrol_chip(kcontrol); struct da7219_priv *da7219 =3D snd_soc_component_get_drvdata(component); - int ret; =20 - mutex_lock(&da7219->ctrl_lock); - ret =3D snd_soc_get_volsw(kcontrol, ucontrol); - mutex_unlock(&da7219->ctrl_lock); + guard(mutex)(&da7219->ctrl_lock); =20 - return ret; + return snd_soc_get_volsw(kcontrol, ucontrol); } =20 static int da7219_volsw_locked_put(struct snd_kcontrol *kcontrol, @@ -270,13 +268,10 @@ static int da7219_volsw_locked_put(struct snd_kcontro= l *kcontrol, { struct snd_soc_component *component =3D snd_kcontrol_chip(kcontrol); struct da7219_priv *da7219 =3D snd_soc_component_get_drvdata(component); - int ret; =20 - mutex_lock(&da7219->ctrl_lock); - ret =3D snd_soc_put_volsw(kcontrol, ucontrol); - mutex_unlock(&da7219->ctrl_lock); + guard(mutex)(&da7219->ctrl_lock); =20 - return ret; + return snd_soc_put_volsw(kcontrol, ucontrol); } =20 static int da7219_enum_locked_get(struct snd_kcontrol *kcontrol, @@ -284,13 +279,10 @@ static int da7219_enum_locked_get(struct snd_kcontrol= *kcontrol, { struct snd_soc_component *component =3D snd_kcontrol_chip(kcontrol); struct da7219_priv *da7219 =3D snd_soc_component_get_drvdata(component); - int ret; =20 - mutex_lock(&da7219->ctrl_lock); - ret =3D snd_soc_get_enum_double(kcontrol, ucontrol); - mutex_unlock(&da7219->ctrl_lock); + guard(mutex)(&da7219->ctrl_lock); =20 - return ret; + return snd_soc_get_enum_double(kcontrol, ucontrol); } =20 static int da7219_enum_locked_put(struct snd_kcontrol *kcontrol, @@ -298,13 +290,10 @@ static int da7219_enum_locked_put(struct snd_kcontrol= *kcontrol, { struct snd_soc_component *component =3D snd_kcontrol_chip(kcontrol); struct da7219_priv *da7219 =3D snd_soc_component_get_drvdata(component); - int ret; =20 - mutex_lock(&da7219->ctrl_lock); - ret =3D snd_soc_put_enum_double(kcontrol, ucontrol); - mutex_unlock(&da7219->ctrl_lock); + guard(mutex)(&da7219->ctrl_lock); =20 - return ret; + return snd_soc_put_enum_double(kcontrol, ucontrol); } =20 /* ALC */ @@ -422,9 +411,8 @@ static int da7219_tonegen_freq_get(struct snd_kcontrol = *kcontrol, __le16 val; int ret; =20 - mutex_lock(&da7219->ctrl_lock); - ret =3D regmap_raw_read(da7219->regmap, reg, &val, sizeof(val)); - mutex_unlock(&da7219->ctrl_lock); + scoped_guard(mutex, &da7219->ctrl_lock) + ret =3D regmap_raw_read(da7219->regmap, reg, &val, sizeof(val)); =20 if (ret) return ret; @@ -456,12 +444,11 @@ static int da7219_tonegen_freq_put(struct snd_kcontro= l *kcontrol, */ val_new =3D cpu_to_le16(ucontrol->value.integer.value[0]); =20 - mutex_lock(&da7219->ctrl_lock); + guard(mutex)(&da7219->ctrl_lock); ret =3D regmap_raw_read(da7219->regmap, reg, &val_old, sizeof(val_old)); if (ret =3D=3D 0 && (val_old !=3D val_new)) ret =3D regmap_raw_write(da7219->regmap, reg, - &val_new, sizeof(val_new)); - mutex_unlock(&da7219->ctrl_lock); + &val_new, sizeof(val_new)); =20 if (ret < 0) return ret; @@ -1167,15 +1154,12 @@ static int da7219_set_dai_sysclk(struct snd_soc_dai= *codec_dai, struct da7219_priv *da7219 =3D snd_soc_component_get_drvdata(component); int ret =3D 0; =20 - mutex_lock(&da7219->pll_lock); + guard(mutex)(&da7219->pll_lock); =20 - if ((da7219->clk_src =3D=3D clk_id) && (da7219->mclk_rate =3D=3D freq)) { - mutex_unlock(&da7219->pll_lock); + if (da7219->clk_src =3D=3D clk_id && da7219->mclk_rate =3D=3D freq) return 0; - } =20 - if ((freq < 2000000) || (freq > 54000000)) { - mutex_unlock(&da7219->pll_lock); + if (freq < 2000000 || freq > 54000000) { dev_err(codec_dai->dev, "Unsupported MCLK value %d\n", freq); return -EINVAL; @@ -1193,7 +1177,6 @@ static int da7219_set_dai_sysclk(struct snd_soc_dai *= codec_dai, break; default: dev_err(codec_dai->dev, "Unknown clock source %d\n", clk_id); - mutex_unlock(&da7219->pll_lock); return -EINVAL; } =20 @@ -1203,17 +1186,13 @@ static int da7219_set_dai_sysclk(struct snd_soc_dai= *codec_dai, freq =3D clk_round_rate(da7219->mclk, freq); ret =3D clk_set_rate(da7219->mclk, freq); if (ret) { - dev_err(codec_dai->dev, "Failed to set clock rate %d\n", - freq); - mutex_unlock(&da7219->pll_lock); + dev_err(codec_dai->dev, "Failed to set clock rate %d\n", freq); return ret; } } =20 da7219->mclk_rate =3D freq; =20 - mutex_unlock(&da7219->pll_lock); - return 0; } =20 @@ -1296,13 +1275,10 @@ static int da7219_set_dai_pll(struct snd_soc_dai *c= odec_dai, int pll_id, { struct snd_soc_component *component =3D codec_dai->component; struct da7219_priv *da7219 =3D snd_soc_component_get_drvdata(component); - int ret; =20 - mutex_lock(&da7219->pll_lock); - ret =3D da7219_set_pll(component, source, fout); - mutex_unlock(&da7219->pll_lock); + guard(mutex)(&da7219->pll_lock); =20 - return ret; + return da7219_set_pll(component, source, fout); } =20 static int da7219_set_dai_fmt(struct snd_soc_dai *codec_dai, unsigned int = fmt) --=20 2.43.0 From nobody Sat Jul 25 00:54:32 2026 Received: from mail-pl1-f175.google.com (mail-pl1-f175.google.com [209.85.214.175]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EC512356759 for ; Tue, 21 Jul 2026 10:26:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.175 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629606; cv=none; b=SJEXuyYaRpQAHPTDl2blrhnMcKAdFV9Gk52zZV0nbHqOuo7hOlGPO0G0UaZIzZDqBklU1nZLqL4ZGxkaB7PumLoJdLJeihaSDgB9PGFK+Wp/gOnV0aaEa+XYZak+PzP0co+/P7ftg5ig7SrJlQC4YfT2z+ctOiK7yvtBqs3FiKs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629606; c=relaxed/simple; bh=XWI4jCnd/t/sfMXYAr8klk5lyo9qyWRg1g/x4qLIB2g=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Oe2rJV5TjW3Qqny//F9ZerkksD4aKUFe1i8OExtBa1VE1LAslFksWszn+YWAwhpeydxQ/+0FhgdLeVhzA1BG93v9IcgS5yyU15i2cw0HVcRN6La6+hMskpMtQnKk+L3nnHr9nKgHOEtjX3+NCgPZ4FwrKhcd43FjiA0HuFXUxBs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=C1j15Mcg; arc=none smtp.client-ip=209.85.214.175 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="C1j15Mcg" Received: by mail-pl1-f175.google.com with SMTP id d9443c01a7336-2ca64c3ce5fso127572555ad.3 for ; Tue, 21 Jul 2026 03:26:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784629604; x=1785234404; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=8FKz6zL2lYGruFgrXSmVh8CpNcaMm/DKeCPXfcKM2u4=; b=C1j15McgXW3FM4T8oVsPvX3cCoeD09BmlWuHbAGZO59g4kja0RScLObvBO3y6K8erB 2C1HE0mPz2zmpPt0WUefDOEx97fxnEUjd7uLooK6Vx5Qqs8kCvciCstYPTD8H/en4iBK 37noNO3By/AwnLKWEI4oFijFQNfAJN5iEBxBNXtHtE2mtJ+PLVP6mS7zIbupkZzCXH9Z EZvPUQLQrW2wJkjSDfWMxHUN4aBvzadhvcvkvjjS1GY56oil/1/NOCCJyWkq6MrvP7yf 2BCmYYr2FisYl8ryhyWsqxx65cb7JY99wP2Hva+MOwx/HYwsJf7H3VhmOgOUtNJlkD+A ZlrQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784629604; x=1785234404; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=8FKz6zL2lYGruFgrXSmVh8CpNcaMm/DKeCPXfcKM2u4=; b=jUHL6q45GO9/D65sqxc6VJhSob/QEnDmQF1eGXEZlSpRXUdE/ryHieeH6LdMHi4ydV 7QA724bWxv+obvEdx/Oo3qEBRLNF9jjfHdjLbZgNo8XVq0kgV55ap0LWPcD0VwB2WRws plbU8pOmsozT8PCXMRY3VFbQ0Q2UBJqtqMWwxGzFXsu8TfkSr+tb9Gjz1ca+tCJC3xaZ fmO/+b+2vzIyaMGFAWEAZtuaBZVbwqUcz3POjYCzSVtwTECokmxHxUQmYmWJ9l/vPCeg Tzx5huXTgefS1J+SOu/3R+dHErsBIYXGN3XeWmdgaiKRWMYzKtyQMq7Zlb6iSNEpTKeY sc+g== X-Forwarded-Encrypted: i=1; AHgh+RrZVeHuSA0z1jzSrssWc3k6GJVQOkBNnF5TSALt61f5UCQ11vuqtD2jXtnd5iP5RRy/sESMnWWnZTvOqio=@vger.kernel.org X-Gm-Message-State: AOJu0Yx8n0q+/UKpExKGLm4FroMSQACLz7jDLobn07zc0q0IyCRt/Po1 ytDzGDkFIJtq4GrTcSsF8Vt9xHwsNc0CMQlHkWaiOINtxfgYlfWu9E7W X-Gm-Gg: AR+sD11siBVguVDk4LTxu3YfRZMf2JzBP4qtiRFSVz+cWPJdcF9mdtSK5x/b/kjuQaV BEaXSMtdEIh8gIAxKkqTNEEUFiNZEXscxyJQ7RBVBzWUmQ8vrfiEz7OMI7t3+BO/JBZoMrkJvfE o5GDinLbe6MeJc3fN0OgyvriWdDGLwzuxRPQ36WgiC5GwQ3KSojBzaUQLR9LanYuXyYa0vdc95/ 8Hqfu7dij5Uw25S+4xackyTOdsnFTWzdPq6NLq9i0tL2luxoUuHs9dOVMam96LSosrUWa9zgHsH KcB27WmEE+hFuRRUzOoJY9ULKsGbDWRB+M89VSd9yn6+aBTcV0/fm5UrmwuLxSeMQyDQ9y5GEim ZJsU8ap24VSD8vony3iLepsExRn1FCvKYShfX36I+ZTqleonVjLs71Bb5KH3d0DzciDklvTW0aK OlpJP+ldAgfaQosVOb+9t7kHDHMTowv0kQTgRP X-Received: by 2002:a17:903:1b0e:b0:2ca:73aa:b48f with SMTP id d9443c01a7336-2cf34a48f7fmr193973625ad.35.1784629604317; Tue, 21 Jul 2026 03:26:44 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2cf3448dac2sm73581365ad.3.2026.07.21.03.26.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 03:26:44 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , Takashi Iwai , Nick Li , Herve Codina Cc: Support Opensource , Liam Girdwood , Jaroslav Kysela , Srinivas Kandagatla , Charles Keepax , Richard Fitzgerald , Matthias Brugger , AngeloGioacchino Del Regno , Shenghao Ding , Kevin Lu , Baojun Xu , Sen Wang , Oder Chiou , Linus Walleij , Kuninori Morimoto , u.kleine-koenig@baylibre.com, Zhang Yi , Marco Crivellari , Kees Cook , HyeongJun An , Arnd Bergmann , Qianfeng Rong , linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, patches@opensource.cirrus.com, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, bui duc phuc Subject: [PATCH v4 03/29] ASoC: codecs: es8316: Use guard() for mutex locks Date: Tue, 21 Jul 2026 17:25:34 +0700 Message-ID: <20260721102600.523199-4-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260721102600.523199-1-phucduc.bui@gmail.com> References: <20260721102600.523199-1-phucduc.bui@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: bui duc phuc Clean up the code using guard() for mutex locks. Merely code refactoring, and no behavior change. Signed-off-by: bui duc phuc --- sound/soc/codecs/es8316.c | 31 +++++++++++++------------------ 1 file changed, 13 insertions(+), 18 deletions(-) diff --git a/sound/soc/codecs/es8316.c b/sound/soc/codecs/es8316.c index 3abe77423f29..87f331868dc7 100644 --- a/sound/soc/codecs/es8316.c +++ b/sound/soc/codecs/es8316.c @@ -9,6 +9,7 @@ =20 #include #include +#include #include #include #include @@ -620,15 +621,15 @@ static irqreturn_t es8316_irq(int irq, void *data) struct snd_soc_component *comp =3D es8316->component; unsigned int flags; =20 - mutex_lock(&es8316->lock); + guard(mutex)(&es8316->lock); =20 regmap_read(es8316->regmap, ES8316_GPIO_FLAG, &flags); if (flags =3D=3D 0x00) - goto out; /* Powered-down / reset */ + return IRQ_HANDLED; /* Powered-down / reset */ =20 /* Catch spurious IRQ before set_jack is called */ if (!es8316->jack) - goto out; + return IRQ_HANDLED; =20 if (es8316->jd_inverted) flags ^=3D ES8316_GPIO_FLAG_HP_NOT_INSERTED; @@ -681,8 +682,6 @@ static irqreturn_t es8316_irq(int irq, void *data) } } =20 -out: - mutex_unlock(&es8316->lock); return IRQ_HANDLED; } =20 @@ -699,18 +698,16 @@ static void es8316_enable_jack_detect(struct snd_soc_= component *component, es8316->jd_inverted =3D device_property_read_bool(component->dev, "everest,jack-detect-inverted"); =20 - mutex_lock(&es8316->lock); + scoped_guard(mutex, &es8316->lock) { + es8316->jack =3D jack; =20 - es8316->jack =3D jack; - - if (es8316->jack->status & SND_JACK_MICROPHONE) - es8316_enable_micbias_for_mic_gnd_short_detect(component); - - snd_soc_component_update_bits(component, ES8316_GPIO_DEBOUNCE, - ES8316_GPIO_ENABLE_INTERRUPT, - ES8316_GPIO_ENABLE_INTERRUPT); + if (es8316->jack->status & SND_JACK_MICROPHONE) + es8316_enable_micbias_for_mic_gnd_short_detect(component); =20 - mutex_unlock(&es8316->lock); + snd_soc_component_update_bits(component, ES8316_GPIO_DEBOUNCE, + ES8316_GPIO_ENABLE_INTERRUPT, + ES8316_GPIO_ENABLE_INTERRUPT); + } =20 /* Enable irq and sync initial jack state */ enable_irq(es8316->irq); @@ -726,7 +723,7 @@ static void es8316_disable_jack_detect(struct snd_soc_c= omponent *component) =20 disable_irq(es8316->irq); =20 - mutex_lock(&es8316->lock); + guard(mutex)(&es8316->lock); =20 snd_soc_component_update_bits(component, ES8316_GPIO_DEBOUNCE, ES8316_GPIO_ENABLE_INTERRUPT, 0); @@ -737,8 +734,6 @@ static void es8316_disable_jack_detect(struct snd_soc_c= omponent *component) } =20 es8316->jack =3D NULL; - - mutex_unlock(&es8316->lock); } =20 static int es8316_set_jack(struct snd_soc_component *component, --=20 2.43.0 From nobody Sat Jul 25 00:54:32 2026 Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0885A47887E for ; Tue, 21 Jul 2026 10:26:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.170 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629615; cv=none; b=HPiXl6B3PRSxPtdIp3gXtq6jPQha9oJySFdniToZss1I/HB/enQWSEoWOiOtxabP7NjMiDBPDA6vGqYL/FnxYVo9ZbcXhzYt9m4W72Z5XPL3m9R/KQZjcRYeXWVUqEkw2lETMdGiz8pE9mnMo2OUol7wuUgz3Su5KFCR4TJCziw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629615; c=relaxed/simple; bh=Nw9I/srswcYHcD3WiPHI5wa7OL9sfHmNK5DnVVQpY1s=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=B9z9CSN3IApdTo9Tb2dFL+nEwS/fgeOxMp/MCD3JZXagU0NDgpY+0Edm7GrGouZew/Tic9dIL1V1+TQiZbbxTIe6zqLFa0AvfgHxPA9VNEtUjxO9oE1+dlfMILhBPIngAWzQM5MkeS/fQ4V5ioz5DA1lJdyFji+7QdPNUrjIaZM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Bvvt8nfL; arc=none smtp.client-ip=209.85.214.170 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Bvvt8nfL" Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-2cf50c6f235so31494615ad.0 for ; Tue, 21 Jul 2026 03:26:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784629612; x=1785234412; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=glNXCWo3feUPJNoiqEbeBkuoiMlb+JtOjIAbpp+cCDQ=; b=Bvvt8nfLcDBBCKqG92oBwlUlyy3rb9ds2wi2xXPUFhkF2dmRZTAGZahRYryGov1d3X MqVTfxgnpNAFnCOTtg9Se3+4vF8FbXBjpuWCpES7F/HWS8fT/YexiR/v3xVcYhjmXK3j D4FU9RE3Q9d0CMtlAPCw5E48WgQSBI9NqGzdYyGddBA9wc9yMWO5NO9TmGHwoQiOz+j4 J4AHujtPPwHwvjF2gBsewoug50PR5N9unTCf997jBT1aW/NoCpfYDhKafz+gPQAEWVi9 wZ3WBczWwKh/Jr0tPEN1mbqxlNn9v2LP3wUIkNbFHpkxzG/YGhdlexfd8svikgoxnt6+ XkWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784629612; x=1785234412; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=glNXCWo3feUPJNoiqEbeBkuoiMlb+JtOjIAbpp+cCDQ=; b=AeIr/4vf9hss91LTYKQ3QBE0N0Y3yhTmt+Uk06wH7W70uur1itmNJVOLioecs1jWA/ Yjvze6jw8mPnF++D0NJaD9TLIj1hW8koUl5riGiEX20T8jAH4YbFPiGni5FnGYC92C2X o0B9Eq943v3Llfcmw1AWE+Swy6n2d0E0Ul0WjjhAW3byx4gwdLyJUiQir69I1Ei/oOmT N+cymS+JVJySaEzgyN4U1qYOgPeLbvMGDoZSsGdpvs312XNzH+QkjzPa8zq7uJ+Kj/tV GU2n9sO8NkgBPZaveFmZGYnRPRteCqSPhnqeJQLSfNLqXVPztvcjEc4idiq2/boSwxFE IXjw== X-Forwarded-Encrypted: i=1; AHgh+Rovo6sfyM5LnT/6+So7Y658oLn5DuFGYseVO32H0CmTufjQtayUfBs/ctY53Tz08nI0c3WfnqF1rrFQE6s=@vger.kernel.org X-Gm-Message-State: AOJu0YzaOOkxiJ2SGTGhoQhc9rOhltSCl+0zd7JxYx1JclCyUmpuFRH7 hlJzyJbMpzA0G8wTLnJbjRKNnmT+PWovk5nzut1EGaqqzg5Olh3kEQqB X-Gm-Gg: AR+sD10lMrbmW4N3mpy77GNr1bVJyGfzPdp/F/Z2jnTBHf6sD3amQu+XsWD7fN6Qo42 7Mi1bbTgV+4H8bOFK9DuYSUiFajtowookJYNqURan1lQc45pdEFxDZOt0PKL0ts5H+Vne2aAdQ+ JVnsgK6CW/TBAp07U3atMS1LCTcQhNZ9L6ASc6sQ6w5ZdIZV9sPVSeAottZYGWgde/Ge9HdIGy7 7xl/H76BpgKHmJq3DY1ft92EagQvpRgpW0p4k4Gjpsk91VtY78+u5zcay/hfYWZ/PDT4wRe7Qty 9MVAlASb3DBoU0XX5FwSfhfNgwkWQTFBIgg8hwU0+belOj+kT6IkoVwfQSbFS89MqkMfpm3ZhLH O2POQSm1o0rIqnYqxKumU5oyE233wKBWCy6EVMMj3Nxx+IuWKwJZTZFeDVTMPYC7mLSQTkjtnga lOMLz3FjvqEfORo22E47XGD/WcRlehv/KFHWZS X-Received: by 2002:a17:902:ce0d:b0:2cc:9a86:9c42 with SMTP id d9443c01a7336-2cf349eb316mr182224635ad.45.1784629612166; Tue, 21 Jul 2026 03:26:52 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2cf3448dac2sm73581365ad.3.2026.07.21.03.26.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 03:26:51 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , Takashi Iwai , Nick Li , Herve Codina Cc: Support Opensource , Liam Girdwood , Jaroslav Kysela , Srinivas Kandagatla , Charles Keepax , Richard Fitzgerald , Matthias Brugger , AngeloGioacchino Del Regno , Shenghao Ding , Kevin Lu , Baojun Xu , Sen Wang , Oder Chiou , Linus Walleij , Kuninori Morimoto , u.kleine-koenig@baylibre.com, Zhang Yi , Marco Crivellari , Kees Cook , HyeongJun An , Arnd Bergmann , Qianfeng Rong , linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, patches@opensource.cirrus.com, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, bui duc phuc Subject: [PATCH v4 04/29] ASoC: codecs: es8326: Use guard() for mutex locks Date: Tue, 21 Jul 2026 17:25:35 +0700 Message-ID: <20260721102600.523199-5-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260721102600.523199-1-phucduc.bui@gmail.com> References: <20260721102600.523199-1-phucduc.bui@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: bui duc phuc Clean up the code using guard() for mutex locks. Merely code refactoring, and no behavior change. Signed-off-by: bui duc phuc --- sound/soc/codecs/es8326.c | 30 +++++++++++++----------------- 1 file changed, 13 insertions(+), 17 deletions(-) diff --git a/sound/soc/codecs/es8326.c b/sound/soc/codecs/es8326.c index a79b2da35099..c5460589a88b 100644 --- a/sound/soc/codecs/es8326.c +++ b/sound/soc/codecs/es8326.c @@ -6,6 +6,7 @@ // Authors: David Yang // =20 +#include #include #include #include @@ -790,7 +791,7 @@ static void es8326_jack_button_handler(struct work_stru= ct *work) if (!(es8326->jack->status & SND_JACK_HEADSET)) /* Jack unplugged */ return; =20 - mutex_lock(&es8326->lock); + guard(mutex)(&es8326->lock); iface =3D snd_soc_component_read(comp, ES8326_HPDET_STA); switch (iface) { case 0x93: @@ -845,7 +846,6 @@ static void es8326_jack_button_handler(struct work_stru= ct *work) } es8326_disable_micbias(es8326->component); } - mutex_unlock(&es8326->lock); } =20 static void es8326_jack_detect_handler(struct work_struct *work) @@ -855,7 +855,7 @@ static void es8326_jack_detect_handler(struct work_stru= ct *work) struct snd_soc_component *comp =3D es8326->component; unsigned int iface; =20 - mutex_lock(&es8326->lock); + guard(mutex)(&es8326->lock); iface =3D snd_soc_component_read(comp, ES8326_HPDET_STA); dev_dbg(comp->dev, "gpio flag %#04x", iface); =20 @@ -873,7 +873,7 @@ static void es8326_jack_detect_handler(struct work_stru= ct *work) regmap_update_bits(es8326->regmap, ES8326_HPDET_TYPE, ES8326_HP_DET_JACK_POL, (es8326->jd_inverted ? ~es8326->jack_pol : es8326->jack_pol)); - goto exit; + return; } =20 if ((iface & ES8326_HPINSERT_FLAG) =3D=3D 0) { @@ -930,7 +930,7 @@ static void es8326_jack_detect_handler(struct work_stru= ct *work) queue_delayed_work(system_dfl_wq, &es8326->jack_detect_work, msecs_to_jiffies(400)); es8326->hp =3D 1; - goto exit; + return; } if (es8326->jack->status & SND_JACK_HEADSET) { /* detect button */ @@ -939,7 +939,7 @@ static void es8326_jack_detect_handler(struct work_stru= ct *work) (ES8326_INT_SRC_PIN9 | ES8326_INT_SRC_BUTTON)); es8326_enable_micbias(es8326->component); queue_delayed_work(system_dfl_wq, &es8326->button_press_work, 10); - goto exit; + return; } if ((iface & ES8326_HPBUTTON_FLAG) =3D=3D 0x01) { dev_dbg(comp->dev, "Headphone detected\n"); @@ -958,8 +958,6 @@ static void es8326_jack_detect_handler(struct work_stru= ct *work) usleep_range(10000, 15000); } } -exit: - mutex_unlock(&es8326->lock); } =20 static irqreturn_t es8326_irq(int irq, void *dev_id) @@ -1200,13 +1198,12 @@ static void es8326_enable_jack_detect(struct snd_so= c_component *component, { struct es8326_priv *es8326 =3D snd_soc_component_get_drvdata(component); =20 - mutex_lock(&es8326->lock); - if (es8326->jd_inverted) - snd_soc_component_update_bits(component, ES8326_HPDET_TYPE, - ES8326_HP_DET_JACK_POL, ~es8326->jack_pol); - es8326->jack =3D jack; - - mutex_unlock(&es8326->lock); + scoped_guard(mutex, &es8326->lock) { + if (es8326->jd_inverted) + snd_soc_component_update_bits(component, ES8326_HPDET_TYPE, + ES8326_HP_DET_JACK_POL, ~es8326->jack_pol); + es8326->jack =3D jack; + } es8326_irq(es8326->irq, es8326); } =20 @@ -1219,13 +1216,12 @@ static void es8326_disable_jack_detect(struct snd_s= oc_component *component) return; /* Already disabled (or never enabled) */ cancel_delayed_work_sync(&es8326->jack_detect_work); =20 - mutex_lock(&es8326->lock); + guard(mutex)(&es8326->lock); if (es8326->jack->status & SND_JACK_MICROPHONE) { es8326_disable_micbias(component); snd_soc_jack_report(es8326->jack, 0, SND_JACK_HEADSET); } es8326->jack =3D NULL; - mutex_unlock(&es8326->lock); } =20 static int es8326_set_jack(struct snd_soc_component *component, --=20 2.43.0 From nobody Sat Jul 25 00:54:32 2026 Received: from mail-pl1-f177.google.com (mail-pl1-f177.google.com [209.85.214.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0A7D9480345 for ; Tue, 21 Jul 2026 10:27:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.177 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629622; cv=none; b=PTdoOqEz6MAxYKl81YOp/Lhj5jS9G42RD4S8DnQWvJUekehiXSbQNAcOWMzIp8wIV3O8dVnDywLSiqXuCoHQEkA0D6e9XAb0XjthlZa5r+dCo8s20E4OSrPRYmPDhsnxloT7ZTdAbXVQvG5nVkaJjDn7CegSuNqWJFUHNJUwFs4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629622; c=relaxed/simple; bh=Zdr8hLxY9++tkgvmrSBQ/nmGUnRqi1UBxCC3v/LYELg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=W4BkpRhHpytn+fZO1CbrEsZjXhQYRu9w0tA3bdxFbVipuLz9ebcvv2KAYNab+j6fd9pXncxU5WkB3hNxCFRCGN1EYpvRAacnRieNs3PwuUH030zjRXUU4o07RpIBm5R+oVDDZYOZGVhRKhxrFra1Am2VOHCjSqKLCYsDjSh20oI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=N7R5xvVu; arc=none smtp.client-ip=209.85.214.177 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="N7R5xvVu" Received: by mail-pl1-f177.google.com with SMTP id d9443c01a7336-2cf452def93so21562805ad.1 for ; Tue, 21 Jul 2026 03:27:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784629620; x=1785234420; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=hzI+xvr6p88cYg+8jImYn6yoqZyRq117x6xc2+j9GZs=; b=N7R5xvVunErfhJR0ADvhnNPNEWcXlY2EoRLsk76MmixsliZWyGmI0zCU+FvWEW61Ty MRdB/MegMoYKT7g2qRtZNF5uAK72fy7XzAQlsndEUwmA24WtUnMOZ469MJqD0QSAJWF1 OfRBqFWCoBwVeg6S1SYDJ8baz19YIDbCXRcGElEhZJFefe2e1WpjU/5BpV/WPcADF9PQ NRxzvLyInEs7kyCfpsSXqSkBPzcVG+pkmjiLRA/MIanKQO/+8ypWzvD4NZxM+CkmknN+ /1MobZwbKiGg2NFdKvAXuESylphOOtbry+uXMzF5CtALWmSKbEP0KxcyXa33P3QnJzET RAUQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784629620; x=1785234420; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=hzI+xvr6p88cYg+8jImYn6yoqZyRq117x6xc2+j9GZs=; b=OvcpbV5BI0VRj3pgmgyYWWW3rABnudgm1kMUBhPduLpe6jCcUrTuCMOersvlSEsNxC j1jEhPOE+EngkRA/3XQba1aRWfq+zL8ysntZHGVmDvU1UltZdfUVmSiOmBE5uW5aipvo D1FNT8d6DBnaUlrwmXgM8FuUkLHfjLwATq1EFdP4hdrKuJPcUd8iYPHOEKM4Ie+0RYjF NcPXMOzTRY49IW//HfDDgUbV0uHx1JExY3QamIrNtBGPA4Tv8TqetQ9nNtf6MRJklBpW G3NLbJu8hVSG1FIGHwT2n9gDhFYun+WpyG5Hw1zN8Vb5yBwQCW161VbQlL5obCJ48sUT xjWw== X-Forwarded-Encrypted: i=1; AHgh+RrGiZGCA9M8rDn06HxHhbiygFbOanlx8JUjhFG0siS7Tnc2PFYY+lUdK2CicAMjX6dpCfJYBlEWHRlB3k4=@vger.kernel.org X-Gm-Message-State: AOJu0Yz4gv5Ekect1OSfyjqtwV3Ijvlp2zGhfujaHYMQ9a02LyayADx3 DZ39iX+STVLi+NL5zEVIPOwVlT/vvxcTFXuP+ij+RiaXIoGwjyIDhDAD X-Gm-Gg: AR+sD12HXrz9zh7j/UGR4D6Xw/4cRl19JN4dZJemEesTYa54u4TVulebJOJg+Lp6y5u mWKDtKB1YL0mcP9rBvswK9gpEYtgBTkNfjL5mVN2NMEVAUcO6ScJq3nJBeUC2McbOV7Hlpt2mdH 2l77X+127TvmD0yV6YbOAP8vIIfjLQZ4kXf93ccg7P196Jd09N841zf3LfOt4u/VkAvbmR+Ry/P nYCH3pifnIzl6WdzRzqdAjTGeEpS/veDXZ+oBVhcGJQ8U15GfAzmMColKR6gxaWM7d8LpgC6trH jaioXO6iYg6K2R8qNZMm7x6T6nA/SdDYX+NR7eN62bkR5o2SgdlPLN3v/sGndYrTxvr5r9T8e6V +Zy6mAgpdyG7kTyRM5GNEgJ4Q6J0R0RGi44jknA0dRYSHszEAgBxS6s8yrIAGZNPO7rWpbIH67X tkgtnAu8wNKYSomZ8YylHFcAV+BY9MyR0Jwby0 X-Received: by 2002:a17:902:fc43:b0:2cf:41ba:96c2 with SMTP id d9443c01a7336-2cf41bab3cdmr143685015ad.12.1784629620455; Tue, 21 Jul 2026 03:27:00 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2cf3448dac2sm73581365ad.3.2026.07.21.03.26.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 03:27:00 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , Takashi Iwai , Nick Li , Herve Codina Cc: Support Opensource , Liam Girdwood , Jaroslav Kysela , Srinivas Kandagatla , Charles Keepax , Richard Fitzgerald , Matthias Brugger , AngeloGioacchino Del Regno , Shenghao Ding , Kevin Lu , Baojun Xu , Sen Wang , Oder Chiou , Linus Walleij , Kuninori Morimoto , u.kleine-koenig@baylibre.com, Zhang Yi , Marco Crivellari , Kees Cook , HyeongJun An , Arnd Bergmann , Qianfeng Rong , linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, patches@opensource.cirrus.com, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, bui duc phuc Subject: [PATCH v4 05/29] ASoC: codecs: es9356: Use guard() for mutex locks Date: Tue, 21 Jul 2026 17:25:36 +0700 Message-ID: <20260721102600.523199-6-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260721102600.523199-1-phucduc.bui@gmail.com> References: <20260721102600.523199-1-phucduc.bui@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: bui duc phuc Clean up the code using guard() for mutex locks. Merely code refactoring, and no behavior change. Signed-off-by: bui duc phuc --- sound/soc/codecs/es9356.c | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/sound/soc/codecs/es9356.c b/sound/soc/codecs/es9356.c index f574b3d6cb3c..a9863900bf70 100644 --- a/sound/soc/codecs/es9356.c +++ b/sound/soc/codecs/es9356.c @@ -6,6 +6,7 @@ // // =20 +#include #include #include #include @@ -500,16 +501,19 @@ static int es9356_power_state(struct snd_soc_dai *dai= , unsigned char ps, unsigne } =20 /* power state changes are not independent across functions */ - mutex_lock(&es9356->pde_lock); - ret =3D es9356_pde_transition_delay(es9356, func, pde_entity, ps?ps0:ps3); - if (ret) { - regmap_write(es9356->regmap, - SDW_SDCA_CTL(func, pde_entity, ES9356_SDCA_CTL_REQ_POWER_STATE, 0), ps?= ps3:ps0); - es9356_pde_transition_delay(es9356, func, pde_entity, ps?ps3:ps0); - } else - dev_dbg(component->dev, "%s PDE is already %d\n", __func__, ps?ps0:ps3); - - mutex_unlock(&es9356->pde_lock); + scoped_guard(mutex, &es9356->pde_lock) { + ret =3D es9356_pde_transition_delay(es9356, func, pde_entity, ps ? ps0 := ps3); + if (ret) { + regmap_write(es9356->regmap, + SDW_SDCA_CTL(func, pde_entity, + ES9356_SDCA_CTL_REQ_POWER_STATE, 0), + ps ? ps3 : ps0); + es9356_pde_transition_delay(es9356, func, pde_entity, ps ? ps3 : ps0); + } else { + dev_dbg(component->dev, "%s PDE is already %d\n", __func__, + ps ? ps0 : ps3); + } + } =20 if (rate) regmap_write(es9356->regmap, @@ -1091,9 +1095,8 @@ static int es9356_sdca_dev_system_suspend(struct devi= ce *dev) { struct es9356_sdw_priv *es9356 =3D dev_get_drvdata(dev); =20 - mutex_lock(&es9356->disable_irq_lock); - es9356->disable_irq =3D true; - mutex_unlock(&es9356->disable_irq_lock); + scoped_guard(mutex, &es9356->disable_irq_lock) + es9356->disable_irq =3D true; =20 return es9356_sdca_dev_suspend(dev); } --=20 2.43.0 From nobody Sat Jul 25 00:54:32 2026 Received: from mail-pl1-f172.google.com (mail-pl1-f172.google.com [209.85.214.172]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2ED3848034F for ; Tue, 21 Jul 2026 10:27:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629631; cv=none; b=s6MYSa//q2BMvFFGR0va7DSE0+Ogr6Ze9+JBB/K1A4ryXhcQm9TPNH5CsffjcAWOYigw0xn2G9P4/F7n3YZvItZ5rJpc4pH7stoH01CX7Efx22gN14l7YkCrM6oiptuYr8CU7k5ovuBD+uGf5s/0OT7QbPJe4jcMg0VHVUsoLQI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629631; c=relaxed/simple; bh=OOr9f8nEuRuifnXBOKpjEKREXStsjY+xFhxihGnYiNY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Jk0xvOBnMB/+xrnKzOJZJnGxF9BUQVBVXgjV9o1YxR8VJk1OOSZTH7c9I9AFUHP6iV+MuAP83sWoj2VnEXxVQMNqemh4pgTie8FcMhwOQAaZ3v+VTnVoisP6q8hx/xADUWcDlLkPC12JCMeKfKIF+NCZ7Da6quzp3JLn2KIQPV0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=C04gOX6B; arc=none smtp.client-ip=209.85.214.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="C04gOX6B" Received: by mail-pl1-f172.google.com with SMTP id d9443c01a7336-2cc73e322dbso130533645ad.1 for ; Tue, 21 Jul 2026 03:27:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784629628; x=1785234428; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=gjBdDL8q0TXPbaumSZVEGnGR8oe3cQ900YMwBCNq4N4=; b=C04gOX6BWqYc8G9DaV7NaNWn4VQiJChKmp8ZdiH36NYE2Gl8KkhuclRZTTeVyvfDx4 fd2rTy7Cis2J9+qCuvPM4pAoOBr/hVmzAUdSl1pWgortTiM/oEKfB/V14DaSxbMF6Sm7 gBRDnIxt4E8uCBMiVfyH+IfstgsjfKoZDC/zr3DYi5NEMxZsfcYWWTfMS2v6CRQNqbRl Qhipiseeo0u/wgvzKZVl7kyQNr65WU5qkYreHFb06m77dxbDcw7ahUyQoqg2y1ZtXedm DJxdIOgkz3T/V1Z2ubiqzfloyPquvv0n7efgoeOWGlP6pkeoR1cgPbWo291xT2znzHwu nvOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784629628; x=1785234428; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=gjBdDL8q0TXPbaumSZVEGnGR8oe3cQ900YMwBCNq4N4=; b=CM1jh1sSjWv7fDUFidgi0MCS1bcdQTxpE6qaR//dQ+5gxmOp4R6SD8DbHpZmSW/cHT Vy3xu/tDr4QIu8ENb/caf74xKDu6vK1ZTMffOBlwRdIeHJDDALtX5TWah2DjD4W0aSRi O/voozD61VgJH3j2oFR1Eq8ZYYJOlDeCp8aqlrdAS1XB+sXyjYmp0UOucAyIi0h62GHk 12jaAm2LgDrtLWXZ+YhBtpXyomiYgVULUskoJbus3OYVZXlZ8OmdEQ+2jFnTcmBRWE2x loefnqPIuuXZC2xggUHKu6egYAzNqTF4QSW1g/vK5M639qMnlIMf4OynOd12fDmVWrO0 RPqQ== X-Forwarded-Encrypted: i=1; AHgh+RrY8SoGNULY1RkJRVLDBejC3XjPoWyd07V9BNukjaCAJRdITkMzUcbP4ik5rzGpdBieqmcLaqGXOztqpYQ=@vger.kernel.org X-Gm-Message-State: AOJu0YwZxbyFoFfcfrCiM4dFokHCnzvTyZUgpL5tfi40bU3L7nPpdL7a IKzhAYM0DjM0SnQ4izHFcKSm69tehrMmtNs06yBvoE1czIPkgUdcHAvm X-Gm-Gg: AR+sD133k6T5Ug8vwjEjt9o0+pRVM+vxlKzWVCy4NRshA80NP6X2djNFE2QUTWx2BFW 7tFm6/uhQ0Crl/vMSzEEpN8cckdEWwklxqIcJfqiyWZNgN6CUu/Hmgija357tDGNJ0x4CSZqoO/ t56sGVUUnffldNmYdkXzbUrxd1y5FL5fsTiYJ86a7NgIY+iBgla5s5bHnLQmjkQL3Aqr8ypRVh/ ntPpWoT3Acgdfp/eu9sFF+IBeuoRv10gBwnmvPRiyt7w1DleELaf30YqoFZpHhdch+L4KAQANp0 u0l1gukiS7E8d4ibQqWAxrXO67cCPjPWwKkysidf9UVbDdc5DIyAjK5+2Cpifcr/e4ubra8NM3S BZooD4pDXK1/ZCEkPBrdr49e3caHcBT8tuMfLl25i40DYIimYB/ppkOg9iRtuXIcad9BEV2An05 xmeqr6a7aLg9QstWFITnenIxMUZ7up9UUv7n9J X-Received: by 2002:a17:902:c950:b0:2cf:7e56:22c4 with SMTP id d9443c01a7336-2cf7e56274emr38581895ad.30.1784629628416; Tue, 21 Jul 2026 03:27:08 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2cf3448dac2sm73581365ad.3.2026.07.21.03.27.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 03:27:08 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , Takashi Iwai , Nick Li , Herve Codina Cc: Support Opensource , Liam Girdwood , Jaroslav Kysela , Srinivas Kandagatla , Charles Keepax , Richard Fitzgerald , Matthias Brugger , AngeloGioacchino Del Regno , Shenghao Ding , Kevin Lu , Baojun Xu , Sen Wang , Oder Chiou , Linus Walleij , Kuninori Morimoto , u.kleine-koenig@baylibre.com, Zhang Yi , Marco Crivellari , Kees Cook , HyeongJun An , Arnd Bergmann , Qianfeng Rong , linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, patches@opensource.cirrus.com, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, bui duc phuc Subject: [PATCH v4 06/29] ASoC: codecs: fs210x: Use guard() for mutex locks Date: Tue, 21 Jul 2026 17:25:37 +0700 Message-ID: <20260721102600.523199-7-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260721102600.523199-1-phucduc.bui@gmail.com> References: <20260721102600.523199-1-phucduc.bui@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: bui duc phuc Clean up the code using guard() for mutex locks. Merely code refactoring, and no behavior change. Signed-off-by: bui duc phuc --- sound/soc/codecs/fs210x.c | 89 ++++++++++++++------------------------- 1 file changed, 31 insertions(+), 58 deletions(-) diff --git a/sound/soc/codecs/fs210x.c b/sound/soc/codecs/fs210x.c index d794ff918b6f..510cbeea5b62 100644 --- a/sound/soc/codecs/fs210x.c +++ b/sound/soc/codecs/fs210x.c @@ -4,6 +4,7 @@ // // Copyright (C) 2016-2025 Shanghai FourSemi Semiconductor Co.,Ltd. =20 +#include #include #include #include @@ -771,9 +772,8 @@ static int fs210x_dai_hw_params(struct snd_pcm_substrea= m *substream, if (fs210x->devid =3D=3D FS2105S_DEVICE_ID && fs210x->srate =3D=3D 16000) return -EOPNOTSUPP; =20 - mutex_lock(&fs210x->lock); - ret =3D fs210x_set_hw_params(fs210x); - mutex_unlock(&fs210x->lock); + scoped_guard(mutex, &fs210x->lock) + ret =3D fs210x_set_hw_params(fs210x); if (ret) dev_err(fs210x->dev, "Failed to set hw params: %d\n", ret); =20 @@ -790,15 +790,11 @@ static int fs210x_dai_mute(struct snd_soc_dai *dai, i= nt mute, int stream) =20 fs210x =3D snd_soc_component_get_drvdata(dai->component); =20 - mutex_lock(&fs210x->lock); - - if (!fs210x->is_inited || fs210x->is_suspended) { - mutex_unlock(&fs210x->lock); - return 0; + scoped_guard(mutex, &fs210x->lock) { + if (!fs210x->is_inited || fs210x->is_suspended) + return 0; } =20 - mutex_unlock(&fs210x->lock); - if (mute) { cancel_delayed_work_sync(&fs210x->fault_check_work); cancel_delayed_work_sync(&fs210x->start_work); @@ -817,15 +813,11 @@ static int fs210x_dai_trigger(struct snd_pcm_substrea= m *substream, =20 fs210x =3D snd_soc_component_get_drvdata(dai->component); =20 - mutex_lock(&fs210x->lock); - - if (!fs210x->is_inited || fs210x->is_suspended || fs210x->is_playing) { - mutex_unlock(&fs210x->lock); - return 0; + scoped_guard(mutex, &fs210x->lock) { + if (!fs210x->is_inited || fs210x->is_suspended || fs210x->is_playing) + return 0; } =20 - mutex_unlock(&fs210x->lock); - switch (cmd) { case SNDRV_PCM_TRIGGER_START: case SNDRV_PCM_TRIGGER_RESUME: @@ -853,13 +845,11 @@ static void fs210x_start_work(struct work_struct *wor= k) =20 fs210x =3D container_of(work, struct fs210x_priv, start_work.work); =20 - mutex_lock(&fs210x->lock); + guard(mutex)(&fs210x->lock); =20 ret =3D fs210x_dev_play(fs210x); if (ret) dev_err(fs210x->dev, "Failed to start playing: %d\n", ret); - - mutex_unlock(&fs210x->lock); } =20 static void fs210x_fault_check_work(struct work_struct *work) @@ -870,15 +860,13 @@ static void fs210x_fault_check_work(struct work_struc= t *work) =20 fs210x =3D container_of(work, struct fs210x_priv, fault_check_work.work); =20 - mutex_lock(&fs210x->lock); + scoped_guard(mutex, &fs210x->lock) { + if (!fs210x->is_inited || fs210x->is_suspended || !fs210x->is_playing) + return; =20 - if (!fs210x->is_inited || fs210x->is_suspended || !fs210x->is_playing) { - mutex_unlock(&fs210x->lock); - return; + ret =3D fs210x_reg_read(fs210x, FS210X_05H_ANASTAT, &status); } =20 - ret =3D fs210x_reg_read(fs210x, FS210X_05H_ANASTAT, &status); - mutex_unlock(&fs210x->lock); if (ret) return; =20 @@ -991,7 +979,7 @@ static int fs210x_effect_scene_get(struct snd_kcontrol = *kcontrol, if (fs210x->scene_id < 1) return -EINVAL; =20 - mutex_lock(&fs210x->lock); + guard(mutex)(&fs210x->lock); /* * FS210x has scene(s) as below: * init scene: id =3D 0 @@ -1000,7 +988,6 @@ static int fs210x_effect_scene_get(struct snd_kcontrol= *kcontrol, */ index =3D fs210x->scene_id - 1; ucontrol->value.integer.value[0] =3D index; - mutex_unlock(&fs210x->lock); =20 return 0; } @@ -1019,7 +1006,7 @@ static int fs210x_effect_scene_put(struct snd_kcontro= l *kcontrol, return -EINVAL; } =20 - mutex_lock(&fs210x->lock); + guard(mutex)(&fs210x->lock); =20 /* * FS210x has scene(s) as below: @@ -1029,17 +1016,14 @@ static int fs210x_effect_scene_put(struct snd_kcont= rol *kcontrol, */ scene_id =3D ucontrol->value.integer.value[0] + 1; scene_count =3D fs210x->amp_lib.scene_count - 1; /* Skip init scene */ - if (scene_id < 1 || scene_id > scene_count) { - mutex_unlock(&fs210x->lock); + if (scene_id < 1 || scene_id > scene_count) return -ERANGE; - } =20 if (scene_id !=3D fs210x->scene_id) is_changed =3D true; =20 if (fs210x->is_suspended) { fs210x->scene_id =3D scene_id; - mutex_unlock(&fs210x->lock); return is_changed; } =20 @@ -1047,8 +1031,6 @@ static int fs210x_effect_scene_put(struct snd_kcontro= l *kcontrol, if (ret) dev_err(fs210x->dev, "Failed to set scene: %d\n", ret); =20 - mutex_unlock(&fs210x->lock); - if (!ret && is_changed) return 1; =20 @@ -1062,12 +1044,10 @@ static int fs210x_playback_event(struct snd_soc_dap= m_widget *w, struct fs210x_priv *fs210x =3D snd_soc_component_get_drvdata(cmpnt); int ret =3D 0; =20 - mutex_lock(&fs210x->lock); + guard(mutex)(&fs210x->lock); =20 - if (fs210x->is_suspended) { - mutex_unlock(&fs210x->lock); + if (fs210x->is_suspended) return 0; - } =20 switch (event) { case SND_SOC_DAPM_PRE_PMU: @@ -1088,8 +1068,6 @@ static int fs210x_playback_event(struct snd_soc_dapm_= widget *w, break; } =20 - mutex_unlock(&fs210x->lock); - return ret; } =20 @@ -1220,11 +1198,9 @@ static int fs210x_probe(struct snd_soc_component *cm= pnt) if (ret) return ret; =20 - mutex_lock(&fs210x->lock); - ret =3D fs210x_init_chip(fs210x); - mutex_unlock(&fs210x->lock); + guard(mutex)(&fs210x->lock); =20 - return ret; + return fs210x_init_chip(fs210x); } =20 static void fs210x_remove(struct snd_soc_component *cmpnt) @@ -1251,15 +1227,15 @@ static int fs210x_suspend(struct snd_soc_component = *cmpnt) =20 regcache_cache_only(fs210x->regmap, true); =20 - mutex_lock(&fs210x->lock); - fs210x->cur_scene =3D NULL; - fs210x->is_inited =3D false; - fs210x->is_playing =3D false; - fs210x->is_suspended =3D true; + scoped_guard(mutex, &fs210x->lock) { + fs210x->cur_scene =3D NULL; + fs210x->is_inited =3D false; + fs210x->is_playing =3D false; + fs210x->is_suspended =3D true; =20 - gpiod_set_value_cansleep(fs210x->gpio_sdz, 1); /* Active */ - fsleep(30000); /* >=3D 30ms */ - mutex_unlock(&fs210x->lock); + gpiod_set_value_cansleep(fs210x->gpio_sdz, 1); /* Active */ + fsleep(30000); /* >=3D 30ms */ + } =20 cancel_delayed_work_sync(&fs210x->start_work); cancel_delayed_work_sync(&fs210x->fault_check_work); @@ -1288,14 +1264,11 @@ static int fs210x_resume(struct snd_soc_component *= cmpnt) return ret; } =20 - mutex_lock(&fs210x->lock); + guard(mutex)(&fs210x->lock); =20 fs210x->is_suspended =3D false; - ret =3D fs210x_init_chip(fs210x); =20 - mutex_unlock(&fs210x->lock); - - return ret; + return fs210x_init_chip(fs210x); } #else #define fs210x_suspend NULL --=20 2.43.0 From nobody Sat Jul 25 00:54:32 2026 Received: from mail-pl1-f178.google.com (mail-pl1-f178.google.com [209.85.214.178]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0C94A3C7689 for ; Tue, 21 Jul 2026 10:27:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.178 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629638; cv=none; b=D55SJDSfAM4wh4PB10DV57qVO2xgrbkpspXY90Bn1iHqwtB9nTDTnP2gsFgiU/yGmxGWfGwxsofgS0szO0+BWd9V2pUzv1hkW1krBLPmcRYUIi7K2hRjrFsJWeR4QncOAgHU+Vm574iNOrK1eTZdJN9EPPwJ9LkzLH53PJP500M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629638; c=relaxed/simple; bh=rqOl5FtEn1x/OgjbEoHPTL+PY+QF4fqa/Y6KQB6PCdo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=IRQ/zkHO2CFc4mbr/vSiihtbzIBhaUhCZlVutIiNgtJEmLUKK77Jl50CIkx2thx73HLw4rwJ6ZX/BJwXLeWQrEHOW6eiI6IdtEb8ycXbmi/Mp50Su+lc6Mgz4pX6gNDQ2a1sOEntogfpBTSb/F4Wva6SHKchvEnAQcZXgdHrrjE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=jQYWFNdm; arc=none smtp.client-ip=209.85.214.178 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="jQYWFNdm" Received: by mail-pl1-f178.google.com with SMTP id d9443c01a7336-2ce7d2adef4so111073975ad.3 for ; Tue, 21 Jul 2026 03:27:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784629636; x=1785234436; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=FxGvcZ0w0B0OvE6uvIZ2A3qQKrxY4MT5FL8LI9fV4I0=; b=jQYWFNdm50/RoE1E5Y8/hXhKu1xnpCFO0XassqyDk5mFnpaOHRR46XUYw6Dm2iKbH0 Z3PebpuawgCD1Q9gd42lCbbINSooHtGIgFvDtXY//2KWUPNkNW+ITRnui5mQBGD+YD8C o4PzNUvrwzzdxJrEUzYLqzkWoclbOS7QgPdyBmokfeLHR/KvBzhouMYJTnLK4/3/u0+Q ejykUi1XdieLfN6ITJTgGADNuYG65j34UkDuwLcKg/OqaXbTAXNMZe+vokGVyJCAGDKm /sr8ABbgGeQoIsfYrSZsKCHFdiJQwz0ehE+CpEmAVY/7h5/O/QYQqpVGF8cVS9GFKU+n ij+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784629636; x=1785234436; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=FxGvcZ0w0B0OvE6uvIZ2A3qQKrxY4MT5FL8LI9fV4I0=; b=RtKa7uOUlIU/ws7Gd0zCE+7R8UcJJ2yneMTRAxgvHdoemZLLsIQokLC0POkbllSa2l MduC48GFjupWpV8U5tSA6cXdkNSXMQNuIJVLXyvQSs3JA47snTgf68oe6Q9EuG8G34hi +dKbNMmLEg+4l/8TQi5ZRtIxi75JzXGpBvY+LgVpr7sjAOg7fuMTIeXbp/CvYIumlZAl jRQJv2ljM1hyPWT0SXNU2fghsNGhejRHG7pONeKL9k6xjHDqn/onQEUFXLymsc3Kos4/ TM1rkauuj1e2RZYkmHwubRuhaB1t6SowUG54WkqVeKjJefO+hv1QjwHL1zTFAU+fpsfL irvg== X-Forwarded-Encrypted: i=1; AHgh+RqMw1o2VUw0lACMAk490JrqqgtnmI34CinIhAecEnqkHQV681RXL6r6cQwMeYd+lUTZpBEIvQNLehgANPg=@vger.kernel.org X-Gm-Message-State: AOJu0YxkVAS2gyUK/7ihLo4YtdUCfdWC+RIWrfru1/+/G0dvo3hWZDRU c8cfUOwWkJO6ZfK2DlAnPs93yc+gDr/rfcsvbCQlmFTmOKlwkAC5kOjv X-Gm-Gg: AR+sD11gPRdnLo4GN1Avy6H1FFYjw4xfLnZ5BWGNREjk1gh0WH8ckjjBQfC/07AY4GF xoqbeuCoQ3nZBC9Uo7/O0l+IqRYAEu9LwbVCE6Uax/CtH+FNrSIeDGQso4oPIIyau1LNeCi04Lw 6Dm3uuPy1mXoA+9l2TYOyepr5rz8XbG/Q1UUh2WGuXGJYXZjzhvZUkwHrYRuBWgdCW8avEiIbuD R1xc0xGVg50+klfa8IljWIOdBbgDP+yP6GzsvXm7dNdeX89wtiQ+PKxxadGzDIVWpLLbqYkAhpR BOBSuh5doO57GdqN5lNFZ1V289mv6gtxYEU4ziYNQBLTV52clXHGGNM25bgnMWJ9CDekDG/7r6X YV9YT1Yu8mE4X+RgpZrdZL1IHakmnDoiuDqQ92Zi0EClUc0+McblkFG2BXPA5SCJLw4PhldfvVS xN0ERH6XLy6ViVvoXZQJZraqT5AsiGbSLPI7pku2MLku0Rxlw= X-Received: by 2002:a17:903:181:b0:2c9:97a9:2098 with SMTP id d9443c01a7336-2cf349fa514mr192693585ad.44.1784629636326; Tue, 21 Jul 2026 03:27:16 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2cf3448dac2sm73581365ad.3.2026.07.21.03.27.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 03:27:16 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , Takashi Iwai , Nick Li , Herve Codina Cc: Support Opensource , Liam Girdwood , Jaroslav Kysela , Srinivas Kandagatla , Charles Keepax , Richard Fitzgerald , Matthias Brugger , AngeloGioacchino Del Regno , Shenghao Ding , Kevin Lu , Baojun Xu , Sen Wang , Oder Chiou , Linus Walleij , Kuninori Morimoto , u.kleine-koenig@baylibre.com, Zhang Yi , Marco Crivellari , Kees Cook , HyeongJun An , Arnd Bergmann , Qianfeng Rong , linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, patches@opensource.cirrus.com, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, bui duc phuc Subject: [PATCH v4 07/29] ASoC: codecs: hdac_hdmi: Use guard() for mutex locks Date: Tue, 21 Jul 2026 17:25:38 +0700 Message-ID: <20260721102600.523199-8-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260721102600.523199-1-phucduc.bui@gmail.com> References: <20260721102600.523199-1-phucduc.bui@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: bui duc phuc Clean up the code using guard() for mutex locks. Merely code refactoring, and no behavior change. Signed-off-by: bui duc phuc --- sound/soc/codecs/hdac_hdmi.c | 117 +++++++++++++++++------------------ 1 file changed, 57 insertions(+), 60 deletions(-) diff --git a/sound/soc/codecs/hdac_hdmi.c b/sound/soc/codecs/hdac_hdmi.c index 38073a70fa61..d9e6fa6d3e99 100644 --- a/sound/soc/codecs/hdac_hdmi.c +++ b/sound/soc/codecs/hdac_hdmi.c @@ -10,6 +10,7 @@ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~= ~~~ */ =20 +#include #include #include #include @@ -537,10 +538,11 @@ static struct hdac_hdmi_port *hdac_hdmi_get_port_from= _cvt( continue; =20 list_for_each_entry(port, &pcm->port_list, head) { - mutex_lock(&pcm->lock); - ret =3D hdac_hdmi_query_port_connlist(hdev, - port->pin, port); - mutex_unlock(&pcm->lock); + scoped_guard(mutex, &pcm->lock) { + ret =3D hdac_hdmi_query_port_connlist(hdev, + port->pin, + port); + } if (ret < 0) continue; =20 @@ -640,11 +642,11 @@ static void hdac_hdmi_pcm_close(struct snd_pcm_substr= eam *substream, pcm =3D hdac_hdmi_get_pcm_from_cvt(hdmi, dai_map->cvt); =20 if (pcm) { - mutex_lock(&pcm->lock); - pcm->chmap_set =3D false; - memset(pcm->chmap, 0, sizeof(pcm->chmap)); - pcm->channels =3D 0; - mutex_unlock(&pcm->lock); + scoped_guard(mutex, &pcm->lock) { + pcm->chmap_set =3D false; + memset(pcm->chmap, 0, sizeof(pcm->chmap)); + pcm->channels =3D 0; + } } =20 if (dai_map->port) @@ -922,7 +924,7 @@ static int hdac_hdmi_set_pin_port_mux(struct snd_kcontr= ol *kcontrol, if (port =3D=3D NULL) return -EINVAL; =20 - mutex_lock(&hdmi->pin_mutex); + guard(mutex)(&hdmi->pin_mutex); list_for_each_entry(pcm, &hdmi->pcm_list, head) { if (list_empty(&pcm->port_list)) continue; @@ -945,12 +947,10 @@ static int hdac_hdmi_set_pin_port_mux(struct snd_kcon= trol *kcontrol, list_add_tail(&port->head, &pcm->port_list); if (port->eld.monitor_present && port->eld.eld_valid) { hdac_hdmi_jack_report_sync(pcm, port, true); - mutex_unlock(&hdmi->pin_mutex); return ret; } } } - mutex_unlock(&hdmi->pin_mutex); =20 return ret; } @@ -1274,67 +1274,65 @@ static void hdac_hdmi_present_sense(struct hdac_hdm= i_pin *pin, * In case of non MST pin, get_eld info API expectes port * to be -1. */ - mutex_lock(&hdmi->pin_mutex); - port->eld.monitor_present =3D false; + scoped_guard(mutex, &hdmi->pin_mutex) { + port->eld.monitor_present =3D false; =20 - if (pin->mst_capable) - port_id =3D port->id; + if (pin->mst_capable) + port_id =3D port->id; =20 - size =3D snd_hdac_acomp_get_eld(hdev, pin->nid, port_id, - &port->eld.monitor_present, - port->eld.eld_buffer, - ELD_MAX_SIZE); + size =3D snd_hdac_acomp_get_eld(hdev, pin->nid, port_id, + &port->eld.monitor_present, + port->eld.eld_buffer, + ELD_MAX_SIZE); =20 - if (size > 0) { - size =3D min(size, ELD_MAX_SIZE); - if (hdac_hdmi_parse_eld(hdev, port) < 0) - size =3D -EINVAL; - } - - eld_valid =3D port->eld.eld_valid; + if (size > 0) { + size =3D min(size, ELD_MAX_SIZE); + if (hdac_hdmi_parse_eld(hdev, port) < 0) + size =3D -EINVAL; + } =20 - if (size > 0) { - port->eld.eld_valid =3D true; - port->eld.eld_size =3D size; - } else { - port->eld.eld_valid =3D false; - port->eld.eld_size =3D 0; - } + eld_valid =3D port->eld.eld_valid; =20 - eld_changed =3D (eld_valid !=3D port->eld.eld_valid); + if (size > 0) { + port->eld.eld_valid =3D true; + port->eld.eld_size =3D size; + } else { + port->eld.eld_valid =3D false; + port->eld.eld_size =3D 0; + } =20 - pcm =3D hdac_hdmi_get_pcm(hdev, port); + eld_changed =3D (eld_valid !=3D port->eld.eld_valid); =20 - if (!port->eld.monitor_present || !port->eld.eld_valid) { + pcm =3D hdac_hdmi_get_pcm(hdev, port); =20 - dev_dbg(&hdev->dev, "%s: disconnect for pin:port %d:%d\n", - __func__, pin->nid, port->id); + if (!port->eld.monitor_present || !port->eld.eld_valid) { =20 - /* - * PCMs are not registered during device probe, so don't - * report jack here. It will be done in usermode mux - * control select. - */ - if (pcm) { - hdac_hdmi_jack_report(pcm, port, false); - schedule_work(&port->dapm_work); - } + dev_dbg(&hdev->dev, "%s: disconnect for pin:port %d:%d\n", + __func__, pin->nid, port->id); =20 - mutex_unlock(&hdmi->pin_mutex); - return; - } + /* + * PCMs are not registered during device probe, so don't + * report jack here. It will be done in usermode mux + * control select. + */ + if (pcm) { + hdac_hdmi_jack_report(pcm, port, false); + schedule_work(&port->dapm_work); + } =20 - if (port->eld.monitor_present && port->eld.eld_valid) { - if (pcm) { - hdac_hdmi_jack_report(pcm, port, true); - schedule_work(&port->dapm_work); + return; } =20 - print_hex_dump_debug("ELD: ", DUMP_PREFIX_OFFSET, 16, 1, - port->eld.eld_buffer, port->eld.eld_size, false); + if (port->eld.monitor_present && port->eld.eld_valid) { + if (pcm) { + hdac_hdmi_jack_report(pcm, port, true); + schedule_work(&port->dapm_work); + } =20 + print_hex_dump_debug("ELD: ", DUMP_PREFIX_OFFSET, 16, 1, + port->eld.eld_buffer, port->eld.eld_size, false); + } } - mutex_unlock(&hdmi->pin_mutex); =20 if (eld_changed && pcm) snd_ctl_notify(hdmi->card, @@ -1795,13 +1793,12 @@ static void hdac_hdmi_set_chmap(struct hdac_device = *hdev, int pcm_idx, if (list_empty(&pcm->port_list)) return; =20 - mutex_lock(&pcm->lock); + guard(mutex)(&pcm->lock); pcm->chmap_set =3D true; memcpy(pcm->chmap, chmap, ARRAY_SIZE(pcm->chmap)); list_for_each_entry(port, &pcm->port_list, head) if (prepared) hdac_hdmi_setup_audio_infoframe(hdev, pcm, port); - mutex_unlock(&pcm->lock); } =20 static bool is_hdac_hdmi_pcm_attached(struct hdac_device *hdev, int pcm_id= x) --=20 2.43.0 From nobody Sat Jul 25 00:54:32 2026 Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F0F84480320 for ; Tue, 21 Jul 2026 10:27:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.170 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629646; cv=none; b=aZVdCo0rfsVspv1hy9qURgQTN98WSth6v21MmQIVbaa2+5OCVoSbPyzSr+/U/bQOd7QK4S1r5xJyrzDEmmnb6f7Ayxwh3xBBNi/Hf0kwOj94FU21VeI2Q//mVMcShO+0eYxWJ4UYjw/49yh1GnVRCx83Wj7Fat3LPijF5U+2KSg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629646; c=relaxed/simple; bh=+nT6I4Pca0g3yL9/0MMMJ9eU5lzYcdje8+rHxYbR5Lw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=q9N9iWeBxbsZxMNfhKXfeQMKmhpeaSqX5EJPEYOVajHtnke5mFu/yMsQHzkrC5ehLuGtgH3ZWdsdZLfUQOO+Vd5c2Y+ASoMP2wZAlXdX/2PI+/A5iyplu9V8BZ8hQuWREstONrPhFVn7UsHwGYYwdR3f22P8uQnMc6cTh+/dwPU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=eFoQjan+; arc=none smtp.client-ip=209.85.214.170 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="eFoQjan+" Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-2cc61541f8cso56978645ad.0 for ; Tue, 21 Jul 2026 03:27:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784629644; x=1785234444; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=aUrf6Km35HLEs48Iv+5EKVZGrilhk0m+5i7bYMdUoc0=; b=eFoQjan+ikwUs/ccAbbQBys2VDdM3ywU/GCJ0N0lenezip7V+kWCCNOM35p4Mf0Iwo SrlX+LAiActEIJn7OdZGo0Ahz/bYxb75eI0/WKXKohDWdLubTDvH/769cSfPe3wdY0S6 q89RwJaec1g36m6MzBdfuzLTS9k6wNUa3XOBzOtH1dDUtLBOvkU+K9WpefLbDGsv9+t7 TkLaHRgZGnr8l0uzfOE7tjDybzsFfIoX7LNnRRGvQXbBKQSetJD6BzYLC3u3yXiQhsFr rv7tOjiBwtwGNYHeYKGAp+yvZyVC5dDWF7BKpsM02Ex+zjlw4Aapb1oYaWIIhpdq0SzH Lbhg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784629644; x=1785234444; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=aUrf6Km35HLEs48Iv+5EKVZGrilhk0m+5i7bYMdUoc0=; b=GSPmBSnlEYcbWeXbXUY5YsRjFNI7B0V52PyhrUGkGauAHNhTATvLGrd6A6xux03Mn/ i49tdkgDykPxjErHRtpRhliFyzfeO9wW0Kbq28QJ2SOHLrct22RTUw6KviPP+ouvn9Sk yZelzIlfrOOJuuQw/0DaDZw5F4u/x068eIk2DDJtP68TcREjC41wkj/bpdmNBm9cb1NO 6JqF6+wStXYQZOckSmbGUovVD7X8otYXsdkzvR356Jtb0PqeJxA9UmSf7yfNyCrQfPLF fLMUFKs/ag6AJAVDPd6whMqcb/Ja9vPttlg4ZY8e3GPfnWSmNvhkYrSsGrqrNhDeMOEq 2lwA== X-Forwarded-Encrypted: i=1; AHgh+RqBPOokJX3P0m51lZhtY4/Ej17wSiCC1IypCP2m+tV8wY3mHRoMAgu+u4t1tY+k75PcGTb3N19rjMWv4R4=@vger.kernel.org X-Gm-Message-State: AOJu0YxDLGh6ZseZbcmDwK14peKMv7+tZqfyIvMg1UujnGE/JsYfC4Mo DYHGKKfvfMEJ4QLft5cd0e0bXuE/TSG9zn5zBEd00I5afWPch3oSsBYG X-Gm-Gg: AR+sD11mbhfsbPLoBWHdw80UcxIkXBfo1kA2jC11Yi411XYzloR77+7ZurWP/mamu5o cX4a/Il+5MbxjaYwKJtRIR5KGejIERBVrInkTmA3VHMteG7Agz0oD9LxsSPForEeZrOd192VtAU 2G80TqdcBy1s5RY46Q8gjJpz+03t4NSDI/jfzv9NbwePJNWv7rSb1qJwQaMXjZ4rFPE4YXQy2Nz VtcXdZMVLJZNI6zFpDa8xpVG8Ko8hNGZnhqxWus3UfLtVR79AXFal21D7IDOGxoOgPpLGxeCb8l GqJHYkt5EGbS6nkv/Ym1KfkqAqn6DZUZEWnRLqJctztsqOV4JqQ40rCxblaUfIosnaMHvJ0TkLF Kl1wM6Ypb2vhLy5Wjx2e3rlUl6vxfzGxkL6qiu0TDYWxbHHva/65DgN+7b6nuhcT70iGTyDtR8V 6My9O6WxTHn9tlSBH8HyYU0WQTw6ABM/VaC0HU X-Received: by 2002:a17:902:e885:b0:2ce:d958:e3b with SMTP id d9443c01a7336-2cf1f570c5amr218336625ad.25.1784629644219; Tue, 21 Jul 2026 03:27:24 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2cf3448dac2sm73581365ad.3.2026.07.21.03.27.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 03:27:23 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , Takashi Iwai , Nick Li , Herve Codina Cc: Support Opensource , Liam Girdwood , Jaroslav Kysela , Srinivas Kandagatla , Charles Keepax , Richard Fitzgerald , Matthias Brugger , AngeloGioacchino Del Regno , Shenghao Ding , Kevin Lu , Baojun Xu , Sen Wang , Oder Chiou , Linus Walleij , Kuninori Morimoto , u.kleine-koenig@baylibre.com, Zhang Yi , Marco Crivellari , Kees Cook , HyeongJun An , Arnd Bergmann , Qianfeng Rong , linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, patches@opensource.cirrus.com, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, bui duc phuc Subject: [PATCH v4 08/29] ASoC: codecs: hdmi-codec: Use guard() for mutex locks Date: Tue, 21 Jul 2026 17:25:39 +0700 Message-ID: <20260721102600.523199-9-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260721102600.523199-1-phucduc.bui@gmail.com> References: <20260721102600.523199-1-phucduc.bui@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: bui duc phuc Clean up the code using guard() for mutex locks. Merely code refactoring, and no behavior change. Signed-off-by: bui duc phuc --- sound/soc/codecs/hdmi-codec.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/sound/soc/codecs/hdmi-codec.c b/sound/soc/codecs/hdmi-codec.c index 13ae9e83bc21..bc2c22436ba6 100644 --- a/sound/soc/codecs/hdmi-codec.c +++ b/sound/soc/codecs/hdmi-codec.c @@ -4,6 +4,7 @@ * Copyright (C) 2015 Texas Instruments Incorporated - https://www.ti.com/ * Author: Jyri Sarha */ +#include #include #include #include @@ -452,31 +453,30 @@ static int hdmi_codec_startup(struct snd_pcm_substrea= m *substream, if (!((has_playback && tx) || (has_capture && !tx))) return 0; =20 - mutex_lock(&hcp->lock); + guard(mutex)(&hcp->lock); if (hcp->busy) { dev_err(dai->dev, "Only one simultaneous stream supported!\n"); - mutex_unlock(&hcp->lock); return -EINVAL; } =20 if (hcp->hcd.ops->audio_startup) { ret =3D hcp->hcd.ops->audio_startup(dai->dev->parent, hcp->hcd.data); if (ret) - goto err; + return ret; } =20 if (tx && hcp->hcd.ops->get_eld) { ret =3D hcp->hcd.ops->get_eld(dai->dev->parent, hcp->hcd.data, hcp->eld, sizeof(hcp->eld)); if (ret) - goto err; + return ret; =20 snd_parse_eld(dai->dev, &hcp->eld_parsed, hcp->eld, sizeof(hcp->eld)); =20 ret =3D snd_pcm_hw_constraint_eld(substream->runtime, hcp->eld); if (ret) - goto err; + return ret; =20 /* Select chmap supported */ hdmi_codec_eld_chmap(hcp); @@ -484,8 +484,6 @@ static int hdmi_codec_startup(struct snd_pcm_substream = *substream, =20 hcp->busy =3D true; =20 -err: - mutex_unlock(&hcp->lock); return ret; } =20 @@ -503,9 +501,8 @@ static void hdmi_codec_shutdown(struct snd_pcm_substrea= m *substream, hcp->chmap_idx =3D HDMI_CODEC_CHMAP_IDX_UNKNOWN; hcp->hcd.ops->audio_shutdown(dai->dev->parent, hcp->hcd.data); =20 - mutex_lock(&hcp->lock); + guard(mutex)(&hcp->lock); hcp->busy =3D false; - mutex_unlock(&hcp->lock); } =20 static int hdmi_codec_fill_codec_params(struct snd_soc_dai *dai, --=20 2.43.0 From nobody Sat Jul 25 00:54:32 2026 Received: from mail-pl1-f181.google.com (mail-pl1-f181.google.com [209.85.214.181]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E9364481644 for ; Tue, 21 Jul 2026 10:27:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.181 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629657; cv=none; b=WdRI/ipBx2n3uHWxV6tl1G4TQ4I6V78YzT9WekJKt/JdK2ME8o3aAVjptGdu8DLIpUtFrdP5eOP4Sp5IIdGPo7bin6pfiWlWiM1WLHErFsnNJnhwLUaoiqI3TEgkQJNGu+LHTbsha4IAmr7px4GwMKEOny996MiipkhmV7UnC3E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629657; c=relaxed/simple; bh=jMQz84Fwcrm8C1aXqMkUxF4g3vcEnzFavgi0MTk887k=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=BeoI2YxNyufhRqhNtCNrAoSinyEwxdrDlTrSlhswuEUM0ZpJuC6se1QGv7VcL7igAqZj9GRXmElbwrfJiE2AHBDdPwsrZ3usii5/ISvI/bt2wTpHx6sN9CbUyi03s21I3QlxMVyNhozt/6CbIcM8Zp4R9bfQOhTLYZ7O4pbErtU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=EXoYgCuC; arc=none smtp.client-ip=209.85.214.181 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="EXoYgCuC" Received: by mail-pl1-f181.google.com with SMTP id d9443c01a7336-2cad8076b01so133731105ad.2 for ; Tue, 21 Jul 2026 03:27:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784629652; x=1785234452; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=73JLQAmWuZSnNO0q42K5V2Btd42o1yjgi7/OGpCGXNY=; b=EXoYgCuCE4pAGpUCLuKEtxx9QuflEIKeYNeM8MXJPCKKReqCiz6LUXAlFCuQFvdm+2 oWEsJn5V3k1GhU0IHb34HotZ+HydmNTuasfn1XNy/jrgw4i1Tf9C2kjvFoWip9Gz9zML utdmQJEdLgTwsSxVhPXDEtmUnteUKE5c1HQ9a+E8E9XbVNhCR5F+jVZlR6J92JiZ0qyU fjvkkj+ptyfub+Lcgd9RRFMHVIgK3qGCYRNyVHI3wHcyWYoFYYgCOiUYso55gcK42wJq SUExDMFjKd8RukG4GuIT6pcZPBs7Qbc7kxu8GIoX114B/JUPfEvkna1d9QO86d+CDN2m sAwQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784629652; x=1785234452; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=73JLQAmWuZSnNO0q42K5V2Btd42o1yjgi7/OGpCGXNY=; b=H5rgPY2JsLI0bhRmJ0QhUzBlcSsvVOTVr181XWOOj0mq6TfncC9Ti/+t9OYRknGWt9 IlCxL54LZ0plLJGUqV0AopIttXaSQfoFptk3pYvkt4VEYBO9gcgil+A3WILpm9iR/BGG gUxz6DmcNrOHHs/Cz4651dHdLAuQ6qqYvLltlzQa9SJC2ByRbLw/ifAdHWn+Tgwesugh KXcRvqDhXA7ByVccExUx2q5a4uXCx4zF4oZg28Kl3IIg3Hpx0s9LGDMzl9G5+ZDW778a Z/yXwsyZ55eJyhzmcbdCGu1taSTJyzQfaiWDPgXnEn6eOcTFhSHcfL6qJMjiemNatFaK Xo5g== X-Forwarded-Encrypted: i=1; AHgh+RrXLdc1i3FGn/YS/+mbjMGU9M8s/A4Ys/TJ/RbCNeR27WDdOPZaoHr0BIn2Fd64CXbt4TBCGgmCnd4eHBg=@vger.kernel.org X-Gm-Message-State: AOJu0YzmvJ693MMHqInK2vd7gBz34KDx0mRDL6qRsEeXBIJZogtRP0Ty /Bea+6F+kq7nB6LHLy8kc1u/U1seXCbZJy0NfdZfOY7Ca9Rqb0z5w94n X-Gm-Gg: AR+sD11p8KkGqAJ44iAN6MqaS6DxmuJiyn7HwhFqP8Oagcd5nlPbKs1fMdiCp4DCejy guZlCamON0zdL0chDnU09qcStMDIJSaLUQy7MltB0D+5AXlJTYN2/WSqN8BokyEqHpc/14Huk0v RfMDBH6YjQPt30k2Yn8w7kSK42+4YSLxv6edul0X9hE/y2o9KB64ToMus5EwSwJCAkIIWiWU20E DrZqTPE2sYtaCYnXYk8sh/7Rj7KwJ90Sd6gJazAnA5rWtgDHtGlfPhpwIsy/2XwaCS6eUBMW3bq JWH2voD/OtNYIY2ZBhuZZSsxaFKGAZCL3kKzFfz66JSk9p1ZqsGetBNCwwwyxCxiF1Ip6nJY+C3 9eR1NNOq3H24XpeA+pyeUgc+Ma9mgX9dafPDLmIt4Qnoh9KNHFCwyCRQ0dBZybahrTtiRES2x5m 9emjPYGblbQyapCWNDYLQNM10A53ncitD6LaR3 X-Received: by 2002:a17:903:2ec5:b0:2ca:7131:cace with SMTP id d9443c01a7336-2cf3496094emr219480565ad.31.1784629652158; Tue, 21 Jul 2026 03:27:32 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2cf3448dac2sm73581365ad.3.2026.07.21.03.27.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 03:27:31 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , Takashi Iwai , Nick Li , Herve Codina Cc: Support Opensource , Liam Girdwood , Jaroslav Kysela , Srinivas Kandagatla , Charles Keepax , Richard Fitzgerald , Matthias Brugger , AngeloGioacchino Del Regno , Shenghao Ding , Kevin Lu , Baojun Xu , Sen Wang , Oder Chiou , Linus Walleij , Kuninori Morimoto , u.kleine-koenig@baylibre.com, Zhang Yi , Marco Crivellari , Kees Cook , HyeongJun An , Arnd Bergmann , Qianfeng Rong , linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, patches@opensource.cirrus.com, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, bui duc phuc Subject: [PATCH v4 09/29] ASoC: codecs: idt821034: Use guard() for mutex locks Date: Tue, 21 Jul 2026 17:25:40 +0700 Message-ID: <20260721102600.523199-10-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260721102600.523199-1-phucduc.bui@gmail.com> References: <20260721102600.523199-1-phucduc.bui@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: bui duc phuc Clean up the code using guard() for mutex locks. Merely code refactoring, and no behavior change. Signed-off-by: bui duc phuc --- Changes in v2:=20 - Remove temporary variables and return directly=20 from the functions. sound/soc/codecs/idt821034.c | 144 ++++++++++++++--------------------- 1 file changed, 57 insertions(+), 87 deletions(-) diff --git a/sound/soc/codecs/idt821034.c b/sound/soc/codecs/idt821034.c index 084090ccef77..387f17b5f7b3 100644 --- a/sound/soc/codecs/idt821034.c +++ b/sound/soc/codecs/idt821034.c @@ -7,6 +7,7 @@ // Author: Herve Codina =20 #include +#include #include #include #include @@ -413,12 +414,12 @@ static int idt821034_kctrl_gain_get(struct snd_kcontr= ol *kcontrol, =20 ch =3D IDT821034_ID_GET_CHAN(mc->reg); =20 - mutex_lock(&idt821034->mutex); - if (IDT821034_ID_IS_OUT(mc->reg)) - val =3D idt821034->amps.ch[ch].amp_out.gain; - else - val =3D idt821034->amps.ch[ch].amp_in.gain; - mutex_unlock(&idt821034->mutex); + scoped_guard(mutex, &idt821034->mutex) { + if (IDT821034_ID_IS_OUT(mc->reg)) + val =3D idt821034->amps.ch[ch].amp_out.gain; + else + val =3D idt821034->amps.ch[ch].amp_in.gain; + } =20 ucontrol->value.integer.value[0] =3D val & mask; if (invert) @@ -456,7 +457,7 @@ static int idt821034_kctrl_gain_put(struct snd_kcontrol= *kcontrol, =20 ch =3D IDT821034_ID_GET_CHAN(mc->reg); =20 - mutex_lock(&idt821034->mutex); + guard(mutex)(&idt821034->mutex); =20 if (IDT821034_ID_IS_OUT(mc->reg)) { amp =3D &idt821034->amps.ch[ch].amp_out; @@ -466,22 +467,18 @@ static int idt821034_kctrl_gain_put(struct snd_kcontr= ol *kcontrol, gain_type =3D IDT821034_GAIN_TX; } =20 - if (amp->gain =3D=3D val) { - ret =3D 0; - goto end; - } + if (amp->gain =3D=3D val) + return 0; =20 if (!amp->is_muted) { ret =3D idt821034_set_gain_channel(idt821034, ch, gain_type, val); if (ret) - goto end; + return ret; } =20 amp->gain =3D val; - ret =3D 1; /* The value changed */ -end: - mutex_unlock(&idt821034->mutex); - return ret; + + return 1; } =20 static int idt821034_kctrl_mute_get(struct snd_kcontrol *kcontrol, @@ -495,11 +492,11 @@ static int idt821034_kctrl_mute_get(struct snd_kcontr= ol *kcontrol, =20 ch =3D IDT821034_ID_GET_CHAN(id); =20 - mutex_lock(&idt821034->mutex); - is_muted =3D IDT821034_ID_IS_OUT(id) ? - idt821034->amps.ch[ch].amp_out.is_muted : - idt821034->amps.ch[ch].amp_in.is_muted; - mutex_unlock(&idt821034->mutex); + scoped_guard(mutex, &idt821034->mutex) { + is_muted =3D IDT821034_ID_IS_OUT(id) ? + idt821034->amps.ch[ch].amp_out.is_muted : + idt821034->amps.ch[ch].amp_in.is_muted; + } =20 ucontrol->value.integer.value[0] =3D !is_muted; =20 @@ -521,7 +518,7 @@ static int idt821034_kctrl_mute_put(struct snd_kcontrol= *kcontrol, ch =3D IDT821034_ID_GET_CHAN(id); is_mute =3D !ucontrol->value.integer.value[0]; =20 - mutex_lock(&idt821034->mutex); + guard(mutex)(&idt821034->mutex); =20 if (IDT821034_ID_IS_OUT(id)) { amp =3D &idt821034->amps.ch[ch].amp_out; @@ -531,21 +528,17 @@ static int idt821034_kctrl_mute_put(struct snd_kcontr= ol *kcontrol, gain_type =3D IDT821034_GAIN_TX; } =20 - if (amp->is_muted =3D=3D is_mute) { - ret =3D 0; - goto end; - } + if (amp->is_muted =3D=3D is_mute) + return 0; =20 ret =3D idt821034_set_gain_channel(idt821034, ch, gain_type, is_mute ? 0 : amp->gain); if (ret) - goto end; + return ret; =20 amp->is_muted =3D is_mute; - ret =3D 1; /* The value changed */ -end: - mutex_unlock(&idt821034->mutex); - return ret; + + return 1; } =20 static const DECLARE_TLV_DB_LINEAR(idt821034_gain_in, -300, 1300); @@ -623,24 +616,20 @@ static int idt821034_power_event(struct snd_soc_dapm_= widget *w, struct idt821034 *idt821034 =3D snd_soc_component_get_drvdata(component); unsigned int id =3D w->shift; u8 power, mask; - int ret; u8 ch; =20 ch =3D IDT821034_ID_GET_CHAN(id); mask =3D IDT821034_ID_IS_OUT(id) ? IDT821034_CONF_PWRUP_RX : IDT821034_CO= NF_PWRUP_TX; =20 - mutex_lock(&idt821034->mutex); + guard(mutex)(&idt821034->mutex); =20 power =3D idt821034_get_channel_power(idt821034, ch); if (SND_SOC_DAPM_EVENT_ON(event)) power |=3D mask; else power &=3D ~mask; - ret =3D idt821034_set_channel_power(idt821034, ch, power); - - mutex_unlock(&idt821034->mutex); =20 - return ret; + return idt821034_set_channel_power(idt821034, ch, power); } =20 static const struct snd_soc_dapm_widget idt821034_dapm_widgets[] =3D { @@ -717,9 +706,9 @@ static int idt821034_dai_set_tdm_slot(struct snd_soc_da= i *dai, ch =3D 0; while (mask && ch < IDT821034_NB_CHANNEL) { if (mask & 0x1) { - mutex_lock(&idt821034->mutex); - ret =3D idt821034_set_channel_ts(idt821034, ch, IDT821034_CH_RX, slot); - mutex_unlock(&idt821034->mutex); + scoped_guard(mutex, &idt821034->mutex) + ret =3D idt821034_set_channel_ts(idt821034, ch, + IDT821034_CH_RX, slot); if (ret) { dev_err(dai->dev, "ch%u set tx tdm slot failed (%d)\n", ch, ret); @@ -742,9 +731,9 @@ static int idt821034_dai_set_tdm_slot(struct snd_soc_da= i *dai, ch =3D 0; while (mask && ch < IDT821034_NB_CHANNEL) { if (mask & 0x1) { - mutex_lock(&idt821034->mutex); - ret =3D idt821034_set_channel_ts(idt821034, ch, IDT821034_CH_TX, slot); - mutex_unlock(&idt821034->mutex); + scoped_guard(mutex, &idt821034->mutex) + ret =3D idt821034_set_channel_ts(idt821034, ch, + IDT821034_CH_TX, slot); if (ret) { dev_err(dai->dev, "ch%u set rx tdm slot failed (%d)\n", ch, ret); @@ -769,9 +758,8 @@ static int idt821034_dai_set_fmt(struct snd_soc_dai *da= i, unsigned int fmt) { struct idt821034 *idt821034 =3D snd_soc_component_get_drvdata(dai->compon= ent); u8 conf; - int ret; =20 - mutex_lock(&idt821034->mutex); + guard(mutex)(&idt821034->mutex); =20 conf =3D idt821034_get_codec_conf(idt821034); =20 @@ -785,13 +773,10 @@ static int idt821034_dai_set_fmt(struct snd_soc_dai *= dai, unsigned int fmt) default: dev_err(dai->dev, "Unsupported DAI format 0x%x\n", fmt & SND_SOC_DAIFMT_FORMAT_MASK); - ret =3D -EINVAL; - goto end; + return -EINVAL; } - ret =3D idt821034_set_codec_conf(idt821034, conf); -end: - mutex_unlock(&idt821034->mutex); - return ret; + + return idt821034_set_codec_conf(idt821034, conf); } =20 static int idt821034_dai_hw_params(struct snd_pcm_substream *substream, @@ -800,9 +785,8 @@ static int idt821034_dai_hw_params(struct snd_pcm_subst= ream *substream, { struct idt821034 *idt821034 =3D snd_soc_component_get_drvdata(dai->compon= ent); u8 conf; - int ret; =20 - mutex_lock(&idt821034->mutex); + guard(mutex)(&idt821034->mutex); =20 conf =3D idt821034_get_codec_conf(idt821034); =20 @@ -816,13 +800,10 @@ static int idt821034_dai_hw_params(struct snd_pcm_sub= stream *substream, default: dev_err(dai->dev, "Unsupported PCM format 0x%x\n", params_format(params)); - ret =3D -EINVAL; - goto end; + return -EINVAL; } - ret =3D idt821034_set_codec_conf(idt821034, conf); -end: - mutex_unlock(&idt821034->mutex); - return ret; + + return idt821034_set_codec_conf(idt821034, conf); } =20 static const unsigned int idt821034_sample_bits[] =3D {8}; @@ -897,11 +878,11 @@ static int idt821034_reset_audio(struct idt821034 *id= t821034) int ret; u8 i; =20 - mutex_lock(&idt821034->mutex); + guard(mutex)(&idt821034->mutex); =20 ret =3D idt821034_set_codec_conf(idt821034, 0); if (ret) - goto end; + return ret; =20 for (i =3D 0; i < IDT821034_NB_CHANNEL; i++) { idt821034->amps.ch[i].amp_out.gain =3D IDT821034_GAIN_OUT_INIT_RAW; @@ -909,24 +890,21 @@ static int idt821034_reset_audio(struct idt821034 *id= t821034) ret =3D idt821034_set_gain_channel(idt821034, i, IDT821034_GAIN_RX, idt821034->amps.ch[i].amp_out.gain); if (ret) - goto end; + return ret; =20 idt821034->amps.ch[i].amp_in.gain =3D IDT821034_GAIN_IN_INIT_RAW; idt821034->amps.ch[i].amp_in.is_muted =3D false; ret =3D idt821034_set_gain_channel(idt821034, i, IDT821034_GAIN_TX, idt821034->amps.ch[i].amp_in.gain); if (ret) - goto end; + return ret; =20 ret =3D idt821034_set_channel_power(idt821034, i, 0); if (ret) - goto end; + return ret; } =20 - ret =3D 0; -end: - mutex_unlock(&idt821034->mutex); - return ret; + return 0; } =20 static int idt821034_component_probe(struct snd_soc_component *component) @@ -965,7 +943,7 @@ static int idt821034_chip_gpio_set(struct gpio_chip *c,= unsigned int offset, u8 slic_raw; int ret; =20 - mutex_lock(&idt821034->mutex); + guard(mutex)(&idt821034->mutex); =20 slic_raw =3D idt821034_get_written_slic_raw(idt821034, ch); if (val) @@ -974,8 +952,6 @@ static int idt821034_chip_gpio_set(struct gpio_chip *c,= unsigned int offset, slic_raw &=3D ~mask; ret =3D idt821034_write_slic_raw(idt821034, ch, slic_raw); =20 - mutex_unlock(&idt821034->mutex); - if (ret) dev_err(&idt821034->spi->dev, "set gpio %d (%u, 0x%x) failed (%d)\n", offset, ch, mask, ret); @@ -991,9 +967,8 @@ static int idt821034_chip_gpio_get(struct gpio_chip *c,= unsigned int offset) u8 slic_raw; int ret; =20 - mutex_lock(&idt821034->mutex); - ret =3D idt821034_read_slic_raw(idt821034, ch, &slic_raw); - mutex_unlock(&idt821034->mutex); + scoped_guard(mutex, &idt821034->mutex) + ret =3D idt821034_read_slic_raw(idt821034, ch, &slic_raw); if (ret) { dev_err(&idt821034->spi->dev, "get gpio %d (%u, 0x%x) failed (%d)\n", offset, ch, mask, ret); @@ -1015,9 +990,8 @@ static int idt821034_chip_get_direction(struct gpio_ch= ip *c, unsigned int offset struct idt821034 *idt821034 =3D gpiochip_get_data(c); u8 slic_dir; =20 - mutex_lock(&idt821034->mutex); + guard(mutex)(&idt821034->mutex); slic_dir =3D idt821034_get_slic_conf(idt821034, ch); - mutex_unlock(&idt821034->mutex); =20 return slic_dir & mask ? GPIO_LINE_DIRECTION_IN : GPIO_LINE_DIRECTION_OUT; } @@ -1034,7 +1008,7 @@ static int idt821034_chip_direction_input(struct gpio= _chip *c, unsigned int offs if (mask & ~(IDT821034_SLIC_IO1_IN | IDT821034_SLIC_IO0_IN)) return -EPERM; =20 - mutex_lock(&idt821034->mutex); + guard(mutex)(&idt821034->mutex); =20 slic_conf =3D idt821034_get_slic_conf(idt821034, ch) | mask; =20 @@ -1044,7 +1018,6 @@ static int idt821034_chip_direction_input(struct gpio= _chip *c, unsigned int offs offset, ch, mask, ret); } =20 - mutex_unlock(&idt821034->mutex); return ret; } =20 @@ -1060,7 +1033,7 @@ static int idt821034_chip_direction_output(struct gpi= o_chip *c, unsigned int off if (ret) return ret; =20 - mutex_lock(&idt821034->mutex); + guard(mutex)(&idt821034->mutex); =20 slic_conf =3D idt821034_get_slic_conf(idt821034, ch) & ~mask; =20 @@ -1070,7 +1043,6 @@ static int idt821034_chip_direction_output(struct gpi= o_chip *c, unsigned int off offset, ch, mask, ret); } =20 - mutex_unlock(&idt821034->mutex); return ret; } =20 @@ -1079,24 +1051,22 @@ static int idt821034_reset_gpio(struct idt821034 *i= dt821034) int ret; u8 i; =20 - mutex_lock(&idt821034->mutex); + guard(mutex)(&idt821034->mutex); =20 /* IO0 and IO1 as input for all channels and output IO set to 0 */ for (i =3D 0; i < IDT821034_NB_CHANNEL; i++) { ret =3D idt821034_set_slic_conf(idt821034, i, IDT821034_SLIC_IO1_IN | IDT821034_SLIC_IO0_IN); if (ret) - goto end; + return ret; =20 ret =3D idt821034_write_slic_raw(idt821034, i, 0); if (ret) - goto end; + return ret; =20 } - ret =3D 0; -end: - mutex_unlock(&idt821034->mutex); - return ret; + + return 0; } =20 static int idt821034_gpio_init(struct idt821034 *idt821034) --=20 2.43.0 From nobody Sat Jul 25 00:54:32 2026 Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C3C70480DDB for ; Tue, 21 Jul 2026 10:27:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.170 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629662; cv=none; b=awm8judvMraXEKQN5BRDtLhgkKwsYMgTmvTOQmgQ0c4VIW8Ji+pXHSq03sN60RQMzsAxsdcwrjziIMUA8yWgzrAuqqE5ZPsM2+AyDAm1ej8diObIXljf7CcBvh2jJ0ySzprfzLZnFry7IKv52BH8h8juf4MVR7HW0MePXyqaooo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629662; c=relaxed/simple; bh=PpZ4kh5MjGhEnrnoDkU1ccKIH7udPBUPKAQWqZafq5c=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=LwvOxwthMyvlWdZafBb8/64bS/GwaIV9a8ttASU9Fu3pAYo/sFW51T+KGUwH8Obxfqw/A3rhxLYqhqlpvwbzEGB599Hr/c4CcyjpAT3+KzDu34wTBfv98DVhcbP9JpigGLZfmG+NtcPpEOA+0FfgCY5R1Hmy/GnmssS2De+L10s= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=h3K7RTee; arc=none smtp.client-ip=209.85.214.170 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="h3K7RTee" Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-2cea3004256so127546715ad.0 for ; Tue, 21 Jul 2026 03:27:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784629660; x=1785234460; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=Q0zTLvIrZQkcOcFOJ5UF+kPqAbo28ZpFPiBP3Cw88G8=; b=h3K7RTeehQiSuN933tealbOs0sy5JloiIuQ0mFI0jK6PRxoaJdXNsppyBZgdyZzUJv 28VJzj8Rii3/dEuOGIvb0iwsVz0FnhTp7aYvBODHLwWhiWILY82jaCBCphd/YP9XG8np GbrdMZV0Jz8s07Wv2MgWzjF6rP72Ippt/K3jwGAeTBEc5tlv213LTKwQ3bEbYF7UNfCw kOciRJhzVARlzoCVEsm0oO9yKFTtdFc7P++rEVYdb9pYVwU8WMCANtldMzoUo8znRmvL IbfEwMzq0VXAk3Zpg59lz0+MALJyMyM/LdbnDVe6VE2/C7E82kb1abQGM9eD8AsVbpmv BqCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784629660; x=1785234460; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=Q0zTLvIrZQkcOcFOJ5UF+kPqAbo28ZpFPiBP3Cw88G8=; b=MM+ffMHRY/8D7vKQINYwhlQ7lwBuX4cK0TXam54BPyC+VTmY8U8QeaLbPJmxEXPjiG ocz8C7G9KxdAY9Pk5JdHXt+8l2Ml8sWV23nSsSNtpgvY9BRUf3r17FsQ/HFOeExahrXi +i+NWMEeNlxI2u+BfKs1prdRdtlOGeG3gihgk4it4EnGBwuD4PQy9xkfKybu1vv6zA+N aQ6mzou3rXwiImCP5++ghMeNCd6Fi9BzyTuoMCwMecm3z0QHBBnT4DCug5agRkhlbh9m 22o0JMTUZrDTOJxkjAHwrZ6VGr2V4YeWdAQv03qMFiu8qXS3qcO7N2yRUqQedh3eM+zL ETLQ== X-Forwarded-Encrypted: i=1; AHgh+RrDCJLhk/YsbJp3qktMbhPFNiIzos5L+KIil2o5ffaG1bNclmps8iEaO3Djr4fw37IqR3iITZr3jciaXNA=@vger.kernel.org X-Gm-Message-State: AOJu0YwtyHrDU3TrAUcUpAnoA5oOvq5RSHxKCOJfsFrR4VuelMTbxodX B55rBOzkqWkGJxW2MYszjIhvOGZfIHDH6YhOBqLg3aTl6ufqKuyo06V9 X-Gm-Gg: AR+sD13vkuc9gOay46AvHtCAlMn8nA7L3bMRTBEzEPi3KYQjBAzpETPyab1kWPldCZT w9wvW31SDvYrwmWkwYojCz6hGZSj8XrP9oDq1iU3AfmTUCwyhHu0aUhR5Up8Fe7zaZcUpTMtRax 016JqU9aGNxY8bg522vTBFTqrrQJ5G6lNLk61zoKQekkoTjJDeUxmt9i4jMyt1WYo84tBsC13Gt fWaEP9h+q1ZeXujvHSohp6j8lXAKwTveOrQzohBNs3RJVIyuAQ/NaIhXe2HD2EFlm7RHwjRgHfd 2ZL5umk/BnAOEixnpYrZZsTeidNlT2zW84jdUO6OXUPeNGveYBbU6B+POMhq1vh+PZuODPncgog r1O/WMRcbXPsqM8D9yzOyjz8Fba9mr69wg3k7fIejvwoU6sMlf8mMh/uaGJSRHJMndHxjmCryaW d8i1vlVpdYxXYNzh5mWv1JOoedHNj0DwJChrQh X-Received: by 2002:a17:902:e5c8:b0:2c9:e261:95ce with SMTP id d9443c01a7336-2cf3494967emr195445995ad.30.1784629660063; Tue, 21 Jul 2026 03:27:40 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2cf3448dac2sm73581365ad.3.2026.07.21.03.27.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 03:27:39 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , Takashi Iwai , Nick Li , Herve Codina Cc: Support Opensource , Liam Girdwood , Jaroslav Kysela , Srinivas Kandagatla , Charles Keepax , Richard Fitzgerald , Matthias Brugger , AngeloGioacchino Del Regno , Shenghao Ding , Kevin Lu , Baojun Xu , Sen Wang , Oder Chiou , Linus Walleij , Kuninori Morimoto , u.kleine-koenig@baylibre.com, Zhang Yi , Marco Crivellari , Kees Cook , HyeongJun An , Arnd Bergmann , Qianfeng Rong , linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, patches@opensource.cirrus.com, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, bui duc phuc Subject: [PATCH v4 10/29] ASoC: codecs: lpass-macro: Use guard() for mutex locks Date: Tue, 21 Jul 2026 17:25:41 +0700 Message-ID: <20260721102600.523199-11-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260721102600.523199-1-phucduc.bui@gmail.com> References: <20260721102600.523199-1-phucduc.bui@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: bui duc phuc Clean up the code using guard() for mutex locks. Merely code refactoring, and no behavior change. Signed-off-by: bui duc phuc --- sound/soc/codecs/lpass-macro-common.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/sound/soc/codecs/lpass-macro-common.c b/sound/soc/codecs/lpass= -macro-common.c index 6e3b8d0897dd..7e59616ed7bc 100644 --- a/sound/soc/codecs/lpass-macro-common.c +++ b/sound/soc/codecs/lpass-macro-common.c @@ -1,6 +1,7 @@ // SPDX-License-Identifier: GPL-2.0-only // Copyright (c) 2022, The Linux Foundation. All rights reserved. =20 +#include #include #include #include @@ -71,21 +72,16 @@ EXPORT_SYMBOL_GPL(lpass_macro_pds_exit); =20 void lpass_macro_set_codec_version(enum lpass_codec_version version) { - mutex_lock(&lpass_codec_mutex); + guard(mutex)(&lpass_codec_mutex); lpass_codec_version =3D version; - mutex_unlock(&lpass_codec_mutex); } EXPORT_SYMBOL_GPL(lpass_macro_set_codec_version); =20 enum lpass_codec_version lpass_macro_get_codec_version(void) { - enum lpass_codec_version ver; + guard(mutex)(&lpass_codec_mutex); =20 - mutex_lock(&lpass_codec_mutex); - ver =3D lpass_codec_version; - mutex_unlock(&lpass_codec_mutex); - - return ver; + return lpass_codec_version; } EXPORT_SYMBOL_GPL(lpass_macro_get_codec_version); =20 --=20 2.43.0 From nobody Sat Jul 25 00:54:32 2026 Received: from mail-pl1-f171.google.com (mail-pl1-f171.google.com [209.85.214.171]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id ADB5F480DE8 for ; Tue, 21 Jul 2026 10:27:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.171 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629670; cv=none; b=YJrmNMDeSlpCh4CAvodeJLeiqlBm7zcMS7bGWeC7b5f3StQkDt9DYNA37T34QguV+zM744pl4yz3KlQpsgVAWp8+yoNqJWmVTseeYKfiPP4udOw+W887+RRm+usiN+MNzMJcKu0sE412kkaeDcd4co4TL3El0Rc9yHrHAxVd/hQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629670; c=relaxed/simple; bh=JiDQaJ0zD6/ZCscbVOKmAWdNLeoxv2bO5m1HZEhDQpo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=KRJ6fA5+7/Rk/+Kmzd28FcUo+wC/TPegdup4MTk16WUIk72UpL2cg8p4/7YkFbvX/4B9O6EU882bCMsTP2MHoCsWuBe95eWnHwTJ2VhzFs+AjZ6x65ccGxZVox4C6866DNgPErAepgjTbdNQ0L/7GgUk0NfZg0fb6WAdnwxhzJU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=aKjYi7+9; arc=none smtp.client-ip=209.85.214.171 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="aKjYi7+9" Received: by mail-pl1-f171.google.com with SMTP id d9443c01a7336-2cab973140bso136537485ad.3 for ; Tue, 21 Jul 2026 03:27:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784629668; x=1785234468; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=Cb8oag5ar6FqpWOnXZjHVza9DSOxnESBFSEvSLigZvU=; b=aKjYi7+91K9UWAn8ffaUBdxp7Aht+6ZlhHQ9ciIm515eH3yeOisqGlK89gB+uVueym +47fNUGRbiMuE44YjtjAft1pkw7BMLW+3GstuktmeH+/zuOcmCJ9+WPx3G/KkuCR32mG vFKzDsfVxeorFbZ5IyzOdls2utzwqWfArZfK59Uj/IWwUjKHlNRvCoLcTFYaGokZgEE5 1yeNMvoj6fcARc5UepHcMImMzWscSL8i8IzjLmy3CL2jXQyCx5F6k10AsliNnHgFjw5L qRIZn9wCuqavTXwwRbfhijMCOAc4NRPFKmBC1+fLhF5Q16rwfPAW/9L+0FdLTntsTGOz BHgQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784629668; x=1785234468; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=Cb8oag5ar6FqpWOnXZjHVza9DSOxnESBFSEvSLigZvU=; b=QtzanQSuxnzQHzZfMEEvXRf8AELIAYKj6GmHB3ZmIBko9TzdfkjA/vvqN1qInTgwI0 2FvZ5JBvI99jpaCLC2elGxqaLxjVm9bkMpbTFqBUZtq2rOoGUapzfv/FhD60tLU+vVbe JznTsD0SA0NUYMlUslyrvYjumqeBeralMArGg/qO38DPNk9kJdo8bSjSOjf8bzljxIvA DlkgBsh8uQSqrrGeQh1v1bWvYGsBsmPqha6fYukBWHdJAoe7kAp5lvdKF6rIgxLfPL8c IE2drrJJSQWgBmPZvnrFZ7q6jOHc9UKnQUlGtEPwJQMyUlISVpqAx8Ubq1w8uqMOXHvN tDnw== X-Forwarded-Encrypted: i=1; AHgh+RrJ4zOS3wG4prCtFIDAk64bEdvlZBVlqQOsBS2KnosLzmUG8CPXlDxztkMQx/VTAlGAtzYWhpGPUggUzzw=@vger.kernel.org X-Gm-Message-State: AOJu0YxxCpI9SahEt9Z9Rz/5XQCEgx86foql1V48WR8JFrgBsUlZwJoZ e6urtIEqRCPcZzTGsSQiNZZZbUgxRXE92wpGDhJe1eq6Qt4OMRNuMhYj X-Gm-Gg: AR+sD10aLN1F3FUgTZ7aWCtp633iFw641rFj91D0bJHyGUixEAqdWUbPfdmMgnk/VlM fIXzUEUUcEDpXE303pKG5B1a8eUVPzmaqMkS4U4v+NFV0BVFUf3Ncqi4W1SBnxoTzrcoT5NHfJJ 9Gg9Nb8guPB0UUKvjgYT1Hc37K2pJw/Wp/mhNVSDGu0Ryf8jvPZ6moWmi/aCGZ6Z8jaEK3MPBIG geDVQrvlBe5XCWntfCJs7tcCeJP0vw2yU7LaSn5Zx3SRLStlpFsQuUzJ4CO6ZoiWM33oZwzmnNc bgFx8lxXxUponSoVa4uzIjPi6xZNIqTuJzCMNDb0PUKoNSuyELfgp2IX8LSvkgNYbRADEjrYFqD nw/hwnfhwX3yx6RrrolHq1ZL4aUEnZ/UVagVob+kRW69RI6gExRS2GNu9CIPllInm9zhR+qvCCd O67vT4rn4m+U2Eyta6AYn9BSXpOubncpK663Jl X-Received: by 2002:a17:902:ea03:b0:2ca:e19c:97b with SMTP id d9443c01a7336-2cf34832689mr196284065ad.5.1784629667940; Tue, 21 Jul 2026 03:27:47 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2cf3448dac2sm73581365ad.3.2026.07.21.03.27.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 03:27:47 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , Takashi Iwai , Nick Li , Herve Codina Cc: Support Opensource , Liam Girdwood , Jaroslav Kysela , Srinivas Kandagatla , Charles Keepax , Richard Fitzgerald , Matthias Brugger , AngeloGioacchino Del Regno , Shenghao Ding , Kevin Lu , Baojun Xu , Sen Wang , Oder Chiou , Linus Walleij , Kuninori Morimoto , u.kleine-koenig@baylibre.com, Zhang Yi , Marco Crivellari , Kees Cook , HyeongJun An , Arnd Bergmann , Qianfeng Rong , linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, patches@opensource.cirrus.com, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, bui duc phuc Subject: [PATCH v4 11/29] ASoC: codecs: madera: Use guard() for mutex locks Date: Tue, 21 Jul 2026 17:25:42 +0700 Message-ID: <20260721102600.523199-12-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260721102600.523199-1-phucduc.bui@gmail.com> References: <20260721102600.523199-1-phucduc.bui@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: bui duc phuc Clean up the code using guard() for mutex locks. Merely code refactoring, and no behavior change. Reviewed-by: Charles Keepax Signed-off-by: bui duc phuc --- Changes in v2:=20 - Add Reviewed-by tags from Charles - Remove the temporary `ret` variable and return directly in=20 madera_adsp_rate_put(). sound/soc/codecs/madera.c | 39 +++++++++++++-------------------------- 1 file changed, 13 insertions(+), 26 deletions(-) diff --git a/sound/soc/codecs/madera.c b/sound/soc/codecs/madera.c index 98d72db599d8..55ea6950ca90 100644 --- a/sound/soc/codecs/madera.c +++ b/sound/soc/codecs/madera.c @@ -6,6 +6,7 @@ // Cirrus Logic International Semiconductor Ltd. // =20 +#include #include #include #include @@ -513,7 +514,7 @@ int madera_domain_clk_ev(struct snd_soc_dapm_widget *w, * We can't rely on the DAPM mutex for locking because we need a lock * that can safely be called in hw_params */ - mutex_lock(&priv->rate_lock); + guard(mutex)(&priv->rate_lock); =20 switch (event) { case SND_SOC_DAPM_PRE_PMU: @@ -532,8 +533,6 @@ int madera_domain_clk_ev(struct snd_soc_dapm_widget *w, =20 madera_debug_dump_domain_groups(priv); =20 - mutex_unlock(&priv->rate_lock); - return 0; } EXPORT_SYMBOL_GPL(madera_domain_clk_ev); @@ -875,9 +874,8 @@ static int madera_adsp_rate_get(struct snd_kcontrol *kc= ontrol, const int adsp_num =3D e->shift_l; int item; =20 - mutex_lock(&priv->rate_lock); - cached_rate =3D priv->adsp_rate_cache[adsp_num]; - mutex_unlock(&priv->rate_lock); + scoped_guard(mutex, &priv->rate_lock) + cached_rate =3D priv->adsp_rate_cache[adsp_num]; =20 item =3D snd_soc_enum_val_to_item(e, cached_rate); ucontrol->value.enumerated.item[0] =3D item; @@ -893,7 +891,6 @@ static int madera_adsp_rate_put(struct snd_kcontrol *kc= ontrol, struct soc_enum *e =3D (struct soc_enum *)kcontrol->private_value; const int adsp_num =3D e->shift_l; const unsigned int item =3D ucontrol->value.enumerated.item[0]; - int ret =3D 0; =20 if (item >=3D e->items) return -EINVAL; @@ -903,22 +900,20 @@ static int madera_adsp_rate_put(struct snd_kcontrol *= kcontrol, * maintain consistent behaviour that rate domains cannot be changed * while in use since this is a hardware requirement */ - mutex_lock(&priv->rate_lock); + guard(mutex)(&priv->rate_lock); =20 if (!madera_can_change_grp_rate(priv, priv->adsp[adsp_num].cs_dsp.base)) { dev_warn(priv->madera->dev, "Cannot change '%s' while in use by active audio paths\n", kcontrol->id.name); - ret =3D -EBUSY; + return -EBUSY; } else if (priv->adsp_rate_cache[adsp_num] !=3D e->values[item]) { /* Volatile register so defer until the codec is powered up */ priv->adsp_rate_cache[adsp_num] =3D e->values[item]; - ret =3D 1; + return 1; } =20 - mutex_unlock(&priv->rate_lock); - - return ret; + return 0; } =20 static const struct soc_enum madera_adsp_rate_enum[] =3D { @@ -1061,15 +1056,13 @@ int madera_rate_put(struct snd_kcontrol *kcontrol, * Prevent the domain powering up while we're checking whether it's * safe to change rate domain */ - mutex_lock(&priv->rate_lock); + guard(mutex)(&priv->rate_lock); =20 val =3D snd_soc_component_read(component, e->reg); val >>=3D e->shift_l; val &=3D e->mask; - if (snd_soc_enum_item_to_val(e, item) =3D=3D val) { - ret =3D 0; - goto out; - } + if (snd_soc_enum_item_to_val(e, item) =3D=3D val) + return 0; =20 if (!madera_can_change_grp_rate(priv, e->reg)) { dev_warn(priv->madera->dev, @@ -1082,8 +1075,6 @@ int madera_rate_put(struct snd_kcontrol *kcontrol, ret =3D snd_soc_put_enum_double(kcontrol, ucontrol); madera_spin_sysclk(priv); } -out: - mutex_unlock(&priv->rate_lock); =20 return ret; } @@ -3041,12 +3032,11 @@ static int madera_hw_params_rate(struct snd_pcm_sub= stream *substream, if ((cur & MADERA_AIF1_RATE_MASK) =3D=3D (tar & MADERA_AIF1_RATE_MASK)) return 0; =20 - mutex_lock(&priv->rate_lock); + guard(mutex)(&priv->rate_lock); =20 if (!madera_can_change_grp_rate(priv, base + MADERA_AIF_RATE_CTRL)) { madera_aif_warn(dai, "Cannot change rate while active\n"); - ret =3D -EBUSY; - goto out; + return -EBUSY; } =20 /* Guard the rate change with SYSCLK cycles */ @@ -3055,9 +3045,6 @@ static int madera_hw_params_rate(struct snd_pcm_subst= ream *substream, MADERA_AIF1_RATE_MASK, tar); madera_spin_sysclk(priv); =20 -out: - mutex_unlock(&priv->rate_lock); - return ret; } =20 --=20 2.43.0 From nobody Sat Jul 25 00:54:32 2026 Received: from mail-pl1-f173.google.com (mail-pl1-f173.google.com [209.85.214.173]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AD2F43BC68A for ; Tue, 21 Jul 2026 10:27:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.173 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629678; cv=none; b=px3FBy2IFqN2jW/0isLC4W5XR1Je5utJR78LBAew2cgXdlEgKNZlXaqEa35OGdVLyn1xr+a8PJOp0cvzB6iujAMHAc2gR8zaC5AYfkCpLge2AyrdXZRzCKN4JD4aHqxlpsKVXBAx6KSqW86TCdGhJ4gQ0gqHSwpU5ckOEHrOHE8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629678; c=relaxed/simple; bh=j7IRCq6xm1VYCtZq2k62j8PjKHVyBOvTOYRKr/IN3Nw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=txsk4fDWoV7a5i2chDVMZTfd9o7wlVTvHXuZIh8agzhY3i9JL9SNHKJt7djpYXknYB+kU0jfFfuq8u6stH/wKEtsSwm87dMOzUXjcXPu5DwQUcYYDsQmgosSWNzrEtuMN097pvIOznFqAYjemtkM9aMYL1TOpsSP/ZlDeHcPFTk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Inslfchp; arc=none smtp.client-ip=209.85.214.173 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Inslfchp" Received: by mail-pl1-f173.google.com with SMTP id d9443c01a7336-2cad4170e8eso156530915ad.3 for ; Tue, 21 Jul 2026 03:27:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784629676; x=1785234476; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=gCCco9cVx1cOuMyiOEUiJ1UTQlQHfjoxsoHM/LTW3Ro=; b=InslfchpZf5UpXvxDYIljexmMg0s0FZz916/HyswVgMpXgD6E/29XIEuKu4Nn/qOGx tZ1PN9L7gGmBVijUn//N0JEM9CxZbA8P1c7yTC3poo+OI9VFxJPrlsyERwqIhVkT7x55 4B6Z/WBzev71lo1STx5CGisVun22QP9SAn+h6cva5NjpWScsjYNt4u6mRhrw0Fa6ZXWv ENN+cQc6mefmFaswBF02YjmJKDzkhbGCVDPTlbOvnqDeEJqrNDxSssabsUjug1kcohbL F0XzKNjnWxGLexcNOwfoQDeo3FErb0VR66kyRQ/o/vhhCVvboaRnp+ne8vUpROuDOHrn vQpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784629676; x=1785234476; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=gCCco9cVx1cOuMyiOEUiJ1UTQlQHfjoxsoHM/LTW3Ro=; b=g9lQS1RvaSTTZdsdqNj0vbuxZxTH+sEUitvOHf8+mxbbRNAzRKgfwVM5dZfOSZt0Y0 w65gHOtlbzlDuU30Sfdz3xbXQSpruX2fftuWsS7iSBtAs8wqNv9om8fAoHyKfFeoK/O9 w8TULeNTyXOTt7rw0bxvelxVqG2+6sXMqry282N2kkqB8Eer6fmsIPbcALlddrwixSnW FYuieSQG21Gfz3PsHyN6GOd6uufeLScY3WLVP0s7IMWuE5oROjcWGluRIsyObCIIEcQu zDQbvnFnjNp5ikQiH373xI+xO+qRahA6m65LMEuUlkAWXt62itnA38tk2YSGz/Edra1g bZoA== X-Forwarded-Encrypted: i=1; AHgh+Rpfeekby1V418PjpYLDGWgHCGeLxmg22b+LmzEEKA06qte/GaP9hrstw/Tf0OQQLpo4tge+7iK7OPFVlbs=@vger.kernel.org X-Gm-Message-State: AOJu0YwcrfD+oCO+nbB9CkMKAaLmgaip26d0CBQ9G+pbabW+H/UApB1V Qwg0NOSVYKltLHyURq2Ucj4NJyhhHF3EwT4aR1CUsdZYwVgKvOGtlGMZ X-Gm-Gg: AR+sD12qPZQ975ApXgc+v/bveqvfp2DUOLFsSC02MUnjCF4jCgV999dZlOTAA2YIRYz MNXgw5wE7RW/stwRbHkT4MQTMqAmW5HkHeI/A4wyVoAIgENLVMjGOd4L/kRx0JqufGpJllAoxLR iSV5cu037h4SvTS99aboNlMBWHojMFqo/ruMUW5eat5g/Auu5GKfc6IzULkD3kdWD+s+v5sJEZ1 EfsR1x8K0JFkUii+vY58x2agW3MceS2QzvO5YNaHZDA2FT0DnWmbF6QTSNLEDJXU7RJNzCWOPXw an54+xt3mxg/9sMRfWavsmp37kXFi/GPerVgyLXhHvNAvH0RY3ZDncnw3qfipQp72psuRQfIoYX h51vbEuNvvxUhRkPzEniK0aS6nWRsCniEXzNeftFWxtQgAG01RRmSVFnE12I/YGsyeh+f4ic8bp dAuQZjf5yuIk2jdArdLH9xmPkYPlbzbsto52hK X-Received: by 2002:a17:902:dac6:b0:2cc:307c:51f2 with SMTP id d9443c01a7336-2cf34948943mr194104795ad.22.1784629676095; Tue, 21 Jul 2026 03:27:56 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2cf3448dac2sm73581365ad.3.2026.07.21.03.27.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 03:27:55 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , Takashi Iwai , Nick Li , Herve Codina Cc: Support Opensource , Liam Girdwood , Jaroslav Kysela , Srinivas Kandagatla , Charles Keepax , Richard Fitzgerald , Matthias Brugger , AngeloGioacchino Del Regno , Shenghao Ding , Kevin Lu , Baojun Xu , Sen Wang , Oder Chiou , Linus Walleij , Kuninori Morimoto , u.kleine-koenig@baylibre.com, Zhang Yi , Marco Crivellari , Kees Cook , HyeongJun An , Arnd Bergmann , Qianfeng Rong , linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, patches@opensource.cirrus.com, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, bui duc phuc Subject: [PATCH v4 12/29] ASoC: codecs: max98095: Use guard() for mutex locks Date: Tue, 21 Jul 2026 17:25:43 +0700 Message-ID: <20260721102600.523199-13-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260721102600.523199-1-phucduc.bui@gmail.com> References: <20260721102600.523199-1-phucduc.bui@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: bui duc phuc Clean up the code using guard() for mutex locks. Merely code refactoring, and no behavior change. Signed-off-by: bui duc phuc --- sound/soc/codecs/max98095.c | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/sound/soc/codecs/max98095.c b/sound/soc/codecs/max98095.c index 130b6694a634..d93436046849 100644 --- a/sound/soc/codecs/max98095.c +++ b/sound/soc/codecs/max98095.c @@ -5,6 +5,7 @@ * Copyright 2011 Maxim Integrated Products */ =20 +#include #include #include #include @@ -1532,15 +1533,17 @@ static int max98095_put_eq_enum(struct snd_kcontrol= *kcontrol, regsave =3D snd_soc_component_read(component, M98095_088_CFG_LEVEL); snd_soc_component_update_bits(component, M98095_088_CFG_LEVEL, regmask, 0= ); =20 - mutex_lock(&max98095->lock); - snd_soc_component_update_bits(component, M98095_00F_HOST_CFG, M98095_SEG,= M98095_SEG); - m98095_eq_band(component, channel, 0, coef_set->band1); - m98095_eq_band(component, channel, 1, coef_set->band2); - m98095_eq_band(component, channel, 2, coef_set->band3); - m98095_eq_band(component, channel, 3, coef_set->band4); - m98095_eq_band(component, channel, 4, coef_set->band5); - snd_soc_component_update_bits(component, M98095_00F_HOST_CFG, M98095_SEG,= 0); - mutex_unlock(&max98095->lock); + scoped_guard(mutex, &max98095->lock) { + snd_soc_component_update_bits(component, M98095_00F_HOST_CFG, + M98095_SEG, M98095_SEG); + m98095_eq_band(component, channel, 0, coef_set->band1); + m98095_eq_band(component, channel, 1, coef_set->band2); + m98095_eq_band(component, channel, 2, coef_set->band3); + m98095_eq_band(component, channel, 3, coef_set->band4); + m98095_eq_band(component, channel, 4, coef_set->band5); + snd_soc_component_update_bits(component, M98095_00F_HOST_CFG, + M98095_SEG, 0); + } =20 /* Restore the original on/off state */ snd_soc_component_update_bits(component, M98095_088_CFG_LEVEL, regmask, r= egsave); @@ -1683,12 +1686,14 @@ static int max98095_put_bq_enum(struct snd_kcontrol= *kcontrol, regsave =3D snd_soc_component_read(component, M98095_088_CFG_LEVEL); snd_soc_component_update_bits(component, M98095_088_CFG_LEVEL, regmask, 0= ); =20 - mutex_lock(&max98095->lock); - snd_soc_component_update_bits(component, M98095_00F_HOST_CFG, M98095_SEG,= M98095_SEG); - m98095_biquad_band(component, channel, 0, coef_set->band1); - m98095_biquad_band(component, channel, 1, coef_set->band2); - snd_soc_component_update_bits(component, M98095_00F_HOST_CFG, M98095_SEG,= 0); - mutex_unlock(&max98095->lock); + scoped_guard(mutex, &max98095->lock) { + snd_soc_component_update_bits(component, M98095_00F_HOST_CFG, + M98095_SEG, M98095_SEG); + m98095_biquad_band(component, channel, 0, coef_set->band1); + m98095_biquad_band(component, channel, 1, coef_set->band2); + snd_soc_component_update_bits(component, M98095_00F_HOST_CFG, + M98095_SEG, 0); + } =20 /* Restore the original on/off state */ snd_soc_component_update_bits(component, M98095_088_CFG_LEVEL, regmask, r= egsave); --=20 2.43.0 From nobody Sat Jul 25 00:54:32 2026 Received: from mail-pl1-f181.google.com (mail-pl1-f181.google.com [209.85.214.181]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8E4EC48124D for ; Tue, 21 Jul 2026 10:28:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.181 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629686; cv=none; b=VFkzkRr3b8kXCq9nuJEAcNlZSMpeeBgEt/FnIt0M1VROCTrtDqh+MF8hS9PvcsStB2TLH71S9+ErOPWi2iPZA7xjcrrkGMlzJhhRwNsi7t+YaG8To2VCyoq94XtpDGGa7KYZ07gJl5yYBKP8gdasvaRAh7BU2ot6zAq8rAROJRw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629686; c=relaxed/simple; bh=nILbPuYN5HDdgGpTz+3+vLTQdHEtspoh90a2ct25aWM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=mup6lJhKuQEQdPlrYRfP2jKcGRDPUh8RsXFuQge+fQJU1Jh++UPzSWiYnGg6nIy6orxItL5YwiBcxKh5U1MucJrIgdY6N3aLNNQU/pKx4mhaTqZkxWvZGM1y68VmIPb37GqHcNF5Paa5i5qggsTashjevrV7Hd/aICAOWFzUshE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=kGAa3yEq; arc=none smtp.client-ip=209.85.214.181 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="kGAa3yEq" Received: by mail-pl1-f181.google.com with SMTP id d9443c01a7336-2cce6a0c9c3so100042735ad.1 for ; Tue, 21 Jul 2026 03:28:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784629684; x=1785234484; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=E+Xd5j1FUZKxifc/BkYvhS7CfaonB+06ASWIZ0hNhk0=; b=kGAa3yEq3AJSW6MhopbgjGSlNVvDhBP/TFOwgehmsbJBtSc25gAW24mGQifc6jhpQj o/HhIlus3GQhC9F4DCa8dguRPDuNe8hFMwvT48hv9Lg16MNwnDPElyTe5D7IYGIe904p iYyUo7Ob7sGV4N+3PcMAkkX1eyhqw7uDo5KDhfkf9lc/2UKnvbtuEbBBfpY8oGMZ84CX qzmiHA1nIxEMlLMIbwWVXBVzSM3qbpYBu/CRRKzOTYai1Y9N05EUmIvYb92N3AS044Ap i5B15IdLAwiZKkigp9+/CQpW1kaTTZDKB1tFDHekY56MArqwxrkNdP5RGYbEtOGhAJxT RX7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784629684; x=1785234484; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=E+Xd5j1FUZKxifc/BkYvhS7CfaonB+06ASWIZ0hNhk0=; b=Lzgi/Ebf0onq5O6lbqhqWv5tlDEM1BnWBS2RK26FU8b8OSBLSZuwsoqMb3oPXD9uU1 uAZ3w2kX5SNquZGX1UH4BpunwE2KpcBHBqGVkIN2PW1m6BDjie5CvDLE7b5eLCdWBOmt HCW+TLJL9YpJRpKGAx4ojPYTT12g6b5CZ+5/3mc40umQjbd5wDFwxhapVvNJ2eagHXIn yen1etZGiByGVQLjHsVDTQ5Pzj0OXEvBxP44VicGthLWYQqWC1zccS8Gf9KJi9MEX6YD 1Z5UuOPtdqE6+/E7ZW5vHSIInlkyHxL/R/5Yl4zz7v3VvIBqzoZ/4yNl0ebSnWRX7GrW FMzA== X-Forwarded-Encrypted: i=1; AHgh+RpUPmAn70mKXM2hPJjLi/DvGfT9e1XRa0lMSE9ITvuf6p7KimuH8OW+obfEb004UfNqlCiNPh7V5+wHEdA=@vger.kernel.org X-Gm-Message-State: AOJu0YyrTjxSH8/zcXu7z+jzZf/onjfzcB+1OiOvlA36BDP8TAX6KgHD jRCgUNKWEiT5gHvLk3Kyxkk7nOL+Z9dPd/8VNmpbQ8aIotyb+AG4mHex X-Gm-Gg: AfdE7cmhDuawQ/dNLkpp1umjBme2joEmn7viLauiwq+htRi1+sxHXdSnzchnciRHOcj GGvmBZ6iDfQgpxFRkZmJRdgMiX2NMF5jZdCCLhenrDHkyhwwrbGszZS59R045LzuByqY/Wa4Kqw A3QoSXPsb7GhBqj9n6XkohoVX7d84fadMSDewac4vj4iM3H3V3c75N+g6QDLo6MrrPX1A/NCBJ2 HCQ0A0cI8x+aXfHU7wT8b8TWcxtGwmwtdZnY+y/spdvN2meOmmYeSRS8gM7VBW382gvcRNtUeNN IQEsCiC1BaItxdqPzwKy0ymrz8qtGT+9l9zydU+8QNclZ2B8vSkko1GN1G+MOjP8snYjnQax++P QvJwhqtbxNNqVIRWLxUi8JDxe1DTOAwnaDBe4S14LjxfT/7GaBluiIedSw8cUosA+I705ezS1VE MomxVjeWHIlCVYDyF63tUDcZR3po+jCQxKQs9y X-Received: by 2002:a17:903:3bcf:b0:2ca:ed41:d33d with SMTP id d9443c01a7336-2cf34a80342mr208350785ad.45.1784629683862; Tue, 21 Jul 2026 03:28:03 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2cf3448dac2sm73581365ad.3.2026.07.21.03.27.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 03:28:03 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , Takashi Iwai , Nick Li , Herve Codina Cc: Support Opensource , Liam Girdwood , Jaroslav Kysela , Srinivas Kandagatla , Charles Keepax , Richard Fitzgerald , Matthias Brugger , AngeloGioacchino Del Regno , Shenghao Ding , Kevin Lu , Baojun Xu , Sen Wang , Oder Chiou , Linus Walleij , Kuninori Morimoto , u.kleine-koenig@baylibre.com, Zhang Yi , Marco Crivellari , Kees Cook , HyeongJun An , Arnd Bergmann , Qianfeng Rong , linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, patches@opensource.cirrus.com, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, bui duc phuc Subject: [PATCH v4 13/29] ASoC: codecs: mt6359-accdet: Use guard() for mutex locks Date: Tue, 21 Jul 2026 17:25:44 +0700 Message-ID: <20260721102600.523199-14-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260721102600.523199-1-phucduc.bui@gmail.com> References: <20260721102600.523199-1-phucduc.bui@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: bui duc phuc Clean up the code using guard() for mutex locks. Merely code refactoring, and no behavior change. Signed-off-by: bui duc phuc --- sound/soc/codecs/mt6359-accdet.c | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/sound/soc/codecs/mt6359-accdet.c b/sound/soc/codecs/mt6359-acc= det.c index ed34cc15b80e..e1190c644021 100644 --- a/sound/soc/codecs/mt6359-accdet.c +++ b/sound/soc/codecs/mt6359-accdet.c @@ -6,6 +6,7 @@ // Author: Argus Lin // =20 +#include #include #include #include @@ -398,14 +399,13 @@ static void mt6359_accdet_work(struct work_struct *wo= rk) struct mt6359_accdet *priv =3D container_of(work, struct mt6359_accdet, accdet_work); =20 - mutex_lock(&priv->res_lock); + guard(mutex)(&priv->res_lock); priv->pre_accdet_status =3D priv->accdet_status; check_jack_btn_type(priv); =20 if (priv->jack_plugged && priv->pre_accdet_status !=3D priv->accdet_status) mt6359_accdet_jack_report(priv); - mutex_unlock(&priv->res_lock); } =20 static void mt6359_accdet_jd_work(struct work_struct *work) @@ -416,7 +416,7 @@ static void mt6359_accdet_jd_work(struct work_struct *w= ork) struct mt6359_accdet *priv =3D container_of(work, struct mt6359_accdet, jd_work); =20 - mutex_lock(&priv->res_lock); + guard(mutex)(&priv->res_lock); if (priv->jd_sts =3D=3D M_PLUG_IN) { priv->jack_plugged =3D true; =20 @@ -450,7 +450,6 @@ static void mt6359_accdet_jd_work(struct work_struct *w= ork) =20 if (priv->caps & ACCDET_PMIC_EINT_IRQ) recover_eint_setting(priv); - mutex_unlock(&priv->res_lock); } =20 static irqreturn_t mt6359_accdet_irq(int irq, void *data) @@ -459,7 +458,7 @@ static irqreturn_t mt6359_accdet_irq(int irq, void *dat= a) unsigned int irq_val =3D 0, val =3D 0, value =3D 0; int ret; =20 - mutex_lock(&priv->res_lock); + guard(mutex)(&priv->res_lock); regmap_read(priv->regmap, ACCDET_IRQ_ADDR, &irq_val); =20 if (irq_val & ACCDET_IRQ_MASK_SFT) { @@ -474,7 +473,6 @@ static irqreturn_t mt6359_accdet_irq(int irq, void *dat= a) 1000); if (ret) { dev_err(priv->dev, "%s(), ret %d\n", __func__, ret); - mutex_unlock(&priv->res_lock); return IRQ_NONE; } regmap_update_bits(priv->regmap, ACCDET_IRQ_ADDR, @@ -498,7 +496,6 @@ static irqreturn_t mt6359_accdet_irq(int irq, void *dat= a) if (ret) { dev_err(priv->dev, "%s(), ret %d\n", __func__, ret); - mutex_unlock(&priv->res_lock); return IRQ_NONE; } regmap_update_bits(priv->regmap, ACCDET_IRQ_ADDR, @@ -521,7 +518,6 @@ static irqreturn_t mt6359_accdet_irq(int irq, void *dat= a) if (ret) { dev_err(priv->dev, "%s(), ret %d\n", __func__, ret); - mutex_unlock(&priv->res_lock); return IRQ_NONE; } regmap_update_bits(priv->regmap, ACCDET_IRQ_ADDR, @@ -540,7 +536,6 @@ static irqreturn_t mt6359_accdet_irq(int irq, void *dat= a) =20 queue_work(priv->jd_workqueue, &priv->jd_work); } - mutex_unlock(&priv->res_lock); =20 return IRQ_HANDLED; } --=20 2.43.0 From nobody Sat Jul 25 00:54:32 2026 Received: from mail-pl1-f173.google.com (mail-pl1-f173.google.com [209.85.214.173]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6A505480953 for ; Tue, 21 Jul 2026 10:28:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.173 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629694; cv=none; b=CeTnxvZ4mfjMQpiaLMSc7irzGqDGt8omO/TigPugGhvpB9ycv7hrtWegCeiuSG3SSf9h+dHL/Ol9KI/PtLRDFp9SP7u7KlNeZgDj/aReE6bEyriz/zB1yvTUI1JZK3NmLVWw8W//dsEN8YDxcwMwTqbCOBQveAA6jCwUdavkf7o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629694; c=relaxed/simple; bh=UCB77sVggJ4ivJJbdq1owmFYfz0+QciJpaUHkpwq9Tg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=aBXlzL8nq+08RGCwDbM+akOI0u3VTHnUqaQmb0+A+cGUkm4RVXEcE5NPm4ltI1LBz6VSf5XYbrCRC0DSa3IcRfw578ALL30cMiFzauxCZb9VZlf/MaFI6WQFqlofNb6CrzVcLZGNpEiqpAmuwaTJtiTUaUXOiJlY936RQvlwHQk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=fn/ewOmO; arc=none smtp.client-ip=209.85.214.173 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="fn/ewOmO" Received: by mail-pl1-f173.google.com with SMTP id d9443c01a7336-2ce7d2adef4so111084525ad.3 for ; Tue, 21 Jul 2026 03:28:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784629692; x=1785234492; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=pIe5hlvQfgQeGemklPcQXzjZsFGmFJ7H9Gsm+LXx4M4=; b=fn/ewOmOatiT5SUCGO7NOTc8eU6lUVXAyhHA0DYtvNtX9VpjR2khnHKgUt5ADxIyQh +43C7QQdz3If6GtQ0rMo8SNvROEIXHxCU6K8GtI/0Ooq2pfghsDHXMUeuZBEtxlC80Lj 2QXAgtpOLhI2b4Q7Qto5+2F0Q4tt14qoy1XtgaHvjnITBTdWdMTlZs1lzwCjKJY+YG1p WVnE5DSoFXKEsM7LrqDhgppLai29uZlduHyZQetTlPSP90s4UZR5v08kw11LcT0JDeth mzhCMQsIYqcOfpEcAoYOmF0FJr45VEt61+KZF58a1/O8qcu5s7nwBtfCTch8hurLeI+r gSeQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784629692; x=1785234492; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=pIe5hlvQfgQeGemklPcQXzjZsFGmFJ7H9Gsm+LXx4M4=; b=XDqZZNEYGkhAAFTbjGHjRGlTC3shsV2gHfpX/OAGwOZrZnDeeyLGW63P1EeUYY/+/H lxVMlU9fkFY/BGYZibb1FvH1xQho1ZXVNCwc0hZKClVr534ns0di1pKoZ0AYckO6LwlH qMD5PalBuMmDn5bp0Bo8QnBJe4fYeSc0oi+Io7hUVmqUo1dotUV/odtszKXOZgf4w3aL 7s0qxX9pUEoGSeFMo6eDzgkiyRa6z+hJV8cIMDd0uLF92r4mkCJopRF2k4EY3qTFR+6K Ith4iNyE7no8A4u7WInPrlkMEOAfz0ulbyXofwkKpT+fG85mIJspjo8bB949PXXhRtaQ IeXg== X-Forwarded-Encrypted: i=1; AHgh+RqAdsQT39dIuv/txIsBwEXiStoErymeyTeSyFu+fQ189OtZQnE+/8DTSG+hpCW/8nPFryYtu/jGRC/XcMo=@vger.kernel.org X-Gm-Message-State: AOJu0Yxy8b8rVizTFkqrHniO6xaLvx/cF3yS+xQB/IzZ+GO1/TOdfCoh MIE76PzC1GlCCC3lA+LX+OuY55uPNd6JaPKf0brtto13uvtgH+Xp4/ji X-Gm-Gg: AR+sD11nFqXg/utVzmDuZ1kuFXZqnFs98gVIOke6svvHBvWdMHPClU8rsSayWvve3iV OMRFW3xXQPdM0lEeVNV6uy4bWJ96xHuBWUdgpXm7lHV1Lyn1JtLIAf4RI4XJHpDzH5aVi+vgs2/ Mrh0Qslec5CTgJBIcw18DyZXfAcZX2ieMBRwj+9nJexrXfiWirN+9JbHF3Cyap5TOcDcBQzwSFR 86xSYTXzgRsHdQoGHEaBTL1Gm6ON+g6U8U7ArT1UbynVTLHb8+vGCIPJyOvBKX+ud0P2sH7UYRU 2IP/kSKpcx9pxco3Xci1V+PuvlnBbTwbtAe4mzgL4/l71vJt76AVWlP9pB83jFmhcsB8KFnZO8u WbFoAk1n/C3w4gUG13Ugr+dOi7Hz/8sES9jqqhPI9BUJ6NSEcpyixfJBQe5dTFb+4rmMJx523wj Rr/f0PgPVK/r4IA7hDFxSTZxbuJJxHghZOsEON X-Received: by 2002:a17:902:e848:b0:2ce:fa3a:45f7 with SMTP id d9443c01a7336-2cf3485b0d8mr200674385ad.16.1784629691883; Tue, 21 Jul 2026 03:28:11 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2cf3448dac2sm73581365ad.3.2026.07.21.03.28.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 03:28:11 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , Takashi Iwai , Nick Li , Herve Codina Cc: Support Opensource , Liam Girdwood , Jaroslav Kysela , Srinivas Kandagatla , Charles Keepax , Richard Fitzgerald , Matthias Brugger , AngeloGioacchino Del Regno , Shenghao Ding , Kevin Lu , Baojun Xu , Sen Wang , Oder Chiou , Linus Walleij , Kuninori Morimoto , u.kleine-koenig@baylibre.com, Zhang Yi , Marco Crivellari , Kees Cook , HyeongJun An , Arnd Bergmann , Qianfeng Rong , linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, patches@opensource.cirrus.com, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, bui duc phuc Subject: [PATCH v4 14/29] ASoC: codecs: pcm512x: Use guard() for mutex locks Date: Tue, 21 Jul 2026 17:25:45 +0700 Message-ID: <20260721102600.523199-15-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260721102600.523199-1-phucduc.bui@gmail.com> References: <20260721102600.523199-1-phucduc.bui@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: bui duc phuc Clean up the code using guard() for mutex locks. Merely code refactoring, and no behavior change. Signed-off-by: bui duc phuc --- sound/soc/codecs/pcm512x.c | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/sound/soc/codecs/pcm512x.c b/sound/soc/codecs/pcm512x.c index 10868df3c75d..bf143e3fec54 100644 --- a/sound/soc/codecs/pcm512x.c +++ b/sound/soc/codecs/pcm512x.c @@ -6,7 +6,7 @@ * Copyright 2014 Linaro Ltd */ =20 - +#include #include #include #include @@ -399,10 +399,9 @@ static int pcm512x_digital_playback_switch_get(struct = snd_kcontrol *kcontrol, struct snd_soc_component *component =3D snd_kcontrol_chip(kcontrol); struct pcm512x_priv *pcm512x =3D snd_soc_component_get_drvdata(component); =20 - mutex_lock(&pcm512x->mutex); + guard(mutex)(&pcm512x->mutex); ucontrol->value.integer.value[0] =3D !(pcm512x->mute & 0x4); ucontrol->value.integer.value[1] =3D !(pcm512x->mute & 0x2); - mutex_unlock(&pcm512x->mutex); =20 return 0; } @@ -414,7 +413,7 @@ static int pcm512x_digital_playback_switch_put(struct s= nd_kcontrol *kcontrol, struct pcm512x_priv *pcm512x =3D snd_soc_component_get_drvdata(component); int ret, changed =3D 0; =20 - mutex_lock(&pcm512x->mutex); + guard(mutex)(&pcm512x->mutex); =20 if ((pcm512x->mute & 0x4) =3D=3D (ucontrol->value.integer.value[0] << 2))= { pcm512x->mute ^=3D 0x4; @@ -430,13 +429,10 @@ static int pcm512x_digital_playback_switch_put(struct= snd_kcontrol *kcontrol, if (ret !=3D 0) { dev_err(component->dev, "Failed to update digital mute: %d\n", ret); - mutex_unlock(&pcm512x->mutex); return ret; } } =20 - mutex_unlock(&pcm512x->mutex); - return changed; } =20 @@ -1465,7 +1461,7 @@ static int pcm512x_mute(struct snd_soc_dai *dai, int = mute, int direction) int ret; unsigned int mute_det; =20 - mutex_lock(&pcm512x->mutex); + guard(mutex)(&pcm512x->mutex); =20 if (mute) { pcm512x->mute |=3D 0x1; @@ -1475,7 +1471,7 @@ static int pcm512x_mute(struct snd_soc_dai *dai, int = mute, int direction) if (ret !=3D 0) { dev_err(component->dev, "Failed to set digital mute: %d\n", ret); - goto unlock; + return ret; } =20 regmap_read_poll_timeout(pcm512x->regmap, @@ -1488,7 +1484,7 @@ static int pcm512x_mute(struct snd_soc_dai *dai, int = mute, int direction) if (ret !=3D 0) { dev_err(component->dev, "Failed to update digital mute: %d\n", ret); - goto unlock; + return ret; } =20 regmap_read_poll_timeout(pcm512x->regmap, @@ -1499,9 +1495,6 @@ static int pcm512x_mute(struct snd_soc_dai *dai, int = mute, int direction) 200, 10000); } =20 -unlock: - mutex_unlock(&pcm512x->mutex); - return ret; } =20 --=20 2.43.0 From nobody Sat Jul 25 00:54:32 2026 Received: from mail-pl1-f176.google.com (mail-pl1-f176.google.com [209.85.214.176]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6F113481672 for ; Tue, 21 Jul 2026 10:28:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.176 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629701; cv=none; b=l+l97HlP0zGxNj4w4GPUxSTI2CUgoC4MC3gtjkU4l8kJ7ij+yrMP4jRD9THDU0/Rrz79JyIE2ukH2ZH454AQFvmYHKn5Tn1m+qQ8GQI8ozUb4zBvPYE0IKsjOUjLAUSd+tbS+0DIw8/lY7rlBlYvJb7h3EMt5QFNJJlgmXEOog4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629701; c=relaxed/simple; bh=FowDvka7morxmU61JfAbx98ngYcmtDC/p0DW+ZHI0sA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ka8TR3xdjGOhHFNy6mCE1xnlzj/BGqk07fXVvNzVeffcYB1+luqomvjDw4HklUmIH43DkFzwWFKODpDv9ar5rC+L0V95rlHFpuapvvVQxvX/11GNGQyt8REURFzSqMQ+gfz6g19C3C5UUD0mKrONk95NhUVGQoJKc54IAfpTEzk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=NZTe6a8E; arc=none smtp.client-ip=209.85.214.176 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="NZTe6a8E" Received: by mail-pl1-f176.google.com with SMTP id d9443c01a7336-2cc73e322dbso130545615ad.1 for ; Tue, 21 Jul 2026 03:28:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784629700; x=1785234500; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=HsskFA4Wkjx/t3Sa3T1ax8m+7J1jxFkrWrIh8Ok9CUA=; b=NZTe6a8EZ5fGHgm4sY0+gngCBdeL6wfvuIbxFpRm38/J9ORrQ8qJOk83dRrEKja0/4 Yb6Pwvx3c9yUjiuyZMo1/YUHh8u3PJrEo/pR4purMNlV/q1y3+ukyZV711Q4OLFPZ6pS slhRNCmwLR6bDMAixJ4DfLzu8SgBpGPrYsV6MtC5HkugUl9M79UehTa0/TvI9Gn5cLCC KqY+B6li7R9Q6SV8OvXtHAiZseqsZG0iHZGh4xTIwKQBJwFuSuhnJXFMBIWXp4TW2H8w CFxT0G6L83Fn4WHd80W75vdrvQwohq8A40LBT3ELkTvIj3iFEHSlGEVQ3SKTUBtGqHyR OaOw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784629700; x=1785234500; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=HsskFA4Wkjx/t3Sa3T1ax8m+7J1jxFkrWrIh8Ok9CUA=; b=mizWH/6Qxh4X/iOXE07qNgqdd6GLxJlGrQBTYKlOMw3YJSoW+XFb53ZI9GTzjJVivd 8msHEncYmuadwd9Ma7bM2gjFJWNRhqRcFpSlT4+TXFShdHsjfSCs0vvRvhRKz/g6b5zt 50zy4peNnNwXnKwXoofinV2C+rWVsNQcg+pla2MfQPCYkYyIiRwC9du0FR3CEu/r44ul BFjYThlKVRnFXslZvtmgjgi+g6c0D6+DnvTLZqeRqIB9OrGenn3rd0rVxz3jjbNyYu7c 5TRqYHCQnHT2oQFGToYq54B+f1HnbP0yIS7GPkELzyWKrmdHRWJ+UpxafjqgA39OxGzw sGBA== X-Forwarded-Encrypted: i=1; AHgh+RpfY9vTyOTs4BnfcDMNWda3+IJCIzNuUrDefBfXoav7JAis/XlKd3UhEFvu4lCkClLclc6eqwQ1hQEOk84=@vger.kernel.org X-Gm-Message-State: AOJu0YyBFmuAGIh44YtXCrEEbRrGAQkaS2n9/vzV3MSqMd4fUYObohPH 4lUlmJ25oTGDPq4p4ID4Cbq2ex6XoKjEDHRjvXeMUDJLpWEJTORZKxBD X-Gm-Gg: AR+sD139ovv9VpS75wsOWk/SDpfxL5HP+M++/DRdrcKI2psotTcYlai7ciuB5M78rZn vErm6mY7vCM/dhTlMDmQ83im9AKl/5Ycn+6QQ+dscGgdEVROTTsLmuVLoctLY2DFF/9kR1CREPQ S25Uz3McyBrDkK8jELJ+s8bydAdxW/d/x+n+2kTaHxiOj0tcOTrVzVRaO012w0PdweKmalau2XW gvztfBDHW7AYdOtm0oCkAYVhk5OdXMrbEtInix/nTlVEdGZJ0aOlPdYrxINcfn+DCtTIB9oR7Zz IOGzU1Li/hrFb1y57RMPDD/vcDK97V04xfPb23/YmSh4zcg7HZBlnTtmf6AILAccaV44sgTvgSn ODqArN8EWiJXXf9bC4gtrW9CRaUrMbf0MWrgE3NauAtwj+ZglD+KmaEftHLz3Kl1ookBf1Pv6oy ZlLLmaRr65XHrg+fBZhiOrBBr7AsGRO49WfaZ4 X-Received: by 2002:a17:902:e5cb:b0:2cc:9763:e607 with SMTP id d9443c01a7336-2cf349bc5c8mr181903165ad.27.1784629699763; Tue, 21 Jul 2026 03:28:19 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2cf3448dac2sm73581365ad.3.2026.07.21.03.28.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 03:28:19 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , Takashi Iwai , Nick Li , Herve Codina Cc: Support Opensource , Liam Girdwood , Jaroslav Kysela , Srinivas Kandagatla , Charles Keepax , Richard Fitzgerald , Matthias Brugger , AngeloGioacchino Del Regno , Shenghao Ding , Kevin Lu , Baojun Xu , Sen Wang , Oder Chiou , Linus Walleij , Kuninori Morimoto , u.kleine-koenig@baylibre.com, Zhang Yi , Marco Crivellari , Kees Cook , HyeongJun An , Arnd Bergmann , Qianfeng Rong , linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, patches@opensource.cirrus.com, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, bui duc phuc Subject: [PATCH v4 15/29] ASoC: codecs: pcm6240: Use guard() for mutex locks Date: Tue, 21 Jul 2026 17:25:46 +0700 Message-ID: <20260721102600.523199-16-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260721102600.523199-1-phucduc.bui@gmail.com> References: <20260721102600.523199-1-phucduc.bui@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: bui duc phuc Clean up the code using guard() for mutex locks. Merely code refactoring, and no behavior change. Signed-off-by: bui duc phuc --- sound/soc/codecs/pcm6240.c | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/sound/soc/codecs/pcm6240.c b/sound/soc/codecs/pcm6240.c index 4ac4448ac3c8..a2b66eae6ac4 100644 --- a/sound/soc/codecs/pcm6240.c +++ b/sound/soc/codecs/pcm6240.c @@ -12,6 +12,7 @@ // Author: Shenghao Ding // =20 +#include #include #include #include @@ -605,7 +606,7 @@ static int pcmdev_get_volsw(struct snd_kcontrol *kcontr= ol, unsigned int reg =3D mc->reg; unsigned int val; =20 - mutex_lock(&pcm_dev->codec_lock); + guard(mutex)(&pcm_dev->codec_lock); =20 if (pcm_dev->chip_id =3D=3D PCM1690) { ret =3D pcmdev_dev_read(pcm_dev, dev_no, PCM1690_REG_MODE_CTRL, @@ -613,18 +614,18 @@ static int pcmdev_get_volsw(struct snd_kcontrol *kcon= trol, if (ret) { dev_err(pcm_dev->dev, "%s: read mode err=3D%d\n", __func__, ret); - goto out; + return ret; } val &=3D PCM1690_REG_MODE_CTRL_DAMS_MSK; /* Set to wide-range mode, before using vol ctrl. */ if (!val && vol_ctrl_type =3D=3D PCMDEV_PCM1690_VOL_CTRL) { ucontrol->value.integer.value[0] =3D -25500; - goto out; + return ret; } /* Set to fine mode, before using fine vol ctrl. */ if (val && vol_ctrl_type =3D=3D PCMDEV_PCM1690_FINE_VOL_CTRL) { ucontrol->value.integer.value[0] =3D -12750; - goto out; + return ret; } } =20 @@ -632,15 +633,14 @@ static int pcmdev_get_volsw(struct snd_kcontrol *kcon= trol, if (ret) { dev_err(pcm_dev->dev, "%s: read err=3D%d\n", __func__, ret); - goto out; + return ret; } =20 val =3D (val >> shift) & mask; val =3D (val > max) ? max : val; val =3D mc->invert ? max - val : val; ucontrol->value.integer.value[0] =3D val; -out: - mutex_unlock(&pcm_dev->codec_lock); + return ret; } =20 @@ -678,7 +678,7 @@ static int pcmdev_put_volsw(struct snd_kcontrol *kcontr= ol, unsigned int val, val_mask; unsigned int reg =3D mc->reg; =20 - mutex_lock(&pcm_dev->codec_lock); + guard(mutex)(&pcm_dev->codec_lock); val =3D ucontrol->value.integer.value[0] & mask; val =3D (val > max) ? max : val; val =3D mc->invert ? max - val : val; @@ -702,7 +702,7 @@ static int pcmdev_put_volsw(struct snd_kcontrol *kcontr= ol, __func__, rc); else rc =3D 1; - mutex_unlock(&pcm_dev->codec_lock); + return rc; } =20 @@ -1645,9 +1645,8 @@ static void pcmdevice_comp_remove(struct snd_soc_comp= onent *codec) =20 if (!pcm_dev) return; - mutex_lock(&pcm_dev->codec_lock); + guard(mutex)(&pcm_dev->codec_lock); pcmdevice_config_info_remove(pcm_dev); - mutex_unlock(&pcm_dev->codec_lock); } =20 static const struct snd_soc_dapm_widget pcmdevice_dapm_widgets[] =3D { @@ -1890,9 +1889,9 @@ static int pcmdevice_mute(struct snd_soc_dai *dai, in= t mute, int stream) else block_type =3D PCMDEVICE_BIN_BLK_PRE_POWER_UP; =20 - mutex_lock(&pcm_dev->codec_lock); + guard(mutex)(&pcm_dev->codec_lock); pcmdevice_select_cfg_blk(pcm_dev, pcm_dev->cur_conf, block_type); - mutex_unlock(&pcm_dev->codec_lock); + return 0; } =20 --=20 2.43.0 From nobody Sat Jul 25 00:54:32 2026 Received: from mail-pl1-f173.google.com (mail-pl1-f173.google.com [209.85.214.173]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 33D8048095B for ; Tue, 21 Jul 2026 10:28:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.173 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629709; cv=none; b=VEQw6IIwLyQzcvYCov+bg5AasQSbgrPg4I3wbHcjv/ndFypgyYF01Nl0KIBB171qzztlf9oaa865454ZpxAoL2EobbafDErHoPtUVBixGUhaMGmAjHde4X/GGY5DW3mygZnToTdmistOerZqEx7dD6mjZuDajNfp/ginD1YRSLs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629709; c=relaxed/simple; bh=RgeSX+3zLUlisqOHX9ATQa6nqb4KePBdPHCKtWx23aE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=AcBh5bSXkG/KHs2oHjBqy6kEHaKwKFisaousdipajcuBB/fLSKrLRuPmraaoeBKJs8TaoQoMgko1ts3lqlF5o5d8B7h5jMxZxY7LS1r/rV8M6zaLsUZ/wOCo72PLchg2CK0HL9Pka/TuaYa6DbPWNmBOsTsbYPa4JaewokAYnuM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=qkyqZT36; arc=none smtp.client-ip=209.85.214.173 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="qkyqZT36" Received: by mail-pl1-f173.google.com with SMTP id d9443c01a7336-2cf52d15d88so27279725ad.2 for ; Tue, 21 Jul 2026 03:28:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784629707; x=1785234507; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=VRsV65B0hpFMO6AbdR2NMUI5aAxqPFZ9WjA2VKMVPRY=; b=qkyqZT36a1GGn7vvJemOTlFr37ZS0X3PfGmoyksHts5lwrTT5JK2WVcs2JO2B/HJaW OZymesEscFNrA9ybDh3AINyk8H7y3yF/qhFD9Ktw2zHhG6RpIegeCUtgu45OX2HamIl7 XAi3UxSqPA4ZegVtr+HGgX4DuvhwzW9SUY7LpuereGqedw24lRrOkuXPiJGawzKryIao Xpx0XgSFP30/X/gz65qulCDdzDAne17gttWNSDCfj8FXmHQ+TgWQm4yAA1ty4p63a8xv 4v8Vh31K8RIGBAL4fe5jR9w+vuVXaGKhjlqBkAqSbGBeSSOdCyqRZA71BJXGp4N6pH7I argg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784629707; x=1785234507; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=VRsV65B0hpFMO6AbdR2NMUI5aAxqPFZ9WjA2VKMVPRY=; b=eildavYBDuu7T80bfCrSercNGR6evCF2atjSDaSZU+lkOF9WGDK6UqFRZbXlUHhWFw QddIVcK0+ngoYG1vTyMV39IcghDlkKkHrYofXC4SaFHAQBnbvTeNKhCoa4wc8OSLJ/UC 8N5zsaQcM0NcZ5PuOL0IaCD2/N1szrt5IBNaODpwWBEUhTpxacJS++rkeb2bB7HZptQO TP497/xWEPqB7Wjli1TEBQbBG+gTgTy3fPJrLqn/mSQwrjiag3nnHL6AGI0BaLwkvu7Y M4NFL6rkpnQ/rawU/jCdWBibbHBx4JJTvaRNUyTRZhdE5zTHjg1Q+a9ZyA+GEOrPLroZ xK7g== X-Forwarded-Encrypted: i=1; AHgh+RpbhIUjvGAZyZ4xyNHtaArADJeB6gw+R3Sm5EqcdFK/4WjJf8Iizkzpcp5PzUh7ql79yipn39133BJ9a24=@vger.kernel.org X-Gm-Message-State: AOJu0Ywa9FzrvmEw07CeFjcV3x1Cxm/cyFsM5nu5MrllYaaj3CbOvXYi A/m9FhlYDe3pLz6zzWpFV5jNnWGIyb5aeFmYCdgdMdW2WkRaaxUv2rQ9 X-Gm-Gg: AR+sD1069/jNeZzwJxJ6dJrr6d3SB2Z7uth1j3Hue7EVzHZitJIfK43C8Rxrqp7wRiH W44ILeCpL4x2XkKWSyBSu3jhO0ifHaDSHvorKJNnJiZwyTMWmXtp95fbOv7nCWl3+Mv+j2Y3PV8 4FHui3bWgHmIcpJxnKPZ6G7jE8cEjZoRUOaXUseb4gIvolHkQCyvw1KTVtXZGJ0NLPd0RuRX5pa Wqo8u9XWmye8dg3snjdruU4PHPXP4zAAPsv5OKQ74j7D3FjgARJ6NeNQH4KT3URhRxTc44mV0C4 HNbdfm+fNb2sUk0zx5pdoOiSMv7r9HoeDEzLald30NH67TRZfc+rllKyY6q9kKebo0J9ReNtWPY kfRoR8rg/91vf8vjpY7QLq/GtCgkShYJJ04E1ZlltRH9BK/QAvMzKywphF4SZlio8hzGmUJQMY2 H7BLSY+HMQbF38p/B/igkTSsbyZMOYTvtuiuZH X-Received: by 2002:a17:903:1b0c:b0:2c9:e5e6:8621 with SMTP id d9443c01a7336-2cf3496bdf7mr187813395ad.25.1784629707513; Tue, 21 Jul 2026 03:28:27 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2cf3448dac2sm73581365ad.3.2026.07.21.03.28.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 03:28:27 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , Takashi Iwai , Nick Li , Herve Codina Cc: Support Opensource , Liam Girdwood , Jaroslav Kysela , Srinivas Kandagatla , Charles Keepax , Richard Fitzgerald , Matthias Brugger , AngeloGioacchino Del Regno , Shenghao Ding , Kevin Lu , Baojun Xu , Sen Wang , Oder Chiou , Linus Walleij , Kuninori Morimoto , u.kleine-koenig@baylibre.com, Zhang Yi , Marco Crivellari , Kees Cook , HyeongJun An , Arnd Bergmann , Qianfeng Rong , linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, patches@opensource.cirrus.com, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, bui duc phuc Subject: [PATCH v4 16/29] ASoC: codecs: peb2466: Use guard() for mutex locks Date: Tue, 21 Jul 2026 17:25:47 +0700 Message-ID: <20260721102600.523199-17-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260721102600.523199-1-phucduc.bui@gmail.com> References: <20260721102600.523199-1-phucduc.bui@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: bui duc phuc Clean up the code using guard() for mutex locks. Merely code refactoring, and no behavior change. Reviewed-by: Herve Codina Signed-off-by: bui duc phuc --- sound/soc/codecs/peb2466.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/sound/soc/codecs/peb2466.c b/sound/soc/codecs/peb2466.c index 2d71d204d8fa..5a1ed02abb84 100644 --- a/sound/soc/codecs/peb2466.c +++ b/sound/soc/codecs/peb2466.c @@ -6,6 +6,7 @@ // // Author: Herve Codina =20 +#include #include #include #include @@ -1704,13 +1705,11 @@ static int peb2466_chip_gpio_update_bits(struct peb= 2466 *peb2466, unsigned int x * So, a specific cache value is used. */ =20 - mutex_lock(&peb2466->gpio.lock); + guard(mutex)(&peb2466->gpio.lock); =20 cache =3D peb2466_chip_gpio_get_cache(peb2466, xr_reg); - if (!cache) { - ret =3D -EINVAL; - goto end; - } + if (!cache) + return -EINVAL; =20 tmp =3D *cache; tmp &=3D ~mask; @@ -1718,14 +1717,11 @@ static int peb2466_chip_gpio_update_bits(struct peb= 2466 *peb2466, unsigned int x =20 ret =3D regmap_write(peb2466->regmap, xr_reg, tmp); if (ret) - goto end; + return ret; =20 *cache =3D tmp; - ret =3D 0; =20 -end: - mutex_unlock(&peb2466->gpio.lock); - return ret; + return 0; } =20 static int peb2466_chip_gpio_set(struct gpio_chip *c, unsigned int offset, --=20 2.43.0 From nobody Sat Jul 25 00:54:32 2026 Received: from mail-pl1-f182.google.com (mail-pl1-f182.google.com [209.85.214.182]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1281748BD42 for ; Tue, 21 Jul 2026 10:28:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.182 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629717; cv=none; b=sTwPKJwA26tTR/AwjkaKayzp2QxV2OkvtzzV6p7vV4FZSu0+hW88+pTF7QszUQMjnf/psu9s51CIm3aXk/eUx3nKBcqXWt1D7TlWk2fA2fpS00juyll5XGPRjByDNPHb49Jslx5VnGky9QEFHeNyg5jJZkQ980z0QNZC42Au3lU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629717; c=relaxed/simple; bh=EIQsPIFGpWU19M+kDklYuiSZWizQeKdwr7QPFIQrZeg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=gk8Z9Km9yFsLHigK8NtsTPIEG8a09p0Rd4G0c0MJaa/6Mhv6mSfiD317gmsVVbpUaK0Yl/QHrOOt/LDhV14yCqTUdMmMD8tYOKqlNldASu4XySD3Z1TRjaxo1hMCfXj+rCpqlyjOnQ9hTuUb+ugLMLXKtUY/SQr+OXjr0Wlu7V0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=km+L7MQi; arc=none smtp.client-ip=209.85.214.182 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="km+L7MQi" Received: by mail-pl1-f182.google.com with SMTP id d9443c01a7336-2ca64c3ce5fso127588035ad.3 for ; Tue, 21 Jul 2026 03:28:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784629715; x=1785234515; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=ro7dNqCD2kLl5dqOgIDoE4tVtLHIEVBSdhnRDBcC1Vc=; b=km+L7MQiksXqPI04kaC9SiXk1TCuRmJwfhzkLrFLng1hBEil7lXqdvYR7g7adADA6o Mcj0D8/eEFp9Vgrw3zTb1d9RIARhqn3b0PNb8bmfVPDs7ZVeAV6EsoUDB/BxP1lH/bjs Kr2rPqJRhu3DkjhMvEXJeEKEO6mEmTM4ZA0ObF//852R/qOUgrT1iMyzW55pZwtpw88o JReS++pfKvcazgkLYQErdcVMxXsIDtOR/pf0W/809Tu9sE4qmaxTHf20F7xhwCeDABMm zLK1+C9sOHRV58Gv5Uqo4G3w8KiUrRZRUCzXYlRHMg07B6R4ofU1fTZv3B4OjX1Hpm9o egJw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784629715; x=1785234515; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=ro7dNqCD2kLl5dqOgIDoE4tVtLHIEVBSdhnRDBcC1Vc=; b=X3/Iz7SmZwVRVv+PgDdBt3bSE68LfzldrpTCPT6iIyg10DLq0+b4Glc1jp4Dl4xwrT SkDexS64QPRW1utTKkQUekM1BGdGDyqXDEeeyKrKd6RX2kEQJGNRiTXxfdPxB/w/AhGN nAS6PHM2Ov942jsCSwJuQoOyZgy0N1Rd8GxvXaB50ljuT1izK1b1gdxnPp0/OjmJedtr /hobFMSPbbKLT+EWzCtb6//9P9Psl6zjORJNBdKf2TdDadpGc1OMUW+ivlHEI0DF5KqH CHXfVKneL9jHUOjwGlrC9W8QBhHIlNkxL4SqFgE9tQiiGBITEumnVW6+go1hQ73XwMmf Qp/g== X-Forwarded-Encrypted: i=1; AHgh+Rr7pqcMPV8e+Yzz8MR1qXCyoJ1Gjl4TzfI1rEP39LV5a+g6MyrqO/8VTzF8SVW8rTd0Y9u9wHWXbbhsjVc=@vger.kernel.org X-Gm-Message-State: AOJu0Yyqq6kFfJffd7FWGrHbjx8phEo1aJeuEEGVs2znwO+izP3LmhzX HoCZm10eD+3Ij5m+5o6YSyPPSAPue7U4nFxMfh0fv7+jyoh+B47ZWRj2 X-Gm-Gg: AR+sD13wlIcJ6uiPl2k0sTMfzMDEZiwU0o88A/tzDMB2qUUSD8jCEVsoMrxRYbELiqV wVSc0XrVepCn589rzCdScVygyqG8yaI0jTdmnSovx3yQDUeUev/37zFJwPz2urzZIKo1zOFI4Kx WAC57vN/m04U5PNrahgRzK4Fg790z5HPxkKP+hpofcQAxI8WeduKSBbWpONxXM2/RU/bZo28UE7 h0TsSolVKi0xRBrUrlb5gC6uy6fkJcL7GcoIkzgRhTjTuyVjtPugeynGFSGIKJQAXVdQid7W8ih vVTNlUljg8DzTBXofzWDRR5m/M5Ge5rXV9HMAWSD9EBMPxtkZEKOiOFSh2Z5XdnPzBliBOPmrpW br++4SJjdYXyOgFRf7lUY4ydDK6Ko6A85id+vYCx4CbX0d5wOP133m1aY8zRYmNlZQZsYErzqlP lUfpoEAwofY3xCuP9ecR8R83AFgK4J2ne92Ynf X-Received: by 2002:a17:902:cecd:b0:2c9:9a19:10c with SMTP id d9443c01a7336-2cf34a4c9d7mr187717855ad.40.1784629715407; Tue, 21 Jul 2026 03:28:35 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2cf3448dac2sm73581365ad.3.2026.07.21.03.28.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 03:28:35 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , Takashi Iwai , Nick Li , Herve Codina Cc: Support Opensource , Liam Girdwood , Jaroslav Kysela , Srinivas Kandagatla , Charles Keepax , Richard Fitzgerald , Matthias Brugger , AngeloGioacchino Del Regno , Shenghao Ding , Kevin Lu , Baojun Xu , Sen Wang , Oder Chiou , Linus Walleij , Kuninori Morimoto , u.kleine-koenig@baylibre.com, Zhang Yi , Marco Crivellari , Kees Cook , HyeongJun An , Arnd Bergmann , Qianfeng Rong , linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, patches@opensource.cirrus.com, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, bui duc phuc Subject: [PATCH v4 17/29] ASoC: codecs: rt5514-spi: Use guard() for mutex locks Date: Tue, 21 Jul 2026 17:25:48 +0700 Message-ID: <20260721102600.523199-18-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260721102600.523199-1-phucduc.bui@gmail.com> References: <20260721102600.523199-1-phucduc.bui@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: bui duc phuc Clean up the code using guard() for mutex locks. Merely code refactoring, and no behavior change. Signed-off-by: bui duc phuc --- sound/soc/codecs/rt5514-spi.c | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/sound/soc/codecs/rt5514-spi.c b/sound/soc/codecs/rt5514-spi.c index 199507d12841..91290bfe8daa 100644 --- a/sound/soc/codecs/rt5514-spi.c +++ b/sound/soc/codecs/rt5514-spi.c @@ -6,6 +6,7 @@ * Author: Oder Chiou */ =20 +#include #include #include #include @@ -79,17 +80,17 @@ static void rt5514_spi_copy_work(struct work_struct *wo= rk) unsigned int cur_wp, remain_data; u8 buf[8]; =20 - mutex_lock(&rt5514_dsp->dma_lock); + guard(mutex)(&rt5514_dsp->dma_lock); if (!rt5514_dsp->substream) { dev_err(rt5514_dsp->dev, "No pcm substream\n"); - goto done; + return; } =20 runtime =3D rt5514_dsp->substream->runtime; period_bytes =3D snd_pcm_lib_period_bytes(rt5514_dsp->substream); if (!period_bytes) { schedule_delayed_work(&rt5514_dsp->copy_work, 5); - goto done; + return; } =20 if (rt5514_dsp->buf_size % period_bytes) @@ -111,7 +112,7 @@ static void rt5514_spi_copy_work(struct work_struct *wo= rk) =20 if (remain_data < period_bytes) { schedule_delayed_work(&rt5514_dsp->copy_work, 5); - goto done; + return; } } =20 @@ -146,9 +147,6 @@ static void rt5514_spi_copy_work(struct work_struct *wo= rk) snd_pcm_period_elapsed(rt5514_dsp->substream); =20 schedule_delayed_work(&rt5514_dsp->copy_work, 5); - -done: - mutex_unlock(&rt5514_dsp->dma_lock); } =20 static void rt5514_schedule_copy(struct rt5514_dsp *rt5514_dsp) @@ -216,7 +214,7 @@ static int rt5514_spi_hw_params(struct snd_soc_componen= t *component, snd_soc_component_get_drvdata(component); u8 buf[8]; =20 - mutex_lock(&rt5514_dsp->dma_lock); + guard(mutex)(&rt5514_dsp->dma_lock); rt5514_dsp->substream =3D substream; rt5514_dsp->dma_offset =3D 0; =20 @@ -225,8 +223,6 @@ static int rt5514_spi_hw_params(struct snd_soc_componen= t *component, if (buf[0] & RT5514_IRQ_STATUS_BIT) rt5514_schedule_copy(rt5514_dsp); =20 - mutex_unlock(&rt5514_dsp->dma_lock); - return 0; } =20 @@ -236,9 +232,8 @@ static int rt5514_spi_hw_free(struct snd_soc_component = *component, struct rt5514_dsp *rt5514_dsp =3D snd_soc_component_get_drvdata(component); =20 - mutex_lock(&rt5514_dsp->dma_lock); - rt5514_dsp->substream =3D NULL; - mutex_unlock(&rt5514_dsp->dma_lock); + scoped_guard(mutex, &rt5514_dsp->dma_lock) + rt5514_dsp->substream =3D NULL; =20 cancel_delayed_work_sync(&rt5514_dsp->copy_work); =20 --=20 2.43.0 From nobody Sat Jul 25 00:54:32 2026 Received: from mail-pl1-f172.google.com (mail-pl1-f172.google.com [209.85.214.172]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0C97E481AAC for ; Tue, 21 Jul 2026 10:28:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629728; cv=none; b=rRt0LgGjGf33o9vRpKu2RlrdlLCdSkRCHd/65xP6QO7aLRIe3hV4BJgY+GfvkSjxFsJ27RW1R0Lu33GeEs8b+ECqxhGQ0BxfoI3vlM098ukzqQXOY2ggbMe78+gNmlFEKd0fh0j+/cHC5957buoivdB6EeOs8P0N1z/xPJJuzKU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629728; c=relaxed/simple; bh=LG6+5wUBHMmnxLPYxHxZ2dp4E3CgvU0mn0ziljce2AQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=sf+/vOfWg2PBTR5Sm84XFQ9bVHRy02mq6g1uiz/WD/3xu6jNQ385pipaBrK9sH6EwQF6Ti9hBl6lRODK+H8PtGMVflkttd9DN8ftRhdhwV5cyNMaQl3/Sr6NjP91C1ek7xNDpzxZcg76JOXPKsWM9P2rXDwO+XASE3rdd7kDgsk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=DMQfsKXP; arc=none smtp.client-ip=209.85.214.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="DMQfsKXP" Received: by mail-pl1-f172.google.com with SMTP id d9443c01a7336-2cad4170e8eso156540995ad.3 for ; Tue, 21 Jul 2026 03:28:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784629723; x=1785234523; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=lC5JKraJutUXVC1Tg679SCSVEJKwIHZajpWUsgP58mY=; b=DMQfsKXPJXC40tVly2aa8kKmSZGCyaYOc15PbX+FVFi6P5k9cf9Pf64JkI11J8RbTW 0RRT3SIA7rQp4dKojcQA4AUTSkiT86yM9u6bR94H0ffaWILxoB0eYKFPuVdWxaeYRC1J 1KKSXOHOXELBwslKifrCIA68uwboWkAhEvfALkpgwDbHzdfwlJb3kFGogf+uGpDwE4Ky eUuOvO1OIzSFutnupPojdKGAq5l383d27VTKmYh8q02BhEr6PcIeyhGZComgZB5GBcq+ 0Ew6LiB3V/nqyRi/VY4U8Nea2LBl6TQC6VZ23H2kzNBJldsdAHjrH7JZSCDMuM71b8Qw busw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784629723; x=1785234523; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=lC5JKraJutUXVC1Tg679SCSVEJKwIHZajpWUsgP58mY=; b=ddjg/cecFuJVKH+50+Tyn5dHJQ9nT7G58kozaZWh8KibI1e7dGdeCxvjDBAAo1A0aS iRLdEKYVANVcJAd8f5vZCxoccCwPOl0jjYr9ozJjEploJ1PfQi8jSNv9qMnOthwck4X/ qXIXeZMNLssvHm9Bfw7Mv9Ns5DvsxikcEQzS8+F7iTWFtoRPcjijw1Q5Nk03GqmIAuLZ UJ0qE/tSJTzoZPXnhZ/bc6R//60nPQjO6SJm6SSCLCcnD9D18n8tcu7htLA2ndrrUhGj YPj662nchdIXjX/yF9cLwpik2VKT+0Xe7AG2Q5umwMe4aHFJmmzxawHCc04d26CWHrtq hgfg== X-Forwarded-Encrypted: i=1; AHgh+RrOLEUQyNYf+EiPsb5uf4AGDVBte6T6OJ0sD82cLhl47reB5t8FtT8iXT/nuw4Dmc/ypGVMI6qBxwQnBMo=@vger.kernel.org X-Gm-Message-State: AOJu0Yxe3mEUWujy8HKaaRcVKHNv9Vt/Zqk7fFILDb1SG+l1E61o0kJN /DJ16X0ZaGTl3+v+E8Menltmxy2HvUd7XFY3sdMRnObR0E45YnZIdpME X-Gm-Gg: AR+sD13CNbcCaiKGcc4e+qS6QNOkYbAiAEC9axrWsH6F1nEbX4vVmdI1EST/LfBsGEa DBOUMkco1B4yLcol2o3njA6QIhfknTFgBej0DtO99vCI2gPw3DjMK0usI88ju3njnUKUvljJbdL LshMBQJzZ5xWLMfJpqah1YGSdkzckqUmIdaTe3VQ3rbb1me8GkanZgfsE0STmaLvHZaZIuwXsOf MCZEajYeqPrayqJ7vGnrHe0luzdpCjjBmn6CIZT2ikD2p9A9U898gHiQc+lftPJSyOL59rXhvCk PB5H/qRUhO2ez1NuqTb9cK8fCIgl6E3wkcwO6+KQrRSS28k5kI1Kd/Fqo1fOyN+meQLXuHh/QaN fkFzmTbUBUXFwU3ydTCFJnh2lTsBZWT+rAm/cHn/TmhZhpkYCw32gh9usittGozrlzcDSqR+xbQ jrLR2qqcYBXbkyWVhPPhOp9dJKQbUxZzL0AwgA X-Received: by 2002:a17:902:c941:b0:2cb:14b3:4cfe with SMTP id d9443c01a7336-2cf34a0774cmr215182775ad.45.1784629723081; Tue, 21 Jul 2026 03:28:43 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2cf3448dac2sm73581365ad.3.2026.07.21.03.28.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 03:28:42 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , Takashi Iwai , Nick Li , Herve Codina Cc: Support Opensource , Liam Girdwood , Jaroslav Kysela , Srinivas Kandagatla , Charles Keepax , Richard Fitzgerald , Matthias Brugger , AngeloGioacchino Del Regno , Shenghao Ding , Kevin Lu , Baojun Xu , Sen Wang , Oder Chiou , Linus Walleij , Kuninori Morimoto , u.kleine-koenig@baylibre.com, Zhang Yi , Marco Crivellari , Kees Cook , HyeongJun An , Arnd Bergmann , Qianfeng Rong , linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, patches@opensource.cirrus.com, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, bui duc phuc Subject: [PATCH v4 18/29] ASoC: codecs: rt5645: Use guard() for mutex locks Date: Tue, 21 Jul 2026 17:25:49 +0700 Message-ID: <20260721102600.523199-19-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260721102600.523199-1-phucduc.bui@gmail.com> References: <20260721102600.523199-1-phucduc.bui@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: bui duc phuc Clean up the code using guard() for mutex locks. Merely code refactoring, and no behavior change. Signed-off-by: bui duc phuc --- sound/soc/codecs/rt5645.c | 160 +++++++++++++++++++------------------- 1 file changed, 79 insertions(+), 81 deletions(-) diff --git a/sound/soc/codecs/rt5645.c b/sound/soc/codecs/rt5645.c index 93a4148ccccd..0d546fb34e52 100644 --- a/sound/soc/codecs/rt5645.c +++ b/sound/soc/codecs/rt5645.c @@ -6,6 +6,7 @@ * Author: Bard Liao */ =20 +#include #include #include #include @@ -3323,93 +3324,90 @@ static void rt5645_jack_detect_work(struct work_str= uct *work) if (!rt5645->component) return; =20 - mutex_lock(&rt5645->jd_mutex); - - switch (rt5645->pdata.jd_mode) { - case 0: /* Not using rt5645 JD */ - if (rt5645->gpiod_hp_det) { - gpio_state =3D gpiod_get_value(rt5645->gpiod_hp_det); - if (rt5645->pdata.inv_hp_pol) - gpio_state ^=3D 1; - dev_dbg(rt5645->component->dev, "gpio_state =3D %d\n", - gpio_state); - report =3D rt5645_jack_detect(rt5645->component, gpio_state); + scoped_guard(mutex, &rt5645->jd_mutex) { + switch (rt5645->pdata.jd_mode) { + case 0: /* Not using rt5645 JD */ + if (rt5645->gpiod_hp_det) { + gpio_state =3D gpiod_get_value(rt5645->gpiod_hp_det); + if (rt5645->pdata.inv_hp_pol) + gpio_state ^=3D 1; + dev_dbg(rt5645->component->dev, "gpio_state =3D %d\n", + gpio_state); + report =3D rt5645_jack_detect(rt5645->component, gpio_state); + } + snd_soc_jack_report(rt5645->hp_jack, + report, SND_JACK_HEADPHONE); + snd_soc_jack_report(rt5645->mic_jack, + report, SND_JACK_MICROPHONE); + return; + case 4: + val =3D snd_soc_component_read(rt5645->component, RT5645_A_JD_CTRL1) & = 0x0020; + break; + default: /* read rt5645 jd1_1 status */ + val =3D snd_soc_component_read(rt5645->component, RT5645_INT_IRQ_ST) & = 0x1000; + break; } - snd_soc_jack_report(rt5645->hp_jack, - report, SND_JACK_HEADPHONE); - snd_soc_jack_report(rt5645->mic_jack, - report, SND_JACK_MICROPHONE); - mutex_unlock(&rt5645->jd_mutex); - return; - case 4: - val =3D snd_soc_component_read(rt5645->component, RT5645_A_JD_CTRL1) & 0= x0020; - break; - default: /* read rt5645 jd1_1 status */ - val =3D snd_soc_component_read(rt5645->component, RT5645_INT_IRQ_ST) & 0= x1000; - break; - - } =20 - if (!val && (rt5645->jack_type =3D=3D 0)) { /* jack in */ - report =3D rt5645_jack_detect(rt5645->component, 1); - } else if (!val && rt5645->jack_type =3D=3D SND_JACK_HEADSET) { - /* for push button and jack out */ - btn_type =3D 0; - if (snd_soc_component_read(rt5645->component, RT5645_INT_IRQ_ST) & 0x4) { - /* button pressed */ - report =3D SND_JACK_HEADSET; - btn_type =3D rt5645_button_detect(rt5645->component); - /* rt5650 can report three kinds of button behavior, - one click, double click and hold. However, - currently we will report button pressed/released - event. So all the three button behaviors are - treated as button pressed. */ - switch (btn_type) { - case 0x8000: - case 0x4000: - case 0x2000: - report |=3D SND_JACK_BTN_0; - break; - case 0x1000: - case 0x0800: - case 0x0400: - report |=3D SND_JACK_BTN_1; - break; - case 0x0200: - case 0x0100: - case 0x0080: - report |=3D SND_JACK_BTN_2; - break; - case 0x0040: - case 0x0020: - case 0x0010: - report |=3D SND_JACK_BTN_3; - break; - case 0x0000: /* unpressed */ - break; - default: - dev_err(rt5645->component->dev, - "Unexpected button code 0x%04x\n", - btn_type); - break; + if (!val && rt5645->jack_type =3D=3D 0) { /* jack in */ + report =3D rt5645_jack_detect(rt5645->component, 1); + } else if (!val && rt5645->jack_type =3D=3D SND_JACK_HEADSET) { + /* for push button and jack out */ + btn_type =3D 0; + if (snd_soc_component_read(rt5645->component, RT5645_INT_IRQ_ST) & 0x4)= { + /* button pressed */ + report =3D SND_JACK_HEADSET; + btn_type =3D rt5645_button_detect(rt5645->component); + /* + * rt5650 can report three kinds of button behavior, + * one click, double click and hold. However, + * currently we will report button pressed/released + * event. So all the three button behaviors are + * treated as button pressed. + */ + switch (btn_type) { + case 0x8000: + case 0x4000: + case 0x2000: + report |=3D SND_JACK_BTN_0; + break; + case 0x1000: + case 0x0800: + case 0x0400: + report |=3D SND_JACK_BTN_1; + break; + case 0x0200: + case 0x0100: + case 0x0080: + report |=3D SND_JACK_BTN_2; + break; + case 0x0040: + case 0x0020: + case 0x0010: + report |=3D SND_JACK_BTN_3; + break; + case 0x0000: /* unpressed */ + break; + default: + dev_err(rt5645->component->dev, + "Unexpected button code 0x%04x\n", + btn_type); + break; + } } + if (btn_type =3D=3D 0)/* button release */ + report =3D rt5645->jack_type; + else + mod_timer(&rt5645->btn_check_timer, + msecs_to_jiffies(100)); + } else { + /* jack out */ + report =3D 0; + snd_soc_component_update_bits(rt5645->component, + RT5645_INT_IRQ_ST, 0x1, 0x0); + rt5645_jack_detect(rt5645->component, 0); } - if (btn_type =3D=3D 0)/* button release */ - report =3D rt5645->jack_type; - else { - mod_timer(&rt5645->btn_check_timer, - msecs_to_jiffies(100)); - } - } else { - /* jack out */ - report =3D 0; - snd_soc_component_update_bits(rt5645->component, - RT5645_INT_IRQ_ST, 0x1, 0x0); - rt5645_jack_detect(rt5645->component, 0); } =20 - mutex_unlock(&rt5645->jd_mutex); - snd_soc_jack_report(rt5645->hp_jack, report, SND_JACK_HEADPHONE); snd_soc_jack_report(rt5645->mic_jack, report, SND_JACK_MICROPHONE); if (rt5645->en_button_func) --=20 2.43.0 From nobody Sat Jul 25 00:54:32 2026 Received: from mail-pl1-f181.google.com (mail-pl1-f181.google.com [209.85.214.181]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DE2DC47A0A7 for ; Tue, 21 Jul 2026 10:28:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.181 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629736; cv=none; b=jeoxvbxYDMdqIH3t7p1NIjWvsB8S3d5eO8VqGmWKF5nX8TqfqrN1UfrWdDrxCBLirFAZGBSmfOLHAab5/fZ9lMRTf2AI0IQUu3+kNQ8b7FFYo1w0WCquhfLAqWZbGeOP+UIAvbm3pT2qJDl97dUz7Fu8mcnytZwSUC75d/wq5rM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629736; c=relaxed/simple; bh=71e6v5A0pmTCpY/muFVgY0bKxBOo24zj6ulqSaCErLQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=oHb871J+lmbxpMqCaOQnYRhMNfYjhmgfOCsKxfSfl4q3bWbRbQTzxsNgt0YlxMoANWITWd3Ub6poYCrVj2QNcujyhpdU5ol9/ObbtCtCN1GlcCBPXreqbjSOw1+LJr5o8cJWDoiAPLGjFfnXt5SJnnv6is0YzY1mpmAOGevHZS4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=qvKMWgnN; arc=none smtp.client-ip=209.85.214.181 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="qvKMWgnN" Received: by mail-pl1-f181.google.com with SMTP id d9443c01a7336-2cc7ef7ec27so119967605ad.1 for ; Tue, 21 Jul 2026 03:28:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784629731; x=1785234531; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=jE/vGes9bWof+nCBjw7kvawhZty+DCUG3JNg48uQoDI=; b=qvKMWgnNn1YFVGOCpX6r+V+fS78YWOo5eycufmTkDAAM+876VlCQgeWn6QbzjGhIjr NJbAyYDdxe4YgEI2AvQ4RlLtHiVup994C5Y+7nnT3dmQ+FL+rv3EEQtzBuYzW/er8T0R wWdvC7FzHi9a4ZjAtOd5bq1dNFqqcIZiTUWbuSahOu4IPlHpLVbs0laEOVGcrCshQt6Z vFOYtgjs0ORZsDUFz8ieumhr25IwalTP/UQnB4LIHYWc0Siwf2c8o72zxYPvCwAE84en ACHNbmFyfah+Ndhd+ou5S6jdulVdrrr9Od6KPxNTLEti1utlwNxvVssITevTIQnYDW9R WWqg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784629731; x=1785234531; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=jE/vGes9bWof+nCBjw7kvawhZty+DCUG3JNg48uQoDI=; b=pibL9ofT0+5Pgrs0UZIIjq0WgOPMYEaZAn+GWADHEjODC30+UTj3Sw9aPY/yQSe1hj iX07VCthSuO4oP0mlh2/zeKAVqkM/+2rAIscXw1gUEnrdk+ky0FTtjUEF1vNDzvaEkkH HmJfnENUBdCXL3XxXdl9MHIVdHHNJ7TPfNpqm7VllbRvE3CXbaipV++wx5/NwxdVIilY TIszSmwA9bw/64OAnv90wgid8F74NkQcg4LFI6rfE0KB76VD5fjvYeer1YZjpxt3oZ2C 0BAD8W/CfS2NdRESO6YkXzS8sljR+sZSoq9FNYh92HZpHjHfr/ErhlGmmPoHSAVbitfx jIww== X-Forwarded-Encrypted: i=1; AHgh+Rqkwf7A6fbk/h77kWw48bLsG9IUZTXDqvRN4U4rCo8u2wrvLcpRCJd9g+buWYwFN06oUj/1Ncy4JC/x07o=@vger.kernel.org X-Gm-Message-State: AOJu0YxluneMnYhAgV7Y0czrqKyEk9abB36+VFV3taVIOF4OAi2DdjyJ wIU3rJaGDV5p+qPB3M+DMejLcm3pCj6DokmXtV7Uectr9hmDHn7O8Rkm X-Gm-Gg: AR+sD13LyzoVuv6j+9oOOIybYhMKsdF4OR2BVm65XsIiI349B0MwoWTZmWaispjXPJi bBjJuILcYcb6aIC/27QMAoXaCJkdFlPmaiVj0FXnoiXu2WlngW96ai43ubyK5kzBkT7eMu9EfLp HO+6XLjPwgC5xsAEg77iGBW/crFQAvmai6vUykLUaVWgPqaK4GqZ46qBS9icpbGWY6DWTzWiqFK N2JTVZePL9D3TZhott8AMbkv1FbWGKJcF56CM9hntaGo41cSdIXpOWhFlXqLNMvOtcczgMjcX79 UNwV8Qrg05MLuEjyTAKAbFEy+ZC58q7yhPZvEohBsciWc3E0BrME23zj2zpXyuRkQm6lMZtGm6I 5phlMz4aZSFTkgxJ5f44byN9A8CH4nxkFFAaEf3bVkBsb9L8wjX3pyiQZZkkeVTEU47lPrkivtf Ua07ZecWPmr4cRXYhIFkmJ4Gn0pH+zqsAwepIk X-Received: by 2002:a17:902:ce07:b0:2cf:7d0d:ddde with SMTP id d9443c01a7336-2cf7d1d27camr38565945ad.0.1784629730842; Tue, 21 Jul 2026 03:28:50 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2cf3448dac2sm73581365ad.3.2026.07.21.03.28.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 03:28:50 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , Takashi Iwai , Nick Li , Herve Codina Cc: Support Opensource , Liam Girdwood , Jaroslav Kysela , Srinivas Kandagatla , Charles Keepax , Richard Fitzgerald , Matthias Brugger , AngeloGioacchino Del Regno , Shenghao Ding , Kevin Lu , Baojun Xu , Sen Wang , Oder Chiou , Linus Walleij , Kuninori Morimoto , u.kleine-koenig@baylibre.com, Zhang Yi , Marco Crivellari , Kees Cook , HyeongJun An , Arnd Bergmann , Qianfeng Rong , linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, patches@opensource.cirrus.com, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, bui duc phuc Subject: [PATCH v4 19/29] ASoC: codecs: rt5665: Use guard() for mutex locks Date: Tue, 21 Jul 2026 17:25:50 +0700 Message-ID: <20260721102600.523199-20-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260721102600.523199-1-phucduc.bui@gmail.com> References: <20260721102600.523199-1-phucduc.bui@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: bui duc phuc Clean up the code using guard() for mutex locks. Merely code refactoring, and no behavior change. Signed-off-by: bui duc phuc --- sound/soc/codecs/rt5665.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/sound/soc/codecs/rt5665.c b/sound/soc/codecs/rt5665.c index 48f57cd0920d..1d987472ba42 100644 --- a/sound/soc/codecs/rt5665.c +++ b/sound/soc/codecs/rt5665.c @@ -6,6 +6,7 @@ * Author: Bard Liao */ =20 +#include #include #include #include @@ -1208,7 +1209,7 @@ static void rt5665_jack_detect_handler(struct work_st= ruct *work) usleep_range(10000, 15000); } =20 - mutex_lock(&rt5665->calibrate_mutex); + guard(mutex)(&rt5665->calibrate_mutex); =20 val =3D snd_soc_component_read(rt5665->component, RT5665_AJD1_CTRL) & 0x0= 010; if (!val) { @@ -1274,8 +1275,6 @@ static void rt5665_jack_detect_handler(struct work_st= ruct *work) schedule_delayed_work(&rt5665->jd_check_work, 0); else cancel_delayed_work_sync(&rt5665->jd_check_work); - - mutex_unlock(&rt5665->calibrate_mutex); } =20 static const char * const rt5665_clk_sync[] =3D { @@ -4564,7 +4563,7 @@ static void rt5665_calibrate(struct rt5665_priv *rt56= 65) { int value, count; =20 - mutex_lock(&rt5665->calibrate_mutex); + guard(mutex)(&rt5665->calibrate_mutex); =20 regcache_cache_bypass(rt5665->regmap, true); =20 @@ -4601,7 +4600,8 @@ static void rt5665_calibrate(struct rt5665_priv *rt56= 65) pr_err("HP Calibration Failure\n"); regmap_write(rt5665->regmap, RT5665_RESET, 0); regcache_cache_bypass(rt5665->regmap, false); - goto out_unlock; + rt5665->calibration_done =3D true; + return; } =20 count++; @@ -4620,7 +4620,8 @@ static void rt5665_calibrate(struct rt5665_priv *rt56= 65) pr_err("MONO Calibration Failure\n"); regmap_write(rt5665->regmap, RT5665_RESET, 0); regcache_cache_bypass(rt5665->regmap, false); - goto out_unlock; + rt5665->calibration_done =3D true; + return; } =20 count++; @@ -4635,9 +4636,7 @@ static void rt5665_calibrate(struct rt5665_priv *rt56= 65) regmap_write(rt5665->regmap, RT5665_BIAS_CUR_CTRL_8, 0xa602); regmap_write(rt5665->regmap, RT5665_ASRC_8, 0x0120); =20 -out_unlock: rt5665->calibration_done =3D true; - mutex_unlock(&rt5665->calibrate_mutex); } =20 static void rt5665_calibrate_handler(struct work_struct *work) --=20 2.43.0 From nobody Sat Jul 25 00:54:32 2026 Received: from mail-pl1-f178.google.com (mail-pl1-f178.google.com [209.85.214.178]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 941C249552D for ; Tue, 21 Jul 2026 10:28:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.178 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629741; cv=none; b=W1v5L3P6a7cEnR0P0MbIHIK4MIjztUk7Bq2+DEDFuSI9TplfvtVlDMZHptvASI5635z+TDVjLr7v5P96AyeRe9WwrZ+CLTMrB5m41O/dHN4dFEihEdzSeEm6CHrDwYaXJP7b/7Z/yTfj0G8ulw22MHkrW6hWmp+xRICQNu53XYQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629741; c=relaxed/simple; bh=j1KzWxhp75swdsTYPJvVoYjcP8hTRieKELlWe5iEq2U=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=IDvJ0MqQe8gH9QLL1LaIr/1g4oEAzE1x1iuEMcW/PI0LgY6Nt2BudJZoEzVSnlzILyZTRAO+IaGVUTvSFbYjgUvcCevmMN6p6j20r3NJaxqlecIvkTArQ/NhK8dC7mwCwJeCEqbh+SavPBFYcU42Kan1AhIUvsInzyn7vWph6OM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=nZCh6/J0; arc=none smtp.client-ip=209.85.214.178 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="nZCh6/J0" Received: by mail-pl1-f178.google.com with SMTP id d9443c01a7336-2caed617615so123146815ad.3 for ; Tue, 21 Jul 2026 03:28:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784629739; x=1785234539; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=26LuwxXuYnG2tABKOgMVR7HJmLwQlsRPpHyBPQzuKoY=; b=nZCh6/J09Q70+eb434fgInxIXahgqRBo2r97XRpqV08yyxhQgp2K+wCV+IgwgbX3U8 9SHYP+JDgu+AyQM9TpRuUVeXk1Y2ncWUllaneVzE42dbft9BFRPqnSgjIyoaOB7IIb0s K8ItvUfWezfDWIQ/iEZeZSiqBtn5KQhUTN206qpWo01lEdbNWC3szZrMlk1oPA3I9VZA MeSUvEphxnbCvpAap4fSWRwdaLk6+3V+f8LjTrz32Ne0GoqrOhEw/7LXYkSqRQKkMLA7 Mi0ZtmrbH+BJtcRseZpaekYtRwNHScvh6UmOVT0DhTA1rnA3tcrLnZYzjpZtIxk8NVY+ Egpw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784629739; x=1785234539; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=26LuwxXuYnG2tABKOgMVR7HJmLwQlsRPpHyBPQzuKoY=; b=SNQp4ZO2b1zccUpIrCtCqSswTJhNzQfycsrsn7SqJcwvv2N1T9zw/VFgRIq78SX3Tv KPRPRoi92x9Vya3EFONHo1veIJAGF3aG8fbLPpiLYw0sMWtgQDZczGE9btvmpJ59s8lJ g0rbghx9yOE9gQvBJNaVsQ3iQ74zB5jAuFWOcm6AED14ncXzlJrRWCf3kRpauXsYUq3v 1JhUXDg8nZuiOlTe2yignMIpsAeqcdKlDFBwWyyFOmBx9q7KnqE/XvwWBm9GeLksII3q hLHIoi12qv+aihEuas3l/HeYSRvXATLEA9z7crCq2y5OtgvVxIfvEq5Vnyv9wmulPlA/ RYVQ== X-Forwarded-Encrypted: i=1; AHgh+RqtW5UmTpG8ccH73J7nyXv2qUtL5/u2KlsisN2dcmpgtBW6MNo3+MqyYpTyY4ukxYguXHKaoa9vBC/neV0=@vger.kernel.org X-Gm-Message-State: AOJu0Yxt2rBfPkGXWV1ikjxRe4l0+0e4Af118UAvhTcj9NVgOLcuof4W C9pbKQ5Kopcjrc68G2ozzmwyZP5S2gc5ekA/qlbcdZalM6S3o+TNIJK5 X-Gm-Gg: AR+sD10hhYy2JXJ2T6aopZEdbQsmcvJdf1x3nolMuKzto3FJXZNDsb9ll6Pnv09JG9M kk8N16qRuAT2+jcn/jmGB+K4lXOVC1JfKWVW5sHcT3wNSG0MDA2GKfKsXx6KFWyoRJfSH3egk0y dz958GACiPueAP2kaK0jnh8WZIk54xYdwz2L+fCRfDQYYnzPjb/zAGdxqEahoeVfEwpVt4K7z47 ftsMndmMGAhwONhG0y9yIpbfw+/gdPQi94/b7tESgSASWLapJi/TbCtW+XIeptsxfbirG/hRV9d 3CYTeIpjHZL8eiWglikwH9hcKvtX1MXJpWN9VMgIc/1ztojRgYGHcnorrhC/7xBF8NeONS0NVQp uowk69U0YEPzo5W7nLSbOyVn2u9sZS/p14Be0m3lEMXZI4RwqIgdcSYNPFUfss7knpe9JZ4ZgYu NCTacMWtVggg+npkCyvVLEAA8M55XdtZOGt1ss X-Received: by 2002:a17:902:e54b:b0:2c9:b48c:fdec with SMTP id d9443c01a7336-2cf348547d0mr202166025ad.12.1784629738893; Tue, 21 Jul 2026 03:28:58 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2cf3448dac2sm73581365ad.3.2026.07.21.03.28.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 03:28:58 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , Takashi Iwai , Nick Li , Herve Codina Cc: Support Opensource , Liam Girdwood , Jaroslav Kysela , Srinivas Kandagatla , Charles Keepax , Richard Fitzgerald , Matthias Brugger , AngeloGioacchino Del Regno , Shenghao Ding , Kevin Lu , Baojun Xu , Sen Wang , Oder Chiou , Linus Walleij , Kuninori Morimoto , u.kleine-koenig@baylibre.com, Zhang Yi , Marco Crivellari , Kees Cook , HyeongJun An , Arnd Bergmann , Qianfeng Rong , linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, patches@opensource.cirrus.com, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, bui duc phuc Subject: [PATCH v4 20/29] ASoC: codecs: rt5668: Use guard() for mutex locks Date: Tue, 21 Jul 2026 17:25:51 +0700 Message-ID: <20260721102600.523199-21-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260721102600.523199-1-phucduc.bui@gmail.com> References: <20260721102600.523199-1-phucduc.bui@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: bui duc phuc Clean up the code using guard() for mutex locks. Merely code refactoring, and no behavior change. Signed-off-by: bui duc phuc --- sound/soc/codecs/rt5668.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/sound/soc/codecs/rt5668.c b/sound/soc/codecs/rt5668.c index fed6de40b8c8..4154bad27610 100644 --- a/sound/soc/codecs/rt5668.c +++ b/sound/soc/codecs/rt5668.c @@ -6,6 +6,7 @@ * Author: Bard Liao */ =20 +#include #include #include #include @@ -986,7 +987,7 @@ static void rt5668_jack_detect_handler(struct work_stru= ct *work) return; } =20 - mutex_lock(&rt5668->calibrate_mutex); + guard(mutex)(&rt5668->calibrate_mutex); =20 val =3D snd_soc_component_read(rt5668->component, RT5668_AJD1_CTRL) & RT5668_JDH_RS_MASK; @@ -1053,8 +1054,6 @@ static void rt5668_jack_detect_handler(struct work_st= ruct *work) schedule_delayed_work(&rt5668->jd_check_work, 0); else cancel_delayed_work_sync(&rt5668->jd_check_work); - - mutex_unlock(&rt5668->calibrate_mutex); } =20 static const struct snd_kcontrol_new rt5668_snd_controls[] =3D { @@ -2356,7 +2355,7 @@ static void rt5668_calibrate(struct rt5668_priv *rt56= 68) { int value, count; =20 - mutex_lock(&rt5668->calibrate_mutex); + guard(mutex)(&rt5668->calibrate_mutex); =20 rt5668_reset(rt5668->regmap); regmap_write(rt5668->regmap, RT5668_PWR_ANLG_1, 0xa2bf); @@ -2400,9 +2399,6 @@ static void rt5668_calibrate(struct rt5668_priv *rt56= 68) /* restore settings */ regmap_write(rt5668->regmap, RT5668_STO1_ADC_MIXER, 0xc0c4); regmap_write(rt5668->regmap, RT5668_PWR_DIG_1, 0x0000); - - mutex_unlock(&rt5668->calibrate_mutex); - } =20 static int rt5668_i2c_probe(struct i2c_client *i2c) --=20 2.43.0 From nobody Sat Jul 25 00:54:32 2026 Received: from mail-pl1-f169.google.com (mail-pl1-f169.google.com [209.85.214.169]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7CA944BC030 for ; Tue, 21 Jul 2026 10:29:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.169 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629749; cv=none; b=rqeiU5cXdU8jtaR54/01fzjzN17eSpbM6BG24FCWWJ+MZBLRcCcO34bggZUmtDXl01YU6SFUJRSMlXFpJHUyPJEJ64GlL66TsbYkyThO4/dgFiraOzA+COZdGKbOGyC0LM3DG01PPwaNiFK6tux6bk9aqzOntreI59XMaTYEoGY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629749; c=relaxed/simple; bh=J1G7wPxmRyNBNW8BftE0/keAgbIexwtADbIj/VuZHkA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=W/rwO/r8hV8RnFVEtnxQ0NAjiFq4PL/AD/wcrB7DpwEoY3TxH36Rdi0xiOPXmR5y9rMolKalpkHSU9+7AWZsdfRWs8CKF8QwJ9FUQZzmEhgfQYFHHog/BTjG8zTJoxj8G9mlSgduF/CEnV8BASi1mD93w68NU37+qnfjkjkml6Q= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=I6BIbxca; arc=none smtp.client-ip=209.85.214.169 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="I6BIbxca" Received: by mail-pl1-f169.google.com with SMTP id d9443c01a7336-2ceb096e675so111490605ad.0 for ; Tue, 21 Jul 2026 03:29:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784629747; x=1785234547; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=1tgnKdUkO+325mAT1Exy7hQiaP44koD8lFsPHXyvSQY=; b=I6BIbxcawx/w71Odzm5MWT5gjYKq5TWtIJ+bsIK3mE8mKEcuq8Guox9lpXjYM9iuIF DRZs6RLLGs7Xya9pk2aFsPXhIDb5vh3onoJkPX9I5Kj0ROTHQH2lPzjbFPRkl4PynZi2 MaA4hkbgk8+VYzN/EGmZHxeyL25L5jepsr+C7MIpJN8FsGZClPuUqmcrP6bIFPsFQydw ZfT+MBWXW+0X6iAX2TZh03oV6pVEz5gm2oNCd+z8ZOSX6ap6uFYEMjuN3Dz2GoZfYWpm GvQ0L8eBb2miqEzADmJ/tIGfTc95vYT1gsPijHCQdIWiyEXUhcdtUtPueX2AQIlG1CkE +n1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784629747; x=1785234547; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=1tgnKdUkO+325mAT1Exy7hQiaP44koD8lFsPHXyvSQY=; b=BNkNpjvsl7IK/8Nk8v7RL5lnZcD7ewfeizrZBlPM/didBG/gQMy1rAgUvCGa0VQF6o Z6qC1ao0o3EYFkvSmd4OMVP09t6qRHetOrN0agJ0DJsW5LGKcwHlHmZuA40k3Fsf5nlf FZajmwDnUzZCI9+jvyKg1PuaVGIQUNzlWHl9tyhTDbQVkSckuT9sf1KpdRGFljVZlvcS K5+1T58xSSMLVJhIDrsO4NBIilwQZb2C/UyuPVecaYvd2lnYvwDibAuSOJFMXGRzUWI5 YkvF95qHJf9c9sAZ4tMxeZBa5t83pme/ng5J7+u9ImUimhn7Spb23GRQDJeVrW1my1cG wAzA== X-Forwarded-Encrypted: i=1; AHgh+Ro2okiB7JoEfis/06cwtgDFfyUtbaZuKQ+sZMdMjPA8Q7yevv6bBneN2gk02Y4XKhQT6XhUbplY5S3RSZA=@vger.kernel.org X-Gm-Message-State: AOJu0YytYB+ZyhQxoERjk353Sk8R+Zu7tp7sLZPZkcDJoYIuylon/WEQ Rq4NAirBfMAto8+2AK2fkczAb/9ifc+oB/P8fzDI864P/nJ5uH0YIuT7 X-Gm-Gg: AR+sD12To2wD0EoA2CfMxh1JH7Yl8X9G5QNJ70yDWW67ZdR210VyLF4NXjjzDLWi+wz YgUTf6ROVH4LjtpIhjIjFZHR+KE3ewB9cNmMzpRc4DWj0h4FKGOyUEV1hpbWSmkpWC6uWh7Lvgo OB8AMUuD0c5MhZ9Hp+5bhfCPP8weA4c2GA6QlJcCUuVkO7hVJzuNB35ehmmI0cFFBrmUmSf0jL2 FXdt7N1fuVrOQsVrj/E/af6oBJUZpwdeYxjnfazBaIOQB3l1j/V3UmdhazDoRvvNSXsGPS5k7IV 9H8U8cgrOt41VpmMMJG5ut82A4LojPZvBZkuPwmRnV02RbxBwLSK7Ahmq41vek3yJESnkTeVON2 xe1hLTKhEIm45qzzHVDTQ3ou9PerSUYbsCZzcrl1BKu9n0SFbJ06EjDNPfJzmN/KaPPdPopoTzB QRa0/sL6d8/nw+Dk+sXLFqnLWOPJygOr+NVxRqBAUO9UsbPLA= X-Received: by 2002:a17:902:ea02:b0:2c9:97a7:3276 with SMTP id d9443c01a7336-2cf349eb1bbmr205099715ad.39.1784629746685; Tue, 21 Jul 2026 03:29:06 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2cf3448dac2sm73581365ad.3.2026.07.21.03.28.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 03:29:06 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , Takashi Iwai , Nick Li , Herve Codina Cc: Support Opensource , Liam Girdwood , Jaroslav Kysela , Srinivas Kandagatla , Charles Keepax , Richard Fitzgerald , Matthias Brugger , AngeloGioacchino Del Regno , Shenghao Ding , Kevin Lu , Baojun Xu , Sen Wang , Oder Chiou , Linus Walleij , Kuninori Morimoto , u.kleine-koenig@baylibre.com, Zhang Yi , Marco Crivellari , Kees Cook , HyeongJun An , Arnd Bergmann , Qianfeng Rong , linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, patches@opensource.cirrus.com, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, bui duc phuc Subject: [PATCH v4 21/29] ASoC: codecs: rt5677: Use guard() for mutex locks Date: Tue, 21 Jul 2026 17:25:52 +0700 Message-ID: <20260721102600.523199-22-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260721102600.523199-1-phucduc.bui@gmail.com> References: <20260721102600.523199-1-phucduc.bui@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: bui duc phuc Clean up the code using guard() for mutex locks. Merely code refactoring, and no behavior change. Signed-off-by: bui duc phuc --- sound/soc/codecs/rt5677-spi.c | 36 +++++++---------- sound/soc/codecs/rt5677.c | 75 ++++++++++++++++------------------- 2 files changed, 49 insertions(+), 62 deletions(-) diff --git a/sound/soc/codecs/rt5677-spi.c b/sound/soc/codecs/rt5677-spi.c index 1bcafd5f4468..ebc527115ea5 100644 --- a/sound/soc/codecs/rt5677-spi.c +++ b/sound/soc/codecs/rt5677-spi.c @@ -6,6 +6,7 @@ * Author: Oder Chiou */ =20 +#include #include #include #include @@ -133,9 +134,8 @@ static int rt5677_spi_hw_params( struct rt5677_dsp *rt5677_dsp =3D snd_soc_component_get_drvdata(component); =20 - mutex_lock(&rt5677_dsp->dma_lock); + guard(mutex)(&rt5677_dsp->dma_lock); rt5677_dsp->substream =3D substream; - mutex_unlock(&rt5677_dsp->dma_lock); =20 return 0; } @@ -147,9 +147,8 @@ static int rt5677_spi_hw_free( struct rt5677_dsp *rt5677_dsp =3D snd_soc_component_get_drvdata(component); =20 - mutex_lock(&rt5677_dsp->dma_lock); + guard(mutex)(&rt5677_dsp->dma_lock); rt5677_dsp->substream =3D NULL; - mutex_unlock(&rt5677_dsp->dma_lock); =20 return 0; } @@ -311,17 +310,17 @@ static void rt5677_spi_copy_work(struct work_struct *= work) int ret =3D 0; =20 /* Ensure runtime->dma_area buffer does not go away while copying. */ - mutex_lock(&rt5677_dsp->dma_lock); + guard(mutex)(&rt5677_dsp->dma_lock); if (!rt5677_dsp->substream) { dev_err(rt5677_dsp->dev, "No pcm substream\n"); - goto done; + return; } =20 runtime =3D rt5677_dsp->substream->runtime; =20 if (rt5677_spi_mic_write_offset(&mic_write_offset)) { dev_err(rt5677_dsp->dev, "No mic_write_offset\n"); - goto done; + return; } =20 /* If this is the first time that we've asked for streaming data after @@ -355,7 +354,7 @@ static void rt5677_spi_copy_work(struct work_struct *wo= rk) ret =3D rt5677_spi_copy(rt5677_dsp, copy_bytes); if (ret) { dev_err(rt5677_dsp->dev, "Copy failed %d\n", ret); - goto done; + return; } rt5677_dsp->avail_bytes +=3D copy_bytes; if (rt5677_dsp->avail_bytes >=3D period_bytes) { @@ -367,8 +366,6 @@ static void rt5677_spi_copy_work(struct work_struct *wo= rk) =20 delay =3D bytes_to_frames(runtime, period_bytes) / runtime->rate; schedule_delayed_work(&rt5677_dsp->copy_work, secs_to_jiffies(delay)); -done: - mutex_unlock(&rt5677_dsp->dma_lock); } =20 static int rt5677_spi_pcm_new(struct snd_soc_component *component, @@ -507,10 +504,8 @@ int rt5677_spi_read(u32 addr, void *rxbuf, size_t len) header[3] =3D ((addr + offset) & 0x0000ff00) >> 8; header[4] =3D ((addr + offset) & 0x000000ff) >> 0; =20 - mutex_lock(&spi_mutex); - status |=3D spi_sync(g_spi, &m); - mutex_unlock(&spi_mutex); - + scoped_guard(mutex, &spi_mutex) + status |=3D spi_sync(g_spi, &m); =20 /* Copy data back to caller buffer */ rt5677_spi_reverse(cb + offset, len - offset, body, t[1].len); @@ -564,9 +559,8 @@ int rt5677_spi_write(u32 addr, const void *txbuf, size_= t len) offset +=3D t.len; t.len +=3D RT5677_SPI_HEADER + 1; =20 - mutex_lock(&spi_mutex); - status |=3D spi_sync(g_spi, &m); - mutex_unlock(&spi_mutex); + scoped_guard(mutex, &spi_mutex) + status |=3D spi_sync(g_spi, &m); } return status; } @@ -591,10 +585,10 @@ void rt5677_spi_hotword_detected(void) return; } =20 - mutex_lock(&rt5677_dsp->dma_lock); - dev_info(rt5677_dsp->dev, "Hotword detected\n"); - rt5677_dsp->new_hotword =3D true; - mutex_unlock(&rt5677_dsp->dma_lock); + scoped_guard(mutex, &rt5677_dsp->dma_lock) { + dev_info(rt5677_dsp->dev, "Hotword detected\n"); + rt5677_dsp->new_hotword =3D true; + } =20 schedule_delayed_work(&rt5677_dsp->copy_work, 0); } diff --git a/sound/soc/codecs/rt5677.c b/sound/soc/codecs/rt5677.c index 73fc008d558a..3e4d1dbce740 100644 --- a/sound/soc/codecs/rt5677.c +++ b/sound/soc/codecs/rt5677.c @@ -6,6 +6,7 @@ * Author: Oder Chiou */ =20 +#include #include #include #include @@ -564,46 +565,43 @@ static int rt5677_dsp_mode_i2c_write_addr(struct rt56= 77_priv *rt5677, struct snd_soc_component *component =3D rt5677->component; int ret; =20 - mutex_lock(&rt5677->dsp_cmd_lock); + guard(mutex)(&rt5677->dsp_cmd_lock); =20 ret =3D regmap_write(rt5677->regmap_physical, RT5677_DSP_I2C_ADDR_MSB, addr >> 16); if (ret < 0) { dev_err(component->dev, "Failed to set addr msb value: %d\n", ret); - goto err; + return ret; } =20 ret =3D regmap_write(rt5677->regmap_physical, RT5677_DSP_I2C_ADDR_LSB, addr & 0xffff); if (ret < 0) { dev_err(component->dev, "Failed to set addr lsb value: %d\n", ret); - goto err; + return ret; } =20 ret =3D regmap_write(rt5677->regmap_physical, RT5677_DSP_I2C_DATA_MSB, value >> 16); if (ret < 0) { dev_err(component->dev, "Failed to set data msb value: %d\n", ret); - goto err; + return ret; } =20 ret =3D regmap_write(rt5677->regmap_physical, RT5677_DSP_I2C_DATA_LSB, value & 0xffff); if (ret < 0) { dev_err(component->dev, "Failed to set data lsb value: %d\n", ret); - goto err; + return ret; } =20 ret =3D regmap_write(rt5677->regmap_physical, RT5677_DSP_I2C_OP_CODE, opcode); if (ret < 0) { dev_err(component->dev, "Failed to set op code value: %d\n", ret); - goto err; + return ret; } =20 -err: - mutex_unlock(&rt5677->dsp_cmd_lock); - return ret; } =20 @@ -623,36 +621,33 @@ static int rt5677_dsp_mode_i2c_read_addr( int ret; unsigned int msb, lsb; =20 - mutex_lock(&rt5677->dsp_cmd_lock); + guard(mutex)(&rt5677->dsp_cmd_lock); =20 ret =3D regmap_write(rt5677->regmap_physical, RT5677_DSP_I2C_ADDR_MSB, addr >> 16); if (ret < 0) { dev_err(component->dev, "Failed to set addr msb value: %d\n", ret); - goto err; + return ret; } =20 ret =3D regmap_write(rt5677->regmap_physical, RT5677_DSP_I2C_ADDR_LSB, addr & 0xffff); if (ret < 0) { dev_err(component->dev, "Failed to set addr lsb value: %d\n", ret); - goto err; + return ret; } =20 ret =3D regmap_write(rt5677->regmap_physical, RT5677_DSP_I2C_OP_CODE, 0x0002); if (ret < 0) { dev_err(component->dev, "Failed to set op code value: %d\n", ret); - goto err; + return ret; } =20 regmap_read(rt5677->regmap_physical, RT5677_DSP_I2C_DATA_MSB, &msb); regmap_read(rt5677->regmap_physical, RT5677_DSP_I2C_DATA_LSB, &lsb); *value =3D (msb << 16) | lsb; =20 -err: - mutex_unlock(&rt5677->dsp_cmd_lock); - return ret; } =20 @@ -941,21 +936,20 @@ static void rt5677_dsp_work(struct work_struct *work) activity =3D false; =20 /* Don't turn off the DSP while handling irqs */ - mutex_lock(&rt5677->irq_lock); - /* Set DSP CPU to Stop */ - regmap_update_bits(rt5677->regmap, RT5677_PWR_DSP1, - RT5677_PWR_DSP_CPU, RT5677_PWR_DSP_CPU); + scoped_guard(mutex, &rt5677->irq_lock) { + /* Set DSP CPU to Stop */ + regmap_update_bits(rt5677->regmap, RT5677_PWR_DSP1, + RT5677_PWR_DSP_CPU, RT5677_PWR_DSP_CPU); =20 - rt5677_set_dsp_mode(rt5677, false); + rt5677_set_dsp_mode(rt5677, false); =20 - /* Disable and clear VAD interrupt */ - regmap_write(rt5677->regmap, RT5677_VAD_CTRL1, 0x2184); + /* Disable and clear VAD interrupt */ + regmap_write(rt5677->regmap, RT5677_VAD_CTRL1, 0x2184); =20 - /* Set GPIO1 pin back to be IRQ output for jack detect */ - regmap_update_bits(rt5677->regmap, RT5677_GPIO_CTRL1, - RT5677_GPIO1_PIN_MASK, RT5677_GPIO1_PIN_IRQ); - - mutex_unlock(&rt5677->irq_lock); + /* Set GPIO1 pin back to be IRQ output for jack detect */ + regmap_update_bits(rt5677->regmap, RT5677_GPIO_CTRL1, + RT5677_GPIO1_PIN_MASK, RT5677_GPIO1_PIN_IRQ); + } } } =20 @@ -4997,11 +4991,11 @@ static int rt5677_read(void *context, unsigned int = reg, unsigned int *val) =20 if (rt5677->is_dsp_mode) { if (reg > 0xff) { - mutex_lock(&rt5677->dsp_pri_lock); - rt5677_dsp_mode_i2c_write(rt5677, RT5677_PRIV_INDEX, - reg & 0xff); - rt5677_dsp_mode_i2c_read(rt5677, RT5677_PRIV_DATA, val); - mutex_unlock(&rt5677->dsp_pri_lock); + scoped_guard(mutex, &rt5677->dsp_pri_lock) { + rt5677_dsp_mode_i2c_write(rt5677, RT5677_PRIV_INDEX, + reg & 0xff); + rt5677_dsp_mode_i2c_read(rt5677, RT5677_PRIV_DATA, val); + } } else { rt5677_dsp_mode_i2c_read(rt5677, reg, val); } @@ -5019,12 +5013,12 @@ static int rt5677_write(void *context, unsigned int= reg, unsigned int val) =20 if (rt5677->is_dsp_mode) { if (reg > 0xff) { - mutex_lock(&rt5677->dsp_pri_lock); - rt5677_dsp_mode_i2c_write(rt5677, RT5677_PRIV_INDEX, - reg & 0xff); - rt5677_dsp_mode_i2c_write(rt5677, RT5677_PRIV_DATA, - val); - mutex_unlock(&rt5677->dsp_pri_lock); + scoped_guard(mutex, &rt5677->dsp_pri_lock) { + rt5677_dsp_mode_i2c_write(rt5677, RT5677_PRIV_INDEX, + reg & 0xff); + rt5677_dsp_mode_i2c_write(rt5677, RT5677_PRIV_DATA, + val); + } } else { rt5677_dsp_mode_i2c_write(rt5677, reg, val); } @@ -5416,7 +5410,7 @@ static void rt5677_resume_irq_check(struct work_struc= t *work) * Without this explicit check, unplug the headset right after suspend * starts, then after resume the headset is still shown as plugged in. */ - mutex_lock(&rt5677->irq_lock); + guard(mutex)(&rt5677->irq_lock); for (i =3D 0; i < RT5677_IRQ_NUM; i++) { if (rt5677->irq_en & rt5677_irq_descs[i].enable_mask) { virq =3D irq_find_mapping(rt5677->domain, i); @@ -5424,7 +5418,6 @@ static void rt5677_resume_irq_check(struct work_struc= t *work) handle_nested_irq(virq); } } - mutex_unlock(&rt5677->irq_lock); } =20 static void rt5677_irq_bus_lock(struct irq_data *data) --=20 2.43.0 From nobody Sat Jul 25 00:54:32 2026 Received: from mail-pl1-f181.google.com (mail-pl1-f181.google.com [209.85.214.181]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 04F1D4C043C for ; Tue, 21 Jul 2026 10:29:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.181 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629756; cv=none; b=oTEbPG0iIoXWtAwm0jPuDNa9aRdGTrtrv4nosiKkWHJtAYH/+u4ZmiDWD5lQ2kCCk867iBtH2CzWreFziIMDhMcz7ZQBCNbASTW4ft3/vd2VDwdLoG3YTGXtgsQK/SFDLg0Rcn14+WtuJepnSXiRRzrP1/ebIXaYz+PsqW4w/lY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629756; c=relaxed/simple; bh=0HoS8QVPDkGqO7CysXmjtYOGMj5wvDPkMohirElqvTQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=JgbsBMWzNCDBsVMRsN2wyUS0IbfxZe8iKND4NMK9Qv9uRkhfSsJpzYh3TUoANsSQVs5zjkFVBglTTFXV8McMv7qx0K0fn6BfPAJE/AcBEVOrnK8ZsPUNXTzNfDDnTXIwTmCypUuxdziKZdgkh6VuBINjE93Zqi5SN6rGz0oGRG8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=SlmupHvI; arc=none smtp.client-ip=209.85.214.181 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="SlmupHvI" Received: by mail-pl1-f181.google.com with SMTP id d9443c01a7336-2cad8076b01so133743885ad.2 for ; Tue, 21 Jul 2026 03:29:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784629754; x=1785234554; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=Mvzr5WqUP+xfZMOQpcHFjM6syFUqmR7b1PQz8S5tijE=; b=SlmupHvIqDtjv+/nbNZnVqvYXs4ZNLYtqE6twlDprujlCnsuaI3G2Ui0pK0P3nsayw RURRYbhQzz3qvQtUDylfeD8Z3G3KhiknEnFN1xj/DHiNTaUI1Lz2SMup+H3yaMgnohCW iRNUiGdusD41E4vcGpxbCYjs+7O/oGPrco54s0kb9q1guWkSdWbMw7KO6QjHWTrf67ZX QOMXsaIUfHZrWFBbE5GUqujA3awLMgRAS3pCcufBEoIKMHIaG6ukAOwDXkUsE8SrssPI AGamdrEIEvLMhuU0sLeaZbRxscz7NSbjlH8oitlIgyeUMkQYy7hcYRTZCR0tTeer166j vKVw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784629754; x=1785234554; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=Mvzr5WqUP+xfZMOQpcHFjM6syFUqmR7b1PQz8S5tijE=; b=czP4U3DbzKRZU1wTNh6NosPHSU9vkFEHeF7CmGVWvkD1lDGKyKkjQL263EfjaWBKdH A5IYrIcjyEo6+YaHIkqiaXGZ29suiN8hJXcV2munPlVrMOFviG5nssH10DWdCBfSCZuO p22kKky6/KoZq6TiDGHmQ3G+LvVwdsE7rs26shV57gWkYr/sxfQPTnEwDnd/tKemHVvl LkrLR5MMSNzu+FQZEO5939Xf7ZIlzJR0m6uZBVhJ4zzC+kMqfat54YBxE5dTxiJF4he9 J3UzyS37fUHfWZWWPWxpcY5/0r+Yi8mfrUV92ysPtnvpMO/k5t5v7/1+HhAz15/3J1/s 4//g== X-Forwarded-Encrypted: i=1; AHgh+RpXvwmwkQ9JlOkddbx81Hnf9UfyGtUp0TMjEWpeuF9LQl9Be1r28taa+Ph6RnhEVg8uEWF+Vpkq5QNhVko=@vger.kernel.org X-Gm-Message-State: AOJu0YxMu/v79RGC9/hg56wmG9duY7LjxNMKTnTOmdQMscCme1qjfvC/ WchhIvmWU01uk9+z3KIYvIHITlF0x9xH2tqqf7PZvDXncRuIc1LBXUZn X-Gm-Gg: AR+sD10aEaNApMjjaGTMFADg+PQj+/pGA2Sj/6o+sRoDNmTeqryYuorpBK135c5ne0H 9kwLJeeqmltVP/OyIxLiwflqXtq7wOsS4BOxDVNuKUNKMRL3IEVn6PfyDwYyGeeGictlNvYQtR1 OVLefytX11LgDEJ0QAFfYsr/FmfK6reI9kNdCVWxKyi07qukG569ryak7/dDqQXhLS55KY9W5cG oeekeC7+cVGjT3YnX7SChD1zmX+BJ+zi1LIo5/NpRIpGi4LBtoHbgEKev7obiUNdj95fg3INC47 Hzncpsy1FOqOlOctfRtibSXDahfNZYiKA4rVKSQDYT763RTIfl6mcdhc5Afgr3ZnNJ0S2bUH/n1 HT1whrwq1OEbCjV3UtQHXBSbk2VoTyBXyDpK9Qv2Wj30D6eW2aRnjTx5GOZ1ynvtNHrxTOkRLsz 3cbgjiNgtZXyC4X7cyseCFQG6/3kl/69VxBb+M X-Received: by 2002:a17:903:988:b0:2cc:f5aa:9513 with SMTP id d9443c01a7336-2cf34821a87mr207396435ad.10.1784629754494; Tue, 21 Jul 2026 03:29:14 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2cf3448dac2sm73581365ad.3.2026.07.21.03.29.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 03:29:14 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , Takashi Iwai , Nick Li , Herve Codina Cc: Support Opensource , Liam Girdwood , Jaroslav Kysela , Srinivas Kandagatla , Charles Keepax , Richard Fitzgerald , Matthias Brugger , AngeloGioacchino Del Regno , Shenghao Ding , Kevin Lu , Baojun Xu , Sen Wang , Oder Chiou , Linus Walleij , Kuninori Morimoto , u.kleine-koenig@baylibre.com, Zhang Yi , Marco Crivellari , Kees Cook , HyeongJun An , Arnd Bergmann , Qianfeng Rong , linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, patches@opensource.cirrus.com, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, bui duc phuc Subject: [PATCH v4 22/29] ASoC: codecs: rt5682: Use guard() for mutex locks Date: Tue, 21 Jul 2026 17:25:53 +0700 Message-ID: <20260721102600.523199-23-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260721102600.523199-1-phucduc.bui@gmail.com> References: <20260721102600.523199-1-phucduc.bui@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: bui duc phuc Clean up the code using guard() for mutex locks. Merely code refactoring, and no behavior change. Signed-off-by: bui duc phuc --- sound/soc/codecs/rt5682-sdw.c | 24 ++++++++++++------------ sound/soc/codecs/rt5682.c | 5 ++--- sound/soc/codecs/rt5682s.c | 17 +++++------------ 3 files changed, 19 insertions(+), 27 deletions(-) diff --git a/sound/soc/codecs/rt5682-sdw.c b/sound/soc/codecs/rt5682-sdw.c index e49ec28b6103..23c7d2a9dbee 100644 --- a/sound/soc/codecs/rt5682-sdw.c +++ b/sound/soc/codecs/rt5682-sdw.c @@ -6,6 +6,7 @@ // Author: Oder Chiou // =20 +#include #include #include #include @@ -670,12 +671,11 @@ static int rt5682_interrupt_callback(struct sdw_slave= *slave, dev_dbg(&slave->dev, "%s control_port_stat=3D%x", __func__, status->control_port); =20 - mutex_lock(&rt5682->disable_irq_lock); + guard(mutex)(&rt5682->disable_irq_lock); if (status->control_port & 0x4 && !rt5682->disable_irq) { mod_delayed_work(system_power_efficient_wq, &rt5682->jack_detect_work, msecs_to_jiffies(rt5682->irq_work_delay_time= )); } - mutex_unlock(&rt5682->disable_irq_lock); =20 return 0; } @@ -746,11 +746,11 @@ static int rt5682_dev_system_suspend(struct device *d= ev) * deferred work completes and before the parent disables * interrupts on the link */ - mutex_lock(&rt5682->disable_irq_lock); - rt5682->disable_irq =3D true; - ret =3D sdw_update_no_pm(slave, SDW_SCP_INTMASK1, - SDW_SCP_INT1_IMPL_DEF, 0); - mutex_unlock(&rt5682->disable_irq_lock); + scoped_guard(mutex, &rt5682->disable_irq_lock) { + rt5682->disable_irq =3D true; + ret =3D sdw_update_no_pm(slave, SDW_SCP_INTMASK1, + SDW_SCP_INT1_IMPL_DEF, 0); + } =20 if (ret < 0) { /* log but don't prevent suspend from happening */ @@ -770,12 +770,12 @@ static int rt5682_dev_resume(struct device *dev) return 0; =20 if (!slave->unattach_request) { - mutex_lock(&rt5682->disable_irq_lock); - if (rt5682->disable_irq =3D=3D true) { - sdw_write_no_pm(slave, SDW_SCP_INTMASK1, SDW_SCP_INT1_IMPL_DEF); - rt5682->disable_irq =3D false; + scoped_guard(mutex, &rt5682->disable_irq_lock) { + if (rt5682->disable_irq) { + sdw_write_no_pm(slave, SDW_SCP_INTMASK1, SDW_SCP_INT1_IMPL_DEF); + rt5682->disable_irq =3D false; + } } - mutex_unlock(&rt5682->disable_irq_lock); } =20 ret =3D sdw_slave_wait_for_init(slave, RT5682_PROBE_TIMEOUT); diff --git a/sound/soc/codecs/rt5682.c b/sound/soc/codecs/rt5682.c index 4b82e07d3b2c..6f7e68c20d13 100644 --- a/sound/soc/codecs/rt5682.c +++ b/sound/soc/codecs/rt5682.c @@ -6,6 +6,7 @@ // Author: Bard Liao // =20 +#include #include #include #include @@ -3125,7 +3126,7 @@ void rt5682_calibrate(struct rt5682_priv *rt5682) { int value, count; =20 - mutex_lock(&rt5682->calibrate_mutex); + guard(mutex)(&rt5682->calibrate_mutex); =20 rt5682_reset(rt5682); regmap_write(rt5682->regmap, RT5682_I2C_CTRL, 0x000f); @@ -3175,8 +3176,6 @@ void rt5682_calibrate(struct rt5682_priv *rt5682) regmap_write(rt5682->regmap, RT5682_CALIB_ADC_CTRL, 0x2005); regmap_write(rt5682->regmap, RT5682_STO1_ADC_MIXER, 0xc0c4); regmap_write(rt5682->regmap, RT5682_CAL_REC, 0x0c0c); - - mutex_unlock(&rt5682->calibrate_mutex); } EXPORT_SYMBOL_GPL(rt5682_calibrate); =20 diff --git a/sound/soc/codecs/rt5682s.c b/sound/soc/codecs/rt5682s.c index 3624067950c0..34997cfb465b 100644 --- a/sound/soc/codecs/rt5682s.c +++ b/sound/soc/codecs/rt5682s.c @@ -6,6 +6,7 @@ // Author: Derek Fang // =20 +#include #include #include #include @@ -648,7 +649,7 @@ static void rt5682s_sar_power_mode(struct snd_soc_compo= nent *component, int mode { struct rt5682s_priv *rt5682s =3D snd_soc_component_get_drvdata(component); =20 - mutex_lock(&rt5682s->sar_mutex); + guard(mutex)(&rt5682s->sar_mutex); =20 switch (mode) { case SAR_PWR_SAVING: @@ -695,8 +696,6 @@ static void rt5682s_sar_power_mode(struct snd_soc_compo= nent *component, int mode dev_err(component->dev, "Invalid SAR Power mode: %d\n", mode); break; } - - mutex_unlock(&rt5682s->sar_mutex); } =20 static void rt5682s_enable_push_button_irq(struct snd_soc_component *compo= nent) @@ -2534,7 +2533,7 @@ static int rt5682s_wclk_prepare(struct clk_hw *hw) if (!rt5682s_clk_check(rt5682s)) return -EINVAL; =20 - mutex_lock(&rt5682s->wclk_mutex); + guard(mutex)(&rt5682s->wclk_mutex); =20 snd_soc_component_update_bits(component, RT5682S_PWR_ANLG_1, RT5682S_PWR_VREF2 | RT5682S_PWR_FV2 | RT5682S_PWR_MB, @@ -2556,8 +2555,6 @@ static int rt5682s_wclk_prepare(struct clk_hw *hw) =20 rt5682s->wclk_enabled =3D 1; =20 - mutex_unlock(&rt5682s->wclk_mutex); - return 0; } =20 @@ -2570,7 +2567,7 @@ static void rt5682s_wclk_unprepare(struct clk_hw *hw) if (!rt5682s_clk_check(rt5682s)) return; =20 - mutex_lock(&rt5682s->wclk_mutex); + guard(mutex)(&rt5682s->wclk_mutex); =20 if (!rt5682s->jack_type) snd_soc_component_update_bits(component, RT5682S_PWR_ANLG_1, @@ -2585,8 +2582,6 @@ static void rt5682s_wclk_unprepare(struct clk_hw *hw) rt5682s_set_pllb_power(rt5682s, 0); =20 rt5682s->wclk_enabled =3D 0; - - mutex_unlock(&rt5682s->wclk_mutex); } =20 static unsigned long rt5682s_wclk_recalc_rate(struct clk_hw *hw, @@ -2997,7 +2992,7 @@ static void rt5682s_calibrate(struct rt5682s_priv *rt= 5682s) { unsigned int count, value; =20 - mutex_lock(&rt5682s->calibrate_mutex); + guard(mutex)(&rt5682s->calibrate_mutex); =20 regmap_write(rt5682s->regmap, RT5682S_PWR_ANLG_1, 0xaa80); usleep_range(15000, 20000); @@ -3034,8 +3029,6 @@ static void rt5682s_calibrate(struct rt5682s_priv *rt= 5682s) regmap_write(rt5682s->regmap, RT5682S_PWR_DIG_1, 0x00c0); regmap_write(rt5682s->regmap, RT5682S_PWR_ANLG_1, 0x0800); regmap_write(rt5682s->regmap, RT5682S_GLB_CLK, 0x0000); - - mutex_unlock(&rt5682s->calibrate_mutex); } =20 static const struct regmap_config rt5682s_regmap =3D { --=20 2.43.0 From nobody Sat Jul 25 00:54:32 2026 Received: from mail-pl1-f182.google.com (mail-pl1-f182.google.com [209.85.214.182]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 008C64C8FEA for ; Tue, 21 Jul 2026 10:29:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.182 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629764; cv=none; b=iVoL+RkjMblkp+k/EEO2ENGzbFbCFf479A/Z/EtddRGQt73ZQNzZa2oHMtr8aDEw4lhxHvKNX3hItnr54eLvFSVzGtf96I/T7sXUe3MkIf17mww96sevFsW8ztouxwAyFYNB6B0tw41CA6kauCd4VROGo4AjYD3LO8GKtdFyhKE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629764; c=relaxed/simple; bh=aakMWPqtzSC8d4xUEjViRQdNYsjBJ/WN5Zv10mvjTN0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=q/jCk7cqDZfhGbrVDG6kNjTql8rBVtOEHOUux+RbGyj9YK4zrzfIOUxMo3x52A1Vtt2dyRwFNU45ATyGULLtJq0c2PjvzaPPavy1GSzuZmmrzsoDNZEkKMgkAFbLpxmBOELGzee9lN8Pr0UYXZCIoc80GOG5tjcwC/yMQA9sNFo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=fW6Ip7tB; arc=none smtp.client-ip=209.85.214.182 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="fW6Ip7tB" Received: by mail-pl1-f182.google.com with SMTP id d9443c01a7336-2ceed7018c8so51070905ad.1 for ; Tue, 21 Jul 2026 03:29:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784629762; x=1785234562; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=Mg/gWaxirv5UsoAezn+cQqTNjJoliJnwtNunNsyjzH8=; b=fW6Ip7tBCcZrq+8wko4zjafSa3T/eOaI62j1RBlPmqhOAvXRxLYAR7UaGQO8i2iMKQ oWHOFH1kshkZ5eQtDSDRG3AIFLPqZNguuvEIty290Cip0xUw89vNG28Z6F+WE/RliQ7y srbOhw7L/n2JJV1BQw1NOKb4TZOhOA+NjKKTiFyyRVgjJjdalguMzWr6bUdVsiWJttNH 92pMMEy3dbaZpZOFIpJSwpgifww47bXO1GimNb2d5sBZXLIlPpAL65h/vOb+7S4etc8o JPNr8Dk/H6LvYQ7/YdRoaIZY0rSm6YGlsv44g+1bObwRFtZijn4G8N1yU18aYBu4M9Dd O8ww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784629762; x=1785234562; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=Mg/gWaxirv5UsoAezn+cQqTNjJoliJnwtNunNsyjzH8=; b=AoFDy8Jom+NAm8YXA6afu/S5/1dQLzCIny0c8cJAy3GNOtHU3hloWG/RLt4F4mM4P6 oouGLVWglF28fOpu2C6G5LQnZhzrLL6wTNCYinjQwQVEyA7BMPgpLFyKnWIy8SutBbeS 2vQ0IJ9opCNCfBVH2tGFAMW6UPJSkTFeCpO80R2hf8tGbsZZtb7gvgir117Ixbna+W7P wKJYd4mlchPlF5SSuIY17snrncy/njogTISXvG1S3HqAeKzkDUJoceazlva2wiWgZNL/ o1qpMtKptDQc3qlV9DZjfKqLySV2sKkbE13Cv4s5CbsQJdPAzSDEilNhbbmOw77xvcAC N2SA== X-Forwarded-Encrypted: i=1; AHgh+RpBW5xJDV9WdNyDHmQgN+6+4UC8IHSSDxqpMR0UbAnUf+U3SVgDRn8fZuF1jySKuRguZCsDZWnjK55ToW0=@vger.kernel.org X-Gm-Message-State: AOJu0YwyVNL5bJcvUI2nmNZ7nhNdrBBOaTIQwWtqcxeGVm8w4OdCaCGc zOrb5jkSeulc4bE/bA3TufJb4QrpReNRJR9ARIX3I/dhG4QDOPRiRLOs X-Gm-Gg: AR+sD10HgaZUc2aRNwJ7TxGJaw92vpsTSA5LUoKdkSEwobnFewJJM41/MQVy1pzllAQ BOZUyTVLHl7gdzxepemyr7U8UDiezEy0A+dmFpVXF2uzLLCrbAvxhJ9rZPl5LlENiNNdgp9RxiJ ykOxtCiHlCqBtDIm4xOCOuEZ1bekPjXGe5ff50Afam1Zw+iaEd5p0h63YmhpycNrbWwV1fLnV0Q tPBi4jD2pI9OqXp6LC/+1Bx3drawLcOkymKynZbsaLO0wXrFCVsG5ZrvW6JKY6PNA4OT0BabVFK CIzphM+aeBT8pMfg/dULVMhcKKNbSZuewDq0ozoFFW9Pdk+F3mCioY1R7ABgv5ZMoviRJQNHZh4 8VECNiffh7dEaOKenz/SuBqsDIJUrxFHxRh+SaJho/vzw/uxFt4sgZoVyH5Rv9xmH2chhOVKI08 2L0bwqMQru6kC+OTdfctcgwI/X3LCvFW7Sd2x1 X-Received: by 2002:a17:903:a90:b0:2ca:bf8e:35fe with SMTP id d9443c01a7336-2cf348917fcmr180302245ad.16.1784629762301; Tue, 21 Jul 2026 03:29:22 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2cf3448dac2sm73581365ad.3.2026.07.21.03.29.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 03:29:22 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , Takashi Iwai , Nick Li , Herve Codina Cc: Support Opensource , Liam Girdwood , Jaroslav Kysela , Srinivas Kandagatla , Charles Keepax , Richard Fitzgerald , Matthias Brugger , AngeloGioacchino Del Regno , Shenghao Ding , Kevin Lu , Baojun Xu , Sen Wang , Oder Chiou , Linus Walleij , Kuninori Morimoto , u.kleine-koenig@baylibre.com, Zhang Yi , Marco Crivellari , Kees Cook , HyeongJun An , Arnd Bergmann , Qianfeng Rong , linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, patches@opensource.cirrus.com, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, bui duc phuc Subject: [PATCH v4 23/29] ASoC: codecs: rt700: Use guard() for mutex locks Date: Tue, 21 Jul 2026 17:25:54 +0700 Message-ID: <20260721102600.523199-24-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260721102600.523199-1-phucduc.bui@gmail.com> References: <20260721102600.523199-1-phucduc.bui@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: bui duc phuc Clean up the code using guard() for mutex locks. Merely code refactoring, and no behavior change. Signed-off-by: bui duc phuc --- sound/soc/codecs/rt700-sdw.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/sound/soc/codecs/rt700-sdw.c b/sound/soc/codecs/rt700-sdw.c index bb449f08e30c..3ba0cc37acd9 100644 --- a/sound/soc/codecs/rt700-sdw.c +++ b/sound/soc/codecs/rt700-sdw.c @@ -6,6 +6,7 @@ // // =20 +#include #include #include #include @@ -415,12 +416,11 @@ static int rt700_interrupt_callback(struct sdw_slave = *slave, dev_dbg(&slave->dev, "%s control_port_stat=3D%x", __func__, status->control_port); =20 - mutex_lock(&rt700->disable_irq_lock); + guard(mutex)(&rt700->disable_irq_lock); if (status->control_port & 0x4 && !rt700->disable_irq) { mod_delayed_work(system_power_efficient_wq, &rt700->jack_detect_work, msecs_to_jiffies(250)); } - mutex_unlock(&rt700->disable_irq_lock); =20 return 0; } @@ -499,11 +499,11 @@ static int rt700_dev_system_suspend(struct device *de= v) * deferred work completes and before the parent disables * interrupts on the link */ - mutex_lock(&rt700->disable_irq_lock); - rt700->disable_irq =3D true; - ret =3D sdw_update_no_pm(slave, SDW_SCP_INTMASK1, - SDW_SCP_INT1_IMPL_DEF, 0); - mutex_unlock(&rt700->disable_irq_lock); + scoped_guard(mutex, &rt700->disable_irq_lock) { + rt700->disable_irq =3D true; + ret =3D sdw_update_no_pm(slave, SDW_SCP_INTMASK1, + SDW_SCP_INT1_IMPL_DEF, 0); + } =20 if (ret < 0) { /* log but don't prevent suspend from happening */ --=20 2.43.0 From nobody Sat Jul 25 00:54:32 2026 Received: from mail-pl1-f182.google.com (mail-pl1-f182.google.com [209.85.214.182]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 20CCB4C900E for ; Tue, 21 Jul 2026 10:29:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.182 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629773; cv=none; b=dmoUeNC5FYqYhjims9Ze7ys8vJ9NBiyyFwq+W0/edFh0qYulU8ywdKgjOMbCchX/s3isbOCVr5b62wL/EELwe+BpokyKoDNh4xfrLIVTniAxUl8dfSNnbCcLiaL8OG5/X5Qg5ojsMnoK6GUOC9Dl2YpvbOP+dBCWADV4oFVnoto= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629773; c=relaxed/simple; bh=j+cWvoKuW8r1iZFx5C4o6Qf9Khu9UBOxk+6Hcr5ZNQI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=EjPiuXY9Glnm2/g9/WBILouKt3o6y+r2yLnPVz3zv5NSz+cVnsZ8SiZWAklhHaiMJWUORIz088PxRJxhJQzog2G8lpH07ULi9sIYpNtZuZx8l5+z56NpbJoFLFadijVoMarRsZeaxHt3O8TPLi8Qee1z/kFOt6qAm3v1n7AZiIM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=YA76oH7B; arc=none smtp.client-ip=209.85.214.182 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="YA76oH7B" Received: by mail-pl1-f182.google.com with SMTP id d9443c01a7336-2ca64c3ce5fso127596625ad.3 for ; Tue, 21 Jul 2026 03:29:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784629770; x=1785234570; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=oPhO/s+nu5UxhSDYOLNe6C0ZQzan6vEsVi0GgxY87JQ=; b=YA76oH7B0yc0sAoRsOhsEZLD6Y8RYVi7KZ+G5gNxGQZrVGqA0REaER9kZtTKJoCXSP T3vAZyYuGdzWQERBkTanLYZ2g6jtPNrnYrjxHGxX0JOoW1OMDUZpfSt3upYaxNwZ8DQL /KQi3fsWo/6EWR0c24RkYGTHUOHl/9z4rOXKb3HNsvftI3F5I3OnyXv4SfNnYE4kLt/g H7f9cl6HdMb50uECBUSWWz9hibrneNd/4v5mpHIhcNmqle/JVMc+VKBM/lRF73ZxidhP o9psoOJ2nqoaHKGdpl0E6adzJoXKGp8w4jfsIonmW+dGERq8v/C0Bx5NmBNTHOD7+Qdz abow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784629770; x=1785234570; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=oPhO/s+nu5UxhSDYOLNe6C0ZQzan6vEsVi0GgxY87JQ=; b=mgqXcxxIu5HiJ3mo9FxFhv98u0aJpCyXHx+gbRJatjd1wtQIrac5p/RH5e5qXI5IUT nANsMRt3RFkH8rBKQyN8bpp/xGB5sVQSbZptX/A88+jeineLFh3bE6DBrdqIUxQT5BSi rDSU0yVBNx3rckyUz6umkIs9o7ZAxQTucaxTju/A8kdHMPRXqTjgQiGnCWbdoVD9snY/ MN3tid1FKbtwX69YZbg0a5CcXpEzMueYyFcHzxd41i5Wvtx2f8YU3+KZO7X9jxVMQgMY VC6HWKgJWfHmRITs8RYpceNE9VykYPUW3wd9OM45wm+pKh1yg/txBRNHg+fNcNu2RIQ8 JBbQ== X-Forwarded-Encrypted: i=1; AHgh+RpJA/WnFWVp1Dn0uoaGNjKNoUal3iym5H/89a9B1q8JvX9P4+0ilpGUNRro8ZEhqAh4sVjyR7IqJ9gEc/4=@vger.kernel.org X-Gm-Message-State: AOJu0YyrxoZVaMhyGiuJ0+UWrNfanSlxdvGy4zPq+t+pCkkp0zJ0Kbtk maN0cR399ykdDy05gawyG8fXoFssPxvI1Wwljr+KitltTPAKCqER+GdA X-Gm-Gg: AR+sD10w6t5W7ARLx55sqqbU6oOQSeud++dAt4lWR0kGCms5fcE+f2ovYoGjy5SxBqr sEKqMR9zHf/aSkA0Dm4ILr0fx4uiYjFpr1NsXvGX/QeLWqN4T4tvKtmTAp/bp2RRCr0gcW5fXWM eebjW92NVHRo8t94fWjqbNLYImw+QyPnlj5O6hhqqYLqRdouwFuK18vxSLzlTuQfevTjpp/Jdff q/v3eqnKLrh7769i198mHE9/dhmwb3GNElBW1puSFsvNBFxaWkqivuXs15Fj7kLUlUhqP5ikWpz ujgvyadTL+h8SHHlvddI7Vxlzku4Rso24NSX4Ix/L+Po/Wd+6hMrlWrOBrErbwufM9pgXwdrQ+j nQYXL4MBgNCCIpF/vAU8SvaqOJXkolzQU5UxHvowAtAwX8lPGfzkhNPG80a8/XDJ/LRKkXrEJTY yw7AiDzXUgH8ajVJqQCfMCy8ckh8NfeycHh1zr X-Received: by 2002:a17:902:e548:b0:2c9:e86e:aa0a with SMTP id d9443c01a7336-2cf34673ed1mr194644435ad.0.1784629770337; Tue, 21 Jul 2026 03:29:30 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2cf3448dac2sm73581365ad.3.2026.07.21.03.29.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 03:29:30 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , Takashi Iwai , Nick Li , Herve Codina Cc: Support Opensource , Liam Girdwood , Jaroslav Kysela , Srinivas Kandagatla , Charles Keepax , Richard Fitzgerald , Matthias Brugger , AngeloGioacchino Del Regno , Shenghao Ding , Kevin Lu , Baojun Xu , Sen Wang , Oder Chiou , Linus Walleij , Kuninori Morimoto , u.kleine-koenig@baylibre.com, Zhang Yi , Marco Crivellari , Kees Cook , HyeongJun An , Arnd Bergmann , Qianfeng Rong , linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, patches@opensource.cirrus.com, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, bui duc phuc Subject: [PATCH v4 24/29] ASoC: codecs: rt711: Use guard() for mutex locks Date: Tue, 21 Jul 2026 17:25:55 +0700 Message-ID: <20260721102600.523199-25-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260721102600.523199-1-phucduc.bui@gmail.com> References: <20260721102600.523199-1-phucduc.bui@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: bui duc phuc Clean up the code using guard() for mutex locks. Merely code refactoring, and no behavior change. Signed-off-by: bui duc phuc --- sound/soc/codecs/rt711-sdca-sdw.c | 29 ++++++++++-------- sound/soc/codecs/rt711-sdca.c | 5 ++-- sound/soc/codecs/rt711-sdw.c | 24 +++++++-------- sound/soc/codecs/rt711.c | 50 +++++++++++++++---------------- 4 files changed, 54 insertions(+), 54 deletions(-) diff --git a/sound/soc/codecs/rt711-sdca-sdw.c b/sound/soc/codecs/rt711-sdc= a-sdw.c index e028a1c3a9ac..e292b28b029e 100644 --- a/sound/soc/codecs/rt711-sdca-sdw.c +++ b/sound/soc/codecs/rt711-sdca-sdw.c @@ -6,6 +6,7 @@ // // =20 +#include #include #include #include @@ -415,13 +416,13 @@ static int rt711_sdca_dev_system_suspend(struct devic= e *dev) * deferred work completes and before the parent disables * interrupts on the link */ - mutex_lock(&rt711_sdca->disable_irq_lock); - rt711_sdca->disable_irq =3D true; - ret1 =3D sdw_update_no_pm(slave, SDW_SCP_SDCA_INTMASK1, - SDW_SCP_SDCA_INTMASK_SDCA_0, 0); - ret2 =3D sdw_update_no_pm(slave, SDW_SCP_SDCA_INTMASK2, - SDW_SCP_SDCA_INTMASK_SDCA_8, 0); - mutex_unlock(&rt711_sdca->disable_irq_lock); + scoped_guard(mutex, &rt711_sdca->disable_irq_lock) { + rt711_sdca->disable_irq =3D true; + ret1 =3D sdw_update_no_pm(slave, SDW_SCP_SDCA_INTMASK1, + SDW_SCP_SDCA_INTMASK_SDCA_0, 0); + ret2 =3D sdw_update_no_pm(slave, SDW_SCP_SDCA_INTMASK2, + SDW_SCP_SDCA_INTMASK_SDCA_8, 0); + } =20 if (ret1 < 0 || ret2 < 0) { /* log but don't prevent suspend from happening */ @@ -443,13 +444,15 @@ static int rt711_sdca_dev_resume(struct device *dev) return 0; =20 if (!slave->unattach_request) { - mutex_lock(&rt711->disable_irq_lock); - if (rt711->disable_irq =3D=3D true) { - sdw_write_no_pm(slave, SDW_SCP_SDCA_INTMASK1, SDW_SCP_SDCA_INTMASK_SDCA= _0); - sdw_write_no_pm(slave, SDW_SCP_SDCA_INTMASK2, SDW_SCP_SDCA_INTMASK_SDCA= _8); - rt711->disable_irq =3D false; + scoped_guard(mutex, &rt711->disable_irq_lock) { + if (rt711->disable_irq) { + sdw_write_no_pm(slave, SDW_SCP_SDCA_INTMASK1, + SDW_SCP_SDCA_INTMASK_SDCA_0); + sdw_write_no_pm(slave, SDW_SCP_SDCA_INTMASK2, + SDW_SCP_SDCA_INTMASK_SDCA_8); + rt711->disable_irq =3D false; + } } - mutex_unlock(&rt711->disable_irq_lock); } =20 ret =3D sdw_slave_wait_for_init(slave, RT711_PROBE_TIMEOUT); diff --git a/sound/soc/codecs/rt711-sdca.c b/sound/soc/codecs/rt711-sdca.c index 3a26c782d800..9781f289f8ad 100644 --- a/sound/soc/codecs/rt711-sdca.c +++ b/sound/soc/codecs/rt711-sdca.c @@ -6,6 +6,7 @@ // // =20 +#include #include #include #include @@ -450,7 +451,7 @@ static void rt711_sdca_btn_check_handler(struct work_st= ruct *work) =20 static void rt711_sdca_jack_init(struct rt711_sdca_priv *rt711) { - mutex_lock(&rt711->calibrate_mutex); + guard(mutex)(&rt711->calibrate_mutex); =20 if (rt711->hs_jack) { /* Enable HID1 event & set button RTC mode */ @@ -515,8 +516,6 @@ static void rt711_sdca_jack_init(struct rt711_sdca_priv= *rt711) =20 dev_dbg(&rt711->slave->dev, "in %s disable\n", __func__); } - - mutex_unlock(&rt711->calibrate_mutex); } =20 static int rt711_sdca_set_jack_detect(struct snd_soc_component *component, diff --git a/sound/soc/codecs/rt711-sdw.c b/sound/soc/codecs/rt711-sdw.c index a0c6a9efa840..4ad2b1da1954 100644 --- a/sound/soc/codecs/rt711-sdw.c +++ b/sound/soc/codecs/rt711-sdw.c @@ -6,6 +6,7 @@ // // =20 +#include #include #include #include @@ -422,12 +423,11 @@ static int rt711_interrupt_callback(struct sdw_slave = *slave, dev_dbg(&slave->dev, "%s control_port_stat=3D%x", __func__, status->control_port); =20 - mutex_lock(&rt711->disable_irq_lock); + guard(mutex)(&rt711->disable_irq_lock); if (status->control_port & 0x4 && !rt711->disable_irq) { mod_delayed_work(system_power_efficient_wq, &rt711->jack_detect_work, msecs_to_jiffies(250)); } - mutex_unlock(&rt711->disable_irq_lock); =20 return 0; } @@ -509,11 +509,11 @@ static int rt711_dev_system_suspend(struct device *de= v) * deferred work completes and before the parent disables * interrupts on the link */ - mutex_lock(&rt711->disable_irq_lock); - rt711->disable_irq =3D true; - ret =3D sdw_update_no_pm(slave, SDW_SCP_INTMASK1, - SDW_SCP_INT1_IMPL_DEF, 0); - mutex_unlock(&rt711->disable_irq_lock); + scoped_guard(mutex, &rt711->disable_irq_lock) { + rt711->disable_irq =3D true; + ret =3D sdw_update_no_pm(slave, SDW_SCP_INTMASK1, + SDW_SCP_INT1_IMPL_DEF, 0); + } =20 if (ret < 0) { /* log but don't prevent suspend from happening */ @@ -535,12 +535,12 @@ static int rt711_dev_resume(struct device *dev) return 0; =20 if (!slave->unattach_request) { - mutex_lock(&rt711->disable_irq_lock); - if (rt711->disable_irq =3D=3D true) { - sdw_write_no_pm(slave, SDW_SCP_INTMASK1, SDW_SCP_INT1_IMPL_DEF); - rt711->disable_irq =3D false; + scoped_guard(mutex, &rt711->disable_irq_lock) { + if (rt711->disable_irq) { + sdw_write_no_pm(slave, SDW_SCP_INTMASK1, SDW_SCP_INT1_IMPL_DEF); + rt711->disable_irq =3D false; + } } - mutex_unlock(&rt711->disable_irq_lock); } =20 ret =3D sdw_slave_wait_for_init(slave, RT711_PROBE_TIMEOUT); diff --git a/sound/soc/codecs/rt711.c b/sound/soc/codecs/rt711.c index 5dbe9b67703e..3e49c3d0f25b 100644 --- a/sound/soc/codecs/rt711.c +++ b/sound/soc/codecs/rt711.c @@ -6,6 +6,7 @@ // // =20 +#include #include #include #include @@ -89,24 +90,24 @@ static int rt711_calibration(struct rt711_priv *rt711) struct regmap *regmap =3D rt711->regmap; int ret =3D 0; =20 - mutex_lock(&rt711->calibrate_mutex); + guard(mutex)(&rt711->calibrate_mutex); regmap_write(rt711->regmap, - RT711_SET_AUDIO_POWER_STATE, AC_PWRST_D0); + RT711_SET_AUDIO_POWER_STATE, AC_PWRST_D0); =20 dev =3D regmap_get_device(regmap); =20 /* Calibration manual mode */ rt711_index_update_bits(regmap, RT711_VENDOR_REG, RT711_FSM_CTL, - 0xf, 0x0); + 0xf, 0x0); =20 /* trigger */ rt711_index_update_bits(regmap, RT711_VENDOR_CALI, - RT711_DAC_DC_CALI_CTL1, RT711_DAC_DC_CALI_TRIGGER, - RT711_DAC_DC_CALI_TRIGGER); + RT711_DAC_DC_CALI_CTL1, RT711_DAC_DC_CALI_TRIGGER, + RT711_DAC_DC_CALI_TRIGGER); =20 /* wait for calibration process */ rt711_index_read(regmap, RT711_VENDOR_CALI, - RT711_DAC_DC_CALI_CTL1, &val); + RT711_DAC_DC_CALI_CTL1, &val); =20 while (val & RT711_DAC_DC_CALI_TRIGGER) { if (loop >=3D 500) { @@ -119,16 +120,15 @@ static int rt711_calibration(struct rt711_priv *rt711) =20 usleep_range(10000, 11000); rt711_index_read(regmap, RT711_VENDOR_CALI, - RT711_DAC_DC_CALI_CTL1, &val); + RT711_DAC_DC_CALI_CTL1, &val); } =20 /* depop mode */ rt711_index_update_bits(regmap, RT711_VENDOR_REG, - RT711_FSM_CTL, 0xf, RT711_DEPOP_CTL); + RT711_FSM_CTL, 0xf, RT711_DEPOP_CTL); =20 regmap_write(rt711->regmap, - RT711_SET_AUDIO_POWER_STATE, AC_PWRST_D3); - mutex_unlock(&rt711->calibrate_mutex); + RT711_SET_AUDIO_POWER_STATE, AC_PWRST_D3); =20 dev_dbg(dev, "%s calibration complete, ret=3D%d\n", __func__, ret); return ret; @@ -362,24 +362,24 @@ static void rt711_jack_init(struct rt711_priv *rt711) { struct snd_soc_dapm_context *dapm =3D snd_soc_component_to_dapm(rt711->co= mponent); =20 - mutex_lock(&rt711->calibrate_mutex); + guard(mutex)(&rt711->calibrate_mutex); /* power on */ if (snd_soc_dapm_get_bias_level(dapm) <=3D SND_SOC_BIAS_STANDBY) regmap_write(rt711->regmap, - RT711_SET_AUDIO_POWER_STATE, AC_PWRST_D0); + RT711_SET_AUDIO_POWER_STATE, AC_PWRST_D0); =20 if (rt711->hs_jack) { /* unsolicited response & IRQ control */ regmap_write(rt711->regmap, - RT711_SET_MIC2_UNSOLICITED_ENABLE, 0x82); + RT711_SET_MIC2_UNSOLICITED_ENABLE, 0x82); regmap_write(rt711->regmap, - RT711_SET_HP_UNSOLICITED_ENABLE, 0x81); + RT711_SET_HP_UNSOLICITED_ENABLE, 0x81); regmap_write(rt711->regmap, - RT711_SET_INLINE_UNSOLICITED_ENABLE, 0x83); + RT711_SET_INLINE_UNSOLICITED_ENABLE, 0x83); rt711_index_write(rt711->regmap, RT711_VENDOR_REG, - 0x10, 0x2420); + 0x10, 0x2420); rt711_index_write(rt711->regmap, RT711_VENDOR_REG, - 0x19, 0x2e11); + 0x19, 0x2e11); =20 switch (rt711->jd_src) { case RT711_JD1: @@ -449,8 +449,7 @@ static void rt711_jack_init(struct rt711_priv *rt711) /* power off */ if (snd_soc_dapm_get_bias_level(dapm) <=3D SND_SOC_BIAS_STANDBY) regmap_write(rt711->regmap, - RT711_SET_AUDIO_POWER_STATE, AC_PWRST_D3); - mutex_unlock(&rt711->calibrate_mutex); + RT711_SET_AUDIO_POWER_STATE, AC_PWRST_D3); } =20 static int rt711_set_jack_detect(struct snd_soc_component *component, @@ -511,7 +510,7 @@ static int rt711_set_amp_gain_put(struct snd_kcontrol *= kcontrol, unsigned int read_ll, read_rl; int i; =20 - mutex_lock(&rt711->calibrate_mutex); + guard(mutex)(&rt711->calibrate_mutex); =20 /* Can't use update bit function, so read the original value first */ addr_h =3D mc->reg; @@ -599,7 +598,6 @@ static int rt711_set_amp_gain_put(struct snd_kcontrol *= kcontrol, regmap_write(rt711->regmap, RT711_SET_AUDIO_POWER_STATE, AC_PWRST_D3); =20 - mutex_unlock(&rt711->calibrate_mutex); return 0; } =20 @@ -908,11 +906,11 @@ static int rt711_set_bias_level(struct snd_soc_compon= ent *component, break; =20 case SND_SOC_BIAS_STANDBY: - mutex_lock(&rt711->calibrate_mutex); - regmap_write(rt711->regmap, - RT711_SET_AUDIO_POWER_STATE, - AC_PWRST_D3); - mutex_unlock(&rt711->calibrate_mutex); + scoped_guard(mutex, &rt711->calibrate_mutex) { + regmap_write(rt711->regmap, + RT711_SET_AUDIO_POWER_STATE, + AC_PWRST_D3); + } break; =20 default: --=20 2.43.0 From nobody Sat Jul 25 00:54:32 2026 Received: from mail-pl1-f178.google.com (mail-pl1-f178.google.com [209.85.214.178]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0445E4D2EE0 for ; Tue, 21 Jul 2026 10:29:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.178 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629780; cv=none; b=mfMJcu/IqIP7iCRqd/9c32re1FPTjBxyGyCpeQPwmLmlCswbwMKee5vX30udcThSkrZVJ6oKwXmlzuqCaIQjEfUU7I9GMQj8qknjMOB8dcdB0uERY9BzeYwl05mEHHDxYaq4IV4Z6FUtylAxeGARqkQXb/XpNZvN+VtZkbF1iqw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629780; c=relaxed/simple; bh=JkKJDmoLbog9GfIGwCgHrsQ72mgnJ2mrZPApTjRRwPw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Ar3PCK8LIvKKeWBQAxHH2LYhVzycyaKvMzAoRwQB0jHyvtE/7ylfWj+jp/5Ko/mu3DrTvGsl05FbUoGnggKCwWawzXrdIpqoPtoWvSaXB8KOTdt1rrgbwXgNvwF2JjEVBENZIzWHL8iigU3/RLbJHNRn7ykNaa1+t9hVyvsz6Ds= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=KE7iRgsC; arc=none smtp.client-ip=209.85.214.178 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="KE7iRgsC" Received: by mail-pl1-f178.google.com with SMTP id d9443c01a7336-2ccf2360620so70686235ad.3 for ; Tue, 21 Jul 2026 03:29:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784629778; x=1785234578; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=jcQ5JWQsS2P0sxTuodtPBzE3B+AxVvQ7Jj0tVbKvuKE=; b=KE7iRgsCPdQv2M4Iv7+IjZGuJh1eGNc6UGsxrXQlmgGd0ub2uNSBq6zxMaG8VckMWE gaZejHcXWMIa/Oik333EoOBSIh79iSW6eXJRm6kbh86g9Pfk8ET7cqz0qTZwqrRboDMG 8+zv3ZYMZrqwrUwXWAQwvbg1VcNZg1BvJd7ZwKkJ/YIcard3GoDLg51ISGe7sVQKObQD hcqJcEaASX4jnJGE8elOZc0w8BkCAAQXKQ5XrD7E8SgT6XpUm4JNsNNKQnCnma8nGCsJ HJVDLqXT7ITseXqByPQ5W48gBGgfxpsskaFIg7PJ1HwIM5MvggRGM8PLS2CScKrbCfDk UQFg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784629778; x=1785234578; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=jcQ5JWQsS2P0sxTuodtPBzE3B+AxVvQ7Jj0tVbKvuKE=; b=mINqA88G5OwJ1dIdhJO2XLajnajjJ/8WyYNvv+zk7Bo+BO1guKA11P7yAGwFMpRSxl uCwTFVgyQG7+D294Jc+IESB0Q+VaaRLM3bodvA9qqbURzreF64oL8TE+EZ0byDW42pXG yajYFhTmT7gb9XwDEFRpKfz3UL/gX9Im+RLYaMgL/vBQN/MEuMSlVVi+SGlEIH24MWi0 Wo7UpLG/UWYvKwAcg0sjgYGrBZhD5Yy3INboB8QOcuoqSX92iVoyiNlchlZH4HiECKlS fo30xc+A+jtnSFq6lfl9dJEozY7oV4XgBh3gIhnF46WH5/UZZC38pEYJUKBk7fP/nX4z F8oA== X-Forwarded-Encrypted: i=1; AHgh+Ro4hvt1CNS3EOU8B4KjISk21VavHGFn2HCR68C7lYYte8Nm2lsLn5PjdBKdIPM2LklrCHvMgaaDDo106lw=@vger.kernel.org X-Gm-Message-State: AOJu0YxzmLa5dbZkW/nMU89ywT599lRXs//oXEFHbky7w7vcL33AaLH3 oqrsYR1gd2GLrtHs2VraVXmoFoHv1+COb2thl2SSScR1clhKHsHIt0sZ X-Gm-Gg: AR+sD10YR21vLddEB1rKB1XhnbEkq62Zx54Wc569VDXwa8h8GZf4heHtGnc+6aC5H+S 5Prf4AGZ1mRtqiNPPtqMFUnJHDkJX6HxOGdf/h4SqLBIOwCCxjNflhouOMJHuyjlAYUnfWnnB8c HcI6THQS+rNmbrkFMwfVeFsIG/WrxZYoU87dmFnF44PTH9SiTzljleai8e2Zng0uZ+m17pmXoSO g8FC8HYuMbp1KOMFTIDIdIERjtoMZGPTyx8mccp5v4NQoilBBMSZo+wC7CKinxtBeuUXn+YIBgY SDoYDVkQpnLwNMkW+KSPc/WnNN04SCYiyUB2pXa5yDLR58DoPYE1j6m2cVAYAkQR68ERrZFebCS ZxpTY5PRSt10f5851VgY1RfjSCniWYwl94FEqajRtUO7oUj+YWjUPIZBrXnuXfUHlGq7BD7izOo zahkDDP0ulc0D5zwv7EuIWAYRWOILDqxQ3lF8e X-Received: by 2002:a17:903:2acc:b0:2cf:7ffb:82aa with SMTP id d9443c01a7336-2cf7ffb8d74mr33781705ad.45.1784629778363; Tue, 21 Jul 2026 03:29:38 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2cf3448dac2sm73581365ad.3.2026.07.21.03.29.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 03:29:37 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , Takashi Iwai , Nick Li , Herve Codina Cc: Support Opensource , Liam Girdwood , Jaroslav Kysela , Srinivas Kandagatla , Charles Keepax , Richard Fitzgerald , Matthias Brugger , AngeloGioacchino Del Regno , Shenghao Ding , Kevin Lu , Baojun Xu , Sen Wang , Oder Chiou , Linus Walleij , Kuninori Morimoto , u.kleine-koenig@baylibre.com, Zhang Yi , Marco Crivellari , Kees Cook , HyeongJun An , Arnd Bergmann , Qianfeng Rong , linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, patches@opensource.cirrus.com, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, bui duc phuc Subject: [PATCH v4 25/29] ASoC: codecs: rt712-sdca-sdw: Simplify regcache error handling in resume Date: Tue, 21 Jul 2026 17:25:56 +0700 Message-ID: <20260721102600.523199-26-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260721102600.523199-1-phucduc.bui@gmail.com> References: <20260721102600.523199-1-phucduc.bui@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: bui duc phuc Calling regcache_mark_dirty() on error is redundant as regcache_sync() retains dirty state on failure, and any write in cache_only mode marks the cache dirty anyway. Restore cache_only directly on error for active regmaps and drop the redundant regcache_mark_dirty() calls. This also removes goto labels to prepare for guard cleanup. Signed-off-by: bui duc phuc --- sound/soc/codecs/rt712-sdca-sdw.c | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/sound/soc/codecs/rt712-sdca-sdw.c b/sound/soc/codecs/rt712-sdc= a-sdw.c index ebdf7b308331..e23501ed87a7 100644 --- a/sound/soc/codecs/rt712-sdca-sdw.c +++ b/sound/soc/codecs/rt712-sdca-sdw.c @@ -473,22 +473,20 @@ static int rt712_sdca_dev_resume(struct device *dev) =20 regcache_cache_only(rt712->regmap, false); ret =3D regcache_sync(rt712->regmap); - if (ret) - goto err_sync; + if (ret) { + regcache_cache_only(rt712->regmap, true); + return ret; + } =20 regcache_cache_only(rt712->mbq_regmap, false); ret =3D regcache_sync(rt712->mbq_regmap); - if (ret) - goto err_sync; + if (ret) { + regcache_cache_only(rt712->mbq_regmap, true); + regcache_cache_only(rt712->regmap, true); + return ret; + } =20 return 0; - -err_sync: - regcache_cache_only(rt712->regmap, true); - regcache_cache_only(rt712->mbq_regmap, true); - regcache_mark_dirty(rt712->regmap); - regcache_mark_dirty(rt712->mbq_regmap); - return ret; } =20 static const struct dev_pm_ops rt712_sdca_pm =3D { --=20 2.43.0 From nobody Sat Jul 25 00:54:32 2026 Received: from mail-pl1-f180.google.com (mail-pl1-f180.google.com [209.85.214.180]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 35F8A4195DC for ; Tue, 21 Jul 2026 10:29:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.180 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629789; cv=none; b=MzpB4RVnccN/ZLPftGy0YIVfCctNq//qzMQzLZC/PF37indKcf4M/PfS9WFOdlUoVvHQy1lJb8g5qciDyfjK7hCWRWtWUAaU0zOsjib7KwS6bYBDrHcPBUtXkSKGvTCDp7Fd7qDlAtGQbWGRjCO33ZE+94Ql1lydgwEdUuhYcVM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629789; c=relaxed/simple; bh=8F9X1MduGNHr+4W/gnNomvdCKgWHsQzUoZZo1MszsZM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=FwHiYP+3QTOFcM5hg/JtHdO1hLdA+zMqBDKc2qtZaVB5mDPFgNdT6yKGCZFerjTByaRzKltOkePcqFkey7kx9lIFu0wHNGpjSdLJTnNVpLOcUQuMJPLn/pBxGY7ziaWJWQMAEdfk77Plzz/dbNJfMJwXnlXDf6eYsjkRRXnoUhg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=co/rxicp; arc=none smtp.client-ip=209.85.214.180 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="co/rxicp" Received: by mail-pl1-f180.google.com with SMTP id d9443c01a7336-2cc97653887so121259865ad.1 for ; Tue, 21 Jul 2026 03:29:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784629787; x=1785234587; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=lO6f51j8XQ2LkBzH9pjltC7krTy+qWIB9damC+nLnm8=; b=co/rxicpSp8GWcpqH8wg39FEytFxMeF37wIVY5qmVbKwXNb0i/BtY5mYv2y61KcjuF EEVDVuEi8DIzlgEE3rbSEU8PxGDmF1elGlg+BBvOMEPP+fPJipy7Jsu4jzEGlUcYNgJW v0LRzRhhBB/GHdCM6xh0J/vOPwKs+lesId7bEmt5nuRO4+3Y7xS+HVp60w7V5jJeSVzJ F2iKTVFZbU67ASY8KKJLqt8PXNY7YbUC74mTt8s2Fvh7ZDRUFF/XJIIaeWJcFZMGab/T jfqSqyDlHQdW44e0UXk00rgNlrYQIhCwwkKx7hg4uu3ymBCQ6UfJFc4kACgvUiE0+miL xwzg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784629787; x=1785234587; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=lO6f51j8XQ2LkBzH9pjltC7krTy+qWIB9damC+nLnm8=; b=QcOXK0OOLPMPwVDkaPnXhJ8CBzp9i30S8W/W5fz97PrRPDJ1LYMrjvz+Y30gJvDoKl 6oXF2ghTuV2m4L6QmHXyV3Oc/vfG41vl3yqFnLGV7FRoxZHja8dJIt/ib4Do3JkcTcls 3KcXr34ATCc6neG9I7AelUwYR26Cc8xibIMWQYg1I6eS5acxZL4owhHerZO2N9Px1HHh nzk929PJtjXgMTFnfrK8ifTdAYkYhcQYfOMeyS1rAX3gVMATRKACPnDOnFzYfFRtDvyJ vEGyKnx9ZCj1lzQs7cwXw0W70k23NCBRtnslngeiOQPIJl8Fm+RyEW2krKSNR+FUfqNH W9lA== X-Forwarded-Encrypted: i=1; AHgh+RpuDF8x44UYxAfvvJv3LxwlAgwrCCG0IXVGszNREZFFYzJB5G8UOC0UwyAMYlzH3c73IFkJR5ZrGVarDTo=@vger.kernel.org X-Gm-Message-State: AOJu0Yxcb/KFjF3Yk9UBcPh+a5tfYbEV6ee0dHTYrmApGqdszQB3LR99 siZ5jZ8iDkcwG39Ts46ZHE/7auxV9L68Xb7Bdromee6AQnW9VbB99H3b X-Gm-Gg: AR+sD111QI91tTZJBL+RtfI7EsW+YidEvDxLWuURJv8sPQr/B8v5NyEqI04Gqey5tTS tCS75lt5Eko2ovcsPWHgvlf2SOWM531zGTieOdo+3k1TJFYf9Bf9+0a4dhfrhPHjFzD9Ylb6iGM 3EmO9lrzf9DDCIEEAGvvadqvIzQ3T9iJlvqM+86cUqpTmo92QPOgQwv6dTXw1vUV+SwPXlrm9km aECbgFiw7XEO9Kr0bVT81sYgL3WvfbTj5M2XupPripWZHIoJG2A59CS8mjbeJmMOJRb+ASVHDc7 Ow8QhF2spNT2tG3qH/t2HkP81/PVLbGx1fy0p3n+1j0Ilzt6rbh0vkFi5cwUXR0oUjftK3tIIf8 Cu8CsedkzEvoySRlNV4bjUdb3/uHkhyEOoWdPgAy0cazlwMs3v29GHk5gInOCFqSy/9uJn+e266 ESgj0u1z8gGXDlC9T0RtDHVyCaRxfk3oC/f7El X-Received: by 2002:a17:903:3d0e:b0:2cf:6dba:b294 with SMTP id d9443c01a7336-2cf6dbab68emr73742545ad.22.1784629787546; Tue, 21 Jul 2026 03:29:47 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2cf3448dac2sm73581365ad.3.2026.07.21.03.29.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 03:29:47 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , Takashi Iwai , Nick Li , Herve Codina Cc: Support Opensource , Liam Girdwood , Jaroslav Kysela , Srinivas Kandagatla , Charles Keepax , Richard Fitzgerald , Matthias Brugger , AngeloGioacchino Del Regno , Shenghao Ding , Kevin Lu , Baojun Xu , Sen Wang , Oder Chiou , Linus Walleij , Kuninori Morimoto , u.kleine-koenig@baylibre.com, Zhang Yi , Marco Crivellari , Kees Cook , HyeongJun An , Arnd Bergmann , Qianfeng Rong , linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, patches@opensource.cirrus.com, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, bui duc phuc Subject: [PATCH v4 26/29] ASoC: codecs: rt712: Use guard() for mutex locks Date: Tue, 21 Jul 2026 17:25:57 +0700 Message-ID: <20260721102600.523199-27-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260721102600.523199-1-phucduc.bui@gmail.com> References: <20260721102600.523199-1-phucduc.bui@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: bui duc phuc Clean up the code using guard() for mutex locks. Merely code refactoring, and no behavior change. Signed-off-by: bui duc phuc --- sound/soc/codecs/rt712-sdca-sdw.c | 30 ++++++++++++++++-------------- sound/soc/codecs/rt712-sdca.c | 5 ++--- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/sound/soc/codecs/rt712-sdca-sdw.c b/sound/soc/codecs/rt712-sdc= a-sdw.c index e23501ed87a7..c50e74e20a88 100644 --- a/sound/soc/codecs/rt712-sdca-sdw.c +++ b/sound/soc/codecs/rt712-sdca-sdw.c @@ -6,6 +6,7 @@ // // =20 +#include #include #include #include @@ -427,13 +428,13 @@ static int rt712_sdca_dev_system_suspend(struct devic= e *dev) * deferred work completes and before the parent disables * interrupts on the link */ - mutex_lock(&rt712_sdca->disable_irq_lock); - rt712_sdca->disable_irq =3D true; - ret1 =3D sdw_update_no_pm(slave, SDW_SCP_SDCA_INTMASK1, - SDW_SCP_SDCA_INTMASK_SDCA_0, 0); - ret2 =3D sdw_update_no_pm(slave, SDW_SCP_SDCA_INTMASK2, - SDW_SCP_SDCA_INTMASK_SDCA_8, 0); - mutex_unlock(&rt712_sdca->disable_irq_lock); + scoped_guard(mutex, &rt712_sdca->disable_irq_lock) { + rt712_sdca->disable_irq =3D true; + ret1 =3D sdw_update_no_pm(slave, SDW_SCP_SDCA_INTMASK1, + SDW_SCP_SDCA_INTMASK_SDCA_0, 0); + ret2 =3D sdw_update_no_pm(slave, SDW_SCP_SDCA_INTMASK2, + SDW_SCP_SDCA_INTMASK_SDCA_8, 0); + } =20 if (ret1 < 0 || ret2 < 0) { /* log but don't prevent suspend from happening */ @@ -455,14 +456,15 @@ static int rt712_sdca_dev_resume(struct device *dev) return 0; =20 if (!slave->unattach_request) { - mutex_lock(&rt712->disable_irq_lock); - if (rt712->disable_irq =3D=3D true) { - - sdw_write_no_pm(slave, SDW_SCP_SDCA_INTMASK1, SDW_SCP_SDCA_INTMASK_SDCA= _0); - sdw_write_no_pm(slave, SDW_SCP_SDCA_INTMASK2, SDW_SCP_SDCA_INTMASK_SDCA= _8); - rt712->disable_irq =3D false; + scoped_guard(mutex, &rt712->disable_irq_lock) { + if (rt712->disable_irq) { + sdw_write_no_pm(slave, SDW_SCP_SDCA_INTMASK1, + SDW_SCP_SDCA_INTMASK_SDCA_0); + sdw_write_no_pm(slave, SDW_SCP_SDCA_INTMASK2, + SDW_SCP_SDCA_INTMASK_SDCA_8); + rt712->disable_irq =3D false; + } } - mutex_unlock(&rt712->disable_irq_lock); } =20 ret =3D sdw_slave_wait_for_init(slave, RT712_PROBE_TIMEOUT); diff --git a/sound/soc/codecs/rt712-sdca.c b/sound/soc/codecs/rt712-sdca.c index d6353af07380..2218f9918ae3 100644 --- a/sound/soc/codecs/rt712-sdca.c +++ b/sound/soc/codecs/rt712-sdca.c @@ -7,6 +7,7 @@ // =20 #include +#include #include #include #include @@ -403,7 +404,7 @@ static void rt712_sdca_btn_check_handler(struct work_st= ruct *work) =20 static void rt712_sdca_jack_init(struct rt712_sdca_priv *rt712) { - mutex_lock(&rt712->calibrate_mutex); + guard(mutex)(&rt712->calibrate_mutex); =20 if (rt712->hs_jack) { /* Enable HID1 event & set button RTC mode */ @@ -450,8 +451,6 @@ static void rt712_sdca_jack_init(struct rt712_sdca_priv= *rt712) =20 dev_dbg(&rt712->slave->dev, "in %s disable\n", __func__); } - - mutex_unlock(&rt712->calibrate_mutex); } =20 static int rt712_sdca_set_jack_detect(struct snd_soc_component *component, --=20 2.43.0 From nobody Sat Jul 25 00:54:32 2026 Received: from mail-pl1-f182.google.com (mail-pl1-f182.google.com [209.85.214.182]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DF609481A87 for ; Tue, 21 Jul 2026 10:29:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.182 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629799; cv=none; b=SfaUlRLoWOthwGvBamLkwqSArS41ZwokrowizCJbNl+PMBVwvfuSmbdPXLpzy4wvyo8NITBxKz3K2WriOUxOta8Rq0RI7iBLRpgSBKqeZv5Ccs2/mHzwIOMSLd0V5nCZ3FIV/lODyAWVCneZ3Zc/IN15KZCHqiDauuHmGBSMfkw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629799; c=relaxed/simple; bh=qbBdxV0HbQfAJ4j0QSXdXWta72IP+0GjR3MdtixOid8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=vAk3mQVA4vW8P7jbhjMFFN9Ngz0FrDvafor4HbtjZB9jFpKlriRRRfT6sZMt/OprICR4mHhzY/QOZ1fvCXMimk6wiZ4tg+QpQZ/AwtYkw3Tu4HAtsWi+4scjxFkcmfZXiRP/e8A2WeIANSRnPRHMTtD8nvSYM1GAuLwy8xV5/vE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=I/k1uNWV; arc=none smtp.client-ip=209.85.214.182 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="I/k1uNWV" Received: by mail-pl1-f182.google.com with SMTP id d9443c01a7336-2ced3386430so74025255ad.1 for ; Tue, 21 Jul 2026 03:29:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784629795; x=1785234595; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=/AG1aLLSk1A+OF1XRTr/NNeiulfMJPmRiCY4S1R09y4=; b=I/k1uNWVH5bx1Odd8iRFccgm4A6WbnVMOknhzGRa63q7qcK2cQkLArByiJQ6FC2XBY G3aRGP4Eo3U8/v97X1xIy6+3VsI81Sqj+jlBPjWMRc38xFtI/FZGOh3KRnieDsZ6Fs2i BpOdps/Y9WYDVq24fDWvdeJA5ZMySCNuAWOx8MaW2MkDvKRUo7B+JNwtIOZONuSN84gc HWevKD9PSyv8ye/688L+zEAcmOhGcu1g9CBwaT4yhCQ09dkpbjeLx/cDE83LeB9/reOG SW6P/eHst+i1EDolBfcShoxKGSk9aX3caohHac9Z77XwlgzIDtwIqCCvuJ1gUZpBw8fE FXTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784629795; x=1785234595; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=/AG1aLLSk1A+OF1XRTr/NNeiulfMJPmRiCY4S1R09y4=; b=DAA/0xOyd4iRiNrBuWoU2gpC+lliC+KLdgbB3VQ4YLBhs/LlRfMs8gCf8FECo6JI8y sF7HokQRc9F4XfJXtUlUMzTVbbN2aH4PROZUXi+MpixQenM3reKgd66cq2T6y3Ng9i+4 zDjLvZuXnZa+YRTvtCLEa7Nlf97RIOBb1frQdLVNvbnGNfbUuz+csTT49ZJsWVX74hmg 0L8uwiaXDHsdER3lNjEDRVBqi33eZGgcCx+bHSooHGa1cSzjucjgnbqwQm7krlB2XRgd 9/2LzPeTWguAY6uhrtSzlMDM7Kz5nlCBUNv+VtJLPlzNdczCnrgL4jxLZZMJ+DPHzOhT aK7w== X-Forwarded-Encrypted: i=1; AHgh+RpSBGqoGeHm1mHCENKC/4gQtKYQnqrMKTPlhV3v728DKjYqx5WN+e7Ny1tyDAUGVaRcJGxQlZu+33sgbFg=@vger.kernel.org X-Gm-Message-State: AOJu0YxzkZZP8wLxBM+nFJgp+A8o0ld/S6/fCum8gkziMYsM45pjfCBg lDfA0PpQLQFx4YsPfeoJd3lS1crKQjvN8a2LwSUwWT51CRflElSeaq8I X-Gm-Gg: AR+sD1298fZakT04oQNTnK1BXuJ/zvtybGrcMn0D4WCSBwNIJ8s6RDxwB+/6arDC1Xc OVX6BOEhbphjZ6TCeK0nYfiF/mIsDZfl1r1+vKO8Bw2jYkfSlc8Lz+6zT1hxhJoibpDL/ta60UZ 8sfUhkqaIDk9BDhm2TBr1hbpztYwJHH/szx7GDn+Au1KLVfLkgW442RR3eHr6p3+TQPFRgvJ+Fr AdOwxllYzgzZvKwWPjZPHnb7CGqHxfA3NMscZN9VtSLLAdRhbT0/qVERhQQlX/ciGkHuGRkTLK9 PbzYee2s2zuTV/DTGLl0u41gZbvt8BczGP17JKKAqUmi8B/ozaEi3+dgXb0TLIZZNf7ZHAt2GCT HsLp8fHDQ+IKP8TdONf3A4tXrgFgliKzwxHUaTFES7m74bn76IMioHivytbbmosu206Fbf5uIK5 A7l5jIWR5iMTTX7bURalkwAWAztDSCCU+FOTxW X-Received: by 2002:a17:903:2f8c:b0:2c0:b6c7:2271 with SMTP id d9443c01a7336-2cf348047e3mr198541925ad.4.1784629795303; Tue, 21 Jul 2026 03:29:55 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2cf3448dac2sm73581365ad.3.2026.07.21.03.29.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 03:29:55 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , Takashi Iwai , Nick Li , Herve Codina Cc: Support Opensource , Liam Girdwood , Jaroslav Kysela , Srinivas Kandagatla , Charles Keepax , Richard Fitzgerald , Matthias Brugger , AngeloGioacchino Del Regno , Shenghao Ding , Kevin Lu , Baojun Xu , Sen Wang , Oder Chiou , Linus Walleij , Kuninori Morimoto , u.kleine-koenig@baylibre.com, Zhang Yi , Marco Crivellari , Kees Cook , HyeongJun An , Arnd Bergmann , Qianfeng Rong , linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, patches@opensource.cirrus.com, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, bui duc phuc Subject: [PATCH v4 27/29] ASoC: codecs: rt721-sdca-sdw: Simplify regcache error handling in resume Date: Tue, 21 Jul 2026 17:25:58 +0700 Message-ID: <20260721102600.523199-28-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260721102600.523199-1-phucduc.bui@gmail.com> References: <20260721102600.523199-1-phucduc.bui@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: bui duc phuc Calling regcache_mark_dirty() on error is redundant as regcache_sync() retains dirty state on failure, and any write in cache_only mode marks the cache dirty anyway. Restore cache_only directly on error for active regmaps and drop the redundant regcache_mark_dirty() calls. This also removes goto labels to prepare for guard cleanup. Signed-off-by: bui duc phuc --- sound/soc/codecs/rt721-sdca-sdw.c | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/sound/soc/codecs/rt721-sdca-sdw.c b/sound/soc/codecs/rt721-sdc= a-sdw.c index 6e27e761afb6..6411df4eede7 100644 --- a/sound/soc/codecs/rt721-sdca-sdw.c +++ b/sound/soc/codecs/rt721-sdca-sdw.c @@ -511,22 +511,20 @@ static int rt721_sdca_dev_resume(struct device *dev) =20 regcache_cache_only(rt721->regmap, false); ret =3D regcache_sync(rt721->regmap); - if (ret) - goto err_sync; + if (ret) { + regcache_cache_only(rt721->regmap, true); + return ret; + } =20 regcache_cache_only(rt721->mbq_regmap, false); ret =3D regcache_sync(rt721->mbq_regmap); - if (ret) - goto err_sync; + if (ret) { + regcache_cache_only(rt721->mbq_regmap, true); + regcache_cache_only(rt721->regmap, true); + return ret; + } =20 return 0; - -err_sync: - regcache_cache_only(rt721->regmap, true); - regcache_cache_only(rt721->mbq_regmap, true); - regcache_mark_dirty(rt721->regmap); - regcache_mark_dirty(rt721->mbq_regmap); - return ret; } =20 static const struct dev_pm_ops rt721_sdca_pm =3D { --=20 2.43.0 From nobody Sat Jul 25 00:54:32 2026 Received: from mail-pl1-f177.google.com (mail-pl1-f177.google.com [209.85.214.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 06E2A481A9D for ; Tue, 21 Jul 2026 10:30:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.177 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629805; cv=none; b=F9t6mlswhPxqvSAUVWN2SjzXYrk2EfgYWI4mzDH9bz9AxMzSvFVaTooGdTrpVIiXwRxWhdfa3ZmWLz8NeSEpde5QRNqGrRLpbjZIOEBLyh2J9hKnW4vV/l8BuaYsHE8NUwQvvWsBrjuejaFBdXC/7GzsPsfHBDR79F+wfSVPSgA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629805; c=relaxed/simple; bh=TMD0N8Am6vbpc3Swp4IUTbb4/FQ8+JiMlOh4AFwGKEo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=n9n7txQ/MRWOd4xyrvNh9WCu/agqQcmXhRq903U5emaGdP2tT9tHruHsCXCYhi45/yEMbwTie7mxDxtzh8C66vEvU4oCPIw9d4r3v0AkqO9pYok+0dYoUqJYYTOqtWOQScjjyYW4DrJnl+zSPMb64k239JPDRuWd0rXryuvi9hc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=ikaTaiuM; arc=none smtp.client-ip=209.85.214.177 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="ikaTaiuM" Received: by mail-pl1-f177.google.com with SMTP id d9443c01a7336-2ccf2360620so70689525ad.3 for ; Tue, 21 Jul 2026 03:30:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784629803; x=1785234603; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=/vYpEqcmiHAaAvGgWCPkFkmErwNTi4SKKROlAjX2OAA=; b=ikaTaiuMU5CT/xm81pw6tVl6UEhfErU5F88PatYNMGMZOer8brqTDNJeF6jxAf/Puw v4e8FwfIYQltGAWVF4Ex5ZOLUzIGb5Q9Np5IwttOPDSZ5g4rO2GgP2Z7UewGWGDomnBB +E4KMqWa08iPBu5Jp9I6O998lCKYwRHwvkTvRyVvTjdlpZpOs98QSewkzuSRoL37PPQF vVzUMpjWV8Ffckr9nq+jD6Mb3OhhxRrD0znrGmOczb8pA7WEajJ2XvKey3m5fqihhfC2 ZpDqV9Z34sH/gnePFTFLDuIbZF4YqzLw5m7vkNX2JPo3n85OLgSf4um1e5OX5AWP62GP bBqA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784629803; x=1785234603; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=/vYpEqcmiHAaAvGgWCPkFkmErwNTi4SKKROlAjX2OAA=; b=Pw+jVI0UDaoD8hKnWYCQIQdRhe5VWj2ue+tBaNaANqvo2EvZz/JAG+u6oNmp8EJ36k 6Vnvcb8fug3GrJnbePkGrd1FNpQbIz3V1OpbBlRapKjI2A6hcIfqflRgq9Dgkmnb54W8 B7JCmYl7Z2My4f9Us7/VGplbyTDWXb+BYhXdNnjEMxHxdXmoUFfhZZ7TH37e0GgxPBTp ud2J75DIM4ZqXB6FzXsyECUGbp5gy+mdESE7PmhiF9z9Ed+x1WLbnOBRHMBLddsDbVoJ KtVPt4FlRhlSpDtk/m9Z3c3jekZk4Mhvan5jKAYqYo7hFUp0kxjL9ny94EE6NQhIgRjY 127Q== X-Forwarded-Encrypted: i=1; AHgh+RrfuHAIl25caVW0iqg7g6D3moepr1djAJ1joUr0pvDm4efuO9SEPj3yGrcVGwspfk2pUwBxrQ9nj1QwyVo=@vger.kernel.org X-Gm-Message-State: AOJu0Yy1GiIqNhoe9Zz62Z/sJAP4Zd3mvwcsyoHRJPetZqyeKisolX/r 0H3iN3nEBKWn59iV33XNvCTYGRCZJ4osyUK4PrLc46JZv1a0CeuresWF X-Gm-Gg: AR+sD121y3APbPHGYXNolsdVQ6npJ14FqICXMdaRLDrkYWi/QNeviqgm0LWodNgui6V DyWEf0xH464cUIH6OcYsM5mWmASA6AD2sXbnstGusccHa9uufXduttZNmamylklGTBwBnRFGfz7 tpxIb4GpwkHRGku197xKUpG2flRFQ038Yst7NJ8kzdtLvA5sC1NhpMReu03eqgcMvOYKl8Pu1YN r2Jv+g6CYyQzsXydfiSKiet94s21CikJ+bhf8BEAHABDpfrJXFAkPfZQRkOptQOrnfykcybWECK Zh6GHZE0GyBMDJYpV57ECPGl1I5RODruNPUTyQQTAHUtl3XOxVEnj/ihf7cToL18Bc5jAJjngK4 GZ2Bm4YeZiLkN3T2EO/dwlgxIozidZ+RocBR0aWzUVplRnmD8ULErfWHXU8yi7fMFkL/0YUoSnL OwVe2LHTbg3ann7RLYuAm47A+yHoOrikFcQXa2 X-Received: by 2002:a17:902:f681:b0:2ca:3e3f:4956 with SMTP id d9443c01a7336-2cf34a35445mr191643455ad.44.1784629803048; Tue, 21 Jul 2026 03:30:03 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2cf3448dac2sm73581365ad.3.2026.07.21.03.29.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 03:30:02 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , Takashi Iwai , Nick Li , Herve Codina Cc: Support Opensource , Liam Girdwood , Jaroslav Kysela , Srinivas Kandagatla , Charles Keepax , Richard Fitzgerald , Matthias Brugger , AngeloGioacchino Del Regno , Shenghao Ding , Kevin Lu , Baojun Xu , Sen Wang , Oder Chiou , Linus Walleij , Kuninori Morimoto , u.kleine-koenig@baylibre.com, Zhang Yi , Marco Crivellari , Kees Cook , HyeongJun An , Arnd Bergmann , Qianfeng Rong , linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, patches@opensource.cirrus.com, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, bui duc phuc Subject: [PATCH v4 28/29] ASoC: codecs: rt721: Use guard() for mutex locks Date: Tue, 21 Jul 2026 17:25:59 +0700 Message-ID: <20260721102600.523199-29-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260721102600.523199-1-phucduc.bui@gmail.com> References: <20260721102600.523199-1-phucduc.bui@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: bui duc phuc Clean up the code using guard() for mutex locks. Merely code refactoring, and no behavior change. Signed-off-by: bui duc phuc --- sound/soc/codecs/rt721-sdca-sdw.c | 29 ++++++++++++++++------------- sound/soc/codecs/rt721-sdca.c | 5 ++--- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/sound/soc/codecs/rt721-sdca-sdw.c b/sound/soc/codecs/rt721-sdc= a-sdw.c index 6411df4eede7..eae7d662efae 100644 --- a/sound/soc/codecs/rt721-sdca-sdw.c +++ b/sound/soc/codecs/rt721-sdca-sdw.c @@ -6,6 +6,7 @@ // // =20 +#include #include #include #include @@ -466,13 +467,13 @@ static int rt721_sdca_dev_system_suspend(struct devic= e *dev) * deferred work completes and before the parent disables * interrupts on the link */ - mutex_lock(&rt721_sdca->disable_irq_lock); - rt721_sdca->disable_irq =3D true; - ret1 =3D sdw_update_no_pm(slave, SDW_SCP_SDCA_INTMASK1, - SDW_SCP_SDCA_INTMASK_SDCA_0, 0); - ret2 =3D sdw_update_no_pm(slave, SDW_SCP_SDCA_INTMASK2, - SDW_SCP_SDCA_INTMASK_SDCA_8, 0); - mutex_unlock(&rt721_sdca->disable_irq_lock); + scoped_guard(mutex, &rt721_sdca->disable_irq_lock) { + rt721_sdca->disable_irq =3D true; + ret1 =3D sdw_update_no_pm(slave, SDW_SCP_SDCA_INTMASK1, + SDW_SCP_SDCA_INTMASK_SDCA_0, 0); + ret2 =3D sdw_update_no_pm(slave, SDW_SCP_SDCA_INTMASK2, + SDW_SCP_SDCA_INTMASK_SDCA_8, 0); + } =20 if (ret1 < 0 || ret2 < 0) { /* log but don't prevent suspend from happening */ @@ -494,13 +495,15 @@ static int rt721_sdca_dev_resume(struct device *dev) return 0; =20 if (!slave->unattach_request) { - mutex_lock(&rt721->disable_irq_lock); - if (rt721->disable_irq =3D=3D true) { - sdw_write_no_pm(slave, SDW_SCP_SDCA_INTMASK1, SDW_SCP_SDCA_INTMASK_SDCA= _0); - sdw_write_no_pm(slave, SDW_SCP_SDCA_INTMASK2, SDW_SCP_SDCA_INTMASK_SDCA= _8); - rt721->disable_irq =3D false; + scoped_guard(mutex, &rt721->disable_irq_lock) { + if (rt721->disable_irq) { + sdw_write_no_pm(slave, SDW_SCP_SDCA_INTMASK1, + SDW_SCP_SDCA_INTMASK_SDCA_0); + sdw_write_no_pm(slave, SDW_SCP_SDCA_INTMASK2, + SDW_SCP_SDCA_INTMASK_SDCA_8); + rt721->disable_irq =3D false; + } } - mutex_unlock(&rt721->disable_irq_lock); } =20 ret =3D sdw_slave_wait_for_init(slave, RT721_PROBE_TIMEOUT); diff --git a/sound/soc/codecs/rt721-sdca.c b/sound/soc/codecs/rt721-sdca.c index 35960c225224..159c35d19dba 100644 --- a/sound/soc/codecs/rt721-sdca.c +++ b/sound/soc/codecs/rt721-sdca.c @@ -5,7 +5,7 @@ // Copyright(c) 2024 Realtek Semiconductor Corp. // // - +#include #include #include #include @@ -289,7 +289,7 @@ static void rt721_sdca_jack_preset(struct rt721_sdca_pr= iv *rt721) =20 static void rt721_sdca_jack_init(struct rt721_sdca_priv *rt721) { - mutex_lock(&rt721->calibrate_mutex); + guard(mutex)(&rt721->calibrate_mutex); if (rt721->hs_jack) { sdw_write_no_pm(rt721->slave, SDW_SCP_SDCA_INTMASK1, SDW_SCP_SDCA_INTMASK_SDCA_0); @@ -309,7 +309,6 @@ static void rt721_sdca_jack_init(struct rt721_sdca_priv= *rt721) rt_sdca_index_update_bits(rt721->mbq_regmap, RT721_HDA_SDCA_FLOAT, RT721_GE_REL_CTRL1, 0x4000, 0x4000); } - mutex_unlock(&rt721->calibrate_mutex); } =20 static int rt721_sdca_set_jack_detect(struct snd_soc_component *component, --=20 2.43.0 From nobody Sat Jul 25 00:54:32 2026 Received: from mail-pl1-f179.google.com (mail-pl1-f179.google.com [209.85.214.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C4BB136D9EB for ; Tue, 21 Jul 2026 10:30:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629813; cv=none; b=o7gRqMah1fvcsbYbVDEBsTHlqh8Q4hjwFRAMGKEA/eAatO44Ll795L6TK4iaA+UFfCwYeETN6owUZmlsCQi2dLOmVNPI39LpUxdHonQd/NUzuGiEO7P7kSe9QZyT4M7NTEN/l6+MYLuZfgrSXDi06ee4jdLVwZMWXlh/52FfL/A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784629813; c=relaxed/simple; bh=8ttlR+tB/Ek6pHfAOa7qh57d/TkjEVyyP5L7gkm3RIo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=DCtwvl9L1lmxluzKgv6F3vzmgyVAbBRVu58pBaJw5iU0tHygGfJvKfs71kuX9vA7HkCNfXnb4dqzoHl6ralet6IKhAnx/jLe+Y+R6MEnpYNu2hcw5LzquwMu5IRY5/ljNUEinxUxE8ivMmKdRhNRiemn+oj8F48ErMhF0S+vvSE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=E6G9KBOv; arc=none smtp.client-ip=209.85.214.179 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="E6G9KBOv" Received: by mail-pl1-f179.google.com with SMTP id d9443c01a7336-2caf228a910so87758545ad.2 for ; Tue, 21 Jul 2026 03:30:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784629811; x=1785234611; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=vJaZSLBuhqMtQ0nYByw0vZcUCn5hN3L2y+d0nH5sVcM=; b=E6G9KBOvTL+Y/SBzAy6mWqlBjo/OqIJV0ZFQIFzoW1UwkKSkbZO8v8Wrn7EPD6HfDO UTBX48KirQu/W7YqOt/C0FSya+xnEwLMtqLrVn8sgh4PUoC/tavjjuVBaaiUv22QSqx/ ny6ubp2kf64zXIg/1yZmy67W5Q9LljKwHkArlrcFNeOx5RlNesxTnmIqzh6WwDbEyy1d 8FhCA9HzG9lSR6rDl3AK0vZc50YRt8hAF0RGw0WMymY0mRS11cHgeN+qaNqFHAlQXXXn oTtBjVVuyFQWdlUypZXfY3pL6GIj9T53YbR3VHwtFvO6BimLGixokauW4kOEfO+dxYav qunA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784629811; x=1785234611; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=vJaZSLBuhqMtQ0nYByw0vZcUCn5hN3L2y+d0nH5sVcM=; b=o/Pyz6Zp+LE2aB1iC7EFFeODima2dlqQ87ac4cI63RCPGDZ3+LopV0aY0gQec01WaP w3FpiuB/tRx0INLD51o4/UHNpipg55WMNLSS7FiZA5npmigVmj+7LiiL6PFaVMuhffZl UgEwWIlxOk7ASjm44OavtXqrPu7jUqiAZiuAeWIHl65EnR8yvKL+QQDJkxfTlwSQySbQ wqhLFT4Cl5HbdI3iYXyC8kb8mBpzIreym2NDiqadA7YrSLlHATXp7vivAZvYO3zdKLSz AjFc3Snn8kRV+UiEGHLiuvcBw2f3lUaD/a8qRuO8vXZXPRUEIPmPB6yl7I/JzPTZxUsl CiJw== X-Forwarded-Encrypted: i=1; AHgh+RocaMDrR5nJXPaCH9034SEggJHJi+HZ8FOEVHT8VX6W2ODcSBn4jLsJrG2BVUqb5WikUKqQzDQYK0WWucU=@vger.kernel.org X-Gm-Message-State: AOJu0YxDXoQnr5H/FOr9EE8CYjQBH6EWe0BBITlxC1kcvtjqryFB7umg CxeEfloXzmm3lI+BWpZay+D/5e1es9yiEWt8gtxOxXW0rcfAajIpXG1N X-Gm-Gg: AR+sD119dlXkRc1iKq5Adzjqmpyu4FfzAhhlM+X8/34YNKXeJM1jF8H6C1+XCwAhVAR er9nSoJ2wJ8Y7TgB3981bl5K87kNHmkFxt98PAaDQiVmQLysq0DxpKgFQm32r/D4eHWrAJQLp7z 98kfj7WlSAg7N1sXN+6HIbAxmXwbZDjGTx+brfUyDdXTWPwa4gCJCUz9wJMzvA2M+UMW3fG0g9Z cRX6AdhIkXxLXHfdqFglxUfX154K1X0/ZWINsWBQAm4UjlMat4s3+b1yGsDBe70bMiHwgaKzCVh 5vQxOHjhnHSFA0/rvAe3ygl4Crr3Hs6YO07622wICDFO8+aEd8P5m/RjjkCjRwAyX7A3Fh2Er8U gbNC2uzYKCPKQpZ+t+M7VK07kX8qCA8iUX+XhydjDwQ9Mv/Nr28eA5Qzxae4xWUmEsG98aIUf7N 4ws7ofpmRm7mIijT+uqOwcxX7zUu0MERNWofF5 X-Received: by 2002:a17:902:d2d2:b0:2ca:d7a0:1312 with SMTP id d9443c01a7336-2cf34961d82mr214608165ad.25.1784629810737; Tue, 21 Jul 2026 03:30:10 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2cf3448dac2sm73581365ad.3.2026.07.21.03.30.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 03:30:10 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , Takashi Iwai , Nick Li , Herve Codina Cc: Support Opensource , Liam Girdwood , Jaroslav Kysela , Srinivas Kandagatla , Charles Keepax , Richard Fitzgerald , Matthias Brugger , AngeloGioacchino Del Regno , Shenghao Ding , Kevin Lu , Baojun Xu , Sen Wang , Oder Chiou , Linus Walleij , Kuninori Morimoto , u.kleine-koenig@baylibre.com, Zhang Yi , Marco Crivellari , Kees Cook , HyeongJun An , Arnd Bergmann , Qianfeng Rong , linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, patches@opensource.cirrus.com, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, bui duc phuc Subject: [PATCH v4 29/29] ASoC: codecs: rt722: Use guard() for mutex locks Date: Tue, 21 Jul 2026 17:26:00 +0700 Message-ID: <20260721102600.523199-30-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260721102600.523199-1-phucduc.bui@gmail.com> References: <20260721102600.523199-1-phucduc.bui@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: bui duc phuc Clean up the code using guard() for mutex locks. Merely code refactoring, and no behavior change. Signed-off-by: bui duc phuc --- sound/soc/codecs/rt722-sdca-sdw.c | 29 ++++++++++++++++------------- sound/soc/codecs/rt722-sdca.c | 4 ++-- 2 files changed, 18 insertions(+), 15 deletions(-) diff --git a/sound/soc/codecs/rt722-sdca-sdw.c b/sound/soc/codecs/rt722-sdc= a-sdw.c index d2db33b4f684..05e8e23f1f43 100644 --- a/sound/soc/codecs/rt722-sdca-sdw.c +++ b/sound/soc/codecs/rt722-sdca-sdw.c @@ -6,6 +6,7 @@ // // =20 +#include #include #include #include @@ -513,13 +514,13 @@ static int rt722_sdca_dev_system_suspend(struct devic= e *dev) * deferred work completes and before the parent disables * interrupts on the link */ - mutex_lock(&rt722_sdca->disable_irq_lock); - rt722_sdca->disable_irq =3D true; - ret1 =3D sdw_update_no_pm(slave, SDW_SCP_SDCA_INTMASK1, - SDW_SCP_SDCA_INTMASK_SDCA_0, 0); - ret2 =3D sdw_update_no_pm(slave, SDW_SCP_SDCA_INTMASK2, - SDW_SCP_SDCA_INTMASK_SDCA_8, 0); - mutex_unlock(&rt722_sdca->disable_irq_lock); + scoped_guard(mutex, &rt722_sdca->disable_irq_lock) { + rt722_sdca->disable_irq =3D true; + ret1 =3D sdw_update_no_pm(slave, SDW_SCP_SDCA_INTMASK1, + SDW_SCP_SDCA_INTMASK_SDCA_0, 0); + ret2 =3D sdw_update_no_pm(slave, SDW_SCP_SDCA_INTMASK2, + SDW_SCP_SDCA_INTMASK_SDCA_8, 0); + } =20 if (ret1 < 0 || ret2 < 0) { /* log but don't prevent suspend from happening */ @@ -541,13 +542,15 @@ static int rt722_sdca_dev_resume(struct device *dev) return 0; =20 if (!slave->unattach_request) { - mutex_lock(&rt722->disable_irq_lock); - if (rt722->disable_irq =3D=3D true) { - sdw_write_no_pm(slave, SDW_SCP_SDCA_INTMASK1, SDW_SCP_SDCA_INTMASK_SDCA= _0); - sdw_write_no_pm(slave, SDW_SCP_SDCA_INTMASK2, SDW_SCP_SDCA_INTMASK_SDCA= _8); - rt722->disable_irq =3D false; + scoped_guard(mutex, &rt722->disable_irq_lock) { + if (rt722->disable_irq) { + sdw_write_no_pm(slave, SDW_SCP_SDCA_INTMASK1, + SDW_SCP_SDCA_INTMASK_SDCA_0); + sdw_write_no_pm(slave, SDW_SCP_SDCA_INTMASK2, + SDW_SCP_SDCA_INTMASK_SDCA_8); + rt722->disable_irq =3D false; + } } - mutex_unlock(&rt722->disable_irq_lock); } =20 ret =3D sdw_slave_wait_for_init(slave, RT722_PROBE_TIMEOUT); diff --git a/sound/soc/codecs/rt722-sdca.c b/sound/soc/codecs/rt722-sdca.c index 1b6729f363fc..decf9407ab6d 100644 --- a/sound/soc/codecs/rt722-sdca.c +++ b/sound/soc/codecs/rt722-sdca.c @@ -6,6 +6,7 @@ // // =20 +#include #include #include #include @@ -294,7 +295,7 @@ static void rt722_sdca_btn_check_handler(struct work_st= ruct *work) =20 static void rt722_sdca_jack_init(struct rt722_sdca_priv *rt722) { - mutex_lock(&rt722->calibrate_mutex); + guard(mutex)(&rt722->calibrate_mutex); if (rt722->hs_jack) { /* set SCP_SDCA_IntMask1[0]=3D1 */ sdw_write_no_pm(rt722->slave, SDW_SCP_SDCA_INTMASK1, @@ -317,7 +318,6 @@ static void rt722_sdca_jack_init(struct rt722_sdca_priv= *rt722) rt722_sdca_index_update_bits(rt722, RT722_VENDOR_HDA_CTL, RT722_GE_RELATED_CTL2, 0x4000, 0x4000); } - mutex_unlock(&rt722->calibrate_mutex); } =20 static int rt722_sdca_set_jack_detect(struct snd_soc_component *component, --=20 2.43.0