From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-vk1-f172.google.com (mail-vk1-f172.google.com [209.85.221.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 2BB8832E6A7 for ; Wed, 3 Dec 2025 19:19:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.172 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764789580; cv=none; b=jtNMPcx9u3wzRZTUEsZxiirZqTUo1oKYF4EBDdKwesXvNq1gV7r6bBmTce5K9MsMeA9ykj49B+kVAYrK64pTSPs59H5eTLEWvXJQzA/i7kMJBKf5vGW7XGXDiDxDTf2hzNxMM0ZWyfmTINNnxEwjsp8Jk+eRR3WyS2bE8UIQdac= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764789580; c=relaxed/simple; bh=2Ews3nCp5RcsOWe3/ZSjBTP5CQV+y44P8Wfs0s+BuQA=; h=From:Subject:Date:Message-Id:MIME-Version:Content-Type:To:Cc; b=udvZ6HBk30yZ0wcEJEQ6jseqbm8828RKoEal2+jB49ASR696UuW9SVFe5FgOVx3G/csbdZyxZVALl139rlZX8DiTh5X+8te57Dlq3eQ1Wa3Ax1r4ZNkU8leSgHSxkCfJEkzVDHtBwIOotTHo1IaIAjR6kUQxnG3XhBnK0rJLcGM= 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=JSKoJovZ; arc=none smtp.client-ip=209.85.221.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="JSKoJovZ" Received: by mail-vk1-f172.google.com with SMTP id 71dfb90a1353d-559836d04f6so78565e0c.0 for ; Wed, 03 Dec 2025 11:19:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1764789576; x=1765394376; darn=vger.kernel.org; h=cc:to:content-transfer-encoding:mime-version:message-id:date :subject:from:from:to:cc:subject:date:message-id:reply-to; bh=FsWm84k2qtEC6zCHV3II8eQa45w/fBWOUPbdCR/O5So=; b=JSKoJovZ/6DwuAMPU28HIaO5WEJv1YyUM7WDiDG0YFGHoNASxZC++RwXzs9kwDUxVn mnz0mvrrehgJDex3FyCYWWf1fEnu/t1ku9CYgywOz7Q1AGaW75wPRQGWx83VwWdOpdlY DqzYV2xRvUmgkNkog0PAYvmYqqNjnLUG2k6i+L8BMYH5K+g3pEkVYPyaMvIDaFLKc+lh SJCJaN6/+IIMX1GQWQfOh+NRTEMFFmKZLwxkvZWQnpA5c5jWypSXTq6kvzY/99urB8B2 /tQbyi5IwvLCLBElOJHnwzO1UvuCnHFdEijuA2UvIjoNG5l8HDlo6ppY0wDUlMHVyKBj DiXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764789576; x=1765394376; h=cc:to:content-transfer-encoding:mime-version:message-id:date :subject:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=FsWm84k2qtEC6zCHV3II8eQa45w/fBWOUPbdCR/O5So=; b=ERrayTeiW6DsQOVPVuwRU5kMH5+X3Px8Sjp9AHCHRA6B6WXw573vOJtxsIglfeN+8d uPM/yCyBo4BFBulEqW4yfIHai+H4rn+JE1gQ8Qzbw2GFngUSSLsJVkuB5XdgZVxLFn0F lUCjWm7AKzwdm8B7lOfcHQYTfWfDOU+0Lo7tDV1fseJ/qlhrXnR0PdGcLRZt28PatFAB hznCwWcL2Q0HP2IwUJkHs1u3bgxOYgvHfqk0VDDMK3CfTZxE8Rllnqzps4exfPnQA5A7 Jc95yTco4gaQt1O3U6wYcU+BX323EwSp3HbDKZbDmaDVua58p84fU1qk+pJ4VSrCls+B pZ0w== X-Forwarded-Encrypted: i=1; AJvYcCU7MR3ef6M6aN1/siG95BQ8FEVNe3jFdsBhHYHDljukzt8cZkyS62Ak+Hvp0Bfx/3YE5myBxPkFf/WZBE8=@vger.kernel.org X-Gm-Message-State: AOJu0Yx9cMMdyZoRWVRcGGwmCZFh941xp2qbJfUBYgXP8QDFIkaitfwq m7XoMOn7fvibfdSrrtYCjoz2IwfPN8bW++nqc1rQqRhgNteGlUdkELQl X-Gm-Gg: ASbGncu9rrC4FVjf5cjNbfmvJ1yvcXLgSFu6hCuwFcXgVQsNWocTmPYzzicTSJkF5CG 6Mo9ARQ1S5UUpFiTShNF4qMTJRIShuX5r37LNmOaSHIDm1q1eIABFuacXdM9jWMCISjMo6gQxgg KA98zsVEwhYv4yu3eJo2v8Xuyi6zrFHz/fbJQpE8fPjXmlOY6k+9WHEeTJFmQ0AUif3GClJz71r f4o0jU6lSkuF4g/+yStadCzhS9mcWAxvnu887gWtMyV+wM+C8nWU8JY1n6/L0/2yXSYgt7Bd8kI 3sJ3cFKKwUj2q04m7eSy5ALoMXiDIUP9JikCA3LNI6/p7u4V0f26jJRYGdiKbviEndkkMPwDRTR RZVLCp8agcRodetfSnItnRhVWK5KCTM9OmnEx7jIyySZnQeiJWGp7lkurFXXMiouwuM4MpbKeXV NbcTsJr4TxaJPa X-Google-Smtp-Source: AGHT+IFawNilC7IYRWjKVXVVeZWmWiJzDYwMx1u5PNwmhAzymV5Livw2jtngj7e3+W9FLy7L6P6jMw== X-Received: by 2002:a05:6122:2516:b0:55b:305b:4e29 with SMTP id 71dfb90a1353d-55e5bfe64c5mr1532422e0c.21.1764789575866; Wed, 03 Dec 2025 11:19:35 -0800 (PST) Received: from [192.168.100.70] ([2800:bf0:82:3d2:875c:6c76:e06b:3095]) by smtp.gmail.com with ESMTPSA id 71dfb90a1353d-55cf4e1d56asm8121346e0c.4.2025.12.03.11.19.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 03 Dec 2025 11:19:35 -0800 (PST) From: Kurt Borja Subject: [PATCH RFC 0/6] iio: core: Introduce cleanup.h support for mode locks Date: Wed, 03 Dec 2025 14:18:14 -0500 Message-Id: <20251203-lock-impr-v1-0-b4a1fd639423@gmail.com> 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 X-B4-Tracking: v=1; b=H4sIAPaMMGkC/6tWKk4tykwtVrJSqFYqSi3LLM7MzwNyDHUUlJIzE vPSU3UzU4B8JSMDI1NDQ2MD3Zz85GzdzNyCIl2zNCMjcxOLZEPTVAsloPqCotS0zAqwWdFKQW7 OSrG1tQAFzaXRYAAAAA== X-Change-ID: 20251130-lock-impr-6f22748c15e8 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=1948; i=kuurtb@gmail.com; h=from:subject:message-id; bh=2Ews3nCp5RcsOWe3/ZSjBTP5CQV+y44P8Wfs0s+BuQA=; b=owGbwMvMwCUmluBs8WX+lTTG02pJDJkGvRp1XLc4OYPm/FDJq/q6YFfM4W8frz1/z/hnyvo7n YpChbemdZSyMIhxMciKKbK0Jyz69igq763fgdD7MHNYmUCGMHBxCsBE7Kcz/M+0N9Kq/3vA1m/v lO3LGR2755830pTXPnL0nPCf5B+rNkxkZJilu5BxSXHHZoUT0b//7gt6w7TBiZO3MvtMyx3xYiN bBh4A X-Developer-Key: i=kuurtb@gmail.com; a=openpgp; fpr=54D3BE170AEF777983C3C63B57E3B6585920A69A Hi, In a recent driver review discussion [1], Andy Shevchenko suggested we add cleanup.h support for the lock API: iio_device_claim_{direct,buffer_mode}(). Which would allow some nice code simplification* in many places. Some examples are given as patches, but the last two are the biggest differences. Although I was never entirely sure if Andy meant cleanup classes for locks or for iio_trigger_notify_done(), I still think this is a great addition to the API :). Thanks for taking a look! * It's important to mention that David Lechner expressed some concerns about this [2], hence why this is an RFC series. [1] https://lore.kernel.org/linux-iio/aSsBdJZDWcadxEHC@smile.fi.intel.com/ [2] https://lore.kernel.org/linux-iio/248b009e-0401-4531-b9f0-56771e16bdef@baylibre.com/ Signed-off-by: Kurt Borja --- Kurt Borja (6): iio: core: Match iio_device_claim_*() return semantics iio: core: Match iio_device_claim_*() naming iio: core: Add cleanup.h support for iio_device_claim_*() iio: light: vcnl4000: Use cleanup.h for IIO locks iio: health: max30102: Use cleanup.h for IIO locks iio: light: opt4060: Use cleanup.h for IIO locks drivers/iio/adc/ade9000.c | 4 +- .../common/cros_ec_sensors/cros_ec_sensors_core.c | 7 +-- drivers/iio/health/max30100.c | 4 +- drivers/iio/health/max30102.c | 24 +++------- drivers/iio/industrialio-core.c | 34 +++++++++----- drivers/iio/light/opt4060.c | 52 +++++++--------------- drivers/iio/light/vcnl4000.c | 24 ++++------ include/linux/iio/iio.h | 24 +++++++++- 8 files changed, 83 insertions(+), 90 deletions(-) --- base-commit: f9e05791642810a0cf6237d39fafd6fec5e0b4bb change-id: 20251130-lock-impr-6f22748c15e8 -- ~ Kurt