From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f178.google.com (mail-pl1-f178.google.com [209.85.214.178]) (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 C62324A3406 for ; Tue, 5 May 2026 17:47:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.178 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778003252; cv=none; b=k4bDCf+ED/k7EoRqOLKsdboTS9QS7LYVCkHdwtTcsbiY7a9F1fYv01gX+16n+rCZ2kiVu/KFzW+DVVjqn43FzaGt7A8d4znYfKMTWlrrYIGs/dRBnmJpgX9hN1hpAmf9xyjeNciId2fo8ACWr1nCKnzEoddqGdbSoVESCrsQymw= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778003252; c=relaxed/simple; bh=0aPtEt4ko/bnfbsxB34xLGU9UY4EBvpuxCJGx/Lx0KQ=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Gyk0mz33lkSFualF4vuLSkyISmFpnHKfa/JDDd64jO1wFPl4+NYmil/YZaN3fgbQ09rbGPv1vihmtIMFWow5fTr5WUhAkT69GU5IRMW7h06ylSC0xPdjt/qdDYdRjMjf2/qjk4nM/SzTZRDG1hGmlb0jK7R6AJZ06G1UjqnfLzQ= 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=SI7Ehag4; arc=none smtp.client-ip=209.85.214.178 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="SI7Ehag4" Received: by mail-pl1-f178.google.com with SMTP id d9443c01a7336-2ba3e3c4f87so17691735ad.3 for ; Tue, 05 May 2026 10:47:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778003247; x=1778608047; 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=cMfdiYOhCtE/zO7JszEiQJezv05uUDaSwuwa5j2WLnQ=; b=SI7Ehag4GqX5pouq1AhEeVZn53bj37amD39Z27GCAYqeTBF0DC6nu0zjrjt9Y1Vu5s uTLXKFS01LSu5rM4IfY4vst0xBYFIkDS5SbJ81+Ey15RRyTzfAPYBskYkcGdj+WlzgiC J7imIBNyQV9QCS8kolF3iK2Z7DvkovX9zUd8YMPdAjVRB9BTqV2FcZFHTZ0r3QoisFBY xcjWl8veUM43cqWkyRRErdGErF4FPMhzzdKMcghLe+B4iVneeXEhN4LyBiSWYU8z4ULM vHy105zDRWxtAmWczVtKjfny/xCzcVtcgLul+OL3yn+156t2aT5xoWojR0TwpK9eUI/U LOfQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778003247; x=1778608047; 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=cMfdiYOhCtE/zO7JszEiQJezv05uUDaSwuwa5j2WLnQ=; b=AHQWLi9otY4k5asJWN1LZiGmSFDR564KZo2+EPLTPySBYYDcgNCx3uJJz3h+o8G6tM PUCmmFQdP378Oija2QWkWzkTfgWyFlk5Mq6ayFBp6woYB97ymQH0RHSyQfWSbQQxtxNP wRwc7NqtRAbsdwbHGjJE2W3f4AfFce8GU3d53JDYK+8fhDrmtBfxLNU8MQIw+MIm3tMz eP/f09+2a4xByrlkx1264QV/QWdGXYwwADY5u+O5KchYPOd4Rd14LWFCN9PUaRr7uSBV JuXhr8V3OzKJ/xdVQq4eV5mpnwfRI7QqQISWO4pYnAM14VWpBimxWE3y/QlmFIOaHsyb 2JWQ== X-Forwarded-Encrypted: i=1; AFNElJ+U6YVR0VLQqSXajB9mpjc6a8dWLGBjj+lLbGJxOfRQ6VQWBzV4GTEh9L+2dJHw+qlCM24g2LELUCBTAuU=@vger.kernel.org X-Gm-Message-State: AOJu0Yz/t5eg+whqGSuyxLgFQJUDKmkxh9CdVDYWGwJbSHdBYm5v+75u TmtJNdL19g5BaamKDLBO29XPFIub6AT70au9lraOsFglWcwloJyQYOQ8 X-Gm-Gg: AeBDies1oRaRcbP7wruHgeHdBL3mZOdo1lh1yqHz9Ta2DviRMqVS/mguWAiGg77Zw8n M13+Zwc0fB7t27nA+roXFAfFyuLNzkUd8JqwhW/LXWxsOrPgfOKsdU+VO2Dt5A/Dg+fVlWKJ5JZ MDOn3u9WhM4txt4r08xrgNEEV2hKJ0o+pD8CUzdGfJutQt6c3V41bHg7hSANtvqFpIZW7xLuZc6 DOV3OfzFt1TChpM0KGydKYX0evu8BqhVyFxSoS6+0W/TZ2FqVNwhLtB/UFQZBMwIM/9P6GM96UE x9ckKzcWdN2KWMK6c+ummk3XjO6in64jKWDoailEHGDsyDK54r9gDRM6MSWKc1qBKNHaWHRybDu M0WS59XMqXcEUpmtgaxXZJC9mSJIUPrDUwVB2Mqcg17e+cMjzoruz1tjpUxC4uZ3wiD1SojhUj5 GCIrnRiHOL/KDtsUjYz24wOAXRs+PFRux346V2CH6XHRSlhq6HyARqUXdJBIU= X-Received: by 2002:a17:903:2a83:b0:2ba:36f4:5844 with SMTP id d9443c01a7336-2ba535c0e67mr35976075ad.7.1778003247494; Tue, 05 May 2026 10:47:27 -0700 (PDT) Received: from hu-ckantibh-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b9cae3b169sm148663355ad.63.2026.05.05.10.47.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 May 2026 10:47:26 -0700 (PDT) From: Sanjay Chitroda X-Google-Original-From: Sanjay Chitroda To: jic23@kernel.org Cc: dlechner@baylibre.com, nuno.sa@analog.com, andy@kernel.org, sanjayembeddedse@gmail.com, sakari.ailus@linux.intel.com, christoph.muellner@theobroma-systems.com, martink@posteo.de, mfuzzey@parkeon.com, linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 10/10] iio: accel: mma8452: use guard() to release mutexes Date: Tue, 5 May 2026 23:16:40 +0530 Message-Id: <20260505174640.3998281-11-sanjayembedded@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260505174640.3998281-1-sanjayembedded@gmail.com> References: <20260505174640.3998281-1-sanjayembedded@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: Sanjay Chitroda Replace explicit mutex_lock() and mutex_unlock() with the guard() and scoped_guard() macro for cleaner and safer mutex handling. Signed-off-by: Sanjay Chitroda --- Changes in v3: - Following input from Jonathan extended mutex scope for IIO_CHAN_INFO_RAW case to include math operation under lock - Link to v2: https://lore.kernel.org/all/20260422165643.2148195-7-sanjayembedded@gmail.com/ --- drivers/iio/accel/mma8452.c | 29 +++++++++++------------------ 1 file changed, 11 insertions(+), 18 deletions(-) diff --git a/drivers/iio/accel/mma8452.c b/drivers/iio/accel/mma8452.c index 3bc53cfdac24..1370674d71c6 100644 --- a/drivers/iio/accel/mma8452.c +++ b/drivers/iio/accel/mma8452.c @@ -18,6 +18,7 @@ * TODO: orientation events */ +#include #include #include #include @@ -478,10 +479,9 @@ static int mma8452_read_raw(struct iio_dev *indio_dev, IIO_DEV_ACQUIRE_DIRECT_MODE(indio_dev, claim); if (IIO_DEV_ACQUIRE_FAILED(claim)) return -EBUSY; + guard(mutex)(&data->lock); - mutex_lock(&data->lock); ret = mma8452_read(data, buffer); - mutex_unlock(&data->lock); if (ret < 0) return ret; @@ -579,36 +579,30 @@ static int mma8452_change_config(struct mma8452_data *data, u8 reg, u8 val) int ret; int is_active; - mutex_lock(&data->lock); + guard(mutex)(&data->lock); is_active = mma8452_is_active(data); - if (is_active < 0) { - ret = is_active; - goto fail; - } + if (is_active < 0) + return is_active; /* config can only be changed when in standby */ if (is_active > 0) { ret = mma8452_standby(data); if (ret < 0) - goto fail; + return ret; } ret = i2c_smbus_write_byte_data(data->client, reg, val); if (ret < 0) - goto fail; + return ret; if (is_active > 0) { ret = mma8452_active(data); if (ret < 0) - goto fail; + return ret; } - ret = 0; -fail: - mutex_unlock(&data->lock); - - return ret; + return 0; } static int mma8452_set_power_mode(struct mma8452_data *data, u8 mode) @@ -1730,9 +1724,8 @@ static int mma8452_runtime_suspend(struct device *dev) struct mma8452_data *data = iio_priv(indio_dev); int ret; - mutex_lock(&data->lock); - ret = mma8452_standby(data); - mutex_unlock(&data->lock); + scoped_guard(mutex, &data->lock) + ret = mma8452_standby(data); if (ret < 0) { dev_err(dev, "powering off device failed\n"); return -EAGAIN; -- 2.34.1