From nobody Mon Feb 9 00:00:57 2026 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 8FFAC350D4D for ; Tue, 20 Jan 2026 06:21:23 +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=1768890086; cv=none; b=oN6L7hmmtYVyVXriY8eopp9DAYHnjQ3m8sV3Z4t4d/lXIiY44r38DVOOAN1aHzg/pyvjcl16LChi9C0csfPT7hcV10X7HM+jSIH65Xf+uiLYcQNmZ6/ERRexcs76Qm7WHqPl7VFblAu4reGJG1ugarVr3MQhSbxCOxTPhNDUqPU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768890086; c=relaxed/simple; bh=3P+X2YeLcPjCXYTP9cibJrgBqh+scSiCbpaQGpGyBmA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ZhG30R1/ECSwAJpMO2Dr8pzbXSgD/3gUd/30XLppg5NqO8w5akPe7jhJ2XPyV/2ufYjANaX9hW64typ2oi0FyUDgzw8jNdl3iP/tHCNDmYFal3pwtxmcIj/wy+dNlzOTmlUJMgu8byJAVTtY29xddYsAvy68EUTVf5ZaORK16GU= 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=UIOrgQEu; 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="UIOrgQEu" Received: by mail-ua1-f48.google.com with SMTP id a1e0cc1a2514c-93f5905e698so1503763241.0 for ; Mon, 19 Jan 2026 22:21:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1768890082; x=1769494882; 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=XTnTVRGv/a3yeACWeWEj6KZeE3Y99K4b2EX+Zi7IhJ8=; b=UIOrgQEurYEnRyBFnKR9+ame2oPrvvlZap5p+VRjNJo/qHI13vEZsXejCcPJXQmZuB 9LKhFLOlUmjONFKgR6FDCr1ctzO0Vd7CB5sGsw7A6kYzTNzr2axYBs5cT75rwRmtsyGn 0GQ/exnNYJO1kaKGIBlcCQV2UsYXHnKqr3A+dmQ7W4Q5VW6rpXZzxqnDiuEi360DYRPq aUtIL6Mf1jbXmD1udF3aj3//QXjHebYL693fdPKpUfBBrrN0Q5g9PVlw8O8pUTFco/rK hyIZWSw446TwCNPV4MumRW9GwZgHkrPEEtY+YTTNqrlXRZ40/+Z/8CzMx3EO5HZPSB9X 5PaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768890082; x=1769494882; 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=XTnTVRGv/a3yeACWeWEj6KZeE3Y99K4b2EX+Zi7IhJ8=; b=dbiNInjRNneOEbGtjRpQ8O5NHxZd7b37G3ZXdgPZbOm5668WWiwU64uRQj5udi0mHn 8XslrNIliNI6hSTHYCzM2Me1gR4+N/3dOwa4ak5SeJVyzCgNIUrzzRoGjmKIpfFuqimO I3RmRxnh0GOIGe+/b/BLfGexVlMWCopCe5rZ12No10MJJpomf2UR5cqEPIPW0YoWWFS3 8IhhsE3lZ6Mka+v2+mE9gC8YOro8kwMhEcVypyaJyYrKPOs3T3mirzNx1uNZc0Bg3o+v WSYyZZ8Qtf+zw6eSrcsQBRiLghbANaMErVrPfFU+bjFk2bNydmasGCETx1R93FYwjCHs sndQ== X-Forwarded-Encrypted: i=1; AJvYcCUEf/u/OwY7jBeovhKcRtGRyL5sY5DgkZQk2PPUNbkW9EPi75by9cc9yeHgJFjsHZK54ozoaVkXtjgE5ck=@vger.kernel.org X-Gm-Message-State: AOJu0YwJ/xsVtklMtj57SacpBdjoCl8AcgBcAl1QMy7faPHM6KdDv3NA zzVjddgdyXdc+OryMCC01qJxq+1SKX2hcgafTY6K0OkT6coYuAB2YF8n X-Gm-Gg: AZuq6aLBwLdBPB00wXvMIk1kPz9AXzc8McRMynnQJnkK7dzV/Ea4hTh2lYgczozh5jX A9lLWsGS+G16pBhZy6tqOB2YDTYShbZSJyb4GDgDUY0lDdyIt5lIt3FTK67ra2NqMcwF8v6hDrx H3HP5fGMCyxyPlFnqxneHPiJGjejN4tYe6c2t1ldtSZ0AuzMWQRU5LJvIMcSBQ2tOIfBz6Jfhjx wDqW2aCRWy7NuQrqmcNjPkOUTTSaxGnB0uPCgjefAT1yD0zeDJbvUZbWtG62pxa5s+IyNfJVwYL gkIJuYSu0QWWOJJaiWHvHDvUbd4bhNMh9mWiQOx0gRZ+bjSbMFRnQeWjS4ZG5AZktIneGJ4L5dz 7yetp470+BHq1/5dMLYG4ytGYj2NwE7wlQ17kKdlWhiOWbTbJ9D4ZZEPJwRIfTpl45d8ZzuL7HZ tFVsPqfvvAdHzy X-Received: by 2002:a05:6102:c94:b0:5db:3cda:cc3b with SMTP id ada2fe7eead31-5f1a55a2fddmr4131102137.34.1768890082354; Mon, 19 Jan 2026 22:21:22 -0800 (PST) Received: from [192.168.100.253] ([2800:bf0:82:11a2:7ac4:1f2:947b:2b6]) by smtp.gmail.com with ESMTPSA id ada2fe7eead31-5f1a6900c1esm4057944137.3.2026.01.19.22.21.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 19 Jan 2026 22:21:22 -0800 (PST) From: Kurt Borja Date: Tue, 20 Jan 2026 01:20:45 -0500 Subject: [PATCH v5 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: quoted-printable Message-Id: <20260120-lock-impr-v5-5-d4d22347041f@gmail.com> References: <20260120-lock-impr-v5-0-d4d22347041f@gmail.com> In-Reply-To: <20260120-lock-impr-v5-0-d4d22347041f@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=3136; i=kuurtb@gmail.com; h=from:subject:message-id; bh=3P+X2YeLcPjCXYTP9cibJrgBqh+scSiCbpaQGpGyBmA=; b=owGbwMvMwCUmluBs8WX+lTTG02pJDJn5cpcjX77/P+Ht9JK3564ce7SMe8Lsi0pHqwPPnlObq T2hfbLQwY5SFgYxLgZZMUWW9oRF3x5F5b31OxB6H2YOKxPIEAYuTgGYSMZJRobuqjUF4rn7DC7P CjnyrLTDRX3vzVluW1fdeMXzP5qTUdSVkeFtxctSkflfmh1+PTm1+ExoaSrn3e2fs6fKu3Px555 Jj2ACAA== X-Developer-Key: i=kuurtb@gmail.com; a=openpgp; fpr=54D3BE170AEF777983C3C63B57E3B6585920A69A Use IIO_DEV_ACQUIRE_DIRECT_MODE() helper to automatically release direct mode. Reviewed-by: David Lechner Reviewed-by: Nuno S=C3=A1 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..a36c23813679 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, =20 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_FAILED(claim)) return -EBUSY; =20 /* Protect against event capture. */ - if (vcnl4010_is_in_periodic_mode(data)) { - ret =3D -EBUSY; - } else { - ret =3D vcnl4000_read_raw(indio_dev, chan, val, val2, - mask); - } + if (vcnl4010_is_in_periodic_mode(data)) + return -EBUSY; =20 - 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 =3D iio_priv(indio_dev); =20 - if (!iio_device_claim_direct(indio_dev)) + IIO_DEV_ACQUIRE_DIRECT_MODE(indio_dev, claim); + if (IIO_DEV_ACQUIRE_FAILED(claim)) return -EBUSY; =20 /* Protect against event capture. */ - if (vcnl4010_is_in_periodic_mode(data)) { - ret =3D -EBUSY; - goto end; - } + if (vcnl4010_is_in_periodic_mode(data)) + return -EBUSY; =20 switch (mask) { case IIO_CHAN_INFO_SAMP_FREQ: switch (chan->type) { case IIO_PROXIMITY: - ret =3D vcnl4010_write_proxy_samp_freq(data, val, val2); - goto end; + return vcnl4010_write_proxy_samp_freq(data, val, val2); default: - ret =3D -EINVAL; - goto end; + return -EINVAL; } default: - ret =3D -EINVAL; - goto end; + return -EINVAL; } - -end: - iio_device_release_direct(indio_dev); - return ret; } =20 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 =3D iio_priv(indio_dev); - int ret; =20 if (state) { - if (!iio_device_claim_direct(indio_dev)) + IIO_DEV_ACQUIRE_DIRECT_MODE(indio_dev, claim); + if (IIO_DEV_ACQUIRE_FAILED(claim)) return -EBUSY; - ret =3D 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); } --=20 2.52.0