From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ua1-f48.google.com (mail-ua1-f48.google.com [209.85.222.48]) (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 DB6092868A9 for ; Fri, 12 Dec 2025 02:45:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.48 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765507548; cv=none; b=cvEVzIoDvcroYcwTdi1RsI/efn3HTbY7WVZ9VOE4bR9SiZipoCYaQfy03vQ1sM2PxD8qADSNm0QCZISEI/6At2EALYofkqRgWm0gKWAvhK4A4TYxJr2HRF57PYtrftv1a+rg4BgPUx+DDFghXaJ649mTpsXbs/YKb4aU1DzRMAo= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765507548; c=relaxed/simple; bh=q6gZRxmz6cKGnQKSSxqxXmYWJF1PKw60AF3Tc6GXjyU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=OmcN6IlVjJM+hPjiJy6Qu+zZdCAgplJatWj6ITzWGvfuaUeCnTWogJyc+86BJdOvqC3KF8WmEFBWudT0DWM1wEn6UQp65EvAM/kvEDtfIl7XdnkKmeXHP5fE7z69mb73euPFVjGoVaQMX5hO17yCMp3YB4eCSpgwWoiyCy9TP1U= 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=Eeox+jI8; arc=none smtp.client-ip=209.85.222.48 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="Eeox+jI8" Received: by mail-ua1-f48.google.com with SMTP id a1e0cc1a2514c-93f69720a7cso480519241.1 for ; Thu, 11 Dec 2025 18:45:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1765507544; x=1766112344; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=2wlEL307B3m+aaEYqQkKNwT5MYGrgAWckQlDU+pQY6Q=; b=Eeox+jI8BVgYj0ocaM/sv2Pmo7rIzRsgKWxKGmvfoxWWz+IUzb8oDXp0LGyKEIzTDu sTDuxEKTAPDO98qUrbB6Mg7cV+QkeYyk2+il+RQorZHkxoccR+DcP9Ft4DmbRm0FjIol nLV3caqqUt4Yeohip9qFo+RkCC3nJLirlivunOpcD1tZq12SKATFRqbEfkrDBj1mAFd5 Q4hIZK07gse1ARkFaZ6yh40cVrTp4t6MUOXifMXtpCS+uRBx8gpjkTPjQcmEGOMk7/C/ vserRBdSt5Hrwecu579NFLr7vPudTHd+BX/BhXKPZkHmVQ1dAjN7oLdSYeNQwSAxB4vJ r5xg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765507544; x=1766112344; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=2wlEL307B3m+aaEYqQkKNwT5MYGrgAWckQlDU+pQY6Q=; b=lJemfgZFtGJb5MYNzqOxO4b92ZaNi7zszdZVPxjpXt1I5Icxv/OHql3l0nOqeVwsm4 i7oXYPKGBrbd9CflMgnoPRGAukydw3RwVUm/M7nIH83eT+9AO8vqRJI1h6kGBjC57NEp XL3+nF5pL4ztdMw6+fjRNn9037rEDOe/faz/sOIJpfVJSKuWY/dVgjfnFcTkx/jAWpxl Wzl0gABJ93vXinwlEvUCHYrw1dX+ZFrS8RZ65W1EcPy3OaScHQl8JGvQO/QVDDdwKuB+ UCWRASkiJHCiNbiCDmyzkyaVvSCUf/lTfK6h2xnb1xHnKYkCk2pXPcbFi+wQKDnuxSsI IfRg== X-Forwarded-Encrypted: i=1; AJvYcCUv2ZwQLsGXC0Ds1/IIuVMbw33IBf9jDUknNfLL6qam1Z+aYhyETlEmXjN/jfYw4CKminBN8zGfuVElTxI=@vger.kernel.org X-Gm-Message-State: AOJu0YyuHOAE/yuhcaRJOnCc4IinYE2c7k1Gc9yC2gI/aWGcC/rPfEkN 5AwKA6E6uWySy8e4jG7DLSGJxi8qzKGPqlOKXPKK2GVw5cyawU+SVAvDqUCjlg== X-Gm-Gg: AY/fxX6skxyK/QMpfbcIjfG1SLri3FpGEyuTnG6nav0xf4esiJVfoDmC9zNKfJ2GhSY w4KNezEbL0h3K9dM0ho/4n6rG6MU/P2/hc6M2tbTJJxGhO3jCwx+95cWk34/YXXqf4/cUFeH5zZ cf1kwU8oTETtCizYWMS3ykwIYG2JfH4DvGJvdJkJtIznPt+fUYtFKZLoUC8agiHun2KTJ20KDii M7FeZ4RAF3XibjaMnCgrFC89/RGL4IAveJcEqL8LoqqmOT3X8lnCg078U4AtGqE7WW4PLV3AftN Tvvo/f9n/dxlnfAJIDJI/MFpHJLR6L0ZoPe61vNbqt+SKJ1lTm1IVNk0qcT7/NT0HjVN2i9PIlg +09kAj+pRbxP3wSYXLQVd18jbNFcdelAJtUM8y+fh8PwQ1vK9+XQ4rCUnroE0dufk2abebKsTEB SGNweIJa36obWWL38EuAUX9zo= X-Google-Smtp-Source: AGHT+IG0wdLgjzf9Ktth3/5kZmD0HDcUqwfLcmvB1VHLyGx97sarm2rz4f/F64/HbgrAXqumKQeOKg== X-Received: by 2002:a05:6102:945:b0:5db:f615:1821 with SMTP id ada2fe7eead31-5e8276b6fecmr140118137.10.1765507543991; Thu, 11 Dec 2025 18:45:43 -0800 (PST) Received: from [192.168.100.70] ([2800:bf0:82:3d2:875c:6c76:e06b:3095]) by smtp.gmail.com with ESMTPSA id ada2fe7eead31-5e7d0f25ce2sm1693762137.8.2025.12.11.18.45.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 11 Dec 2025 18:45:43 -0800 (PST) From: Kurt Borja Date: Thu, 11 Dec 2025 21:45:23 -0500 Subject: [PATCH v2 5/7] iio: light: vcnl4000: Use IIO cleanup helpers Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20251211-lock-impr-v2-5-6fb47bdaaf24@gmail.com> References: <20251211-lock-impr-v2-0-6fb47bdaaf24@gmail.com> In-Reply-To: <20251211-lock-impr-v2-0-6fb47bdaaf24@gmail.com> To: Andy Shevchenko , Lars-Peter Clausen , Michael Hennerich , Jonathan Cameron , Benson Leung , Antoniu Miclaus , Gwendal Grignou , Shrikant Raskar , Per-Daniel Olsson Cc: David Lechner , =?utf-8?q?Nuno_S=C3=A1?= , Andy Shevchenko , Guenter Roeck , Jonathan Cameron , linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, chrome-platform@lists.linux.dev, Kurt Borja X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=3034; i=kuurtb@gmail.com; h=from:subject:message-id; bh=q6gZRxmz6cKGnQKSSxqxXmYWJF1PKw60AF3Tc6GXjyU=; b=owGbwMvMwCUmluBs8WX+lTTG02pJDJnWjSdTFecdzhNMZ5e0WlEw07Hnq8fE7OMHH9+5uOVkb czi+ZMkOkpZGMS4GGTFFFnaExZ9exSV99bvQOh9mDmsTCBDGLg4BWAi9xoZGS4HJzyYUb40KfdQ 0MacMHGmjX8yPY2vWaXsTn6bldDZ/Jbhr/Cx/rqAJafilN97XlsRo+Wy3PizUvI+2e3PNbVTz9x 05wEA X-Developer-Key: i=kuurtb@gmail.com; a=openpgp; fpr=54D3BE170AEF777983C3C63B57E3B6585920A69A Use IIO_DEV_ACQUIRE_DIRECT_MODE() helper to automatically release direct mode. Signed-off-by: Kurt Borja --- drivers/iio/light/vcnl4000.c | 49 ++++++++++++++++---------------------------- 1 file changed, 18 insertions(+), 31 deletions(-) diff --git a/drivers/iio/light/vcnl4000.c b/drivers/iio/light/vcnl4000.c index 4dbb2294a843..4184104ac8f2 100644 --- a/drivers/iio/light/vcnl4000.c +++ b/drivers/iio/light/vcnl4000.c @@ -1078,20 +1078,17 @@ static int vcnl4010_read_raw(struct iio_dev *indio_dev, switch (mask) { case IIO_CHAN_INFO_RAW: - case IIO_CHAN_INFO_SCALE: - if (!iio_device_claim_direct(indio_dev)) + case IIO_CHAN_INFO_SCALE: { + IIO_DEV_ACQUIRE_DIRECT_MODE(indio_dev, claim); + if (IIO_DEV_ACQUIRE_ERR(&claim)) return -EBUSY; /* Protect against event capture. */ - if (vcnl4010_is_in_periodic_mode(data)) { - ret = -EBUSY; - } else { - ret = vcnl4000_read_raw(indio_dev, chan, val, val2, - mask); - } + if (vcnl4010_is_in_periodic_mode(data)) + return -EBUSY; - iio_device_release_direct(indio_dev); - return ret; + return vcnl4000_read_raw(indio_dev, chan, val, val2, mask); + } case IIO_CHAN_INFO_SAMP_FREQ: switch (chan->type) { case IIO_PROXIMITY: @@ -1148,36 +1145,27 @@ static int vcnl4010_write_raw(struct iio_dev *indio_dev, struct iio_chan_spec const *chan, int val, int val2, long mask) { - int ret; struct vcnl4000_data *data = iio_priv(indio_dev); - if (!iio_device_claim_direct(indio_dev)) + IIO_DEV_ACQUIRE_DIRECT_MODE(indio_dev, claim); + if (IIO_DEV_ACQUIRE_ERR(&claim)) return -EBUSY; /* Protect against event capture. */ - if (vcnl4010_is_in_periodic_mode(data)) { - ret = -EBUSY; - goto end; - } + if (vcnl4010_is_in_periodic_mode(data)) + return -EBUSY; switch (mask) { case IIO_CHAN_INFO_SAMP_FREQ: switch (chan->type) { case IIO_PROXIMITY: - ret = vcnl4010_write_proxy_samp_freq(data, val, val2); - goto end; + return vcnl4010_write_proxy_samp_freq(data, val, val2); default: - ret = -EINVAL; - goto end; + return -EINVAL; } default: - ret = -EINVAL; - goto end; + return -EINVAL; } - -end: - iio_device_release_direct(indio_dev); - return ret; } static int vcnl4010_read_event(struct iio_dev *indio_dev, @@ -1438,14 +1426,13 @@ static int vcnl4010_config_threshold_disable(struct vcnl4000_data *data) static int vcnl4010_config_threshold(struct iio_dev *indio_dev, bool state) { struct vcnl4000_data *data = iio_priv(indio_dev); - int ret; if (state) { - if (!iio_device_claim_direct(indio_dev)) + IIO_DEV_ACQUIRE_DIRECT_MODE(indio_dev, claim); + if (IIO_DEV_ACQUIRE_ERR(&claim)) return -EBUSY; - ret = vcnl4010_config_threshold_enable(data); - iio_device_release_direct(indio_dev); - return ret; + + return vcnl4010_config_threshold_enable(data); } else { return vcnl4010_config_threshold_disable(data); } -- 2.52.0