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@gmail.com>
---
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@gmail.com
---
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@gmail.com>