From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pj1-f52.google.com (mail-pj1-f52.google.com [209.85.216.52]) (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 B96753D9680 for ; Mon, 15 Jun 2026 09:39:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.52 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781516389; cv=none; b=jJO+D0GsC87dX3UORvAv9INWAyr1f94J1NvpJJfLfHmZLMg9HeqQzRisZ2C9bnF8iND1ildMJKLjqAtXv1tSXOatkt7SKaM9sHAjoTKVrouWL80F9lUseUVRkkthk3LecwENHZcQlk/gyZxdYE7zJfwKiLegROc5d4ObxCFTvrk= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781516389; c=relaxed/simple; bh=eGIrG7UB1lhufDoMtkQ/eRxkJrt6N3pqPE1KjIIgjbs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=hU7SqCVi/VNGx8nDaKLhALoupGNHZclRp6aotZeNM6x59xKP/u7ipjS5Bz8j1gF8GJUJdmk+t0sOcIU55hK9rYdVTt+3ItwxwjjJJN02nz/oVlduCQ+zUJLo6hA5fGXY0GF1srBA9hL1z9ZxZgnrIEfcBPJeHyG2MGSis9QvgCI= 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=EoSq9TCK; arc=none smtp.client-ip=209.85.216.52 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="EoSq9TCK" Received: by mail-pj1-f52.google.com with SMTP id 98e67ed59e1d1-36b7b7b7a80so1853867a91.1 for ; Mon, 15 Jun 2026 02:39:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1781516388; x=1782121188; 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=ANb0KIfsTx8/8tZ1jjFTsAAUSzrIuzqzfqRTdMc2tcQ=; b=EoSq9TCK5ErAOQE+vf4d9sS9M+wgQgLIe+LvjFy9WHyd/qAYk8pEZckRhQpfY6a4qN 4IG+ipnKFh3zWYfUnKUk0y3e/sVq/y9NSYIvGWaJZuOgsYmlQgohCniAvlANUiIrlm0e Ho3yNa112HU3Q7qqdcENGk1eD9ql/JiPmvq9kzYCM1N3FYnE/LOOQsRQNLASYLaXM7UU UHnVBZYvlLWxnR48cppRS9KmqxAANZiqGO40gV2SrCJmSs13nMA2IAP/Oc7mmkc0c3ys BAhI/Mc6E7GjA8rz8S+7HfQyzV/gC2loLp/G3yLhLaxNKC4l/1Va8Eh5qHVIChxOQgoX 4nGQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781516388; x=1782121188; 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=ANb0KIfsTx8/8tZ1jjFTsAAUSzrIuzqzfqRTdMc2tcQ=; b=ClpZTcXM0J71qTvzz6q9tG5IY3Ypr95P5Ysi43u9MAwqBabIOxgPoEsf/j+OyN4eAy T6gf2UrByALj8SkTEi+WkxJSDeRiwGs2ENgpt90DmN/kLp+NLpaKWZA6YtUuitRTjejW 0UYN+UvAxgvF9YmuCz/P51kg6jMVf3giS5+UrRzOOvi7XcK9ocdiMUwMmZl1/lW8w4/z /B/ayUeIj4pmgLPQXXipC+2sH5TzY+SOyFBfLTjAH1QCfV9Y6pjir6eG2/Tj4Q+V9kqi UzvDDOqMueebh1E6ZLU0wRJ2tcOAz1JUah7nCAMVqlfJDgDOF/3zbT01qcT5Lce8fSgn YD8g== X-Forwarded-Encrypted: i=1; AFNElJ8jrscfHicxFL7pn5ItmjFx1sqk/YvXO/dlbYPZcfoDfcmHYdHWhgAKv1cI4QkE6bYKSXOZLGaq29K5nkk=@vger.kernel.org X-Gm-Message-State: AOJu0YxEws9gVH3Rtz1jUmJ5iypU4N9S1mblMyESzpOAj8pYqHqJeRJ5 q+7TQq2iox0c7KP3RUhcoy0Bo6ny0HAluwJGlh1cr5HjgLxyS7JS5Av0 X-Gm-Gg: Acq92OFevfoELEWZqWZvqA0pM8JEa/lSClq25u4bQsQWrVSOfqoXPQF/DYdiZyG9qKu 54I++YYd7jrVpa5nKdpQkF21cJx1ukNM/imMxQhrP4EJtov5TBxMdEE80Hd5ggTYprncIDNSrLe 0sztEi2tsDyJSyA3SqDgF2bFeknDT/dgrifNT+DNo7iP+AoVmhliLzyiHayuZmhAQfYzWEjL/oG vw9hNFx1m05B63TWaoJLyccziliFj1+lq9+y8ayo2etXeyvoyM0dZVm0xVScyAX31oxQ3SQQX/l 3Gyw89NxcvtdkgWIsjZ0wiRZhvhTfWIcyLCE0/L3ranLd9wPAywmpDMaPDLlmsD6bHy1BG2Bqhq VbjlEOome6fOvfhEgFGU4sc8fxxBnZW6gy1hx9/pbnyGv1Yxmo78s5Ug98pABp2ye7geiCci9jY 7dsMqeD3z2bTVhTBxTTHEkiw5N+fzZMaguA7w0+PMNwCrRTEfFkNk8Rro6zg== X-Received: by 2002:a17:90b:1d8a:b0:36d:86a5:5b8 with SMTP id 98e67ed59e1d1-37a20016cf1mr10407905a91.11.1781516388272; Mon, 15 Jun 2026 02:39:48 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-37a1eba8e9asm9936290a91.2.2026.06.15.02.39.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 15 Jun 2026 02:39:47 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown Cc: Liam Girdwood , Jaroslav Kysela , Takashi Iwai , Shengjiu Wang , Xiubo Li , Frank Li , Fabio Estevam , Nicolin Chen , Sascha Hauer , Pengutronix Kernel Team , linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, imx@lists.linux.dev, linuxppc-dev@lists.ozlabs.org, bui duc phuc Subject: [PATCH v2 03/11] ASoC: fsl_easrc: Use guard() for spin locks Date: Mon, 15 Jun 2026 16:38:16 +0700 Message-ID: <20260615093824.115751-4-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260615093824.115751-1-phucduc.bui@gmail.com> References: <20260615093824.115751-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/fsl/fsl_easrc.c | 36 ++++++++++-------------------------- 1 file changed, 10 insertions(+), 26 deletions(-) diff --git a/sound/soc/fsl/fsl_easrc.c b/sound/soc/fsl/fsl_easrc.c index 114a6c0b6b73..edfd943197a0 100644 --- a/sound/soc/fsl/fsl_easrc.c +++ b/sound/soc/fsl/fsl_easrc.c @@ -1025,7 +1025,6 @@ static int fsl_easrc_config_context(struct fsl_asrc *easrc, unsigned int ctx_id) struct fsl_easrc_ctx_priv *ctx_priv; struct fsl_asrc_pair *ctx; struct device *dev; - unsigned long lock_flags; int ret; if (!easrc) @@ -1053,9 +1052,8 @@ static int fsl_easrc_config_context(struct fsl_asrc *easrc, unsigned int ctx_id) if (ret) return ret; - spin_lock_irqsave(&easrc->lock, lock_flags); - ret = fsl_easrc_config_slot(easrc, ctx->index); - spin_unlock_irqrestore(&easrc->lock, lock_flags); + scoped_guard(spinlock_irqsave, &easrc->lock) + ret = fsl_easrc_config_slot(easrc, ctx->index); if (ret) return ret; @@ -1301,13 +1299,12 @@ static int fsl_easrc_request_context(int channels, struct fsl_asrc_pair *ctx) enum asrc_pair_index index = ASRC_INVALID_PAIR; struct fsl_asrc *easrc = ctx->asrc; struct device *dev; - unsigned long lock_flags; int ret = 0; int i; dev = &easrc->pdev->dev; - spin_lock_irqsave(&easrc->lock, lock_flags); + guard(spinlock_irqsave)(&easrc->lock); for (i = ASRC_PAIR_A; i < EASRC_CTX_MAX_NUM; i++) { if (easrc->pair[i]) @@ -1331,8 +1328,6 @@ static int fsl_easrc_request_context(int channels, struct fsl_asrc_pair *ctx) easrc->channel_avail -= channels; } - spin_unlock_irqrestore(&easrc->lock, lock_flags); - return ret; } @@ -1343,7 +1338,6 @@ static int fsl_easrc_request_context(int channels, struct fsl_asrc_pair *ctx) */ static void fsl_easrc_release_context(struct fsl_asrc_pair *ctx) { - unsigned long lock_flags; struct fsl_asrc *easrc; if (!ctx) @@ -1351,14 +1345,12 @@ static void fsl_easrc_release_context(struct fsl_asrc_pair *ctx) easrc = ctx->asrc; - spin_lock_irqsave(&easrc->lock, lock_flags); + guard(spinlock_irqsave)(&easrc->lock); fsl_easrc_release_slot(easrc, ctx->index); easrc->channel_avail += ctx->channels; easrc->pair[ctx->index] = NULL; - - spin_unlock_irqrestore(&easrc->lock, lock_flags); } /* @@ -2292,15 +2284,13 @@ static int fsl_easrc_runtime_suspend(struct device *dev) { struct fsl_asrc *easrc = dev_get_drvdata(dev); struct fsl_easrc_priv *easrc_priv = easrc->private; - unsigned long lock_flags; regcache_cache_only(easrc->regmap, true); clk_disable_unprepare(easrc->mem_clk); - spin_lock_irqsave(&easrc->lock, lock_flags); - easrc_priv->firmware_loaded = 0; - spin_unlock_irqrestore(&easrc->lock, lock_flags); + scoped_guard(spinlock_irqsave, &easrc->lock) + easrc_priv->firmware_loaded = 0; return 0; } @@ -2311,7 +2301,6 @@ static int fsl_easrc_runtime_resume(struct device *dev) struct fsl_easrc_priv *easrc_priv = easrc->private; struct fsl_easrc_ctx_priv *ctx_priv; struct fsl_asrc_pair *ctx; - unsigned long lock_flags; int ret; int i; @@ -2323,13 +2312,11 @@ static int fsl_easrc_runtime_resume(struct device *dev) regcache_mark_dirty(easrc->regmap); regcache_sync(easrc->regmap); - spin_lock_irqsave(&easrc->lock, lock_flags); - if (easrc_priv->firmware_loaded) { - spin_unlock_irqrestore(&easrc->lock, lock_flags); - goto skip_load; + scoped_guard(spinlock_irqsave, &easrc->lock) { + if (easrc_priv->firmware_loaded) + return 0; + easrc_priv->firmware_loaded = 1; } - easrc_priv->firmware_loaded = 1; - spin_unlock_irqrestore(&easrc->lock, lock_flags); ret = fsl_easrc_get_firmware(easrc); if (ret) { @@ -2377,9 +2364,6 @@ static int fsl_easrc_runtime_resume(struct device *dev) goto disable_mem_clk; } -skip_load: - return 0; - disable_mem_clk: clk_disable_unprepare(easrc->mem_clk); return ret; -- 2.43.0