[PATCH v2 0/6] iio: light: vcnl4000: drop enum ID table and use device-managed register
From: Erikas Bitovtas
Date: Sun Apr 05 2026 - 12:09:29 EST
This patch series drops the enum ID table for device enumeration and
instead adds pointers to chip ID structs directly. Necessary
information about the device is then taken from i2c_get_match_data()
call. This removes the association between enum ID table and struct
table and allows for easier addition and removal of new devices.
Along with that, an iio_device_register() call is replaced with its
device-managed counterpart, to ensure that device is unregistered
automatically.
No functional changes are intended.
Signed-off-by: Erikas Bitovtas <xerikasxx@xxxxxxxxx>
---
Changes in v2:
- Moved device tree table entries into one line.
- Moved power state function in probe into a device-managed action.
- Replaced call to pm_runtime_set_active() and pm_runtime_enable() with
its device-managed counterpart.
- Removed vcnl4000_remove function(), as all the clean up is done by
device-managed functions.
- Link to v1: https://lore.kernel.org/r/20260401-vcnl4000-drop-enum-v1-0-ffd201f0c848@xxxxxxxxx
---
Erikas Bitovtas (6):
iio: light: vcnl4000: validate device by prod ID instead of table ID
iio: light: vcnl4000: move device tree entries into one line
iio: light: vcnl4000: drop enum id table in favor of chip structs
iio: light: vcnl4000: move power state function into device-managed action
iio: light: vcnl4000: make pm_runtime_enable() device-managed
iio: light: vcnl4000: register an IIO device with a device-managed function
drivers/iio/light/vcnl4000.c | 274 +++++++++++++++++++------------------------
1 file changed, 120 insertions(+), 154 deletions(-)
---
base-commit: 2febe6e6ee6e34c7754eff3c4d81aa7b0dcb7979
change-id: 20260401-vcnl4000-drop-enum-0238061fcff8
Best regards,
--
Erikas Bitovtas <xerikasxx@xxxxxxxxx>