From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.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 A9B24632 for ; Sun, 14 Jun 2026 13:19:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.48 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781443150; cv=none; b=NXAWbiOEE6CfpzgqKg/M/DaNrb03gcnTLREQwJqt1qGD5ZVccCxFtipfpYq8WJP3mZmA+cORkYMuLlpbFTnL8XeyOw0EWDJ9aHUqt/WGy2ru4DftUnTv1k65AQ/sEubYuaHgghPprK4ftbsM0RCsimEnuCIXPLOxN64WX8CfKTY= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781443150; c=relaxed/simple; bh=W+AYoAL0sPb9wsGlMhJ//9Rfdjrh8bjSNVBAdC/KA1E=; h=From:Subject:Date:Message-Id:MIME-Version:Content-Type:To:Cc; b=akCghlhGLOF/tYoU/j+Mn3jaUJE2NYL3rOAYJXYjD3VhNEfkm+pR0cJqvH+lJjmOoZ2uLNX3uJFsZ5PsaLhJ0FlbLdTq1RmM2IBcCLBAm26IOJrqDTAxruUhXRbqbh0vY2+TJI5froXaRpa7h3OdO8r7WTpLrTqiq9CbuUevyOI= 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=d+srsUL1; arc=none smtp.client-ip=209.85.128.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="d+srsUL1" Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-49222fb062bso13092355e9.1 for ; Sun, 14 Jun 2026 06:19:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1781443146; x=1782047946; 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=xsFmAY0G11NUmbB99LEpbxText/8LFdDER2BdIag1dM=; b=d+srsUL1RsJsbP5XjK0Torw+D9zCk7veLcvlOv+tyvXZi0yzgSXgaBcRo5d8lRCHOr aOI809djPpRID4ZvP/WHGWdIkOGsiOAvjCoDmyQiT93bjH8CYoMulCSY65SYk502Dopz o7P2NLBsA2mvP7aEshKFcnyJC1zL1JtBmjDtQYUHNSyZtOMRiw20IoMUQuPoXTzZ/3vu TfcSNhphmScQcd8HvninCUKTmXZDeGyYRN8vVYguIiuRCVkXd3ZCRxQWRrGbEnewJq5G hRI+8Qg+dPGHA9S6odAt6qTQBWas/d8yIshBx9HDnCeD0gcLDHgnIw1YRk0tMwuhP4PR NwhA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781443146; x=1782047946; 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=xsFmAY0G11NUmbB99LEpbxText/8LFdDER2BdIag1dM=; b=QynuyGkl8qpsjKTBL3QngxOSD5pzr0lymtRMV91F4W6sGaLpLxx2lc8/0+wx1Zba9+ J3uIq/YZfm8zWKnEHF7zlFW7IfMWySOwUNLgWbbQ3yxIgjeRgxqXd7AVlFGt/radBtMS O5MfqHEhgOOcWYyxzGzvE59k5fTIBUWFNCFCA4YTJpg32ejnH7e5M/vaZtjt13kMBiqb KYFBaxcGobJHD54zAIYVBW5EUfDjaWaOnEI2Rdwofn0M5euhAz17mIVw3Uo/xDVuzs2J qxzjawuSRQXxSECVm/RkJlIUGuv9QvSHv91HFbl+EbSG6lGp2ExVzMTb2WKuzrnjGxth 9cJw== X-Forwarded-Encrypted: i=1; AFNElJ86gOQqxmBd/nZZK89t57Qf/fflMxw9HZy3HLHF1lIPa+mGi9QSLblY9ixFyr3z9hJtajSB07dNu9g0QBw=@vger.kernel.org X-Gm-Message-State: AOJu0YyGr/uecNF9+rcKRJJfn9ak/5lVHU/YwmRwxmlclPokbiWeoxPN 0Tkm/57zNNSiG+c8TrFx17wzFAUl6VqjI9w4UWXuvK/cQqjVBhtiIBDf X-Gm-Gg: Acq92OGgAQFMi2r1APnZp5QvA/FGDLJrWPfIecgWOfkT1JBhw7fVyQgiLIKazGoUya3 2QF7xvepGLv6J5xNc8k26pWirV7HOoCHj4kghFfvckUC+P0w5lO1M9nVYoSxABF3lxJGukN1D0V +N0C7yihpy+lK+2gRWdkDRgVQtA/oycXdR5WP97CXTK1UWinieS1X0K5LewFyLCUmGkKcz4wlIq ljHTZxjppyHsP0FohHDMqjD5IQ8bYve5/AVooNltjD1AtMY+HYdZojldgDlDeK5A1k9IP3H0YjR bovr19u9KPlTTdmlhnomumBgX/fWisMBi9zK6S/xQ63zzA1i7EGc8rELIGN26mNYwQKtyLFg5fX o5ms2YHUcXZDhZsdREpZv8WGQS6185S7Gs+XGIsZ6MAx5bBzLljZHgsQjZTSUWgFitv27SSKfD1 yTc1jZUzB8vtqGGxbwPXCfsKsgDLvvAQ5gb76UIgny+KFkBTBRWEZXsC8S+2czPx7Uha0a/zzIK 7EOjUWBM8SmcrYRlwLkPOQSxvxGlmsHhBRmzm6RCPxaSqQuIC3owQoCS7YWlU0byVRtM+zHAwMT O2nYrXLPaqnMOS7tKruYgso22mid/K5BpUSwIlJwTZNWeZcXYIs= X-Received: by 2002:a05:600c:5296:b0:492:1e7f:d426 with SMTP id 5b1f17b1804b1-4921e7fd54bmr91591125e9.2.1781443145793; Sun, 14 Jun 2026 06:19:05 -0700 (PDT) Received: from [192.168.1.187] ([2a02:8308:4092:11f0:c287:187e:fb7a:66a4]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4922037055csm168406355e9.13.2026.06.14.06.19.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Jun 2026 06:19:05 -0700 (PDT) From: Joshua Crofts Subject: [PATCH v6 0/8] iio: light: opt3001: driver cleanup Date: Sun, 14 Jun 2026 15:19:02 +0200 Message-Id: <20260614-opt3001-cleanup-v6-0-e3f5901dcc26@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: 8bit X-B4-Tracking: v=1; b=H4sIAAAAAAAC/3WNQQ6CMBBFr0Jmbc1QnJq64h6GBZQBJgFKWiQaw t2t7F2+l/z3d4gchCM8sh0CbxLFzwnMJQM31HPPStrEoFEbNFgov6wFYq7cyPX8WlR+sw0jdcb aBtJqCdzJ+yw+q8SDxNWHz3mw0c/+b22kUBXc3RurTUtEZT/VMl6dn6A6juMLLrkstq4AAAA= X-Change-ID: 20260603-opt3001-cleanup-149be05f699b To: Jonathan Cameron , David Lechner , =?utf-8?q?Nuno_S=C3=A1?= , Andy Shevchenko Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, Joshua Crofts , Andy Shevchenko , Maxwell Doose , Andy Shevchenko X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1781443145; l=3239; i=joshua.crofts1@gmail.com; s=20260530; h=from:subject:message-id; bh=W+AYoAL0sPb9wsGlMhJ//9Rfdjrh8bjSNVBAdC/KA1E=; b=KZy3LAb/OXccTSKUPBGuvkNPJ7WGdmuzWmGKt9SxrHBVdp1cxbsnaFNENrKT2/dQCVNuHaZ5w S95pTt+0t4gD/v07WPvfItlzHtKvyCtxMLp6seKYsYHoqDxiIT4VM85 X-Developer-Key: i=joshua.crofts1@gmail.com; a=ed25519; pk=RTDOoVwgeL4oFdASj9U+cxJuIjXuXk73zkjnGOJKbEo= This series deals with cleaning up the TI OPT3001 sensor driver, moving it to more modern kernel practices and improving the code style. While reviewing, Jonathan Cameron (and eventually Sashiko) found a race condition where userspace could start interacting with the device before the hardware IRQ was set up. Changes include: - moving the driver to use devm_* functions - IWYU cleanups - removal of unnecessary macros and comments - using dev_err_probe() in probe and probe path functions - checkpatch.pl warning cleanups - fixing a race condition found in opt3001_probe() function --- Changes in v6: - Pull review tags - PATCH 2: reduce code churn - Reorder patches to reduce churn - Rebase on updated testing branch - Link to v5: https://lore.kernel.org/r/20260603-opt3001-cleanup-v5-0-3ef7b926d555@gmail.com Changes in v5: - PATCH 7: remove dead code oneliner - Pull new review trailers - Link to v4: https://lore.kernel.org/r/20260525-opt3001-cleanup-v4-0-65b36a174f78@gmail.com/ Changes in v4: - Fix bad merge - Edit commit messages - PATCH 1: add free_irq on iio_device_register error - PATCH 8: change comments - Link to v3: https://lore.kernel.org/r/20260521-opt3001-cleanup-v3-0-820169dec8c3@gmail.com Changes in v3: - PATCH 1: fix build error - PATCH 2: remove struct device member from struct opt3001 - PATCH 6: edit return statements - Pull additional trailers from previous version's reviews - Edit commit messages - Link to v2: https://lore.kernel.org/r/20260512-opt3001-cleanup-v2-0-8018cf3a8a0a@gmail.com Changes in v2: - PATCH 1: added patch that fixes race condition - PATCH 3: remove wrong usage of GENMASK() - PATCH 4: add patch that moves driver to use local structs - PATCH 5: add patch that ensures correct parenthesis alignment - PATCH 6: change int to unsigned int - PATCH 7: moved opt3001_read_id() function to use dev_err_probe() - PATCH 9: removed unnecessary dev_err_probe() calls, reordering - PATCH 10: added patch that adds a comment to mutex declaration - Link to v1: https://lore.kernel.org/r/20260511-opt3001-cleanup-v1-0-f7879dc3455c@gmail.com --- To: Jonathan Cameron To: David Lechner To: Nuno Sá To: Andy Shevchenko Cc: linux-iio@vger.kernel.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Joshua Crofts --- Joshua Crofts (8): iio: light: opt3001: move device registration to end of probe() iio: light: opt3001: use local struct device and i2c_client variables iio: light: opt3001: prefer dev_err_probe() iio: light: opt3001: ensure correct parenthesis alignment iio: light: opt3001: localize for loop iterator iio: light: opt3001: move driver to guard(mutex)() use iio: light: opt3001: switch driver to managed resources iio: light: opt3001: add comment to mutex drivers/iio/light/opt3001.c | 381 +++++++++++++++++++++----------------------- 1 file changed, 181 insertions(+), 200 deletions(-) --- base-commit: 5eff1cd0d0156240c0839921b537599ae77a2ce2 change-id: 20260603-opt3001-cleanup-149be05f699b Best regards, -- Kind regards CJD