From nobody Thu Apr 9 13:32:17 2026 Received: from mail-yw1-f174.google.com (mail-yw1-f174.google.com [209.85.128.174]) (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 DF20A3E9F72 for ; Fri, 27 Feb 2026 06:14:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772172889; cv=none; b=KzDuV23oodKFMb4YTNDj9keC9vV5yqL/UGFRo86K/GRbE85a89Toa33YB2KqQB3I3x2TXnIRWVgRbpaO2LDsSb7Q/eX3YLNAS9xqjVpzOHGZTslCM1y4mmR7Bgy8+V/bpAvFEHfG+pNDjp0vgu3LkKIuMMk4AQejlvJw0aEE2Gg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772172889; c=relaxed/simple; bh=E/ZD1dgTfN9GELfDVgcd77soj3hxro0RxUDwR0iNADI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=MPpsKtVXtiO6pNU1VLm4tRx8fkodcCySkMhvcCRp24vkhuwv+E+MKtJYcykaNwriSALbhuEc3wMrMO6R5Q31KZuk6KwUqLmLelgQZfCy8nw9KCbNu+dDOOUE4H1pM0jEpGqVmwsvnAaCAZ1F3GRgWmI8ZB1J5gbXSF0xr3s2zVU= 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=aTFP8Hd2; arc=none smtp.client-ip=209.85.128.174 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="aTFP8Hd2" Received: by mail-yw1-f174.google.com with SMTP id 00721157ae682-7982c3b7da9so19568187b3.1 for ; Thu, 26 Feb 2026 22:14:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772172887; x=1772777687; 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=Zzfxima+2vAKmrCI20smUZW6Vmlg524ON+pU5T6MXTM=; b=aTFP8Hd2wOlTad6IG4+Fd/OTcANokpq4F62gMlF2UHef6qa80hQTpZkHTGjEHQkxEb io1PgrtKbF2M6sbVcOL83IyGFQJ3g9kSiJ0mo5d3q5MutaXXDcTSE6qlFw6bQVVcv4Dj tgMzvrrOY7LyUyTBjKF2PAx6pjyftFVBtK3mPW1ahLNz2zrK9JbvE5YzvnjFvE2FM6M0 Wx5NLWBto2H97/2oO/uOV3BeuKDEl/s666+zoitEDWExXF4xjqTZaOezgUm9rrpi4WKi xacOUgchzoy0qya/BiCfjiiWd+YiSW9+EGh+g09AZm5yXTJHsQgAxzteUDjXTGprvyQG uptA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772172887; x=1772777687; 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=Zzfxima+2vAKmrCI20smUZW6Vmlg524ON+pU5T6MXTM=; b=FrbToZopzuMnpbD8Ktdk0Mwt2yPkQGdqZqELNL37Hi/avLsA0UM3cr7bN2m8+6R6Y0 sOC0hAJ5cdAX3+7kI6zHwnqW5Z8ul61+bSeFBoWiYMU2nnPfpfPxPosVK6NE+xaAOr+J Ys7o9MqHoojhN6qxMMJm4FiCJHr0Lu8TzKbqJnjeBnhtbEtameCn98xxEs5PwVh6clCc KY2cmwqTeIWprHWrZZg2nC/RPVv22uLChr1MqX2hXn+hynZ/qRyP6OXDCmL5Lino3MBQ UDe0252C+oz5TFMBJKwIAT9i3msSKg3LOhNzVci5d1dsz6O5p32v8lfRXDP6YVGJJ0YY m79A== X-Forwarded-Encrypted: i=1; AJvYcCV87BGuape1uTovf8tNtxHuLMhv/PA9AfefU9LjlHkngi1aSPPx9yyp7/TKeV2mP6lJzDjOx9Lw5zOVLWE=@vger.kernel.org X-Gm-Message-State: AOJu0YzrKWmn0Z3c/9gAFNqAGJ/x01q38HACZAjl+xYDi+fUQ9N/rtfQ zXC3Ts9FfY3J4ZMEQTGKGQ/alwe9fsSfYyVSzTC+WrC4flRhHYvedWn1 X-Gm-Gg: ATEYQzzbWgXH8cOspPVFHQvPmEHPL7UkM22KtAPao2NZiIF6jIBbznVe15aA93/D/rT pBvnisp3OlwRnb9E81jWYdF7keT3ca35SOqRYBDo4uvPlFO7PFm3/zUFrH9SkMppN8d8uGWWaHI V3Y8f39Cvt4VVjxRwx5oZiSwndRAXXLagKsPstjLifoE8+QcrDyYieYoTX3+lYZzDoexPO6yPgW BZxJWY9DfolSxp864ebrFqSX5JV5Fg3eu7LBD6EMxQ2KEy/i/ndmpQG/nnKHjca/o/Z4EWzjGAj jRdNbQ3HFCj2eNWsTYtE6j8Is6lPBmNv9EJ4nvP8MtDsQ7jOTS425jVeaCs8fR5/DG14oLCBDQc rEuxBCbm6/QA99idk1gb08GGxKkA5rL0cU9kh5nYnZQ5E3ZgxcbuhMf1FmeQ+zzRd/SuC5+olhS TL87kzu3eaEznMddpb7r0slXWbb1gYlrmM9nZg31aWk8R6c+JbsphyFwDQwGJ+SmcLt2s/F/rak EXVzXsExn/lKwlvWupgH4b9 X-Received: by 2002:a05:690c:c4e8:b0:798:244:1b07 with SMTP id 00721157ae682-7988549ee94mr17049017b3.11.1772172886888; Thu, 26 Feb 2026 22:14:46 -0800 (PST) Received: from tux ([2601:7c0:c37c:4c00::5c0b]) by smtp.gmail.com with ESMTPSA id 00721157ae682-79876ad0de6sm18149527b3.15.2026.02.26.22.14.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 26 Feb 2026 22:14:46 -0800 (PST) From: Ethan Tidmore To: Antoniu Miclaus , Jonathan Cameron , Lars-Peter Clausen , Michael Hennerich Cc: David Lechner , =?UTF-8?q?Nuno=20S=C3=A1?= , Andy Shevchenko , linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, Ethan Tidmore Subject: [PATCH 2/3] iio: filter: admv8818: Simplify locking with guard() Date: Fri, 27 Feb 2026 00:14:23 -0600 Message-ID: <20260227061424.1135505-3-ethantidmore06@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260227061424.1135505-1-ethantidmore06@gmail.com> References: <20260227061424.1135505-1-ethantidmore06@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" Use guard() instead of manual locking to simplify code. Signed-off-by: Ethan Tidmore --- drivers/iio/filter/admv8818.c | 59 ++++++++++++----------------------- 1 file changed, 20 insertions(+), 39 deletions(-) diff --git a/drivers/iio/filter/admv8818.c b/drivers/iio/filter/admv8818.c index 4d5e7a9d806a..2d12700d717f 100644 --- a/drivers/iio/filter/admv8818.c +++ b/drivers/iio/filter/admv8818.c @@ -7,6 +7,7 @@ =20 #include #include +#include #include #include #include @@ -205,13 +206,8 @@ static int __admv8818_hpf_select(struct admv8818_state= *st, u64 freq) =20 static int admv8818_hpf_select(struct admv8818_state *st, u64 freq) { - int ret; - - mutex_lock(&st->lock); - ret =3D __admv8818_hpf_select(st, freq); - mutex_unlock(&st->lock); - - return ret; + guard(mutex)(&st->lock); + return __admv8818_hpf_select(st, freq); } =20 static int __admv8818_lpf_select(struct admv8818_state *st, u64 freq) @@ -281,13 +277,8 @@ static int __admv8818_lpf_select(struct admv8818_state= *st, u64 freq) =20 static int admv8818_lpf_select(struct admv8818_state *st, u64 freq) { - int ret; - - mutex_lock(&st->lock); - ret =3D __admv8818_lpf_select(st, freq); - mutex_unlock(&st->lock); - - return ret; + guard(mutex)(&st->lock); + return __admv8818_lpf_select(st, freq); } =20 static int admv8818_rfin_band_select(struct admv8818_state *st) @@ -308,16 +299,17 @@ static int admv8818_rfin_band_select(struct admv8818_= state *st) if (lpf_corner_target < st->cf_hz) lpf_corner_target =3D U64_MAX; =20 - mutex_lock(&st->lock); + guard(mutex)(&st->lock); =20 ret =3D __admv8818_hpf_select(st, hpf_corner_target); if (ret) - goto exit; + return ret; =20 ret =3D __admv8818_lpf_select(st, lpf_corner_target); -exit: - mutex_unlock(&st->lock); - return ret; + if (ret) + return ret; + + return 0; } =20 static int __admv8818_read_hpf_freq(struct admv8818_state *st, u64 *hpf_fr= eq) @@ -352,13 +344,8 @@ static int __admv8818_read_hpf_freq(struct admv8818_st= ate *st, u64 *hpf_freq) =20 static int admv8818_read_hpf_freq(struct admv8818_state *st, u64 *hpf_freq) { - int ret; - - mutex_lock(&st->lock); - ret =3D __admv8818_read_hpf_freq(st, hpf_freq); - mutex_unlock(&st->lock); - - return ret; + guard(mutex)(&st->lock); + return __admv8818_read_hpf_freq(st, hpf_freq); } =20 static int __admv8818_read_lpf_freq(struct admv8818_state *st, u64 *lpf_fr= eq) @@ -393,13 +380,8 @@ static int __admv8818_read_lpf_freq(struct admv8818_st= ate *st, u64 *lpf_freq) =20 static int admv8818_read_lpf_freq(struct admv8818_state *st, u64 *lpf_freq) { - int ret; - - mutex_lock(&st->lock); - ret =3D __admv8818_read_lpf_freq(st, lpf_freq); - mutex_unlock(&st->lock); - - return ret; + guard(mutex)(&st->lock); + return __admv8818_read_lpf_freq(st, lpf_freq); } =20 static int admv8818_write_raw_get_fmt(struct iio_dev *indio_dev, @@ -485,7 +467,7 @@ static int admv8818_filter_bypass(struct admv8818_state= *st) { int ret; =20 - mutex_lock(&st->lock); + guard(mutex)(&st->lock); =20 ret =3D regmap_update_bits(st->regmap, ADMV8818_REG_WR0_SW, ADMV8818_SW_IN_SET_WR0_MSK | @@ -497,18 +479,17 @@ static int admv8818_filter_bypass(struct admv8818_sta= te *st) FIELD_PREP(ADMV8818_SW_OUT_SET_WR0_MSK, 1) | FIELD_PREP(ADMV8818_SW_OUT_WR0_MSK, 0)); if (ret) - goto exit; + return ret; =20 ret =3D regmap_update_bits(st->regmap, ADMV8818_REG_WR0_FILTER, ADMV8818_HPF_WR0_MSK | ADMV8818_LPF_WR0_MSK, FIELD_PREP(ADMV8818_HPF_WR0_MSK, 0) | FIELD_PREP(ADMV8818_LPF_WR0_MSK, 0)); + if (ret) + return ret; =20 -exit: - mutex_unlock(&st->lock); - - return ret; + return 0; } =20 static int admv8818_get_mode(struct iio_dev *indio_dev, --=20 2.53.0