From nobody Fri Jun 12 11:26:06 2026 Received: from mail-pj1-f51.google.com (mail-pj1-f51.google.com [209.85.216.51]) (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 6AD5447DD7F for ; Fri, 15 May 2026 11:25:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778844321; cv=none; b=NhRGvIzC5eD+f5b2nHz6Rcwcrq1o0MXDfK7bwpdO9IniZqf1T5uSilgRLXkc1j4KBQZnfmiDoTwDViUB4RixNFMrtQLnQzR7UN07UYuEL3plQZi+lCu3DLFjsb0Onj8ApPuyww2CwOfu5c0UXzgK9mHs+Y/gqeMrTsSJvY8xP0Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778844321; c=relaxed/simple; bh=JWdgOSM2xcYoObfqy5JM0x9eGg0LNLYdg7YJowxbdIE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=k2Lf1XOdhUTEA7vSWpIBFGgvevkKVUE5uyYsURybHR3zqxHgQtIA8ySEb+UQ7ttoqq6mvmzTdLgYhC0hGRdAWa0VbgxKKP3vZ+aOLtAyzFEHbVIfGkK28YUlkCpMoy3mDXQ+NJwghr4T7yi395zOzeCm4wtzHk96JBx07Cov2pI= 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=CGyxxWK/; arc=none smtp.client-ip=209.85.216.51 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="CGyxxWK/" Received: by mail-pj1-f51.google.com with SMTP id 98e67ed59e1d1-368763a1bdfso3873238a91.2 for ; Fri, 15 May 2026 04:25:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778844320; x=1779449120; 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=CGyxxWK/DaeFM288zw7z5InmRWFqy1+47hvYtwrFsmEZjZQ5G0/rNTE+HxAqDJMy+K 7PYugeVWgdyU1wMFUA7wHHi1W43ASt6YHX0A1jEesqx7SZ8qrPjubZ8TQe0mVb618bUc gzfrHPSBwgsYNhqc4aWQ0T6SwW5NEYJ+kdqy3ZYCSL1AcrVXJz9vNCf17iZyllpNAICz uT9cEI07uEjE3QspDzygS7YuDckMooOJj0X0Dt64mWPBjlh3NeKcuSCBq75weKFnueb9 vBEQXOc6OGPB30mb238CKZhDen0LSGq/D2F6T5MKLbrX5Qxx03v/yF7Oa6IYXX4HAW/s ZWwQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778844320; x=1779449120; 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=mEmj07ZLijjNOlGExKglczrQW503QyQv7WbZ7QXaEATIKezc97WEspAsjZHnwWFyDb CN9GQSKOqtTexTt/VkMMCsX9r8MuOFdTQO/5zctxSVu4grE2eExjcNpuo82FiLZxYcAn mtUjMghcPUmp5UjQ61X5i8bb4BKtrWwC7INmVbfqJRQSwV93of+rk16ELYq/jVZZLJ82 QFRJoNxl4DF1Slk7C3Iprm9YjcGKkAHvUKR7FzGFsVccQvf8m3dcNdCQT1dbu6+PnHCC Q5gFgAd0H1Pl5FGKicpr04dd+KD2I0tWu073B0XwhUNTI0bsl3eREhpB4PcZdQFl6gjP FBtw== X-Forwarded-Encrypted: i=1; AFNElJ9rxk4agcfBt/4IXkEsths2notnN7atAaZ6feLqjOGmpa1fInQeIPi97q3oxv7UdnLKpC4Jfqbu49eHrKA=@vger.kernel.org X-Gm-Message-State: AOJu0YxXhZC9eNlTaic+w0vxZmJ1i0LlsAbZrg1g235XpJFwBfb1LgxS dzAdu8pw6DUhsVQ5BEFSKZyakwCuTQbNmSns0wxzFl+fXYWJmDSwZXpe X-Gm-Gg: Acq92OGml0LRTJxPK4uQEA0iFJ+UJkfNNCqUUfaMQWOjADR9uA1QRa7KS1PvuDnXgzK RDBMxJj7T20BXOQxDMll+IGP7tWv2tY9+Vz33LjNu8BEhNhhR+uNjCMkwufUM28W4BHfXu2VclG mogndGEsoAjSsO87zyjoSz4hmfIaVz9/qSbQ9cEvhas6mYOffhgDStMaTLJC2N+CelY0KN7SZSv 4nyV0Q7U6eXKulheKSUgnVg729tPM1psOMvzbePATcVYv+VcsKyrgFPGt1V3OhM+ImlTyDiPrQz PJhjomJ+COV4lVOikndEDfAhXfhea7gXG5e6f/Yeyob2Z5Hh8H3DuqGftx6HXVHFN+NYS9jOTGJ GeyFWeF+BqYjI+bfE36N3Gt7zbl3gce3m6PmXHe00bQdry+hE0jeSfDhHJ5yARlvV9P50BG7JvH KNxlVsAyuWBucyznTUOzj2azLZghNZ5e9W+7igdgunaxQxhH0JVPIsbDvFqtrY0O9vzsrq X-Received: by 2002:a17:90b:2d08:b0:362:e826:cefe with SMTP id 98e67ed59e1d1-36951ca6064mr3533751a91.23.1778844319586; Fri, 15 May 2026 04:25:19 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2bd5d0fd856sm54530385ad.66.2026.05.15.04.25.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 15 May 2026 04:25:19 -0700 (PDT) From: phucduc.bui@gmail.com To: olivier.moysan@foss.st.com, arnaud.pouliquen@foss.st.com, broonie@kernel.org Cc: lgirdwood@gmail.com, perex@perex.cz, tiwai@suse.com, mcoquelin.stm32@gmail.com, alexandre.torgue@foss.st.com, 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 v2 1/4] ASoC: stm: stm32_adfsdm: Use guard() for mutex locks Date: Fri, 15 May 2026 18:24:55 +0700 Message-ID: <20260515112458.34378-2-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260515112458.34378-1-phucduc.bui@gmail.com> References: <20260515112458.34378-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 11:26:06 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 C70B448032D for ; Fri, 15 May 2026 11:25:25 +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=1778844327; cv=none; b=Ihy6BK+9inzq2wZiZWDSMx4RplBErg6UOZbbCOjBDjJu+YI6lDu3XTqJh32NKonG/cnkMu1SONJqzvEafIWT3rvHkHJ0oYYPiloGgFSVBV6oB9dCsrod5+5PB0+zkeLxN4Q5hM99NsbqMD8FJSg8ee0/7Ki301jsJjDzGAfpsQE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778844327; c=relaxed/simple; bh=F9E+H8TANW6Rg9klLKuFP+magMqZNcZpPhTQGTPjs9Q=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=WxDdHafavWd5CTRHFto/naNigtwC76q4aZwxIq+XbuIbvimRHdEeRuxbL3uvgW++rkU0vLfbH/T0bByGP/LFu3NyXAwoI9t7iELo0aFkQh5/EM8Xv843+8re3MySEzOVJbkyyEFhXYfbtPpwDJ5vk5s8xpuiaiKFw3S77fkxJJA= 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=NRp9xlx7; 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="NRp9xlx7" Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-2bd80b3aa13so5690395ad.0 for ; Fri, 15 May 2026 04:25:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778844325; x=1779449125; 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=QXOb3YdKRM4sg0OdEZWS62sCVC29WoJvCtzBLBwZdiI=; b=NRp9xlx7U15oD4d9AnPrT4LAFMRb1yanMMmCgMNaDAYJu4ZxvLGAhtNuAuQnjFFI8I 3meQynPwYKJdkXCAtDuGCwmcSGtLD/dAFtn4/MnxRNee1WcdZrn2FbzBB3PAomn/hg65 tTLdjLXd5mAoJroDFhZjM6saoHhvacV1yYmzOc+dl+wU6IuU9IsA+mVA8oJYL0ZTGqNS qR0+El14skclK2g6UMwS3bHpFcRDRPckGdJ03aRc1hqIeHFeInekTC6m2KjwLD11d1lO nE+vJjHU+NZhWTVnohs8UDymxrAPic/6IgahjOwklhPJIHisNJBzc5gNI9PdNLgDCSYe RvaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778844325; x=1779449125; 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=QXOb3YdKRM4sg0OdEZWS62sCVC29WoJvCtzBLBwZdiI=; b=RRS0tuGM5y93+FyguRFmqh/4t8VQu6Wb4lfIIDy6fq+59TMBi4t8LA707SuLrJdN6w GinjQ8+BLUFEpUW7pJ8IbqQ1dc3brmn/koB1pBZZ3J+A7irxFuyDnknZrf6Zm5GfqvqN TeAozfJaz5hTrJkIxkJx+SXDdqwh6fjYHzMeRlJLetkLbcdy3sT1Rfv8LpPJqG+kT/jc sMOt87dXt6ME8mlagJOkxaX50Q+uhFbVd/7e2qh9ceS2YfiT2p5AYQ57cEYejKtaHwx8 +32wO3AFjvqPMuc+1U7rw4qLZqxO2bVRWoHv/3KjXANmP+f1Jp32GX1qV1VdpUwhnH+H P5nQ== X-Forwarded-Encrypted: i=1; AFNElJ9D7nyPi0JZe81d5oz/E/xBx2H377yrezGUXCX9FsYkqLZGg4LsCceZxK+qwcV3gxjFGy/LhEcLD/BFvJM=@vger.kernel.org X-Gm-Message-State: AOJu0YxeqexDTcCr5SmKcRizWO4QpbpdDi4e/3R6OaByTmZqZOIWX79V PJ/SWhC1vRJ342SrPxwaxvev/mG0otvkuydo74UUdG49EEXp3xSrG2Na X-Gm-Gg: Acq92OEuqs1PhwxL44wLCzt5XdpB2zdemGWMzdV8jl6+zv2SrbquHzpF+oOWVoV0Y+G 8iVOM2Ia8H/a5dJ+dPYDYQiIG8hde88PFdRB3jqSUvZDcACnd7mZp/SJ4kK7rDpr4z5sXrPQw69 siLAIwyNntc/QuMaD2Hj0qfnDhkTeziIKkPQZbSswacKn87shf4sGbSnG1zWzfefQVDiUE9IJfG 1RLR650t/+tExoOe90GheMb1NHogshEneOlxpZBaHQ29z4QSo5u+1RF9/u3ZMTuAvH5ECEuR0nc Ivk/V7+mXDsOJEJO6nXvEJE+Cu7Zt9EKg5r5AbeGtYOsN+S8V9pS9lRlZJmH4IcJRSam7F8IGAz 6I06RxJS7SGbuj8sXQTSDkeVe3XC+plnYCEVTVa2HSGPKLmXOuzPgOKkvZ7WytpwGkJ5DEAsjzc 76Vwt2Y96Fhi1Uqe/Yqd3YgnScJ90njdrz0Da2yU05pErV2Y0SMMNPZFXq9A== X-Received: by 2002:a17:903:b45:b0:2b9:cd2d:6f13 with SMTP id d9443c01a7336-2bd7e7d88e8mr45702405ad.10.1778844324907; Fri, 15 May 2026 04:25:24 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2bd5d0fd856sm54530385ad.66.2026.05.15.04.25.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 15 May 2026 04:25:24 -0700 (PDT) From: phucduc.bui@gmail.com To: olivier.moysan@foss.st.com, arnaud.pouliquen@foss.st.com, broonie@kernel.org Cc: lgirdwood@gmail.com, perex@perex.cz, tiwai@suse.com, mcoquelin.stm32@gmail.com, alexandre.torgue@foss.st.com, 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 v2 2/4] ASoC: stm: stm32_i2s: Use guard() for spin locks Date: Fri, 15 May 2026 18:24:56 +0700 Message-ID: <20260515112458.34378-3-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260515112458.34378-1-phucduc.bui@gmail.com> References: <20260515112458.34378-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 --- Changes in v2: Replace break statements inside scoped_guard() blocks with return 0 in stm32_i2s trigger handling, since break only exits the implicit scoped_guard loop rather than the function switch block. 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..ae9e25657f3f 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) + return 0; =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 11:26:06 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 4E871480336 for ; Fri, 15 May 2026 11:25:30 +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=1778844331; cv=none; b=NVVX4ngLbSKWI5mHqn9Q9U4ubpOzxiX31E8sZTUqkFQir/yGUI0WI46sPnI7i7gt/+qhTF9XQxApAXjI1PK67fWFGlswBxTOkU65Brr576ArGH8cfTmDYfC5r72kwYyzORz77oCW5gNKOJEW2j4Jbox/spXASCoCAugqHkQzdwg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778844331; c=relaxed/simple; bh=9X50H0I+x7I976Wzew0r+L0k3lHvMtlfL5mk+JUjdSM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=JLmb+3M6iSIalfGDXNr6W2LCz5XlZ2wb+kOdcWHdnwguJEhDpiViEqnhFs0z/cv5nOSPxWe89JusSB7xDAwAd1SBChKsdMmbizp92x84QFXNv/TKAH23nGLG+jYx51EA6qyzEZ8Z+QViVYuZ8WUzlwCCQHzxXvIMVqPB3pZYeu8= 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=MJ1hkt25; 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="MJ1hkt25" Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-2ba3e3c4f87so84479355ad.3 for ; Fri, 15 May 2026 04:25:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778844329; x=1779449129; 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=MJ1hkt25sVFX5zmlt+0qh9k9YnvEIWLt/vBfMKX5PaQu/lSMnr25pybCP0zzD+TWpE W2s5X6kz0NssD3Muh0UIc9zQAJl9iZpIi4tPrPD2ecU0x9OTihpu1YnIFWgfETTzeWS1 LdK3bjF93cZzXvS+Rfm7diMNjRDsEaGaG5A+WRcMFrGWDXGXIC1IhWznFGPZkYbgYRIH AOHpVzEddrj4liuBBqklFrw7Er9wLxtgesSpLQoArQj1J5ZBW3nAn+2tkTgVqRMFsTEA MrYoBSJWf/yQYM0TzLvLYEa2FfiVDQYOQElkTcpWqaBWC0JksxQRFB9FLPCljOqVVQ5X 9rvw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778844329; x=1779449129; 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=JxEh3SXqMLY89rPP8LPEDQsD+SdPnXUHp3Hr2fmNf3WIFEtTXiB3OpAHVxWhi0ljWQ kWrHG8/OB8lr6ND2R+PSbMATc3RJHrDHqRgB9T/cfIKwncwvDPKXrTFv+KKmGV4FAa/D c7h4FaMt9Iq3Lo+g8bCIQT+1NGCTupLTpqF9C/ylLat+91TSgDCaDU19jNCtskhz4Lts /jK9JIiuRf2OU8Xqjwll5UgPauqdGBY4NsVN88CmLXizYJlyH8HWrLkwfFBxzE1YGYv3 Le6aXbKBhZXzBJ7ngoUE3kTyWRzAiPnEv+s0xDDneZYJAbMRqtdB5c8IFBdESDR6aGkY VtPQ== X-Forwarded-Encrypted: i=1; AFNElJ/c7U+RhMxjZ0pJsMHrW1l3w8ckKYTDIg1DloCoQQQ4OmhXTm1zarykvdcjGrOEu0DHLD8mBr9nJX3fiFI=@vger.kernel.org X-Gm-Message-State: AOJu0Ywr765EIXPZf2ed7br2iUB5VDZolLJYp71qYNyA7hxEKjH1mupZ l1wrwX2ksBQz2zjPm+1ym6HHnIr7MV9s7nLO+5ctNUIftVREgwv02ohg X-Gm-Gg: Acq92OGzb2sE2feKVRo9FfXbFepW2JppoqSQFX4jmRCJm2ETsxSCqa49iddnGuyFoZC H8dQ/FUrY74N0Yx3Fl5L9H+EyYgAbKkGdkFs/0eL06C8KSc+DncJ4sJt+feubO0cwCH4vKdAufC u/q0+EOrwnap3T7IAPFbRk3vOeVOFFiuIzBhglxGFukCHmYVpjCpakjGyvYPYOkC2dApphi5wR0 zk3nwIASBwTm/FAjef23i+faEyod6p0WNJ+hhPVdaKGHmjEJYtyZSbup1AxMI/4LcfuGeeE41Lb vtCwsBjW935qPgmRfsrws3dmfc1saq3c88yBpkLHgEewuZY/oW+ITCTfTngW+ebVnJaf0xQ6LDg OlwhihAty4wMvkNBA6cwQW5IlLAwinXYwdyoossurUc+lXOnkXyBXNOwvnaEcNSilg/IAIKZpBD 0kX1zty3BPCANnrSZoZlolC73671XjGJJO+Twp83sRkk6XMRKIePH/hlpM4G5lNGOb5LFc X-Received: by 2002:a17:902:d5d0:b0:2b0:7531:b61e with SMTP id d9443c01a7336-2bd7e97a6c2mr26865625ad.41.1778844329329; Fri, 15 May 2026 04:25:29 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2bd5d0fd856sm54530385ad.66.2026.05.15.04.25.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 15 May 2026 04:25:28 -0700 (PDT) From: phucduc.bui@gmail.com To: olivier.moysan@foss.st.com, arnaud.pouliquen@foss.st.com, broonie@kernel.org Cc: lgirdwood@gmail.com, perex@perex.cz, tiwai@suse.com, mcoquelin.stm32@gmail.com, alexandre.torgue@foss.st.com, 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 v2 3/4] ASoC: stm: stm32_sai_sub: Use guard() for mutex & spin locks Date: Fri, 15 May 2026 18:24:57 +0700 Message-ID: <20260515112458.34378-4-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260515112458.34378-1-phucduc.bui@gmail.com> References: <20260515112458.34378-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 11:26:06 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 C463147DFA6 for ; Fri, 15 May 2026 11:25:34 +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=1778844336; cv=none; b=mbEd1jM2P3ocYM0grkGfEYsgF6CQjoaDsOHZRIU7woVZcdaZUcq9qAutNagIHDGPf3LzeW7d9Ff8VjAa4B+oqKp2JPJ7fNTeUVE5ehoIadQw35+0en2rUbYzejlLVE2S+hlHScD5MP0rD7EUFU3PVxuaXg60MQiC2GhZv3uBvcU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778844336; c=relaxed/simple; bh=iO/fPS1u+WSDfI9ZJLJOThXlGnmZiGdD5849oKxjuFo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ejG1T+XfRdIkfR4/3a6n2/AwpTYdx+oArHZiNgbPrlLkmAzuZ3lR8q2i+kca6Sre9E02/XMdlGrW4JXJwqhUymoqbcQV3wO6nxx+VsNT83sEbSYWz3M+ZK3IiOT6EW6f42OA/cBQCWuQbN+7PReIVJOEAG3/wSkEuyaNcISlCzI= 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=jdrXt7jf; 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="jdrXt7jf" Received: by mail-pl1-f177.google.com with SMTP id d9443c01a7336-2ba3e3c4f87so84479985ad.3 for ; Fri, 15 May 2026 04:25:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778844334; x=1779449134; 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=jdrXt7jfgXMTbMTssl/3CDwdxRsKn9NYjvDtWNdUHJ+4LhA4qvnpQ2Ju2nViYmW0aX +xhXKBCk5MBI3MPQb2SV7ezKQUwogaSTXi9pFMr6Uiio7LSSCLjRazghNJjBZy4Xbhow 7nluiIUkSpti49+8REXZ7HPexCYG56ZMcGIHnoSbbSEAL19Vuljrmw2/tRC7rIbhXGDL spwOVgOK1zzPJ9j7lA9g3PhXwLyFbFjz6s9Fo7hx+U9tDgHtp8aoSwg/HvrT4gMwytvS AzchH2JOSl0ceQ0lzy2nevyO1KD90O82xclOr4OK5sh/UKXFIhQ8qVnBNKJFLTz1d9xv VbEQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778844334; x=1779449134; 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=IpPKP017lx73mPp77pwHjf4J58+vz9qRfplJpR0NcG3/aeVo6K/RKMVfG0YN4qZVBK iZq4C9hQMCmNcI33XDH8sbuXsV4xh7/9tuH/gIRGbS3EQLTXcJAVzvnPO6GH9Q6AY1CQ kgRelW4a95JZCm0Zq+t8PzPoyW3+NioA9wjn+fA8FUQUl3NSSdeQhNuCETG0LZcqWsEA rMZHYrzaV3vvWP/jp7J3+n0lwgdATc9mKQPgh0fC+XgZeS/e6Bx0k+gw9X/TUQfRQmai 4W5xYbAf7qMgQ6paFXJQGzZbkBnDNsyt0oydsKcODLpF+GYwjKfNFmYwe+pmvpRJ/cXS gR9Q== X-Forwarded-Encrypted: i=1; AFNElJ+mvSzEGLCWIUiVZN6krZoo2pFH0R30UFTsRZhVqhkwG5Lf2IbiAyAG/EPiDWiqJwFBc1m3RG6om/8EtFc=@vger.kernel.org X-Gm-Message-State: AOJu0YzMmMnTvX4A7BYirLi+OGwPRZBQjZ6cxNJdNwF7dZS3G48VeUoo wS7/bT6Slzrnr2owQM7xHhh6l/dllMWtSCkRVaiE1sy2XF3eYAyszG+o X-Gm-Gg: Acq92OHwbfU1Knm0joTgalYCoeJrz9okWM7WeybX2aMUsAb13VHLLxQr/fFMiIg/Lx5 +o4fEzqf3eCCPMQJl7O2KYXNAQV9xquFtmxS+PcQIZZZ9akjjSM33aw68375Xl2kd/iX/hxWuwF KffXn6W/ilXHKEXydKPPnTx454qDsSVk+ryQfBTUPykGj5sOX4wAUn2cr0SBc8/n+dx0av7oJ2D 8nWtXgS8JARu/a3pStEaZ5mE1N3s+czz8VuhCvmI9YPdwGRfHHpksVNElK+vuh/M+ywxcHWf4Ag 2oBrRM7gYXhIAgPCpmx4rw1XBfAxzZ/gDP3Kp5BnEYb1WRUuNBFxcmZfTLPw9NSuvhaN1cao1AD tvsadJ8rUVbbhRTOBHVcBqyAcZcHo3So92UCbtwIf7Jsa+VqjvjtWjs3DvivOGllMA1OsfDo06A eMkB4N2FENB3e0ORkGlBXa38P+Fv/gmDDpnXJ9uZCXCcH/2dqWV3MAeUVUI1UpX+q2Mwu6 X-Received: by 2002:a17:903:1250:b0:2bd:7bec:f0d8 with SMTP id d9443c01a7336-2bd7e8386dbmr42166865ad.13.1778844334085; Fri, 15 May 2026 04:25:34 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2bd5d0fd856sm54530385ad.66.2026.05.15.04.25.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 15 May 2026 04:25:33 -0700 (PDT) From: phucduc.bui@gmail.com To: olivier.moysan@foss.st.com, arnaud.pouliquen@foss.st.com, broonie@kernel.org Cc: lgirdwood@gmail.com, perex@perex.cz, tiwai@suse.com, mcoquelin.stm32@gmail.com, alexandre.torgue@foss.st.com, 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 v2 4/4] ASoC: stm: stm32_spdifrx: Use guard() for spin locks Date: Fri, 15 May 2026 18:24:58 +0700 Message-ID: <20260515112458.34378-5-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260515112458.34378-1-phucduc.bui@gmail.com> References: <20260515112458.34378-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