mbox series

[v3,0/2] Support for Texas Instruments OPT4001 Ambient Light Sensor

Message ID 20230323-add-opt4001-driver-v3-0-62e121dab294@axis.com (mailing list archive)
Headers show
Series Support for Texas Instruments OPT4001 Ambient Light Sensor | expand

Message

Stefan Windfeldt-Prytz April 26, 2023, 11:57 a.m. UTC
This series adds support for Texas Instruments OPT4001 Ambient light sensor.

The light sensor has a i2c interface and supports continuous, oneshot and
interruptdriven measurements and has configurable conversion time and range.

This driver uses the sensors continuous mode so it always has a updated light
value available. The conversion time which is
 (integration time + time to set registers) which is used to configure
integration time through sysfs. The chip also has a configurable light
range which this driver sets to Auto where the chip chooses range itself
depending on previously read values.

Since the OPT4001 has different constants used to calculate lux values
depeding on packaging of the chip but uses the same device id, two compatible
string are used depending on the packaging, these are "ti,opt4001-picostar"
and "ti,opt4001-sot-5x3".

Signed-off-by: Stefan Windfeldt-Prytz <stefan.windfeldt-prytz@axis.com>
---
Changes in v3:
- Removed unneccesary description from devicetree
- Use correct subject prefix for devicetree bindings
- No error on device id miss match
- Removed opt4001_settings as there was only one needed property int_time
- Link to v2: https://lore.kernel.org/r/20230323-add-opt4001-driver-v2-0-0bae0398669d@axis.com

Changes in v2:
- Added text about differences of sot-5x3 and picostar
- Added irq and regulator to devicetree bindings
- Added regulator support to driver
- Switched from using .remove to devm_action_or_reset
- Removed own mutex and reenabled regmaps
- Updated name in sysfs
- Added i2c_device_id
- Rename package_const to chip_info
- Link to v1: https://lore.kernel.org/r/20230323-add-opt4001-driver-v1-0-1451dcc1bc8a@axis.com

---
Stefan Windfeldt-Prytz (2):
      dt-bindings: iio: light: Document TI OPT4001 light sensor
      iio: light: Add support for TI OPT4001 light sensor

 .../devicetree/bindings/iio/light/ti,opt4001.yaml  |  68 +++
 drivers/iio/light/Kconfig                          |  11 +
 drivers/iio/light/Makefile                         |   1 +
 drivers/iio/light/opt4001.c                        | 467 +++++++++++++++++++++
 4 files changed, 547 insertions(+)
---
base-commit: 60c5238813fdfbe167eb579d58172106916b8db0
change-id: 20230323-add-opt4001-driver-99b9aad69319

Best regards,

Comments

Jonathan Cameron April 30, 2023, 5:28 p.m. UTC | #1
On Wed, 26 Apr 2023 13:57:28 +0200
Stefan Windfeldt-Prytz <stefan.windfeldt-prytz@axis.com> wrote:

> This series adds support for Texas Instruments OPT4001 Ambient light sensor.
> 
> The light sensor has a i2c interface and supports continuous, oneshot and
> interruptdriven measurements and has configurable conversion time and range.
> 
> This driver uses the sensors continuous mode so it always has a updated light
> value available. The conversion time which is
>  (integration time + time to set registers) which is used to configure
> integration time through sysfs. The chip also has a configurable light
> range which this driver sets to Auto where the chip chooses range itself
> depending on previously read values.
> 
> Since the OPT4001 has different constants used to calculate lux values
> depeding on packaging of the chip but uses the same device id, two compatible
> string are used depending on the packaging, these are "ti,opt4001-picostar"
> and "ti,opt4001-sot-5x3".
> 
> Signed-off-by: Stefan Windfeldt-Prytz <stefan.windfeldt-prytz@axis.com>
Hi Stefan,

No need to sign off on cover letters.  They don't go in the git logs so
if doesn't matter either way.

Otherwise, looks good to me.

Applied to the togreg branch of iio.git and pushed out as testing for 0-day to
take a look at it.

Note I'll be rebasing that branch on rc1 once available.

Thanks,

Jonathan

> ---
> Changes in v3:
> - Removed unneccesary description from devicetree
> - Use correct subject prefix for devicetree bindings
> - No error on device id miss match
> - Removed opt4001_settings as there was only one needed property int_time
> - Link to v2: https://lore.kernel.org/r/20230323-add-opt4001-driver-v2-0-0bae0398669d@axis.com
> 
> Changes in v2:
> - Added text about differences of sot-5x3 and picostar
> - Added irq and regulator to devicetree bindings
> - Added regulator support to driver
> - Switched from using .remove to devm_action_or_reset
> - Removed own mutex and reenabled regmaps
> - Updated name in sysfs
> - Added i2c_device_id
> - Rename package_const to chip_info
> - Link to v1: https://lore.kernel.org/r/20230323-add-opt4001-driver-v1-0-1451dcc1bc8a@axis.com
> 
> ---
> Stefan Windfeldt-Prytz (2):
>       dt-bindings: iio: light: Document TI OPT4001 light sensor
>       iio: light: Add support for TI OPT4001 light sensor
> 
>  .../devicetree/bindings/iio/light/ti,opt4001.yaml  |  68 +++
>  drivers/iio/light/Kconfig                          |  11 +
>  drivers/iio/light/Makefile                         |   1 +
>  drivers/iio/light/opt4001.c                        | 467 +++++++++++++++++++++
>  4 files changed, 547 insertions(+)
> ---
> base-commit: 60c5238813fdfbe167eb579d58172106916b8db0
> change-id: 20230323-add-opt4001-driver-99b9aad69319
> 
> Best regards,