From nobody Wed Jun 17 06:02:52 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 D28D73B1B4 for ; Thu, 23 Apr 2026 12:57:07 +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=1776949029; cv=none; b=egTFFjpP/c/0/6/P2cnDN4FTN01FHARmzSJAJ/w7uwCZ+bdoTymn8JOZkHZtcUBTCEDQhWbJCbEAyFUmfjgBqNo4z/WENrfR/8vG9AAm3UZqe1ezDrV/h8K0u/bX95m9vDzralzTblNdaky8XaziWGEgTKNwXh/dQqdqn/2X/GI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776949029; c=relaxed/simple; bh=GIkxtpx0BE3fXD43iaaw+MEIaw5f7zEFtAUUx/Zpkfg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=gaxRLohN2FpibZS9o3fZYPlcaVh01Vy7H5Rz4jquLES0+BajrNtKSQlxA77MKE5fpZ03tgX8QGxCStYjSSbBB/ldungKlq5A3S1FMheCGIHnr0bDVBQEtbf4ukK2CYz/lFWvVciVbABKrR3vGtRY9A552WyOcgfsqRBJiWwyQCg= 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=DZwQH0vP; 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="DZwQH0vP" Received: by mail-pl1-f177.google.com with SMTP id d9443c01a7336-2b7adb38d65so5599765ad.2 for ; Thu, 23 Apr 2026 05:57:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776949027; x=1777553827; 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=XYBc3dkqRtOvVCHHPogLuoxYhZu8BUNU+Mge5yqLcH0=; b=DZwQH0vPdwKp5YiaC4YFvgLDSRfCqAZEGIM3n86Ybe7qFfsb5sSIeyPNCn/gcQ/J41 9bCafTi1zeH1gwRIX+W9vY9i4sC4+dC3n1XnPTSnJ8H+g0nz9iB2K3xkUYBsoxDOOusq lfMJxEnHq4zyfAJXrJ/S921i7CQXRuImbqxiyGvhHBSgWzVSarB1tvts8XPaqyXCWrA1 fY2fkDMNXuKnHr5lvWiA1Wjid7eSK7cYZNC6/35Z0so1yOeLfiWnBDzb5zqXelRWUNZV hP7028v9MRGLtj4OvkVLiygdzH8rwSuOFzdj1M3Me5lwruagUZsCdIBtrhN3UHbfFOTU 2BZA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776949027; x=1777553827; 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=XYBc3dkqRtOvVCHHPogLuoxYhZu8BUNU+Mge5yqLcH0=; b=jzw5omPNKPjIfy1P7IBPXVpVq+thHdLPiIF/zeR4k5OQ/JToXQtg9SwgwynPfDyWgu WTDD9R+VBXIsORw5npV1yEhZ6sEcRpvBh1KbS1nKUoN6fno0adxAy5idNNl6xr56s/M+ wQ8wn/eqbczGgidQJMq5wWsFIIV1qLWdDklZg3URXY9U++2Fi79kKtb/Ydu81HM/OI5V wnf//698XCm3Z1G9UslQL9AC5qdcMJm+8fl6p7DMcBAsl0GGcb3O55GumRH0jpe3QP0Q EbD7o9/XRLrWVjpSzj+d6uvJUlMf77TBCdID9fl/NvX9+O+bkJ9JLtQR7XcurY1x3v5T qNgw== X-Forwarded-Encrypted: i=1; AFNElJ8wFSrPVwKr4gYHkc5F9bigajcHmlTl39A0Ld3TgVFRWg/Hs9rL6zxTR2AvKu6pukcvQM5kszcQqziyerY=@vger.kernel.org X-Gm-Message-State: AOJu0YxQGOq4DUlz9MGG8hn4Dk9gUsDG3EYCYwHNa9GSpGk2NLDFEXTg 5uN5QA6w0u+2beBM18CEtqP1ucQthQriZFJe5ERLfIqeS1S76tFH724V X-Gm-Gg: AeBDieuqcOPuNBwnMlM9yW06EmDeeY6BuVN0LuO6HLfWMcDj7zHtrEpp2M1dfsXdGi7 IIAN9ahRv0fQonespDrV14AsVyOX/YryU4Palf1VO0ZnQJM+mbFQNQt2DjrMbXmeijtc9QXID/J ASoMX+Htat1hzz3/cF4c+A9HVMiHDW0JhjWpdQbpMYI1XcKQbSxOs2g/cMfAQL+wY/xwKOYwQhP i/vYrauj5wAmQKaGC/Rx8H+d/3qFIgJNC19ctxZnmdjuEA+fZDgcflcCFBiq3rBfPpEjNvyjvz6 CpjjUcYuYCoFV+H2ikDJpuhi8+nZGEZOfoLRbWk/2j0Sw/sdwqAu8nj6rjuVDiYRx/zQZNTY6ek oea+efbtAH/aTCuh5rJTcmmu4TAJJm1GFFNMVnARbSFgJeDRuDWYOtCRN1T8PNx0FNhw+HB4Qz7 V/Inkvm4/qUIDSyk3ldaYzW2xFZsdtdNywh3G00oifuncY1nrT3H3Wiz3fdyCHXlh2Mpul X-Received: by 2002:a17:903:17cf:b0:2ad:bd4c:a5 with SMTP id d9443c01a7336-2b5f9e64d7fmr275396845ad.1.1776949027169; Thu, 23 Apr 2026 05:57:07 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b5fa9ff390sm192106545ad.9.2026.04.23.05.57.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Apr 2026 05:57:06 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown Cc: =?UTF-8?q?Martin=20Povi=C5=A1er?= , Liam Girdwood , Jaroslav Kysela , Takashi Iwai , asahi@lists.linux.dev, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, bui duc phuc Subject: [PATCH 1/5] ASoC: samsung: i2s: Use guard() for spin locks Date: Thu, 23 Apr 2026 19:56:42 +0700 Message-ID: <20260423125646.156599-2-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260423125646.156599-1-phucduc.bui@gmail.com> References: <20260423125646.156599-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/samsung/i2s.c | 118 +++++++++++++++++----------------------- 1 file changed, 50 insertions(+), 68 deletions(-) diff --git a/sound/soc/samsung/i2s.c b/sound/soc/samsung/i2s.c index 140907a41a70..f80f697a5d55 100644 --- a/sound/soc/samsung/i2s.c +++ b/sound/soc/samsung/i2s.c @@ -510,14 +510,13 @@ static int i2s_set_sysclk(struct snd_soc_dai *dai, in= t clk_id, unsigned int rfs, unsigned int cdcon_mask =3D 1 << i2s_regs->cdclkcon_off; unsigned int rsrc_mask =3D 1 << i2s_regs->rclksrc_off; u32 mod, mask, val =3D 0; - unsigned long flags; int ret =3D 0; =20 pm_runtime_get_sync(dai->dev); =20 - spin_lock_irqsave(&priv->lock, flags); - mod =3D readl(priv->addr + I2SMOD); - spin_unlock_irqrestore(&priv->lock, flags); + scoped_guard(spinlock_irqsave, &priv->lock) + mod =3D readl(priv->addr + I2SMOD); + =20 switch (clk_id) { case SAMSUNG_I2S_OPCLK: @@ -612,11 +611,11 @@ static int i2s_set_sysclk(struct snd_soc_dai *dai, in= t clk_id, unsigned int rfs, goto err; } =20 - spin_lock_irqsave(&priv->lock, flags); - mod =3D readl(priv->addr + I2SMOD); - mod =3D (mod & ~mask) | val; - writel(mod, priv->addr + I2SMOD); - spin_unlock_irqrestore(&priv->lock, flags); + scoped_guard(spinlock_irqsave, &priv->lock) { + mod =3D readl(priv->addr + I2SMOD); + mod =3D (mod & ~mask) | val; + writel(mod, priv->addr + I2SMOD); + } done: pm_runtime_put(dai->dev); =20 @@ -729,7 +728,6 @@ static int i2s_hw_params(struct snd_pcm_substream *subs= tream, struct i2s_dai *i2s =3D to_info(dai); u32 mod, mask =3D 0, val =3D 0; struct clk *rclksrc; - unsigned long flags; =20 WARN_ON(!pm_runtime_active(dai->dev)); =20 @@ -801,11 +799,11 @@ static int i2s_hw_params(struct snd_pcm_substream *su= bstream, return -EINVAL; } =20 - spin_lock_irqsave(&priv->lock, flags); - mod =3D readl(priv->addr + I2SMOD); - mod =3D (mod & ~mask) | val; - writel(mod, priv->addr + I2SMOD); - spin_unlock_irqrestore(&priv->lock, flags); + scoped_guard(spinlock_irqsave, &priv->lock) { + mod =3D readl(priv->addr + I2SMOD); + mod =3D (mod & ~mask) | val; + writel(mod, priv->addr + I2SMOD); + } =20 snd_soc_dai_init_dma_data(dai, &i2s->dma_playback, &i2s->dma_capture); =20 @@ -825,11 +823,10 @@ static int i2s_startup(struct snd_pcm_substream *subs= tream, struct samsung_i2s_priv *priv =3D snd_soc_dai_get_drvdata(dai); struct i2s_dai *i2s =3D to_info(dai); struct i2s_dai *other =3D get_other_dai(i2s); - unsigned long flags; =20 pm_runtime_get_sync(dai->dev); =20 - spin_lock_irqsave(&priv->pcm_lock, flags); + guard(spinlock_irqsave)(&priv->pcm_lock); =20 i2s->mode |=3D DAI_OPENED; =20 @@ -841,8 +838,6 @@ static int i2s_startup(struct snd_pcm_substream *substr= eam, if (!any_active(i2s) && (priv->quirks & QUIRK_NEED_RSTCLR)) writel(CON_RSTCLR, i2s->priv->addr + I2SCON); =20 - spin_unlock_irqrestore(&priv->pcm_lock, flags); - return 0; } =20 @@ -852,21 +847,18 @@ static void i2s_shutdown(struct snd_pcm_substream *su= bstream, struct samsung_i2s_priv *priv =3D snd_soc_dai_get_drvdata(dai); struct i2s_dai *i2s =3D to_info(dai); struct i2s_dai *other =3D get_other_dai(i2s); - unsigned long flags; - - spin_lock_irqsave(&priv->pcm_lock, flags); =20 - i2s->mode &=3D ~DAI_OPENED; - i2s->mode &=3D ~DAI_MANAGER; + scoped_guard(spinlock_irqsave, &priv->pcm_lock) { + i2s->mode &=3D ~DAI_OPENED; + i2s->mode &=3D ~DAI_MANAGER; =20 - if (is_opened(other)) - other->mode |=3D DAI_MANAGER; + if (is_opened(other)) + other->mode |=3D DAI_MANAGER; =20 - /* Reset any constraint on RFS and BFS */ - i2s->rfs =3D 0; - i2s->bfs =3D 0; - - spin_unlock_irqrestore(&priv->pcm_lock, flags); + /* Reset any constraint on RFS and BFS */ + i2s->rfs =3D 0; + i2s->bfs =3D 0; + } =20 pm_runtime_put(dai->dev); } @@ -939,7 +931,6 @@ static int i2s_trigger(struct snd_pcm_substream *substr= eam, int capture =3D (substream->stream =3D=3D SNDRV_PCM_STREAM_CAPTURE); struct snd_soc_pcm_runtime *rtd =3D snd_soc_substream_to_rtd(substream); struct i2s_dai *i2s =3D to_info(snd_soc_rtd_to_cpu(rtd, 0)); - unsigned long flags; =20 switch (cmd) { case SNDRV_PCM_TRIGGER_START: @@ -950,37 +941,31 @@ static int i2s_trigger(struct snd_pcm_substream *subs= tream, if (priv->fixup_early) priv->fixup_early(substream, dai); =20 - spin_lock_irqsave(&priv->lock, flags); + scoped_guard(spinlock_irqsave, &priv->lock) { + if (config_setup(i2s)) + return -EINVAL; =20 - if (config_setup(i2s)) { - spin_unlock_irqrestore(&priv->lock, flags); - return -EINVAL; - } + if (priv->fixup_late) + priv->fixup_late(substream, dai); =20 - if (priv->fixup_late) - priv->fixup_late(substream, dai); - - if (capture) - i2s_rxctrl(i2s, 1); - else - i2s_txctrl(i2s, 1); - - spin_unlock_irqrestore(&priv->lock, flags); + if (capture) + i2s_rxctrl(i2s, 1); + else + i2s_txctrl(i2s, 1); + } break; case SNDRV_PCM_TRIGGER_STOP: case SNDRV_PCM_TRIGGER_SUSPEND: case SNDRV_PCM_TRIGGER_PAUSE_PUSH: - spin_lock_irqsave(&priv->lock, flags); - - if (capture) { - i2s_rxctrl(i2s, 0); - i2s_fifo(i2s, FIC_RXFLUSH); - } else { - i2s_txctrl(i2s, 0); - i2s_fifo(i2s, FIC_TXFLUSH); + scoped_guard(spinlock_irqsave, &priv->lock) { + if (capture) { + i2s_rxctrl(i2s, 0); + i2s_fifo(i2s, FIC_RXFLUSH); + } else { + i2s_txctrl(i2s, 0); + i2s_fifo(i2s, FIC_TXFLUSH); + } } - - spin_unlock_irqrestore(&priv->lock, flags); pm_runtime_put(dai->dev); break; } @@ -1056,7 +1041,6 @@ static int samsung_i2s_dai_probe(struct snd_soc_dai *= dai) struct samsung_i2s_priv *priv =3D snd_soc_dai_get_drvdata(dai); struct i2s_dai *i2s =3D to_info(dai); struct i2s_dai *other =3D get_other_dai(i2s); - unsigned long flags; =20 pm_runtime_get_sync(dai->dev); =20 @@ -1079,13 +1063,13 @@ static int samsung_i2s_dai_probe(struct snd_soc_dai= *dai) i2s->rfs =3D 0; i2s->bfs =3D 0; =20 - spin_lock_irqsave(&priv->lock, flags); - i2s_txctrl(i2s, 0); - i2s_rxctrl(i2s, 0); - i2s_fifo(i2s, FIC_TXFLUSH); - i2s_fifo(other, FIC_TXFLUSH); - i2s_fifo(i2s, FIC_RXFLUSH); - spin_unlock_irqrestore(&priv->lock, flags); + scoped_guard(spinlock_irqsave, &priv->lock) { + i2s_txctrl(i2s, 0); + i2s_rxctrl(i2s, 0); + i2s_fifo(i2s, FIC_TXFLUSH); + i2s_fifo(other, FIC_TXFLUSH); + i2s_fifo(i2s, FIC_RXFLUSH); + } =20 /* Gate CDCLK by default */ if (!is_opened(other)) @@ -1100,15 +1084,13 @@ static int samsung_i2s_dai_remove(struct snd_soc_da= i *dai) { struct samsung_i2s_priv *priv =3D snd_soc_dai_get_drvdata(dai); struct i2s_dai *i2s =3D to_info(dai); - unsigned long flags; =20 pm_runtime_get_sync(dai->dev); =20 if (!is_secondary(i2s)) { if (priv->quirks & QUIRK_NEED_RSTCLR) { - spin_lock_irqsave(&priv->lock, flags); - writel(0, priv->addr + I2SCON); - spin_unlock_irqrestore(&priv->lock, flags); + scoped_guard(spinlock_irqsave, &priv->lock) + writel(0, priv->addr + I2SCON); } } =20 --=20 2.43.0 From nobody Wed Jun 17 06:02:52 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 6B28E3EE1F6 for ; Thu, 23 Apr 2026 12:57:11 +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=1776949032; cv=none; b=rTPhMsVc3PngQ3VfZCaq20en1YQ58ptix1IWewU2lN1T1VAPcnbQjfOjtN9/1kv6VdX/pc7EFI5Wv+6h5ztQ7nSLYpe8ejtuyglrbF3OAYRDQbOiBHCsGbWTCZixazDDyJhI172tPP4OO9imwLQPfuzLFm3XyzzmAIxdqUqSWhE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776949032; c=relaxed/simple; bh=IKHZ3q96hTXuMIiH9BNrB3LA3G5rq5jK3yc32SGuub4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=lA/+yS6wyciYX5pqIdI+Zb1BcjNti0RdWBcC/agKe3maalZsRW/rtDMAz7DI3wxM276uXnpDdfdYSiIr7W8DP2n+mqQro7sHQG5vBBfdGciMQc4KUKt9mpIkOdR3lZtX0Xoz7dNdpdacbGDY7EFh48mEFEU1m0IaQJ6r8ZtGNCI= 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=S8r3Sg2s; 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="S8r3Sg2s" Received: by mail-pl1-f182.google.com with SMTP id d9443c01a7336-2ab232cc803so31920375ad.3 for ; Thu, 23 Apr 2026 05:57:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776949031; x=1777553831; 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=M/+1WbMY5u1hix2GJGcVANS/NpesLEU0QcdbmptLbD0=; b=S8r3Sg2sd/eGxEqiktHJyGQ/DilI95VfPrIqo4l2GSBO3PUCTSg+AJWr/8J1sWTznE 0wQl08QXQJnLYespxOhpVLr+DUhEPmcObKWpqacPWqGWdE8aLcFl38XusdpKmHFeGYTE +pQAXLBPaaEZUxxC601m6BY3qy9PAtHXii1YJgrWbBZ4JpwT+1elGMasPFJUvHakqUWk SgG7IxukxaTpnbXKNpeF8f5yBRsJKZuXul5eIQ+biACVUPvafVw2Xj4EhWnzssV637KE SMAWjMBDGILaNUzA77fnNMcna5heW9oYncEHuljcUvO7Oc8rk6381A35ooa1GS7cXaY4 XC5Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776949031; x=1777553831; 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=M/+1WbMY5u1hix2GJGcVANS/NpesLEU0QcdbmptLbD0=; b=LZJSFFLRWUCgD+Fza9KEefyBPrQX6HpQKMKRZ3v6N802QIfP6vHf4PvjsOQEtTNR1U AOkS9B2XB5FQK/ysLmUcnfSb7iqnUbO2tSyIueCFXZ1wl/ygRg1F0bYgZOr/TBgUQJM8 df1/p0A23HM8airqGpFZyTQ+wwb7eZy20FpH2/Sfybghmvj0x52K44f4PO1uKXw3kTMp pztpTMC/oKxXW5ySC/tvyTtJwfAgQqlssbxbxhYjrqqrKeLa2lCKsM9tl61IZZ5PXW1J VZFsxpefIT24FO56tdGhX7sdFMMeuZSqaHOspb20LsRaTPQSlrBTu/jTxpKUfzSGAUWl 8aqA== X-Forwarded-Encrypted: i=1; AFNElJ+kx31jD7b/KS3k5TxNp6PApokmjIlGOfoHAt5x3DyGPMb8QUfZ9ep+e/zHUzWYOHKfg2Tro2QzfKFGDp8=@vger.kernel.org X-Gm-Message-State: AOJu0YywzaNDg+/fJsb+CWk+X6SJq9ewhLPjzrqLZD2rEIVjbUjK2I8S IovT7FnlHp4jVtAsREMDHNLLuxUxGKDR7527IWZAolkXaFbrfUbRFpil X-Gm-Gg: AeBDiesrQuSIINQY7DllgPsUviC83x5AbqDYW6wJvltwtLIfnMB3cePi6oB6wvunv+F cQQ4U3cjiJaMygq4MnfEsXssWKpJNQIoMJGroamEd/fMCf6o577kqCwZJnSm6GeleEX7UlPnZIX AkkUFcOMeBljIkgPrOKA4grnY5pv33J0BXh92sm+gbfnPgvAAT/PoBQaIud5UfgYnMPaMB+Gnxj +ZxJevP1YXL6sRQO0ubj/uG+bgE/fCKaPAvTuboW9ozkHS0FVAeZrJYYmz4/HrYBB/pPqH3Mby7 c6KcP2L+K+LHGsmZBCV6oqxa6Fze9oaWIYMRmpbaytbBh3vw9jy1aEJ5XSSzZIL8SnBk8vlWHBg I94QLqT77oBW9b1ODHj772ehFpQjAO/Jk0SNAGDFvLcqg7diHjJQFkqaaryCgy9cOEqCjuyowZD WrQ0ocJqspRp5IPLkLQmiXl7RkPvLlF6PxDxEu86OnymOlpx5bYKCHKZ0X9oZoeB2yLoJy X-Received: by 2002:a17:903:98b:b0:2b0:7026:24bf with SMTP id d9443c01a7336-2b5f9eff280mr280220285ad.14.1776949030721; Thu, 23 Apr 2026 05:57:10 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b5fa9ff390sm192106545ad.9.2026.04.23.05.57.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Apr 2026 05:57:10 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown Cc: =?UTF-8?q?Martin=20Povi=C5=A1er?= , Liam Girdwood , Jaroslav Kysela , Takashi Iwai , asahi@lists.linux.dev, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, bui duc phuc Subject: [PATCH 2/5] ASoC: samsung: idma: Use guard() for spin locks Date: Thu, 23 Apr 2026 19:56:43 +0700 Message-ID: <20260423125646.156599-3-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260423125646.156599-1-phucduc.bui@gmail.com> References: <20260423125646.156599-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/samsung/idma.c | 26 +++++++++----------------- 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/sound/soc/samsung/idma.c b/sound/soc/samsung/idma.c index cb455ddce253..d362136e1069 100644 --- a/sound/soc/samsung/idma.c +++ b/sound/soc/samsung/idma.c @@ -67,9 +67,8 @@ static int idma_enqueue(struct snd_pcm_substream *substre= am) struct idma_ctrl *prtd =3D substream->runtime->private_data; u32 val; =20 - spin_lock(&prtd->lock); - prtd->token =3D (void *) substream; - spin_unlock(&prtd->lock); + scoped_guard(spinlock, &prtd->lock) + prtd->token =3D (void *) substream; =20 /* Internal DMA Level0 Interrupt Address */ val =3D idma.lp_tx_addr + prtd->periodsz; @@ -101,16 +100,15 @@ static void idma_setcallbk(struct snd_pcm_substream *= substream, { struct idma_ctrl *prtd =3D substream->runtime->private_data; =20 - spin_lock(&prtd->lock); + guard(spinlock)(&prtd->lock); prtd->cb =3D cb; - spin_unlock(&prtd->lock); } =20 static void idma_control(int op) { u32 val =3D readl(idma.regs + I2SAHB); =20 - spin_lock(&idma.lock); + guard(spinlock)(&idma.lock); =20 switch (op) { case LPAM_DMA_START: @@ -120,12 +118,10 @@ static void idma_control(int op) val &=3D ~(AHB_INTENLVL0 | AHB_DMAEN); break; default: - spin_unlock(&idma.lock); return; } =20 writel(val, idma.regs + I2SAHB); - spin_unlock(&idma.lock); } =20 static void idma_done(void *id, int bytes_xfer) @@ -192,7 +188,7 @@ static int idma_trigger(struct snd_soc_component *compo= nent, struct idma_ctrl *prtd =3D substream->runtime->private_data; int ret =3D 0; =20 - spin_lock(&prtd->lock); + guard(spinlock)(&prtd->lock); =20 switch (cmd) { case SNDRV_PCM_TRIGGER_RESUME: @@ -214,8 +210,6 @@ static int idma_trigger(struct snd_soc_component *compo= nent, break; } =20 - spin_unlock(&prtd->lock); - return ret; } =20 @@ -228,12 +222,10 @@ idma_pointer(struct snd_soc_component *component, dma_addr_t src; unsigned long res; =20 - spin_lock(&prtd->lock); - - idma_getpos(&src); - res =3D src - prtd->start; - - spin_unlock(&prtd->lock); + scoped_guard(spinlock, &prtd->lock) { + idma_getpos(&src); + res =3D src - prtd->start; + } =20 return bytes_to_frames(substream->runtime, res); } --=20 2.43.0 From nobody Wed Jun 17 06:02:52 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 910B03EE1F2 for ; Thu, 23 Apr 2026 12:57:14 +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=1776949035; cv=none; b=bU3d9l3TxsxZpsLUQ8ka6UgRRZhvzn8+U0I+JdR45Z0811zNdye9Lf1pomxDpaXOFrLC5R0QoWbnDCvl9GvUVM/e4D9fS/HbhPvXyMDtoCw8UV4rafWhNTcCur7ghAajZcqDFWiOKV88bw4TAcae/xYF3WKkt6hgra9HFbay+nE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776949035; c=relaxed/simple; bh=wJ1fnWoxhvcVhNdLurZk+0yLTlJ2ErlrLLn7Bs9eHgU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=q/0qqVJ5ayLkrh7Cvr1mAMJYSHxMCTAnsmyrtSIw7YvYjlWNA1PFPmSuOwli9LbUlizt3eGVVh8431M0q9dSWZE12bkzyxMXG8eWxFZTHSyGYlt1mphznGZ3JOzRI47d1kilLBaB7QiibWCwgePIA8IH5IQ1/sxeZ8FOdtHwo80= 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=BwZHM82y; 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="BwZHM82y" Received: by mail-pl1-f172.google.com with SMTP id d9443c01a7336-2ad617d5b80so37844665ad.1 for ; Thu, 23 Apr 2026 05:57:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776949034; x=1777553834; 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=YXv666WW+MgLa9bKzh/4dSM0XA2OxTrkc0diZZReIyQ=; b=BwZHM82y1ElOZmpTCfuc/nNIhGV1WyYrxvU16MDxxFu/55PgMPR/fdhledlUJwEvmn kMJfxLI31HzQPFG4BogU1eGuRaNt99NK+71ntv1a80RUNVBPLzbWsAqivnEaka6jMWLg z+d7cBqMOjIf/vAPfSqMTIACeGwUusScWQozKcq5BqRVUZi2ZEHEP9tPjRBWNdIy8qYK 4BvfMNUiXvIMTfes4UTcKj060Pm65JdXfAnhgvj5ZC3aktZr8zTuxOWEVmuWOIqZuAyz stiza9g0M5FPykPug3OkW2KlAv4eKEHG1Bt8HLzyNI/9tpreVa/dEJ5a6YGyTv2enzVZ LV5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776949034; x=1777553834; 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=YXv666WW+MgLa9bKzh/4dSM0XA2OxTrkc0diZZReIyQ=; b=qdcDEQnucQ6pvRmp0EQ9Q8mFM+pceJQMz8rA6ZmeBgF+R2cev77IEHX1Fjf7qEyCEy 1VkdCap9lG2Qo+9MBT7RGOLuS/UZgTU2GYWUa9aomcEyelnvy7sgbXVt88dDqfVTiE4b kXWbvsQSN+C2nFdL0LHP1uUYgaJT2afwGbyWX+v4JpD68F2lF5/Ps1jh9B2o9EE1yrta ZvKWPpizGMC8X+aOs5rU5NEAVtOzuGxmuq+RDEaJdtNEh7cwpNpDjHP6Rbi7L5GfdL3B mSIN/5ydSu3SVEzZDIfihYSgi+XuPmB5jTFiDsNIhL3zVOfs1teJj7qOjV6KDZCCPeJp NdoA== X-Forwarded-Encrypted: i=1; AFNElJ+dOLRfIQ3AHm1+088E3lJOgDnUDPBqfkY/3hrz5aY8fmfjDoIKVHwjIsOo7wB0UAD3NnnXmO2hpdYtHS4=@vger.kernel.org X-Gm-Message-State: AOJu0YxyPA2TSKzX3qWuVZ3iti4L98sXKaQK3qNT2B8nQZCVxVRToLy1 ANxYjvXeqrehGeQt1hJBnQrEQQSwQQBxAAy/NR3eMyNRCudfetFiuFSf X-Gm-Gg: AeBDievP0fgAEBkt3VC2ZK+JlgwGaCGLb8moCM3DD2jdwKjNNx006c+voo0nSG6Hsg3 +nPVm0YgakcbhPoI8ocjEGPdeCv2YOWn2WmB7b1crNFzKdu48gUO/c9uA0hn0c7ZM81JuLirgkZ 5Ynp9zhP1VX4v57bs6xPmIaIBso0iDbTjYeED+S2pFStq7rbtBrD36KEn1yrCmJigA34MoX8vRw 7/VyPrc1fZ67p1ZDqNHYVGutMWPp26zXAL2psTcTkOynsQW0zHnGgKwjjToDwgXStpVZ1dyvg2B zEO3HqyP/tHwO/Yk7IpvRLN8m6DcjVT/PQO60siKc9muX4voNj5Cw7ZX9I3C/lq0H3AZT/EfjeL bmhXPGuSU1UZfovjIQcdvvHLAAnbuuth6/e3Y95eOjdYXQqtHhvi+EIzxfLR7s00VXdiWKKp0cZ w2NOjA7T17gb68Ga1dmNbVw0N1j59lDcWoDs/k6u7ki5qdWnqqprzkwYO/PH+X7MfxfWlt X-Received: by 2002:a17:902:7087:b0:2b4:6367:7b86 with SMTP id d9443c01a7336-2b5f9fc435dmr191850815ad.37.1776949033981; Thu, 23 Apr 2026 05:57:13 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b5fa9ff390sm192106545ad.9.2026.04.23.05.57.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Apr 2026 05:57:13 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown Cc: =?UTF-8?q?Martin=20Povi=C5=A1er?= , Liam Girdwood , Jaroslav Kysela , Takashi Iwai , asahi@lists.linux.dev, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, bui duc phuc Subject: [PATCH 3/5] ASoC: samsung: odroid: Use guard() for spin locks Date: Thu, 23 Apr 2026 19:56:44 +0700 Message-ID: <20260423125646.156599-4-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260423125646.156599-1-phucduc.bui@gmail.com> References: <20260423125646.156599-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/samsung/odroid.c | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/sound/soc/samsung/odroid.c b/sound/soc/samsung/odroid.c index ab3398f39f4a..5c5ecbea5331 100644 --- a/sound/soc/samsung/odroid.c +++ b/sound/soc/samsung/odroid.c @@ -36,15 +36,12 @@ static int odroid_card_fe_hw_params(struct snd_pcm_subs= tream *substream, { struct snd_soc_pcm_runtime *rtd =3D snd_soc_substream_to_rtd(substream); struct odroid_priv *priv =3D snd_soc_card_get_drvdata(rtd->card); - unsigned long flags; - int ret =3D 0; =20 - spin_lock_irqsave(&priv->lock, flags); + guard(spinlock_irqsave)(&priv->lock); if (priv->be_active && priv->be_sample_rate !=3D params_rate(params)) - ret =3D -EINVAL; - spin_unlock_irqrestore(&priv->lock, flags); + return -EINVAL; =20 - return ret; + return 0; } =20 static const struct snd_soc_ops odroid_card_fe_ops =3D { @@ -58,7 +55,6 @@ static int odroid_card_be_hw_params(struct snd_pcm_substr= eam *substream, struct snd_soc_pcm_runtime *rtd =3D snd_soc_substream_to_rtd(substream); struct odroid_priv *priv =3D snd_soc_card_get_drvdata(rtd->card); unsigned int pll_freq, rclk_freq, rfs; - unsigned long flags; int ret; =20 switch (params_rate(params)) { @@ -105,10 +101,8 @@ static int odroid_card_be_hw_params(struct snd_pcm_sub= stream *substream, return ret; } =20 - spin_lock_irqsave(&priv->lock, flags); - priv->be_sample_rate =3D params_rate(params); - spin_unlock_irqrestore(&priv->lock, flags); - + scoped_guard(spinlock_irqsave, &priv->lock) + priv->be_sample_rate =3D params_rate(params); return 0; } =20 @@ -116,9 +110,8 @@ static int odroid_card_be_trigger(struct snd_pcm_substr= eam *substream, int cmd) { struct snd_soc_pcm_runtime *rtd =3D snd_soc_substream_to_rtd(substream); struct odroid_priv *priv =3D snd_soc_card_get_drvdata(rtd->card); - unsigned long flags; =20 - spin_lock_irqsave(&priv->lock, flags); + guard(spinlock_irqsave)(&priv->lock); =20 switch (cmd) { case SNDRV_PCM_TRIGGER_START: @@ -134,8 +127,6 @@ static int odroid_card_be_trigger(struct snd_pcm_substr= eam *substream, int cmd) break; } =20 - spin_unlock_irqrestore(&priv->lock, flags); - return 0; } =20 --=20 2.43.0 From nobody Wed Jun 17 06:02:52 2026 Received: from mail-pj1-f46.google.com (mail-pj1-f46.google.com [209.85.216.46]) (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 DEEA53EF0B7 for ; Thu, 23 Apr 2026 12:57:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776949039; cv=none; b=b6aCqf38vnKwTFTRNHT3SbTOcbadsY4m8r2ZjRQBWwZVpo7scJ08sLYpmlThb74ZJ17qHPdS1Alu0VJpUDskPv0c1YiER3WFjUTTQhx7rSgKojwRszt72Eq2qAGTiLOTndAtHiiBkx0dLvRjexoK2SWeQ7Johtp50UWHpIUMHQM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776949039; c=relaxed/simple; bh=CP1ghv01QCcyLHSfiPOnX65aYM4APtuzG8pM9zCfUgA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=nhNcIwlUjTxFVl6Hbd/8sNT/ujQhK2eZM/oQLb+UYXi2fZZgu/jhiZYCq6Q80uzHHGzuoE3lv/sdwcz6o9IomgLv6LpqlJCekIjy8YWznXmv9qeLwi2FqGcxJmQI5sY/ZnUw8RpR7q3dEWEdF64x1pM696/FtshC1Xtl+NH6ZFo= 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=lecFdSms; arc=none smtp.client-ip=209.85.216.46 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="lecFdSms" Received: by mail-pj1-f46.google.com with SMTP id 98e67ed59e1d1-3585ec417f6so3584476a91.1 for ; Thu, 23 Apr 2026 05:57:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776949037; x=1777553837; 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=ujluhbOld/XQ/a08kQS62pX+2z7OtnQnN7cupiUIIOA=; b=lecFdSmsQnb47VufNSyiJ1tO6iPGHRWXvfg3t67nwHhPZ6LLFfO/NszivvdQGDgTKP 2XqIPgXRazDv80/DCo5QeyUgjpLWd7Po+spq1T0d/dmkGgp8KY3pkTBMe9Xw2BBBwCyV WQI9wRPxolngZQIUhvnSVC55q5DqLuCNkWBX47Cq5HFqqf7MQp9itf2aa7PWW1wqrSxc yPuMfM52p8Tboc/M/+0EiWgkA211xoUK+HNuaVppW6m4gXWk/Gq/6fNhtcOBVRj+IiJO 0y0BxqrTkEM5SCrMlVEzTmcY05xxOmSwtckPMMTvFzBIhwn3qs0yUY4Ly/ujval7KnBh RDGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776949037; x=1777553837; 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=ujluhbOld/XQ/a08kQS62pX+2z7OtnQnN7cupiUIIOA=; b=emyIOrV2YLQeZn4Zx3ktxA/76Fi6G43hkNn/55tbg76ZmV2XJpPbBNy3as8LiWzgyS xNhSViqg2j78q3Z/2eRGreljKzJ1DW2LufNIQIF9M9FT65E1b2L7/y03RRXGzpRd6wLQ IM/UxgGUpM1cfCLcyOnEQaD/9Vh9g1hWOpiPmZhMDNgWbJZrqqq43cU4wcG6LsYttR7P erihJrxm1QfIXn7nF/2imm7vvAQmSyW+TbicT0t30v4iQQzXsNfAn+f2JGKmkU7zKkam ts1PY4aw5rmu/uWucVx4U/c4pWPEXkr2RxYUM6LvmmrZNzpu3JQ0cLdwyBlvHKUrA6/W qBzA== X-Forwarded-Encrypted: i=1; AFNElJ9w/9mhRRiM+WcO1o5mHPvjr5LA0xp3FMre2tv69MSLi7b3d4/4nT4ZtrlqUnzTQa62AhrHFmpR+CnB9jU=@vger.kernel.org X-Gm-Message-State: AOJu0YyyHCqvkoy/zbXsbsbVYLQjR7pauT+9DYlzQW0sSgtu14bCX4pt eDGIZtm1tU0SeUn9C7q7lFwSm6PUW+HOm7eRByxC0KbycYvd2roaGYZY X-Gm-Gg: AeBDieuqX9SOAG49ncg1WbX0nsCqKzKz9C2o5TntzCILfmBxMyX3uK7cX1lNQ+c4SpL 9JtzR8ZUTqwzHRNd3TGKqJxFotQmEHFjBZFPW0eNor/b1oYA5a/zo2s47/D1wFHj77NK/3HeJNH HUkei9Qm0uzoIS6m125yeEINgxl8Np7NB/87WWtp/uuy16iUJasTo6ecIPJeLw+aKuzIkVCDjbr zgQHx1gnRtfIvF8iwJgeARqkUX2/flR+BG0E72ZUqSQ2pTnAxFxqYfnNziTDVBV4gOCw6kaCcUd GP4GixW4m/kIzK7DYXSWN1dO6jL0E6JTUzs4CMl1kxu2hMWrn3fVWTmxNg11kvcdYzLeQMWiaqu MKLFDe61uONAeQESmZwPKAvtvFkh75vUskMlf17TqXLVTQWk8FrtJgN6ljgUdKt4PtzyWsz3Giv 8CXry3TtHNiV3x56/Ca1R+0oRr/tfiVl9BDLaD4YRBay+aVj4zbbrYNk9Ash6V7mhgYEItBtsh7 M8Om1s= X-Received: by 2002:a17:902:b195:b0:2b2:4bbc:14b0 with SMTP id d9443c01a7336-2b5f9eb272fmr163793265ad.20.1776949037203; Thu, 23 Apr 2026 05:57:17 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b5fa9ff390sm192106545ad.9.2026.04.23.05.57.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Apr 2026 05:57:16 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown Cc: =?UTF-8?q?Martin=20Povi=C5=A1er?= , Liam Girdwood , Jaroslav Kysela , Takashi Iwai , asahi@lists.linux.dev, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, bui duc phuc Subject: [PATCH 4/5] ASoC: samsung: pcm: Use guard() for spin locks Date: Thu, 23 Apr 2026 19:56:45 +0700 Message-ID: <20260423125646.156599-5-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260423125646.156599-1-phucduc.bui@gmail.com> References: <20260423125646.156599-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/samsung/pcm.c | 99 +++++++++++++++++------------------------ 1 file changed, 40 insertions(+), 59 deletions(-) diff --git a/sound/soc/samsung/pcm.c b/sound/soc/samsung/pcm.c index a03ba9374c2e..309f024bf2a4 100644 --- a/sound/soc/samsung/pcm.c +++ b/sound/soc/samsung/pcm.c @@ -218,7 +218,6 @@ static int s3c_pcm_trigger(struct snd_pcm_substream *su= bstream, int cmd, { struct snd_soc_pcm_runtime *rtd =3D snd_soc_substream_to_rtd(substream); struct s3c_pcm_info *pcm =3D snd_soc_dai_get_drvdata(snd_soc_rtd_to_cpu(r= td, 0)); - unsigned long flags; =20 dev_dbg(pcm->dev, "Entered %s\n", __func__); =20 @@ -226,27 +225,23 @@ static int s3c_pcm_trigger(struct snd_pcm_substream *= substream, int cmd, case SNDRV_PCM_TRIGGER_START: case SNDRV_PCM_TRIGGER_RESUME: case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: - spin_lock_irqsave(&pcm->lock, flags); - - if (substream->stream =3D=3D SNDRV_PCM_STREAM_CAPTURE) - s3c_pcm_snd_rxctrl(pcm, 1); - else - s3c_pcm_snd_txctrl(pcm, 1); - - spin_unlock_irqrestore(&pcm->lock, flags); + scoped_guard(spinlock_irqsave, &pcm->lock) { + if (substream->stream =3D=3D SNDRV_PCM_STREAM_CAPTURE) + s3c_pcm_snd_rxctrl(pcm, 1); + else + s3c_pcm_snd_txctrl(pcm, 1); + } break; =20 case SNDRV_PCM_TRIGGER_STOP: case SNDRV_PCM_TRIGGER_SUSPEND: case SNDRV_PCM_TRIGGER_PAUSE_PUSH: - spin_lock_irqsave(&pcm->lock, flags); - - if (substream->stream =3D=3D SNDRV_PCM_STREAM_CAPTURE) - s3c_pcm_snd_rxctrl(pcm, 0); - else - s3c_pcm_snd_txctrl(pcm, 0); - - spin_unlock_irqrestore(&pcm->lock, flags); + scoped_guard(spinlock_irqsave, &pcm->lock) { + if (substream->stream =3D=3D SNDRV_PCM_STREAM_CAPTURE) + s3c_pcm_snd_rxctrl(pcm, 0); + else + s3c_pcm_snd_txctrl(pcm, 0); + } break; =20 default: @@ -265,7 +260,6 @@ static int s3c_pcm_hw_params(struct snd_pcm_substream *= substream, void __iomem *regs =3D pcm->regs; struct clk *clk; int sclk_div, sync_div; - unsigned long flags; u32 clkctl; =20 dev_dbg(pcm->dev, "Entered %s\n", __func__); @@ -278,36 +272,33 @@ static int s3c_pcm_hw_params(struct snd_pcm_substream= *substream, return -EINVAL; } =20 - spin_lock_irqsave(&pcm->lock, flags); - - /* Get hold of the PCMSOURCE_CLK */ - clkctl =3D readl(regs + S3C_PCM_CLKCTL); - if (clkctl & S3C_PCM_CLKCTL_SERCLKSEL_PCLK) - clk =3D pcm->pclk; - else - clk =3D pcm->cclk; - - /* Set the SCLK divider */ - sclk_div =3D clk_get_rate(clk) / pcm->sclk_per_fs / - params_rate(params) / 2 - 1; - - clkctl &=3D ~(S3C_PCM_CLKCTL_SCLKDIV_MASK - << S3C_PCM_CLKCTL_SCLKDIV_SHIFT); - clkctl |=3D ((sclk_div & S3C_PCM_CLKCTL_SCLKDIV_MASK) - << S3C_PCM_CLKCTL_SCLKDIV_SHIFT); + scoped_guard(spinlock_irqsave, &pcm->lock) { + /* Get hold of the PCMSOURCE_CLK */ + clkctl =3D readl(regs + S3C_PCM_CLKCTL); + if (clkctl & S3C_PCM_CLKCTL_SERCLKSEL_PCLK) + clk =3D pcm->pclk; + else + clk =3D pcm->cclk; =20 - /* Set the SYNC divider */ - sync_div =3D pcm->sclk_per_fs - 1; + /* Set the SCLK divider */ + sclk_div =3D clk_get_rate(clk) / pcm->sclk_per_fs / + params_rate(params) / 2 - 1; =20 - clkctl &=3D ~(S3C_PCM_CLKCTL_SYNCDIV_MASK - << S3C_PCM_CLKCTL_SYNCDIV_SHIFT); - clkctl |=3D ((sync_div & S3C_PCM_CLKCTL_SYNCDIV_MASK) - << S3C_PCM_CLKCTL_SYNCDIV_SHIFT); + clkctl &=3D ~(S3C_PCM_CLKCTL_SCLKDIV_MASK + << S3C_PCM_CLKCTL_SCLKDIV_SHIFT); + clkctl |=3D ((sclk_div & S3C_PCM_CLKCTL_SCLKDIV_MASK) + << S3C_PCM_CLKCTL_SCLKDIV_SHIFT); =20 - writel(clkctl, regs + S3C_PCM_CLKCTL); + /* Set the SYNC divider */ + sync_div =3D pcm->sclk_per_fs - 1; =20 - spin_unlock_irqrestore(&pcm->lock, flags); + clkctl &=3D ~(S3C_PCM_CLKCTL_SYNCDIV_MASK + << S3C_PCM_CLKCTL_SYNCDIV_SHIFT); + clkctl |=3D ((sync_div & S3C_PCM_CLKCTL_SYNCDIV_MASK) + << S3C_PCM_CLKCTL_SYNCDIV_SHIFT); =20 + writel(clkctl, regs + S3C_PCM_CLKCTL); + } dev_dbg(pcm->dev, "PCMSOURCE_CLK-%lu SCLK=3D%ufs SCLK_DIV=3D%d SYNC_DIV= =3D%d\n", clk_get_rate(clk), pcm->sclk_per_fs, sclk_div, sync_div); @@ -320,13 +311,11 @@ static int s3c_pcm_set_fmt(struct snd_soc_dai *cpu_da= i, { struct s3c_pcm_info *pcm =3D snd_soc_dai_get_drvdata(cpu_dai); void __iomem *regs =3D pcm->regs; - unsigned long flags; - int ret =3D 0; u32 ctl; =20 dev_dbg(pcm->dev, "Entered %s\n", __func__); =20 - spin_lock_irqsave(&pcm->lock, flags); + guard(spinlock_irqsave)(&pcm->lock); =20 ctl =3D readl(regs + S3C_PCM_CTL); =20 @@ -336,8 +325,7 @@ static int s3c_pcm_set_fmt(struct snd_soc_dai *cpu_dai, break; default: dev_err(pcm->dev, "Unsupported clock inversion!\n"); - ret =3D -EINVAL; - goto exit; + return -EINVAL; } =20 switch (fmt & SND_SOC_DAIFMT_CLOCK_PROVIDER_MASK) { @@ -346,8 +334,7 @@ static int s3c_pcm_set_fmt(struct snd_soc_dai *cpu_dai, break; default: dev_err(pcm->dev, "Unsupported master/slave format!\n"); - ret =3D -EINVAL; - goto exit; + return -EINVAL; } =20 switch (fmt & SND_SOC_DAIFMT_CLOCK_MASK) { @@ -359,8 +346,7 @@ static int s3c_pcm_set_fmt(struct snd_soc_dai *cpu_dai, break; default: dev_err(pcm->dev, "Invalid Clock gating request!\n"); - ret =3D -EINVAL; - goto exit; + return -EINVAL; } =20 switch (fmt & SND_SOC_DAIFMT_FORMAT_MASK) { @@ -374,16 +360,11 @@ static int s3c_pcm_set_fmt(struct snd_soc_dai *cpu_da= i, break; default: dev_err(pcm->dev, "Unsupported data format!\n"); - ret =3D -EINVAL; - goto exit; + return -EINVAL; } =20 writel(ctl, regs + S3C_PCM_CTL); - -exit: - spin_unlock_irqrestore(&pcm->lock, flags); - - return ret; + return 0; } =20 static int s3c_pcm_set_clkdiv(struct snd_soc_dai *cpu_dai, --=20 2.43.0 From nobody Wed Jun 17 06:02:52 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 347923EF0C6 for ; Thu, 23 Apr 2026 12:57:21 +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=1776949042; cv=none; b=oIDOnrpufl7OB9/alSFXzoUG9TrMZaffpxwNLWNTESXGzsmkr5+pt8bVRfq8Mu9DbcfT5mWMu1FYPl0LnviY61cpX07UVluBISHWSIrlsfDQF/Mr85fDUL7PTbRG6DUZ2QNnbSd6uWxZlS89qbsYXRGQdqxV3TZ72l+YMIVybcM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776949042; c=relaxed/simple; bh=bTDWzZVmDIEzzIR2e9kQP08/l7bognv4SdRbWpJltEQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=MYTHaqrZcECEbAK1D2T33+M2t1fTmS4xcXeX+8YZQKg3NoOkvaIbcOfYsaTzIMxozDUafWO4yQq7KXF6ujS1xZgtlkc/OflcltwCZheUIQU6OuBR9A7Unx7LwXs3CXyRWLgtuuc4p6eQDz80BzpEQcpAprBmAp5F1xBoHZZ7BRo= 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=jlmwMiQq; 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="jlmwMiQq" Received: by mail-pl1-f173.google.com with SMTP id d9443c01a7336-2a7a9b8ed69so54945695ad.2 for ; Thu, 23 Apr 2026 05:57:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776949040; x=1777553840; 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=kDI1B8x0qzvt78g6hp6pJdTAzcHsH/waiJ0wXVZHtXE=; b=jlmwMiQqHNzNveslnOr/wlopfLdSlBMwn3eUyXYqy6TNEXh8rtRqGCH/T0+vKdEZse yS6rYKYdoxgK4yBeFGPqRoZxRhWo9NL5L4Yk2c362emYmxLETxAUAuj3IMnAyMSyGK/x S6msLWMh9hkni4FxPwmqTaBcquGSklMONatld1HjUka6NCqDi+JJydG92mY1r1j++lW7 NAUPSUjpbMnjKQ6q6MSeBWBCCTs8qVrmcZXHdD53tcBEHF0yXGSrm5dHJfHiWT1Wl5El hlJ3B1bSiv1XslMfbXL9aGnzhdiw1BaMeeCrrbUzmVNkGYRdIcrLzjHtb2BF92zXxpQU Hi0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776949040; x=1777553840; 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=kDI1B8x0qzvt78g6hp6pJdTAzcHsH/waiJ0wXVZHtXE=; b=dE5SK8eInmYYv2HD1CZzRPFJW2mKiN9Jv6J88SPkH9nBO0gWCzUerpl9w32meEGuHR JWpJ3md01U1FelWuFvFAF0ppLEjMuFwPPqMItnBSRTnzby8uuZ4heG2VaISx+NOUHQ0Q CF2/svlL9vv9dbMRY1kF9tuwqbP4t7hd0uGdMoR/8VQadhBbQole45VIM8NwGL24PTmo 7E3PBWSt2RB5Utygj1+EUyHkgnzeO+6m2MI6wQ++IktoYFvGphsZaf3qXo2eehCaexcS a8wdGfbDM/fcZRLqoE4CZwPBqNAEUd3mGaRMvB2aB51QcCJeQUsWrcoPHcqL+Kc4GWGA sJJg== X-Forwarded-Encrypted: i=1; AFNElJ9LoTpYuQZ86JYozX6AfQ68ouMYm3TNacOofDxkyyo7R95xjKMkkmyYveq6g34He4JrCDcGD5UGRVS93nY=@vger.kernel.org X-Gm-Message-State: AOJu0Yxuh1iAMTFTT6dy3q79g1WNSEdi9sGso+Q3uDMOt4U4Kl9qEap5 ph2w9WefO+L0f/g+OsyLk3Fq2NPjo6SUQMdI/epkpmbj/yKEVJAnkN00d+jiLw== X-Gm-Gg: AeBDiesQS1MHfWZj2iicjphtdeKT+4HHUY/Dz2r8jl+Z5fM7XXtkOLr3Crz0eelNeDx USaj7GnVeT3WWtxBlrZVUtEkeV8PcqJxqDt9wxys7/qZ5jLtM6NeK5YqgNgxOoJmutfz30Kf+PY lnWwjhZfDKtHJwY0LAjSdrHZ+3Hp+o7FLb6Q0xhO5PX+8iPKP0vJYnhF/Piwsv0dCsZjIItYFMM 9jdgJ6rQI8CPEtGtMMprKiyhunw3SrxSWBsgw7jF0W4oFv3DoBTGTIRspbcDxCHk5gJy4yEq7Xz zCfSkVOq1vIthF4F5jS+HL8ypxrVbmp+UOIqBJfXXGXXI6WvGvO+4FjsNjH5sVVqEJ6Hnn++SeT p5CXC9SROAWxTaywMQFE6C+G1UMTQI95lw3KDYM+aPE/mVbZxbaIVZPJJXYcN1zuOHK2flsqG/P BNMs3hFitRvvV7+T+RninRgz4D5oJ1aYm5C1UVFodytISAx0U7AV9WGkpEDC/BgRKzqKWb X-Received: by 2002:a17:903:2ac6:b0:2b2:549f:7d2b with SMTP id d9443c01a7336-2b5f9ee2f21mr281621055ad.11.1776949040431; Thu, 23 Apr 2026 05:57:20 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b5fa9ff390sm192106545ad.9.2026.04.23.05.57.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Apr 2026 05:57:20 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown Cc: =?UTF-8?q?Martin=20Povi=C5=A1er?= , Liam Girdwood , Jaroslav Kysela , Takashi Iwai , asahi@lists.linux.dev, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, bui duc phuc Subject: [PATCH 5/5] ASoC: samsung: spdif: Use guard() for spin locks Date: Thu, 23 Apr 2026 19:56:46 +0700 Message-ID: <20260423125646.156599-6-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260423125646.156599-1-phucduc.bui@gmail.com> References: <20260423125646.156599-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/samsung/spdif.c | 25 ++++++++----------------- 1 file changed, 8 insertions(+), 17 deletions(-) diff --git a/sound/soc/samsung/spdif.c b/sound/soc/samsung/spdif.c index fb30f6b637a0..7fc46d55c522 100644 --- a/sound/soc/samsung/spdif.c +++ b/sound/soc/samsung/spdif.c @@ -143,7 +143,6 @@ static int spdif_trigger(struct snd_pcm_substream *subs= tream, int cmd, { struct snd_soc_pcm_runtime *rtd =3D snd_soc_substream_to_rtd(substream); struct samsung_spdif_info *spdif =3D to_info(snd_soc_rtd_to_cpu(rtd, 0)); - unsigned long flags; =20 dev_dbg(spdif->dev, "Entered %s\n", __func__); =20 @@ -151,16 +150,14 @@ static int spdif_trigger(struct snd_pcm_substream *su= bstream, int cmd, case SNDRV_PCM_TRIGGER_START: case SNDRV_PCM_TRIGGER_RESUME: case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: - spin_lock_irqsave(&spdif->lock, flags); - spdif_snd_txctrl(spdif, 1); - spin_unlock_irqrestore(&spdif->lock, flags); + scoped_guard(spinlock_irqsave, &spdif->lock) + spdif_snd_txctrl(spdif, 1); break; case SNDRV_PCM_TRIGGER_STOP: case SNDRV_PCM_TRIGGER_SUSPEND: case SNDRV_PCM_TRIGGER_PAUSE_PUSH: - spin_lock_irqsave(&spdif->lock, flags); - spdif_snd_txctrl(spdif, 0); - spin_unlock_irqrestore(&spdif->lock, flags); + scoped_guard(spinlock_irqsave, &spdif->lock) + spdif_snd_txctrl(spdif, 0); break; default: return -EINVAL; @@ -182,7 +179,6 @@ static int spdif_hw_params(struct snd_pcm_substream *su= bstream, void __iomem *regs =3D spdif->regs; struct snd_dmaengine_dai_dma_data *dma_data; u32 con, clkcon, cstas; - unsigned long flags; int i, ratio; =20 dev_dbg(spdif->dev, "Entered %s\n", __func__); @@ -196,7 +192,7 @@ static int spdif_hw_params(struct snd_pcm_substream *su= bstream, =20 snd_soc_dai_set_dma_data(snd_soc_rtd_to_cpu(rtd, 0), substream, dma_data); =20 - spin_lock_irqsave(&spdif->lock, flags); + guard(spinlock_irqsave)(&spdif->lock); =20 con =3D readl(regs + CON) & CON_MASK; cstas =3D readl(regs + CSTAS) & CSTAS_MASK; @@ -214,7 +210,7 @@ static int spdif_hw_params(struct snd_pcm_substream *su= bstream, break; default: dev_err(spdif->dev, "Unsupported data size.\n"); - goto err; + return -EINVAL; } =20 ratio =3D spdif->clk_rate / params_rate(params); @@ -224,7 +220,7 @@ static int spdif_hw_params(struct snd_pcm_substream *su= bstream, if (i =3D=3D ARRAY_SIZE(spdif_sysclk_ratios)) { dev_err(spdif->dev, "Invalid clock ratio %ld/%d\n", spdif->clk_rate, params_rate(params)); - goto err; + return -EINVAL; } =20 con &=3D ~CON_MCLKDIV_MASK; @@ -257,7 +253,7 @@ static int spdif_hw_params(struct snd_pcm_substream *su= bstream, default: dev_err(spdif->dev, "Invalid sampling rate %d\n", params_rate(params)); - goto err; + return -EINVAL; } =20 cstas &=3D ~CSTAS_CATEGORY_MASK; @@ -268,12 +264,7 @@ static int spdif_hw_params(struct snd_pcm_substream *s= ubstream, writel(cstas, regs + CSTAS); writel(clkcon, regs + CLKCON); =20 - spin_unlock_irqrestore(&spdif->lock, flags); - return 0; -err: - spin_unlock_irqrestore(&spdif->lock, flags); - return -EINVAL; } =20 static void spdif_shutdown(struct snd_pcm_substream *substream, --=20 2.43.0