From nobody Sun Feb 8 11:25:58 2026 Received: from mail-vk1-f169.google.com (mail-vk1-f169.google.com [209.85.221.169]) (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 7890D23EAB7 for ; Sun, 18 Jan 2026 15:45:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.169 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768751106; cv=none; b=bjE1txK3To6xSSCvc5MO8UfTYityaSV9whASbsWC5VR1on/NNyDo9a4TcYp9IJTDEjJytc6JBnYa9RBw0gMlF5hjGbMbGOhwARC008PkieIcTjRZDyxOgls69AxUDQOl5xF1GI37DxoisSVP6xTZUBaJSSHSHMy85TEJs8IQRpM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768751106; c=relaxed/simple; bh=3P+X2YeLcPjCXYTP9cibJrgBqh+scSiCbpaQGpGyBmA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=RfYTiQK8FElAm71D+ZA2DSRAleV+XA1LzTqAKtp3qaxzvWb61lXRLSztUNXCZUVa4WhmW9guiol/l3qCsTtHZmk9t8vJFn5mdT9fGwFQZi2KYm4MZZ5iWI9NMJnBlBCzr2GMDDY0jiZwUaQbyQ4tdbKHp4UkC2ZYGpcod00Fip0= 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=P5Ybyc6Y; arc=none smtp.client-ip=209.85.221.169 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="P5Ybyc6Y" Received: by mail-vk1-f169.google.com with SMTP id 71dfb90a1353d-56376c3e866so2782632e0c.3 for ; Sun, 18 Jan 2026 07:45:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1768751103; x=1769355903; 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=P5Ybyc6YfqnlyWmGy32VNdiMLlZNTCT7BlD2kw4748c8ZeqqdO93cA9+ElL+zOW3IW QREGobPBHoEnBE13Ijo9yEeBgG2XOWcx2PTj6kfbP20vrpKGbZwK/BkgC4bR98/ZES29 pG4zYSTvDz6XPFUSELXRCTl0L64MlPes5TMo/KBA526xyLEYkx2jN5ahxUpzZmwwTBvv sS/MUBwq4NLxUTdrBu08EOXD7vSS5UoSNf2bp64Vjlw/9M/L/OU9D2o9Aq57iRoFZMrF A6d6GCHmrNrTdZ02cusxE25QMjCFLKjgA5UmcdCCmKFrnhBv4vMi2tP54/IgpXrFmvWH RznQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768751103; x=1769355903; 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=g+zzk0L50Mv9UGTmUmXzkPUfxKW9LWf0EO2TlIVebnpGhcv3V7+grSgFaarrFhb2VT 43l0AiGo233DaBRGtNAsQBjfqrEOo+rdfMFMM5CTxtWdg/m08nIGe/G9d5gyPUx/WajI kDVhtrUOTWdC5wys1IzJnNK6zvJZzIjMvlIHO692PBoUcQn8DRJFpsMWK5omhmxN1XuB 8CHy9hSUL/BOFrTDWzM/NrRjZjbwUm5EIc4CKmLClqtlS2f//hPtvSTWPszZ1ymURfTV 8bJ+YfIwfjNL1vHIW7pCasm63CxzvM75X+GTrz+YzHEbXA883FPgSBAyNYGMfYka03/k +Zzg== X-Forwarded-Encrypted: i=1; AJvYcCXMllxLe9i4iuGgcVpwKI0MW25C9isjK6SbuClHDEMDicrd8GUG/YRfOYvaAnzkHlywtJOwiFVeQSMoxGQ=@vger.kernel.org X-Gm-Message-State: AOJu0Yw4RkUQixNDGr4q26d54Pme4TCV183dmyEAZIps+yRNNLp2jJnt CS2HHyFaIK219Xv/VbO99xQPKLuB7lrPnLPgLHgdyfEwDuKjWZbnhaMs X-Gm-Gg: AY/fxX5slhUdBxfdf494TPF3tUQVeql5kONv63DWngXLWF9sG58KBOfJSTDHsPHzJ6b 1KksAQCEYA7wrh4OAoSSxzI8nRLb3vzalL1z3OxGuuyVA1nZuKJHegPM/SdAxFUfGr38cAB08aC nNbhxYAWo2D+84h4dGv0VFGTP9alA6SR1bZXXAulSJr1mAWlwbetAA0St7UeAfkpznRwKKyhsIq FdTGodDgFX/1ZFwokNGMIYyDsZPr7SSxOK7NrgFi7l2MegaagykTXGpwafVVOwkYcBBoiP0CFM6 zZzBa4rrgrJ+lT2z+TsVe8u2l/apKHZvFQzLewGgH13nIqwI6hkaCKLSNz0mbu40AktWqaoj7r0 4glNGaH8oFW0ufBrLz/JF063D2nR2lS7zq/l3dwCyr3xHHCDCL/hPfvy6bwQHGdliB10cCTr5s/ v7US99Z6kU/vJs X-Received: by 2002:a05:6102:a48:b0:5db:cfb2:e610 with SMTP id ada2fe7eead31-5f1a55dce21mr3189064137.41.1768751103410; Sun, 18 Jan 2026 07:45:03 -0800 (PST) Received: from [192.168.100.253] ([2800:bf0:82:11a2:7ac4:1f2:947b:2b6]) by smtp.gmail.com with ESMTPSA id ada2fe7eead31-5f1a6d3ca2esm2832731137.10.2026.01.18.07.45.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 18 Jan 2026 07:45:03 -0800 (PST) From: Kurt Borja Date: Sun, 18 Jan 2026 10:44:32 -0500 Subject: [PATCH v4 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: <20260118-lock-impr-v4-5-6c8d0aee8ed2@gmail.com> References: <20260118-lock-impr-v4-0-6c8d0aee8ed2@gmail.com> In-Reply-To: <20260118-lock-impr-v4-0-6c8d0aee8ed2@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+lTTG02pJDJk5/z8+iJ4RHnlk3snQuump56fLnmzP+yR1+31BpOonj oP5N49ZdZSyMIhxMciKKbK0Jyz69igq763fgdD7MHNYmUCGMHBxCsBENsow/I+9cd2l0P+rrurq RW/ydxrGWMhMORSpfOQDu0CYocvuLQcY/opzLnlwkuPZZJakczuqJ/W/OmoQ9l1TeGnI5QPW4gn fH7ABAA== 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