mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v6 0/8] iio: light: opt3001: driver cleanup
@ 2026-06-14 13:19 Joshua Crofts
  2026-06-14 13:19 ` [PATCH v6 1/8] iio: light: opt3001: move device registration to end of probe() Joshua Crofts
                   ` (8 more replies)
  0 siblings, 9 replies; 12+ messages in thread
From: Joshua Crofts @ 2026-06-14 13:19 UTC (permalink / raw)
  To: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko
  Cc: linux-iio, linux-kernel, Joshua Crofts, Andy Shevchenko,
	Maxwell Doose, Andy Shevchenko

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 <jic23@kernel.org>
To: David Lechner <dlechner@baylibre.com>
To: Nuno Sá <nuno.sa@analog.com>
To: Andy Shevchenko <andy@kernel.org>
Cc: linux-iio@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Joshua Crofts <joshua.crofts1@gmail.com>

---
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


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2026-06-21 14:50 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-06-14 13:19 [PATCH v6 0/8] iio: light: opt3001: driver cleanup Joshua Crofts
2026-06-14 13:19 ` [PATCH v6 1/8] iio: light: opt3001: move device registration to end of probe() Joshua Crofts
2026-06-17 10:20   ` Andy Shevchenko
2026-06-14 13:19 ` [PATCH v6 2/8] iio: light: opt3001: use local struct device and i2c_client variables Joshua Crofts
2026-06-14 13:19 ` [PATCH v6 3/8] iio: light: opt3001: prefer dev_err_probe() Joshua Crofts
2026-06-14 13:19 ` [PATCH v6 4/8] iio: light: opt3001: ensure correct parenthesis alignment Joshua Crofts
2026-06-14 13:19 ` [PATCH v6 5/8] iio: light: opt3001: localize for loop iterator Joshua Crofts
2026-06-14 13:19 ` [PATCH v6 6/8] iio: light: opt3001: move driver to guard(mutex)() use Joshua Crofts
2026-06-14 13:19 ` [PATCH v6 7/8] iio: light: opt3001: switch driver to managed resources Joshua Crofts
2026-06-14 13:19 ` [PATCH v6 8/8] iio: light: opt3001: add comment to mutex Joshua Crofts
2026-06-17 10:21   ` Andy Shevchenko
2026-06-21 14:50 ` [PATCH v6 0/8] iio: light: opt3001: driver cleanup Jonathan Cameron

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome