From nobody Thu Apr 9 19:25:18 2026 Received: from mail-pg1-f172.google.com (mail-pg1-f172.google.com [209.85.215.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 AFC4034B1B6 for ; Sat, 7 Mar 2026 10:18:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772878715; cv=none; b=PQ3tJO0nPxCyBaUwMuk2nMZgdQYpQhON1lOGh6xMlBZrVMwDL33ReiqjzB8s67DCTGrgkVAseht2ONqjFy20E9oULa1oXdeCu4QlbbtH3zUlYpP9tZi2WXD4D056yApWgQ67hrximVXHCxNcMVbj91wMy6YcRHCt2i/bHrJZK/A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772878715; c=relaxed/simple; bh=r2LlFVmymWhPwFcVkiJGk/YEm63Tgz960SzCAIop0CM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=o8uAH0uFIRiK9EEVr5BoVrDxqHcxFqCvtfVm2Rv6Zh6hbA2gfJjd427BiMNnl69iqKw08XzjvrcEUfekNZF29XFltiWtWsUwGTWhm4aDtqi5eZ9lEkngbolaj1RJ/9FcodMeZPmjIedlUiQAXLLcz5M1PeSdaXSlWd18/G9vElc= 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=dITUeNlk; arc=none smtp.client-ip=209.85.215.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="dITUeNlk" Received: by mail-pg1-f172.google.com with SMTP id 41be03b00d2f7-bde0f62464cso3761254a12.2 for ; Sat, 07 Mar 2026 02:18:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772878712; x=1773483512; 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=ILuopjJVYJJNk1BvhCBXLzEWgrHW/yLVAVwM4GFLhJ8=; b=dITUeNlkvmxGbR5/LatepOoGF0aY84ROVDMo3AmSx00DVn0CKNCnhLQ+Q7jn8A4ir+ Oj3Ncx99YHfLMNfSuc+A5F79bey/qLipCIlpojnDdM2vDGKu2NIvRmlEN57OTU2O08L9 WDfMRuHbBdpB51Rlg0Uc8bkS/VOdx3ml7AMPOlMAm0K32W3FqvRy/r3bMhW72srbqWmk nPlfq7zEetcbWXoIs7fqAAFmZ45OiN06SIXdeukMgS/B1uY/2IpAVHaigQA3HFGcjFEC EFpJ4jXp6FXpQbqSAFfwe368s1ELzmrMN3xuDcw9n7uS6VMYj6HelfIRAXs4JU+7JiJR 9USw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772878712; x=1773483512; 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=ILuopjJVYJJNk1BvhCBXLzEWgrHW/yLVAVwM4GFLhJ8=; b=SLf7qBEr8JrWoS4EKWfvnKEiDvQdp2QiUGuEZDfS0ogX5A3XaTl/wrJgaz620gJZSE OcvwtM6ZGc8DO3R2YLURNhlLmId6mBo7rijcKjfvA+3YtnYSznV3II4jGGzFgLAq6h1c OHwUzOFRU1/5xdH/keIyupz0opejOhnZSE6IHSTM8FQmpKIadvdVOfdtb3KMMt8mFqX5 o2PCjlsC+aJWRB4m22jC3v6fIio6ZHfgpR76WSTYLIqfYH3N0gqMTBEawC1BP/eJme+P wL5fNGNuStTlooRgx2zV5pNVrCnh6Yi01Saoj5KxtwgEDIjFYh3rm14UBJO0Pj7a1AIE bPkg== X-Forwarded-Encrypted: i=1; AJvYcCXAA7udzDsT5hzLTYazk7sB5jP2BcJ5bsndHw/oPf4p5HswaszktPhC7OvQ3dainB2Dj+lCrsEhFWWfkE8=@vger.kernel.org X-Gm-Message-State: AOJu0YzjhHhJIgRGR2JxinPA08Q5c6ZBG4efKNzbTPQtXDop4fRvz0Js OPVbZMZPM+FLevNDfxERKJrCSY6xPq+gCtmEdrXKd2WSuthkQiSZnBim X-Gm-Gg: ATEYQzzW6/bfo/6PhTCu9ysMDH+TCzhzz3ZpJj2OrJn21SewsVUc5tXJp8yNkr6UGzL dfb2eIHsBYauTngZhwDpBOXZctTLxL/WyKgpSEiF+NB0x+GH2/EW9qe0vj+TSLFzDy1QTHaAJ2X FTHWPTK+w2HMrT8z/VL7sMlDs5NbAqu/qat38KitC3iLvdwI78KPfQfVzzAtp1B5IqXaCEnnXL/ w88GvAB5VZVOK4XFnLAbFxArzBdcY5oWeDqvdtTcUBEDmLfl2i4cANRQFPu5RkshochrI1Vmh1+ nw5+mnwbT1Ljv/GTNUybsx0SH/u9Vz0+Jg8mWkx+KJJT6ljOG9Gw7XmkZOLap+U9iWI6vcioLej KPM7Zo0c3PkKOmDxefm1fRgMjIW2u395gvPR6eXLb6nFe9Cin7EP3sr4CNPHrXTfcqxhLpcchWZ 7C7fMIqKEePMiGjP79lCF5A5Dn0wK608T7cLRzPb3EftvVI2KUeuoYZi8rMzqKJOVIYMBTzt12L TVw/nxEkHnyhL0X8fj+nKqO X-Received: by 2002:a17:903:1a24:b0:2ae:4ef4:1415 with SMTP id d9443c01a7336-2ae8238544emr50643415ad.13.1772878711980; Sat, 07 Mar 2026 02:18:31 -0800 (PST) Received: from fedora ([103.215.156.48]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2ae83f7864dsm48381265ad.49.2026.03.07.02.18.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 07 Mar 2026 02:18:31 -0800 (PST) From: Rajveer Chaudhari To: lucas.p.stankus@gmail.com, lars@metafoo.de, Michael.Hennerich@analog.com, jic23@kernel.org, nuno.sa@analog.com, andy@kernel.org, puranjay@kernel.org, dlechner@baylibre.com Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, Rajveer Chaudhari Subject: [PATCH v3 2/3] iio: accel: adxl355: convert to guard(mutex) Date: Sat, 7 Mar 2026 15:47:57 +0530 Message-ID: <20260307101758.50091-3-rajveer.chaudhari.linux@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260307101758.50091-1-rajveer.chaudhari.linux@gmail.com> References: <20260306211152.65109-1-rajveer.chaudhari.linux@gmail.com> <20260307101758.50091-1-rajveer.chaudhari.linux@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" Replace manual mutex_lock/mutex_unlock pairs with guard(mutex) in adxl355_data_rdy_trigger_set_state(), adxl355_set_odr(), adxl355_set_hpf_3db() and adxl355_set_calibbias(). Remove all goto labels and return directly on error paths. v3: Remove all remaining gotos and return directly where possible. v2: Split into separate patch per driver. Signed-off-by: Rajveer Chaudhari --- drivers/iio/accel/adxl355_core.c | 81 ++++++++++++++------------------ 1 file changed, 34 insertions(+), 47 deletions(-) diff --git a/drivers/iio/accel/adxl355_core.c b/drivers/iio/accel/adxl355_c= ore.c index 1c1d64d5cbcb..af606e2ab8d4 100644 --- a/drivers/iio/accel/adxl355_core.c +++ b/drivers/iio/accel/adxl355_core.c @@ -9,6 +9,7 @@ =20 #include #include +#include #include #include #include @@ -261,16 +262,13 @@ static int adxl355_data_rdy_trigger_set_state(struct = iio_trigger *trig, { struct iio_dev *indio_dev =3D iio_trigger_get_drvdata(trig); struct adxl355_data *data =3D iio_priv(indio_dev); - int ret; =20 - mutex_lock(&data->lock); - ret =3D regmap_update_bits(data->regmap, ADXL355_POWER_CTL_REG, + guard(mutex)(&data->lock); +=09 + return regmap_update_bits(data->regmap, ADXL355_POWER_CTL_REG, ADXL355_POWER_CTL_DRDY_MSK, FIELD_PREP(ADXL355_POWER_CTL_DRDY_MSK, state ? 0 : 1)); - mutex_unlock(&data->lock); - - return ret; } =20 static void adxl355_fill_3db_frequency_table(struct adxl355_data *data) @@ -409,38 +407,34 @@ static int adxl355_set_odr(struct adxl355_data *data, { int ret; =20 - mutex_lock(&data->lock); + guard(mutex)(&data->lock); =20 if (data->odr =3D=3D odr) { - mutex_unlock(&data->lock); return 0; } =20 ret =3D adxl355_set_op_mode(data, ADXL355_STANDBY); if (ret) - goto err_unlock; + return ret; =20 ret =3D regmap_update_bits(data->regmap, ADXL355_FILTER_REG, ADXL355_FILTER_ODR_MSK, FIELD_PREP(ADXL355_FILTER_ODR_MSK, odr)); - if (ret) - goto err_set_opmode; + if (ret){ + adxl355_set_op_mode(data, ADXL355_MEASUREMENT); + return ret; + } =20 data->odr =3D odr; adxl355_fill_3db_frequency_table(data); =20 ret =3D adxl355_set_op_mode(data, ADXL355_MEASUREMENT); - if (ret) - goto err_set_opmode; + if (ret){ + adxl355_set_op_mode(data, ADXL355_MEASUREMENT); + return ret; + } =20 - mutex_unlock(&data->lock); return 0; - -err_set_opmode: - adxl355_set_op_mode(data, ADXL355_MEASUREMENT); -err_unlock: - mutex_unlock(&data->lock); - return ret; } =20 static int adxl355_set_hpf_3db(struct adxl355_data *data, @@ -448,37 +442,33 @@ static int adxl355_set_hpf_3db(struct adxl355_data *d= ata, { int ret; =20 - mutex_lock(&data->lock); + guard(mutex)(&data->lock); =20 if (data->hpf_3db =3D=3D hpf) { - mutex_unlock(&data->lock); return 0; } =20 ret =3D adxl355_set_op_mode(data, ADXL355_STANDBY); if (ret) - goto err_unlock; + return ret; =20 ret =3D regmap_update_bits(data->regmap, ADXL355_FILTER_REG, ADXL355_FILTER_HPF_MSK, FIELD_PREP(ADXL355_FILTER_HPF_MSK, hpf)); - if (ret) - goto err_set_opmode; + if (ret){ + adxl355_set_op_mode(data, ADXL355_MEASUREMENT); + return ret; + } =20 data->hpf_3db =3D hpf; =20 ret =3D adxl355_set_op_mode(data, ADXL355_MEASUREMENT); - if (ret) - goto err_set_opmode; + if (ret){ + adxl355_set_op_mode(data, ADXL355_MEASUREMENT); + return ret; + } =20 - mutex_unlock(&data->lock); return 0; - -err_set_opmode: - adxl355_set_op_mode(data, ADXL355_MEASUREMENT); -err_unlock: - mutex_unlock(&data->lock); - return ret; } =20 static int adxl355_set_calibbias(struct adxl355_data *data, @@ -486,33 +476,30 @@ static int adxl355_set_calibbias(struct adxl355_data = *data, { int ret; =20 - mutex_lock(&data->lock); + guard(mutex)(&data->lock); =20 ret =3D adxl355_set_op_mode(data, ADXL355_STANDBY); if (ret) - goto err_unlock; + return ret; =20 put_unaligned_be16(calibbias, data->transf_buf); ret =3D regmap_bulk_write(data->regmap, adxl355_chans[chan].offset_reg, data->transf_buf, 2); - if (ret) - goto err_set_opmode; + if (ret){ + adxl355_set_op_mode(data, ADXL355_MEASUREMENT); + return ret; + } =20 data->calibbias[chan] =3D calibbias; =20 ret =3D adxl355_set_op_mode(data, ADXL355_MEASUREMENT); - if (ret) - goto err_set_opmode; + if (ret){ + adxl355_set_op_mode(data, ADXL355_MEASUREMENT); + return ret; + } =20 - mutex_unlock(&data->lock); return 0; - -err_set_opmode: - adxl355_set_op_mode(data, ADXL355_MEASUREMENT); -err_unlock: - mutex_unlock(&data->lock); - return ret; } =20 static int adxl355_read_raw(struct iio_dev *indio_dev, --=20 2.53.0