From mboxrd@z Thu Jan 1 00:00:00 1970 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: 8bit 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_spdifrx_data *spdifrx) static int stm32_spdifrx_start_sync(struct stm32_spdifrx_data *spdifrx) { int cr, cr_mask, imr, ret; - unsigned long flags; /* Enable IRQs */ imr = SPDIFRX_IMR_IFEIE | SPDIFRX_IMR_SYNCDIE | SPDIFRX_IMR_PERRIE; @@ -330,7 +329,7 @@ static int stm32_spdifrx_start_sync(struct stm32_spdifrx_data *spdifrx) if (ret) return ret; - spin_lock_irqsave(&spdifrx->lock, flags); + guard(spinlock_irqsave)(&spdifrx->lock); spdifrx->refcount++; @@ -365,22 +364,17 @@ static int stm32_spdifrx_start_sync(struct stm32_spdifrx_data *spdifrx) "Failed to start synchronization\n"); } - spin_unlock_irqrestore(&spdifrx->lock, flags); - return ret; } static void stm32_spdifrx_stop(struct stm32_spdifrx_data *spdifrx) { int cr, cr_mask, reg; - unsigned long flags; - spin_lock_irqsave(&spdifrx->lock, flags); + guard(spinlock_irqsave)(&spdifrx->lock); - if (--spdifrx->refcount) { - spin_unlock_irqrestore(&spdifrx->lock, flags); + if (--spdifrx->refcount) return; - } cr = SPDIFRX_CR_SPDIFENSET(SPDIFRX_SPDIFEN_DISABLE); cr_mask = SPDIFRX_CR_SPDIFEN_MASK | SPDIFRX_CR_RXDMAEN; @@ -396,8 +390,6 @@ static void stm32_spdifrx_stop(struct stm32_spdifrx_data *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); } static int stm32_spdifrx_dma_ctrl_register(struct device *dev, @@ -744,19 +736,19 @@ static irqreturn_t stm32_spdifrx_isr(int irq, void *devid) return IRQ_HANDLED; } - 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); + } return IRQ_HANDLED; } - 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); + } return IRQ_HANDLED; } @@ -765,12 +757,10 @@ static int stm32_spdifrx_startup(struct snd_pcm_substream *substream, struct snd_soc_dai *cpu_dai) { struct stm32_spdifrx_data *spdifrx = snd_soc_dai_get_drvdata(cpu_dai); - unsigned long flags; int ret; - spin_lock_irqsave(&spdifrx->irq_lock, flags); - spdifrx->substream = substream; - spin_unlock_irqrestore(&spdifrx->irq_lock, flags); + scoped_guard(spinlock_irqsave, &spdifrx->irq_lock) + spdifrx->substream = substream; ret = clk_prepare_enable(spdifrx->kclk); if (ret) @@ -846,11 +836,9 @@ static void stm32_spdifrx_shutdown(struct snd_pcm_substream *substream, struct snd_soc_dai *cpu_dai) { struct stm32_spdifrx_data *spdifrx = snd_soc_dai_get_drvdata(cpu_dai); - unsigned long flags; - spin_lock_irqsave(&spdifrx->irq_lock, flags); - spdifrx->substream = NULL; - spin_unlock_irqrestore(&spdifrx->irq_lock, flags); + scoped_guard(spinlock_irqsave, &spdifrx->irq_lock) + spdifrx->substream = NULL; clk_disable_unprepare(spdifrx->kclk); } -- 2.43.0