Re: [PATCH 0/3] iio: light: tcs3472: devm conversion, wait time, locking cleanup
Andy Shevchenko <[email protected]>
| Newsgroups | dev.linux.lists.linux-kernel-mentees,org.kernel.vger.linux-iio,org.kernel.vger.linux-kernel |
|---|---|
| Organization | Intel Finland Oy - BIC 0357606-4 - c/o Alberga Business Park, 6 krs, Bertel Jungin Aukio 5, 02600 Espoo |
| Message-ID | <[email protected]> |
On Wed, May 06, 2026 at 11:43:08AM +0200, Aldo Conte wrote: > This series of changes modernizes the tcs3472 driver by completing the > devm conversion and updating the locking style to use an automatic > guard (mutex). Furthermore, it implement control of the WAIT state, > resolving a TODO. > > Patch1: Converts the driver to use device-managed resource allocation. > This removes the need for an explicit remove() callback, since cleanup > is now handled automatically. It also adds a new function called > tcs3472_powerdown_action() that powers down the chip when the driver is > unloaded, removed or when probe fails after the chip has been enabled. > > Patch2: adds support for the wait time resolving the old TODO comment. > The user can control the WTIME indirectly by writing to the > sampling_frequency attribute. Changing the sampling > frequency attribute results in a change to the wtime while preserving > the current integration time. > Similarly, if the user has previously set a sampling frequency and > then changes the integration time, the driver re-computes WTIME so the > previous frequency is preserved. The patch also handles the deactivation > of wtime when the requested frequency is very high, as well as the > extension of wtime to its maximum values (by enabling the use of WLONG) > when the requested frequency is very low. > > Patch3: converts the remaining mutex_lock()/mutex_unlock() pairs to > guard(mutex). > > All patches have been tested on a Raspberry Pi 3B with a TCS3472 > connected to I2C-1 at address 0x29. Sampling frequency and integration > time changes have been exercised checking the value of WTIME and > consequently WEN and WLONG. Raw RGBC reads, calibscale, integration_time > and threshold events continue to work as before. Thanks for contribution, unfortunately this series needs much more work and more preparatory patches as well. I have reviewed the current series. Please, follow and address (or comment why it can't be done as suggested). -- With Best Regards, Andy Shevchenko