From mboxrd@z Thu Jan 1 00:00:00 1970 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 BBC3E345EBF for ; Fri, 31 Jul 2026 03:12:09 +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=1785467531; cv=none; b=C2x5p0oG0MvJkeFx5O82mJoJH8hJLO1I7KUy3JTGSw1ipEeONi2KDJkqze5VDy5kxVWTt6VtMDtYFuX2Bi9KHGPYlrFKVeq4gtRLb9pjEtquopgpOSqzoafteQTXcIYyxCUhnSAI0fH4snUNqMxI+wtsRyU9Jg2NSt/cJ+wTBjY= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785467531; c=relaxed/simple; bh=qK5oLqa99LwEbJPzMKlzORfyTf5bRebbJlbRHy6TwSE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=YL6blW7zrykx9UMSSVKf9P8qap6X9XVhZaa8cNkD1AIYz6Yple2ENEctLiLIyX1XZ7mWEF0XaZoUH6pbwdvP5sUNtNJ5cmk5tVaJTKaQbb04j64i4gHIB9PB/JUrnwIOJ9mhvYkaEtKnCUTvG3LeCmaKj3Bwh/MFgzjxpcT8hIA= 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=HVsGEb6v; 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="HVsGEb6v" Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-2d004f135b1so5520735ad.3 for ; Thu, 30 Jul 2026 20:12:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1785467529; x=1786072329; 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:content-type; bh=TeHMMHG26wLFUe8JtsiyvcDWtHIXZd7QcS7ThdQpwx8=; b=HVsGEb6vqy+Yz8212CAWJO6hyY1oQB9OW4JSPmHkfvSi9I/P6BiuwrFlMtQC9vTFP9 kVsfS9499m5YFW428EBIqlk2bQMOXelhAxwW8Zpj+HQnUSfP/kVeByEnZ7dEgEEoeoOg oqdzqqeAOOdeTgnLlc2G5jq+APmIULDI/SXxF4wBzyN9txcMj2VOFi2YGSiXV6N/T1AN byFWy8fNOyQKDlI5dVjnjgMNA1sTmBkMfc8pZ7KiQDwxF/1PxD6TVBcm5BRzlDnqfYGw Ci67guF5SzJel0ChGKNH0HhbAmCWesvzCRx7gTQ7fGA5wWfI+Y4pnUl72tpkSMnSxj01 ll1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785467529; x=1786072329; 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:content-type; bh=TeHMMHG26wLFUe8JtsiyvcDWtHIXZd7QcS7ThdQpwx8=; b=U27icQuxdg0INGJKtnCDk/kIDnZIsstu4ObCJfadXN0k3dm603lXxaSX6MzQ0cHyH3 fm1jUGu5qCNfcr1Ksz8m5g8F2YP6eJTd2H2RVrkyWireWtMTByXGMdSJxsGPU8DmPtIq WWKX0vrFxpJBp+4+jmBvD7Kt1s9DN/KkZfKatjJaW8zk/z6gu4jjPanGYYQr4rJAAw/m YDAlz2sOY1/uszXL2IxEKmMYe3qFhCbcDB98sdXiMxeJLYnDhAxv/rnIfcdHYj4sCfB2 kCWAvUiYL25lwCsCSvZxh45blYL9RTjk5shcXqa7SB7376LzCvVIDMT7WgqFSFpKpQ3c KGug== X-Forwarded-Encrypted: i=1; AHgh+RqV5zMwJ1d6ydyEQeUpK8PR0HeHKnwfXEqn9EDZg6nfsDkTR2uZ1z7fXUARuAq7VpTSiAb/pHz1VGwQYNg=@vger.kernel.org X-Gm-Message-State: AOJu0YwIB8snJQUW9Htc443wNr4rsCFKz0gRORqpj4NGEZUYGy1aJvj4 g+K6rpxPrZFqHEAdpzGiggNERM5edBLrfPL2XJezsJCR/OsxY1Y0yIoM X-Gm-Gg: AR+sD11m9zYbIWTLHH33zDdlD5+fbWyYVedshD4bdgWzUKHpZaBRycdmXOPsBx/TaWq zLhswo3uw+VOpb6ZL79YCEtLHcKTXdgND25CKtTYTmSDJcpzqZHK6ukRkDYTgI9EAcLoVEu+HmC CK6B1ZDRYqPW8nDfJN9Z0/fc+9h36tDF+5cl1ZEQXIEHNout2r9cDSZX+XJLhCNXUTVnu+etrfY 2hdUl7uStyl8worSEEgIdncGg2m5JthH+9x85U5o523/D+rBlwg36G90lHBtpZICqcJFLjy62xd zHehh78XvVTorqfTEITbX6jDX0dbQR4e96uR67yS8Cl22YnYdBcwuyxw7P2+RoxhAwY2yC28r9z n85VWqyPp5EjrLCbbnvyaQ0Qnuz6D/r9CTMseMDits/hWn/PQJ4pzsz2IxV4jbtMDdrkReHavs+ 7LMRomvdD90eJveZMrO40DGBMiHNmRga5ZOKRgBr1FXE6mCSGTNbwiLl9Ls+DbwJ5XF607s3KeE hEvF7Pv3t+/34UF2BMPM35+zp0lFZDuWIjMFoOOBO4xEETI8myu6ijkRrz+4Mvu+4WE5awGMLvI zGal X-Received: by 2002:a17:903:3886:b0:2c8:4c29:afeb with SMTP id d9443c01a7336-2d046d6d244mr4956035ad.8.1785467529096; Thu, 30 Jul 2026 20:12:09 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2d047ae9f31sm737595ad.60.2026.07.30.20.12.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Jul 2026 20:12:07 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , Liam Girdwood , Jaroslav Kysela , Takashi Iwai , Lars-Peter Clausen , nuno.sa@analog.com, Shenghao Ding , Kevin Lu , Cezary Rojewski , Richard Fitzgerald Cc: Baojun Xu , Sen Wang , Steven Eckhoff , Srinivas Kandagatla , Kuninori Morimoto , Charles Keepax , Linus Walleij , u.kleine-koenig@baylibre.com, Thorsten Blum , Kees Cook , Chen Ni , Bartosz Golaszewski , Shengjiu Wang , Sebastian Krzyszkowiak , Pengpeng Hou , patches@opensource.cirrus.com, linux-kernel@vger.kernel.org, linux-sound@vger.kernel.org, linux-arm-msm@vger.kernel.org, bui duc phuc Subject: [PATCH v3 16/26] ASoC: codecs: wm0010: Use guard() for mutex & spin locks Date: Fri, 31 Jul 2026 10:06:38 +0700 Message-ID: <20260731030648.8706-17-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260731030648.8706-1-phucduc.bui@gmail.com> References: <20260731030648.8706-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 mutex & spin locks. Merely code refactoring, and no behavior change. Reviewed-by: Richard Fitzgerald Signed-off-by: bui duc phuc --- sound/soc/codecs/wm0010.c | 28 +++++++++++----------------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/sound/soc/codecs/wm0010.c b/sound/soc/codecs/wm0010.c index 2a8c61a72c17..58c0c601ee6c 100644 --- a/sound/soc/codecs/wm0010.c +++ b/sound/soc/codecs/wm0010.c @@ -9,6 +9,7 @@ * Scott Ling */ +#include #include #include #include @@ -148,13 +149,11 @@ static const char *wm0010_state_to_str(enum wm0010_state state) static void wm0010_halt(struct snd_soc_component *component) { struct wm0010_priv *wm0010 = snd_soc_component_get_drvdata(component); - unsigned long flags; enum wm0010_state state; /* Fetch the wm0010 state */ - spin_lock_irqsave(&wm0010->irq_lock, flags); - state = wm0010->state; - spin_unlock_irqrestore(&wm0010->irq_lock, flags); + scoped_guard(spinlock_irqsave, &wm0010->irq_lock) + state = wm0010->state; switch (state) { case WM0010_POWER_OFF: @@ -173,9 +172,8 @@ static void wm0010_halt(struct snd_soc_component *component) break; } - spin_lock_irqsave(&wm0010->irq_lock, flags); - wm0010->state = WM0010_POWER_OFF; - spin_unlock_irqrestore(&wm0010->irq_lock, flags); + scoped_guard(spinlock_irqsave, &wm0010->irq_lock) + wm0010->state = WM0010_POWER_OFF; } struct wm0010_boot_xfer { @@ -190,11 +188,9 @@ struct wm0010_boot_xfer { static void wm0010_mark_boot_failure(struct wm0010_priv *wm0010) { enum wm0010_state state; - unsigned long flags; - spin_lock_irqsave(&wm0010->irq_lock, flags); - state = wm0010->state; - spin_unlock_irqrestore(&wm0010->irq_lock, flags); + scoped_guard(spinlock_irqsave, &wm0010->irq_lock) + state = wm0010->state; dev_err(wm0010->dev, "Failed to transition from `%s' state to `%s' state\n", wm0010_state_to_str(state), wm0010_state_to_str(state + 1)); @@ -734,9 +730,8 @@ static int wm0010_set_bias_level(struct snd_soc_component *component, break; case SND_SOC_BIAS_STANDBY: if (snd_soc_dapm_get_bias_level(dapm) == SND_SOC_BIAS_PREPARE) { - mutex_lock(&wm0010->lock); - wm0010_halt(component); - mutex_unlock(&wm0010->lock); + scoped_guard(mutex, &wm0010->lock) + wm0010_halt(component); } break; case SND_SOC_BIAS_OFF: @@ -832,9 +827,8 @@ static irqreturn_t wm0010_irq(int irq, void *data) case WM0010_OUT_OF_RESET: case WM0010_BOOTROM: case WM0010_STAGE2: - spin_lock(&wm0010->irq_lock); - complete(&wm0010->boot_completion); - spin_unlock(&wm0010->irq_lock); + scoped_guard(spinlock, &wm0010->irq_lock) + complete(&wm0010->boot_completion); return IRQ_HANDLED; default: return IRQ_NONE; -- 2.43.0