From nobody Fri Jun 12 18:33:12 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 0148C3914F0 for ; Wed, 13 May 2026 10:43:56 +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=1778669038; cv=none; b=eJ+jdfNRI+ww3io+5BXn6X1IVfRyded+VOpvBXYW0MR5++jXJRrJxmCrHjww97axTRR94LiAj9xZhuVXbJ/nrfS6WfaQn7boL6grTWGuu64jKQq0PXKK30MIAVPJvVYXwWZcWqSiIPjc2bmgU5nehuyTjOpyW+u1KOikvhgJzxk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778669038; c=relaxed/simple; bh=JWdgOSM2xcYoObfqy5JM0x9eGg0LNLYdg7YJowxbdIE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=eNy7mdAZFmDsK9bjRgDP2bg8f2mDn+QTmQbggtBaMPVI4o451X1Zn6eB81UZgR/CqLAI+9I7yqO8ERBa3M30PeZ9fmtOlhR2ctpQR7FPRym1fr8cPWyiWv+SSezJYGHS1qvc0vMDdWjtltyYaRP0/0shrCrXxd3KwH4iwJK1I1Q= 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=KDD0KDy1; 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="KDD0KDy1" Received: by mail-pl1-f175.google.com with SMTP id d9443c01a7336-2ba928852a5so43830555ad.1 for ; Wed, 13 May 2026 03:43:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778669036; x=1779273836; 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; bh=B1yp7453+aCL7dXR5kUmqcZGPzPOdPMr0TKvujORRBA=; b=KDD0KDy1iu3iJetNVefoZDinXmrwfoJWoopZGoDiEgCLeLGDiowD8wSe2kyRMvZjXf CwvdH4fW3m8lk7diwOU9bv1LtfQJ0PnSB8hZFWgyBvAfTP4w7jg2FP3gmcOFnG2JtcKY 4u0yJU13/ZtDgUAyIpypwBOBxIb5t0UqHl+Bv2xMO8xuAy4qgq4V6KzTlFu0Wr7R4cr2 1bPHRNJzmSlb5oHi7sqcJU/3OBerq2d6iEGevGz0R2BcA/nI4++oBdymn7d2CyGvmWnR /7YKYvb2zBo8bWyipbTgAKVKD6vYGetDQ8ILTx9Y1DO8NpoXnynGdDMH+rs/n3g9czGg /Y5Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778669036; x=1779273836; 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; bh=B1yp7453+aCL7dXR5kUmqcZGPzPOdPMr0TKvujORRBA=; b=d3MhsJUDy77MnxjfvcQNAYQP0H/DrxAdU7J3FER12kddyncQ8JcG0Zg2V+F7IFyUUI 1EMg+rXkqFXu2FyVJfyyvbLFDrQ6bsLmYr2CJLqgtCJS4xIlbSOVrfpP1OsHWwvv8jg3 WSmXN7lR6JZQsieYtd4/vkbTHXayB0dDnucMRVDqSvJLvToeOMzbJTbG5ZK2XFNGOtq5 /OOBupwHx4X6qLh9pt7T5kaSybEt0XX2uJWfLopD9DmTU1P7EYBjCf7AyfStGdd1tOZD 1hVMNaKzp0uDqtGbRjxBqVjB0FKoI+XUMpNZfHh3lqfeT7lDKqWONYIQyozwNT1p2Hxn OleA== X-Forwarded-Encrypted: i=1; AFNElJ8LcWpsPzqjbCBfMYLhrziLoNoHYzZyR/n2UTuM7zh7TvuIs5FS56YGHcXP4R4qVNrBncxqjF1xqoaLL6Y=@vger.kernel.org X-Gm-Message-State: AOJu0Yyt2BWMrQfzkKHuCmVnyybbL5cG/+r4BLTyzG+8L1qZjkcPTE+i xKMBDE1HkbqeBUnSv9wiiVJ1bMkw4eDK8ANBfkhpPYz3mP+BPXkwaH3f X-Gm-Gg: Acq92OHJ4eDmY0z5wYwZ5hAReJrWr/CgG5TOZYDpqor68X/yczvRh4xXg60CtipWV2S WK3NtunX47XEwyHJcwrq8W6QO7kIvYarE9+5ZV16fNO4GUJKTKWmcy3oQwD47Br+s/loWrJiS8B EzhFwUH8CvqdQCZgB34XW3Xy37iptpVPVWLbucdFXogfkIoeQLn8+7yt3pIBtDQwAnnq6PjiVXo FoKO2mlF9libM+I4w6jxI3hWoUm9ExfHY/93fMYHy53OTj7pnG4QzZOjO2fdJmnlXheI5HVz5Iv UrjW0ABuJam5cw9uQFdz0B+oBDzWxWnHjTI2Iq0yBtCa9v8m8MaXKnOD9uW407qJchgdyrEpDPQ ZX1Se82TCwQcvVrhIKAh5xq0L/j58t3fPQUe74QTP15ooDZO97KDwr0HXGBgIJSAMiFQA3qLpRk paJGwXUh/3HgFmlHQP5t4CP5rDB6gjSIbdAQMfvjyGc2uEM+MZGbTHtfrLZW79cwT6lDWE X-Received: by 2002:a17:902:ba98:b0:2b2:4d36:7ba with SMTP id d9443c01a7336-2bd26f75ee2mr21419305ad.0.1778669036225; Wed, 13 May 2026 03:43:56 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2baf1e35e9dsm170479535ad.39.2026.05.13.03.43.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 May 2026 03:43:56 -0700 (PDT) From: phucduc.bui@gmail.com To: Olivier Moysan , Arnaud Pouliquen , Mark Brown Cc: Liam Girdwood , Jaroslav Kysela , Takashi Iwai , Maxime Coquelin , Alexandre Torgue , linux-sound@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, bui duc phuc Subject: [PATCH 1/4] ASoC: stm: stm32_adfsdm: Use guard() for mutex locks Date: Wed, 13 May 2026 17:43:26 +0700 Message-ID: <20260513104329.81592-2-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260513104329.81592-1-phucduc.bui@gmail.com> References: <20260513104329.81592-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/stm/stm32_adfsdm.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/sound/soc/stm/stm32_adfsdm.c b/sound/soc/stm/stm32_adfsdm.c index 0f6d32814c22..a585cb9fc011 100644 --- a/sound/soc/stm/stm32_adfsdm.c +++ b/sound/soc/stm/stm32_adfsdm.c @@ -62,12 +62,11 @@ static void stm32_adfsdm_shutdown(struct snd_pcm_substr= eam *substream, { struct stm32_adfsdm_priv *priv =3D snd_soc_dai_get_drvdata(dai); =20 - mutex_lock(&priv->lock); + guard(mutex)(&priv->lock); if (priv->iio_active) { iio_channel_stop_all_cb(priv->iio_cb); priv->iio_active =3D false; } - mutex_unlock(&priv->lock); } =20 static int stm32_adfsdm_dai_prepare(struct snd_pcm_substream *substream, @@ -76,7 +75,7 @@ static int stm32_adfsdm_dai_prepare(struct snd_pcm_substr= eam *substream, struct stm32_adfsdm_priv *priv =3D snd_soc_dai_get_drvdata(dai); int ret; =20 - mutex_lock(&priv->lock); + guard(mutex)(&priv->lock); if (priv->iio_active) { iio_channel_stop_all_cb(priv->iio_cb); priv->iio_active =3D false; @@ -88,7 +87,7 @@ static int stm32_adfsdm_dai_prepare(struct snd_pcm_substr= eam *substream, if (ret < 0) { dev_err(dai->dev, "%s: Failed to set %d sampling rate\n", __func__, substream->runtime->rate); - goto out; + return ret; } =20 if (!priv->iio_active) { @@ -100,9 +99,6 @@ static int stm32_adfsdm_dai_prepare(struct snd_pcm_subst= ream *substream, __func__, ret); } =20 -out: - mutex_unlock(&priv->lock); - return ret; } =20 --=20 2.43.0 From nobody Fri Jun 12 18:33:12 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 ED38A3E7157 for ; Wed, 13 May 2026 10:44:01 +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=1778669043; cv=none; b=kPQIFpRnm5dzI+YGg8vTQjrKD1PXJKEzxgJBDPfLLjR+4DlldoO42RoF8ToZycgmgovSeUSj7PskubH1NDI2+QEEMEFk91hryQHwO2a2iZdUXUFBcKyQAGkCv7M0ktWWaA+S4HsYXfDASnneUy01C/dzG3Q9FVBiE69muL3B8Rg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778669043; c=relaxed/simple; bh=pochR1mT5sxaS/wL+pdizgPHRe5KbjTluVM0TKx7yHU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=dZdtGzO/3X0/BE+crRWu/R68IVeRv8dRbFC6vY2H3lC1ebpZnKynXvIZO4xE6sPkkP/Mc+CS1VFNgQT04iqitvDwvzvlh+OiGTu9V5mQ/JFYR5t4tK4OScC88UUTIoM3WaUIuVgddHhy3pAbXktZ+EdXk2QmN/PEX2ek9GwM4uA= 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=XTNcEl+F; 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="XTNcEl+F" Received: by mail-pl1-f175.google.com with SMTP id d9443c01a7336-2bab82d75fdso36686595ad.2 for ; Wed, 13 May 2026 03:44:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778669041; x=1779273841; 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; bh=/lGs9D+YRCQGi58C7TkoM1KuAOJdJ2M4q7kERCI4rfg=; b=XTNcEl+F5pofgP7IpimD2kKzuYmavFsGyyLrQJ+pv2dV4dfipQZRvXVUS5S23cEfHc l6rlHx1G//UWEg/NcTaDJqCi45EDEzGKVBQiueF/XuIg0ncQoBLhFvdkKoLON0/+RhMy 4vZUfI3mfO93hnRrGZanivpKaDLbXN7tfYnzK+gHuyRIIV8O18tHQo1exaZ3m9C8tr16 l+ovrXHgac/HixBFjRdMf8GXGb7SAwQc0MrQBqtUAUxcnWxJdiwLfNMCEMG90xrYmTHp DisbrYGsN3SjEq/ZVGUJCz1AROk/nwo4NsKcExJ/XUgmW450ctqezlm86aa/dMEUNaLE RXyg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778669041; x=1779273841; 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; bh=/lGs9D+YRCQGi58C7TkoM1KuAOJdJ2M4q7kERCI4rfg=; b=FLdzTmGwzPyJznmeVWr/lRQ1Y2F1Wqutsl4OVayF2Eu40SslO0U5YZ7W0kQ7w6lbUF 6xo48KCQMP70fRqR8rVD9LrzkBlXx5SaNGhk/ba/p8rdFlt6XDA0X77mnC7Ns0L1n5ih c0ZiP7lm/mvpbpd+yE+Xxm9mcw8M/MGGJrI3/Sky6l54FbpWl3C2OP5Dqdfj0GSwVXxQ PeQS/x2Q5RDsPRvucz0PbWEcxn6b5bzQ1v3IPwuBgrcULaPkWcphoq9qO22O4eVube3O QnTDz8GQo/ZqI/8wBwFBOwbEqW7vH0amZcktRgf3GJz5YAavfNLwSvpvAenU8BNz6ye6 aNiA== X-Forwarded-Encrypted: i=1; AFNElJ/IbG2h3k791nVg31NpDb4z3YRyw29A6AEJuCf3lfx91luuniLYYZLuvMJBk6w0vV39SWolWEYuAPG9R74=@vger.kernel.org X-Gm-Message-State: AOJu0YwNc0CnvEo8UTwIMdvSB6vW1YhlCMvToGH93wvQwOWk0knpnpVi GgAH66UmxAxb1EML5xmp2q3WYzZVXCYfzV1vPuGL5FFFRRR1nExSHdDZ X-Gm-Gg: Acq92OF1q24ORsX/TBAiy0Onf700RUrbjhLiQM4Hkco0pjNvPx7YcZz8jwbmPLQJsok PQbConjJaNGb9L4p8vUBDRGUfys4Gn/UqHBjIE86TF1EBbLL6JLiZjfKYZ2Q/AmVHOJsJPj3j51 ZppLXKJ4RkT03gFZhASd+jrAoavlgTC82E4frquMGTs9TVreCsWbw//askfX6H4zXSCvuOu56oj EutSmGhfX8EAJ2wOb6OVT453NE2gCYgRytg2zIk3advf6TnvkOnpB/1H3rF87NpIUJilTAEBugL zbJYHjoTNXhPyatQePc+YXv2rwMJ5lOEN2HaHKCRddzMqPBPg4dqcSqo1RUTgvy90a3p3Z2hkvf 7/0KcVoJBsRftrPlHx3QeBYmqIbEGfvdluQqHrZqy7jXNcR9AVQbNuCb3wCVS+TantlcgGHUwXl BLXfpdbmSJOhqwQxE/t6AmlrK+lLUscOkTZJb4089278X8vpWCSVXsciqs3A== X-Received: by 2002:a17:903:183:b0:2bd:3bfa:51fe with SMTP id d9443c01a7336-2bd3bfa6e4fmr11597115ad.41.1778669041190; Wed, 13 May 2026 03:44:01 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2baf1e35e9dsm170479535ad.39.2026.05.13.03.43.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 May 2026 03:44:01 -0700 (PDT) From: phucduc.bui@gmail.com To: Olivier Moysan , Arnaud Pouliquen , Mark Brown Cc: Liam Girdwood , Jaroslav Kysela , Takashi Iwai , Maxime Coquelin , Alexandre Torgue , linux-sound@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, bui duc phuc Subject: [PATCH 2/4] ASoC: stm: stm32_i2s: Use guard() for spin locks Date: Wed, 13 May 2026 17:43:27 +0700 Message-ID: <20260513104329.81592-3-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260513104329.81592-1-phucduc.bui@gmail.com> References: <20260513104329.81592-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 spin locks. Merely code refactoring, and no behavior change. Signed-off-by: bui duc phuc --- sound/soc/stm/stm32_i2s.c | 67 ++++++++++++++++++--------------------- 1 file changed, 30 insertions(+), 37 deletions(-) diff --git a/sound/soc/stm/stm32_i2s.c b/sound/soc/stm/stm32_i2s.c index 6ca21780f21d..4fddb7ecd7fd 100644 --- a/sound/soc/stm/stm32_i2s.c +++ b/sound/soc/stm/stm32_i2s.c @@ -615,10 +615,10 @@ static irqreturn_t stm32_i2s_isr(int irq, void *devid) if (flags & I2S_SR_TIFRE) dev_dbg(&pdev->dev, "Frame error\n"); =20 - spin_lock(&i2s->irq_lock); - if (err && i2s->substream) - snd_pcm_stop_xrun(i2s->substream); - spin_unlock(&i2s->irq_lock); + scoped_guard(spinlock, &i2s->irq_lock) { + if (err && i2s->substream) + snd_pcm_stop_xrun(i2s->substream); + } =20 return IRQ_HANDLED; } @@ -905,12 +905,10 @@ static int stm32_i2s_startup(struct snd_pcm_substream= *substream, struct snd_soc_dai *cpu_dai) { struct stm32_i2s_data *i2s =3D snd_soc_dai_get_drvdata(cpu_dai); - unsigned long flags; int ret; =20 - spin_lock_irqsave(&i2s->irq_lock, flags); - i2s->substream =3D substream; - spin_unlock_irqrestore(&i2s->irq_lock, flags); + scoped_guard(spinlock_irqsave, &i2s->irq_lock) + i2s->substream =3D substream; =20 if ((i2s->fmt & SND_SOC_DAIFMT_FORMAT_MASK) !=3D SND_SOC_DAIFMT_DSP_A) snd_pcm_hw_constraint_single(substream->runtime, @@ -982,19 +980,19 @@ static int stm32_i2s_trigger(struct snd_pcm_substream= *substream, int cmd, regmap_write_bits(i2s->regmap, STM32_I2S_IFCR_REG, I2S_IFCR_MASK, I2S_IFCR_MASK); =20 - spin_lock(&i2s->lock_fd); - i2s->refcount++; - if (playback_flg) { - ier =3D I2S_IER_UDRIE; - } else { - ier =3D I2S_IER_OVRIE; - - if (STM32_I2S_IS_MASTER(i2s) && i2s->refcount =3D=3D 1) - /* dummy write to gate bus clocks */ - regmap_write(i2s->regmap, - STM32_I2S_TXDR_REG, 0); + scoped_guard(spinlock, &i2s->lock_fd) { + i2s->refcount++; + if (playback_flg) { + ier =3D I2S_IER_UDRIE; + } else { + ier =3D I2S_IER_OVRIE; + + if (STM32_I2S_IS_MASTER(i2s) && i2s->refcount =3D=3D 1) + /* dummy write to gate bus clocks */ + regmap_write(i2s->regmap, + STM32_I2S_TXDR_REG, 0); + } } - spin_unlock(&i2s->lock_fd); =20 if (STM32_I2S_IS_SLAVE(i2s)) ier |=3D I2S_IER_TIFREIE; @@ -1016,21 +1014,18 @@ static int stm32_i2s_trigger(struct snd_pcm_substre= am *substream, int cmd, I2S_IER_OVRIE, (unsigned int)~I2S_IER_OVRIE); =20 - spin_lock(&i2s->lock_fd); - i2s->refcount--; - if (i2s->refcount) { - spin_unlock(&i2s->lock_fd); - break; - } + scoped_guard(spinlock, &i2s->lock_fd) { + i2s->refcount--; + if (i2s->refcount) + break; =20 - ret =3D regmap_update_bits(i2s->regmap, STM32_I2S_CR1_REG, - I2S_CR1_SPE, 0); - if (ret < 0) { - dev_err(cpu_dai->dev, "Error %d disabling I2S\n", ret); - spin_unlock(&i2s->lock_fd); - return ret; + ret =3D regmap_update_bits(i2s->regmap, STM32_I2S_CR1_REG, + I2S_CR1_SPE, 0); + if (ret < 0) { + dev_err(cpu_dai->dev, "Error %d disabling I2S\n", ret); + return ret; + } } - spin_unlock(&i2s->lock_fd); =20 cfg1_mask =3D I2S_CFG1_RXDMAEN | I2S_CFG1_TXDMAEN; regmap_update_bits(i2s->regmap, STM32_I2S_CFG1_REG, @@ -1047,7 +1042,6 @@ static void stm32_i2s_shutdown(struct snd_pcm_substre= am *substream, struct snd_soc_dai *cpu_dai) { struct stm32_i2s_data *i2s =3D snd_soc_dai_get_drvdata(cpu_dai); - unsigned long flags; =20 clk_disable_unprepare(i2s->i2sclk); =20 @@ -1059,9 +1053,8 @@ static void stm32_i2s_shutdown(struct snd_pcm_substre= am *substream, if (!i2s->i2smclk && i2s->put_i2s_clk_rate) i2s->put_i2s_clk_rate(i2s); =20 - spin_lock_irqsave(&i2s->irq_lock, flags); - i2s->substream =3D NULL; - spin_unlock_irqrestore(&i2s->irq_lock, flags); + scoped_guard(spinlock_irqsave, &i2s->irq_lock) + i2s->substream =3D NULL; } =20 static int stm32_i2s_dai_probe(struct snd_soc_dai *cpu_dai) --=20 2.43.0 From nobody Fri Jun 12 18:33:12 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 0D24A3F54A0 for ; Wed, 13 May 2026 10:44:06 +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=1778669048; cv=none; b=D7VoyknyT5vaUmZVlBjvf6v4DvZCa5K7sCDnrS5G1wsjSUm0M2CNIw+uQEWM7mwKs1lGa5/bk2Q0pI3NmsQ1mngoBm0cmWz7/Z0bxPCH4lUjI8/Y6bEvwt7/7wEgABWQLY1n4Su+YvH9N+gmpkC4QBuCQSxKx7SpdAdabHNOkUM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778669048; c=relaxed/simple; bh=9X50H0I+x7I976Wzew0r+L0k3lHvMtlfL5mk+JUjdSM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=O0SE930qEHKwUO02saQhtY9VaBdGZtcrvK4r57beJnjkK52DZI1oqgpQrJdYSTfLMzuyo6A9e+TLhmkWaWPkkU3OL+hKPrNlhjSk/Jn1UrNlxKR4xeOZkv/DY7nB2PGQ1uQRfsRjjcEenmOQXtg/y0xEJ6jO2GoQQIYUh3c43kk= 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=XYNx756L; 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="XYNx756L" Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-2ba0fc8b1f0so42458075ad.3 for ; Wed, 13 May 2026 03:44:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778669046; x=1779273846; 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; bh=8VLjZ5HRUHB7pc8eNKnSNbRiReFzaEooAwXWvAuxy2w=; b=XYNx756Lh159wN91tytiBD4euWzr0DG7vFLLDtOtvNm1au8eyE3a+sf77M10ONLMg+ gNQrOPYwml8Z7CBnmtnj1jMTEsTQ+upa9QyweWGXiAzbWuriHRS1EWRdeRBuX3t+y/+U Va1Kmcfub/7nPoggf2BYOPQDrDZ9mroBjQCTKK3E/qcPysSAGYytjrjLUWiviap3EmhS soSLOvPoVAeEWuL3/7EpvRbfyHKKHsfjZpVcXkAy8KHVP7H20pBSEpptbvsWgJMPvBlT SZTrvJcSAEiGaOzZITMcVl+30KGhQxtNq2Ra1mgY2ga3RVvaq3JB4lGeRmqG9I9YuOLt 6eqw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778669046; x=1779273846; 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; bh=8VLjZ5HRUHB7pc8eNKnSNbRiReFzaEooAwXWvAuxy2w=; b=OusLs3LuoaQFb6St/OJI5BtNmwNy5rAY63VHzTTEuOyB1JrrZ9N3iA/YslJO2DGiku pr4/KJhH5V2CWW90XK9+cGIcFpVvwZIAGlg409QrYA/D3sUMK9rjOAxFRvdAaNPuXNPm Wd0FbG7hgDgeU+SeWI1r+Tvewtggw3S5EpsheAeErsb2nHhnupjI5RBC8cQQyioi+InS 7FDfsh4OSLbcYF5ZNq2VXbRuBcxG8i9igKGtmrvIlHX/7YpLSEw+RPxZg9sLwApD1z/Z nrUh1ygy+5i+3CWWHdXK4e2HtmUoB28yzR+VGQ92+4aM2gMxz6+QSAPwXeygAu6ermUw DD3g== X-Forwarded-Encrypted: i=1; AFNElJ9RB8H9cRFBGfA7GefzkeL+5omg3MyNejH0CmPmdW1Ehw5V5tgSRtjTvMKMrlgC2pMNhJMGCOhm32l/vBU=@vger.kernel.org X-Gm-Message-State: AOJu0YzqETrOIqArtdtIryc8q24RY36BeYoBKl2GXsjqNpB41fwVPJJD Vco7PVLY7tqkpP0Ogpnp45WpLWo/WWlwh0JrWTpRm3G4u+g9hsrSh9LH X-Gm-Gg: Acq92OGJA8ac9oyK/No1PC6KgdbGoUkRpKvYoJZELQ62lJjhVsT6TW1Uifpza1FdsBh IY/3WYp3eJy5NDzxozaiTDAVNtBt/yHg5iPW+wSGKqJt7GSWVjtqn2pRI/PqhOsIaAP5o2//l0e uzg93pAJqDa5J1UCj3EumXL8hOpkc0PMcI5Ao4AEVmpatvg8cW00HUMlBh2WaQYV6dGc3Xb2G/k E/sDxB1IDSazaKTXNDoBuM13g/6o+OkCvU1H9coQfG6i3Js8P6t2Ygk2hxK9VqmtdD4iXEH85H4 KK0TTRhOd2Q5xQCdAfVxG1RZXwgCu4riQp/PTrsGRh3Jqz01vTujddjhfRHtuFTzo3PPSKdC8yS DSH2sMAMVpl6dZL4inrCtX9eJoVA+8cXGr59wj7IglqlEsGXwVtTSoh4Beud5jMc4muMTAhU2Zb POf4YAzkVJlPH3CabyU20gjop3vYx+3fHtKIkuxXVTUGpR/zhVYi+fVefeOg== X-Received: by 2002:a17:902:c40f:b0:2ba:bfc:76b5 with SMTP id d9443c01a7336-2bd2f4dba62mr24128275ad.4.1778669046222; Wed, 13 May 2026 03:44:06 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2baf1e35e9dsm170479535ad.39.2026.05.13.03.44.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 May 2026 03:44:06 -0700 (PDT) From: phucduc.bui@gmail.com To: Olivier Moysan , Arnaud Pouliquen , Mark Brown Cc: Liam Girdwood , Jaroslav Kysela , Takashi Iwai , Maxime Coquelin , Alexandre Torgue , linux-sound@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, bui duc phuc Subject: [PATCH 3/4] ASoC: stm: stm32_sai_sub: Use guard() for mutex & spin locks Date: Wed, 13 May 2026 17:43:28 +0700 Message-ID: <20260513104329.81592-4-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260513104329.81592-1-phucduc.bui@gmail.com> References: <20260513104329.81592-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 & spin locks. Merely code refactoring, and no behavior change. Signed-off-by: bui duc phuc --- sound/soc/stm/stm32_sai_sub.c | 29 +++++++++++------------------ 1 file changed, 11 insertions(+), 18 deletions(-) diff --git a/sound/soc/stm/stm32_sai_sub.c b/sound/soc/stm/stm32_sai_sub.c index 3e82fa90e719..ea9e8bddd63f 100644 --- a/sound/soc/stm/stm32_sai_sub.c +++ b/sound/soc/stm/stm32_sai_sub.c @@ -280,9 +280,8 @@ static int snd_pcm_iec958_get(struct snd_kcontrol *kcon= trol, { struct stm32_sai_sub_data *sai =3D snd_kcontrol_chip(kcontrol); =20 - mutex_lock(&sai->ctrl_lock); + guard(mutex)(&sai->ctrl_lock); memcpy(uctl->value.iec958.status, sai->iec958.status, 4); - mutex_unlock(&sai->ctrl_lock); =20 return 0; } @@ -292,9 +291,8 @@ static int snd_pcm_iec958_put(struct snd_kcontrol *kcon= trol, { struct stm32_sai_sub_data *sai =3D snd_kcontrol_chip(kcontrol); =20 - mutex_lock(&sai->ctrl_lock); + guard(mutex)(&sai->ctrl_lock); memcpy(sai->iec958.status, uctl->value.iec958.status, 4); - mutex_unlock(&sai->ctrl_lock); =20 return 0; } @@ -658,10 +656,10 @@ static irqreturn_t stm32_sai_isr(int irq, void *devid) status =3D SNDRV_PCM_STATE_XRUN; } =20 - spin_lock(&sai->irq_lock); - if (status !=3D SNDRV_PCM_STATE_RUNNING && sai->substream) - snd_pcm_stop_xrun(sai->substream); - spin_unlock(&sai->irq_lock); + scoped_guard(spinlock, &sai->irq_lock) { + if (status !=3D SNDRV_PCM_STATE_RUNNING && sai->substream) + snd_pcm_stop_xrun(sai->substream); + } =20 return IRQ_HANDLED; } @@ -894,11 +892,9 @@ static int stm32_sai_startup(struct snd_pcm_substream = *substream, { struct stm32_sai_sub_data *sai =3D snd_soc_dai_get_drvdata(cpu_dai); int imr, cr2, ret; - unsigned long flags; =20 - spin_lock_irqsave(&sai->irq_lock, flags); - sai->substream =3D substream; - spin_unlock_irqrestore(&sai->irq_lock, flags); + scoped_guard(spinlock_irqsave, &sai->irq_lock) + sai->substream =3D substream; =20 if (STM_SAI_PROTOCOL_IS_SPDIF(sai)) { snd_pcm_hw_constraint_mask64(substream->runtime, @@ -1083,7 +1079,7 @@ static void stm32_sai_set_iec958_status(struct stm32_= sai_sub_data *sai, return; =20 /* Force the sample rate according to runtime rate */ - mutex_lock(&sai->ctrl_lock); + guard(mutex)(&sai->ctrl_lock); switch (runtime->rate) { case 22050: sai->iec958.status[3] =3D IEC958_AES3_CON_FS_22050; @@ -1116,7 +1112,6 @@ static void stm32_sai_set_iec958_status(struct stm32_= sai_sub_data *sai, sai->iec958.status[3] =3D IEC958_AES3_CON_FS_NOTID; break; } - mutex_unlock(&sai->ctrl_lock); } =20 static int stm32_sai_configure_clock(struct snd_soc_dai *cpu_dai, @@ -1284,7 +1279,6 @@ static void stm32_sai_shutdown(struct snd_pcm_substre= am *substream, struct snd_soc_dai *cpu_dai) { struct stm32_sai_sub_data *sai =3D snd_soc_dai_get_drvdata(cpu_dai); - unsigned long flags; =20 stm32_sai_sub_reg_up(sai, STM_SAI_IMR_REGX, SAI_XIMR_MASK, 0); =20 @@ -1298,9 +1292,8 @@ static void stm32_sai_shutdown(struct snd_pcm_substre= am *substream, if (!sai->sai_mclk && sai->put_sai_ck_rate) sai->put_sai_ck_rate(sai); =20 - spin_lock_irqsave(&sai->irq_lock, flags); - sai->substream =3D NULL; - spin_unlock_irqrestore(&sai->irq_lock, flags); + scoped_guard(spinlock_irqsave, &sai->irq_lock) + sai->substream =3D NULL; } =20 static int stm32_sai_pcm_new(struct snd_soc_pcm_runtime *rtd, --=20 2.43.0 From nobody Fri Jun 12 18:33:12 2026 Received: from mail-pg1-f179.google.com (mail-pg1-f179.google.com [209.85.215.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 4AE113FBEC7 for ; Wed, 13 May 2026 10:44:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778669053; cv=none; b=leviEYSSR962dafi5nnkL7jKolg28TNI/SgTSLtD+GRMK6K/5SLP7bhHCa/0onv1uPiLAP3+MIUZ4bL8t3TihRx4SoS9MZP8BK7XKh6SJXH0zAVpkzisxSwPgLpqvhj3v1YtboZVic0F9yvWHqUlBBkbobDhKV7ep6pZwGbFUqY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778669053; c=relaxed/simple; bh=iO/fPS1u+WSDfI9ZJLJOThXlGnmZiGdD5849oKxjuFo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=gpmXcFGOS9PGoLkzAV5DX75iekbRUb7dMDwvLIdPqJcLC1fFz2RaPDCYpyLlMKlO090COR3XqKstNJkovrvYbYnNunBKe1gIHhsR7TaKbL7FtgpVdIVCKy3rysnKFrUIG1jLBu2O1F/tYgNbed2kro8IRsr6ctCgXcxCsGthadQ= 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=MfWtFtPY; arc=none smtp.client-ip=209.85.215.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="MfWtFtPY" Received: by mail-pg1-f179.google.com with SMTP id 41be03b00d2f7-c82471904fcso2889621a12.2 for ; Wed, 13 May 2026 03:44:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778669051; x=1779273851; 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; bh=Eh0yf1lgtPbRzrPbuzjigiZ2dhg3uZqppPUNeSjlJCQ=; b=MfWtFtPYMVwqbRoYQ3KPwiOcgqgRPYedaJrridbed/KwfbvJCL4LuXqLR3jwHzFUaj jjD9VXhwIoUbcUZx59+yn5JSYO0VwGIpm0LTNN5MXIfEFAzLc6jMLlZ0x1JqvG9DulNx IOY79voBIjtOi9ITdBh+L27ceFrDHq1dFdyP6tFZawLG9vpk8qcOvfOiUo/EBAKl9y2r TXvdFT/iNvGE1lWBUIjDYJrPe9U1soi4Tu06nN6+Jp21oxSaN3ji3ArHVqFBE+hG3UyA CXqAK7Er7KDlJqU21TpBxkiAjtcvtlK9OLaHx95l/u5oeE5cvVNj/Iwd0AJI+jCJ3Nyx xeYQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778669051; x=1779273851; 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; bh=Eh0yf1lgtPbRzrPbuzjigiZ2dhg3uZqppPUNeSjlJCQ=; b=siIBtwQhm9Fx1l71DfjbxiQ86HNH2+Md91eqiShlMFXtq3wyAZ3pWVQuRMrMLfDxel +VAKgeE3zUGYtyVYMDhCNHFIuwvWzez7ni3h2YsP6zIK08lMPcHYkYArP4kFuceudQYC 0FLzDC4qIT7maNcn59TF/AN6KuACAbYecJGWTfdPjxOKIDEGocf3aY934XmUFAgPT8O1 DrJSQVVQnZZI30yp92fXaBpu/P0Ma8cvKjYg76scUV/5/Iq0R9Uilwf42pAptIMVghzp rD4hIc7kw0IlJ7uy1J6aaWpNHpPnKIckN5w6IbG6sdEdixUYEfljpeoFVQHvcJTi2KRn esXg== X-Forwarded-Encrypted: i=1; AFNElJ86fkdQ98BvKVsp56jd5gDT6nyFMexCsk3uxb6j0GfxHgkP/dQ53CsKvPlZQUxH7SWuj/vIPV/hYvUlKv4=@vger.kernel.org X-Gm-Message-State: AOJu0YzxFrkSFbFv+Qncv7F78eQLGvYqBpQCmczzncvxCi2QsgX1g8Iz z+OpSLKiWyPyiT2NpKBVeshCqQdetXnPQkzifvAUskM1jCcaofRAHBdr X-Gm-Gg: Acq92OEpj8/nFZ5QZg1j51SLBb8QV1+Vr+N3qbMSwGh+o8M8Shns7W8F0geyL/ZdKZt LV6HUo7rZrdpBjnErzNf9GVC1600Wv/XgTt9LDWpolTGrEphx6ns12wJSLkHx+QCh4y6oOYHXx2 QbKBK9D9iYNtlU3KVq/C+8PGxW1727gTWAFRlyvSR7Vh6J+tckGKQL+0/S9q9TN5vamnCyJY1F/ 31lVgDLnehjHIDJVs1NFqJbpb8P9TTPkTxf2DC4X5Fnk6I9WfUz1+iDvUoPYFdhzlg4ANp6wZKY CWt74jAY1DP/yuDtz+ePN5LjMO/C+f6gyahTZZCOST0xVH/dG0MdzwFR1N8QyokjScloYYPJJDF Dq4CuvdESHENsh49MqqarQVp93RgDHNr+H7YPIe67hslH6GzU0Pcxk76Ih3ZIW5/P1uvJ3E05mc PMF6O21YEMisVGllA+w7498s/0fPwIPt6lo+MixTjh+JchU3P4nm7DTE+ZKA== X-Received: by 2002:a17:903:3843:b0:2b2:4260:109 with SMTP id d9443c01a7336-2bd275c6580mr30109575ad.23.1778669051359; Wed, 13 May 2026 03:44:11 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2baf1e35e9dsm170479535ad.39.2026.05.13.03.44.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 May 2026 03:44:11 -0700 (PDT) From: phucduc.bui@gmail.com To: Olivier Moysan , Arnaud Pouliquen , Mark Brown Cc: Liam Girdwood , Jaroslav Kysela , Takashi Iwai , Maxime Coquelin , Alexandre Torgue , linux-sound@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, bui duc phuc Subject: [PATCH 4/4] ASoC: stm: stm32_spdifrx: Use guard() for spin locks Date: Wed, 13 May 2026 17:43:29 +0700 Message-ID: <20260513104329.81592-5-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260513104329.81592-1-phucduc.bui@gmail.com> References: <20260513104329.81592-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 spin locks. Merely code refactoring, and no behavior change. Signed-off-by: bui duc phuc --- sound/soc/stm/stm32_spdifrx.c | 44 +++++++++++++---------------------- 1 file changed, 16 insertions(+), 28 deletions(-) diff --git a/sound/soc/stm/stm32_spdifrx.c b/sound/soc/stm/stm32_spdifrx.c index 57b711c44278..2f83ca989e68 100644 --- a/sound/soc/stm/stm32_spdifrx.c +++ b/sound/soc/stm/stm32_spdifrx.c @@ -322,7 +322,6 @@ static void stm32_spdifrx_dma_ctrl_stop(struct stm32_sp= difrx_data *spdifrx) static int stm32_spdifrx_start_sync(struct stm32_spdifrx_data *spdifrx) { int cr, cr_mask, imr, ret; - unsigned long flags; =20 /* Enable IRQs */ imr =3D SPDIFRX_IMR_IFEIE | SPDIFRX_IMR_SYNCDIE | SPDIFRX_IMR_PERRIE; @@ -330,7 +329,7 @@ static int stm32_spdifrx_start_sync(struct stm32_spdifr= x_data *spdifrx) if (ret) return ret; =20 - spin_lock_irqsave(&spdifrx->lock, flags); + guard(spinlock_irqsave)(&spdifrx->lock); =20 spdifrx->refcount++; =20 @@ -365,22 +364,17 @@ static int stm32_spdifrx_start_sync(struct stm32_spdi= frx_data *spdifrx) "Failed to start synchronization\n"); } =20 - spin_unlock_irqrestore(&spdifrx->lock, flags); - return ret; } =20 static void stm32_spdifrx_stop(struct stm32_spdifrx_data *spdifrx) { int cr, cr_mask, reg; - unsigned long flags; =20 - spin_lock_irqsave(&spdifrx->lock, flags); + guard(spinlock_irqsave)(&spdifrx->lock); =20 - if (--spdifrx->refcount) { - spin_unlock_irqrestore(&spdifrx->lock, flags); + if (--spdifrx->refcount) return; - } =20 cr =3D SPDIFRX_CR_SPDIFENSET(SPDIFRX_SPDIFEN_DISABLE); cr_mask =3D SPDIFRX_CR_SPDIFEN_MASK | SPDIFRX_CR_RXDMAEN; @@ -396,8 +390,6 @@ static void stm32_spdifrx_stop(struct stm32_spdifrx_dat= a *spdifrx) /* dummy read to clear CSRNE and RXNE in status register */ regmap_read(spdifrx->regmap, STM32_SPDIFRX_DR, ®); regmap_read(spdifrx->regmap, STM32_SPDIFRX_CSR, ®); - - spin_unlock_irqrestore(&spdifrx->lock, flags); } =20 static int stm32_spdifrx_dma_ctrl_register(struct device *dev, @@ -744,19 +736,19 @@ static irqreturn_t stm32_spdifrx_isr(int irq, void *d= evid) return IRQ_HANDLED; } =20 - spin_lock(&spdifrx->irq_lock); - if (spdifrx->substream) - snd_pcm_stop(spdifrx->substream, - SNDRV_PCM_STATE_DISCONNECTED); - spin_unlock(&spdifrx->irq_lock); + scoped_guard(spinlock, &spdifrx->irq_lock) { + if (spdifrx->substream) + snd_pcm_stop(spdifrx->substream, + SNDRV_PCM_STATE_DISCONNECTED); + } =20 return IRQ_HANDLED; } =20 - spin_lock(&spdifrx->irq_lock); - if (err_xrun && spdifrx->substream) - snd_pcm_stop_xrun(spdifrx->substream); - spin_unlock(&spdifrx->irq_lock); + scoped_guard(spinlock, &spdifrx->irq_lock) { + if (err_xrun && spdifrx->substream) + snd_pcm_stop_xrun(spdifrx->substream); + } =20 return IRQ_HANDLED; } @@ -765,12 +757,10 @@ static int stm32_spdifrx_startup(struct snd_pcm_subst= ream *substream, struct snd_soc_dai *cpu_dai) { struct stm32_spdifrx_data *spdifrx =3D snd_soc_dai_get_drvdata(cpu_dai); - unsigned long flags; int ret; =20 - spin_lock_irqsave(&spdifrx->irq_lock, flags); - spdifrx->substream =3D substream; - spin_unlock_irqrestore(&spdifrx->irq_lock, flags); + scoped_guard(spinlock_irqsave, &spdifrx->irq_lock) + spdifrx->substream =3D substream; =20 ret =3D clk_prepare_enable(spdifrx->kclk); if (ret) @@ -846,11 +836,9 @@ static void stm32_spdifrx_shutdown(struct snd_pcm_subs= tream *substream, struct snd_soc_dai *cpu_dai) { struct stm32_spdifrx_data *spdifrx =3D snd_soc_dai_get_drvdata(cpu_dai); - unsigned long flags; =20 - spin_lock_irqsave(&spdifrx->irq_lock, flags); - spdifrx->substream =3D NULL; - spin_unlock_irqrestore(&spdifrx->irq_lock, flags); + scoped_guard(spinlock_irqsave, &spdifrx->irq_lock) + spdifrx->substream =3D NULL; =20 clk_disable_unprepare(spdifrx->kclk); } --=20 2.43.0