[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230113194959.3276433-1-hugo@hugovil.com>
Date: Fri, 13 Jan 2023 14:49:57 -0500
From: Hugo Villeneuve <hugo@...ovil.com>
To: hvilleneuve@...onoff.com, jic23@...nel.org, lars@...afoo.de,
robh+dt@...nel.org, krzysztof.kozlowski+dt@...aro.org
Cc: linux-iio@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, hugo@...ovil.com
Subject: [PATCH v3 0/2] iio: adc: ti-ads7924: add Texas Instruments ADS7924 driver
From: Hugo Villeneuve <hvilleneuve@...onoff.com>
Hello,
this patch series adds the driver for the Texas Instruments ADS7924.
The Texas Instruments ADS7924 is a 4 channels, 12-bit analog to
digital converter (ADC) with an I2C interface.
Patch 1 contains the driver for the ADS7924.
Patch 2 add the dt-bindings for the ADS7924.
I have tested the driver using the Texas Instruments ADS7924EVM board connected
to a Variscite Symphony EVK with a IMX8MN NANO SOM:
- Tested reset pin Ok
- Tested regulator setup Ok
- Tested reading sysfs in_voltage_scale Ok
- Tested reading sysfs in_voltageX_raw (x=0 to 3) Ok
Thank you.
Link: [v1] https://lore.kernel.org/linux-iio/20221222203610.2571287-1-hugo@hugovil.com/
Link: [v2] https://lore.kernel.org/linux-iio/20230110160124.3853593-1-hugo@hugovil.com/
Changes for V3:
- Rebase on linux-6.2-rc1
- Refactor to follow usual coding practices as per review comments.
- Fix missing include (reported by kernel test robot).
- Fix DT bindings errors.
- Removed unused define.
- Remove breaks after return.
- Remove debug message in ads7924_get_channels_config().
- Remove braces around swich case IIO_CHAN_INFO_RAW.
- Remove comments about regulator_get_voltage() failing for dummy regulator.
Changes for V2:
- Dropped patch "iio: adc: Kconfig: add SPI interface mention to AD7924
description"
- Fixed comments style
- Removed unused defines/variables/etc related to buffered support (no buffered
support for the moment).
- Convert of-specific code to use the generic firmware property accessors in
include/linux/property.h.
- Use FIELD_GET / FIELD_PREP for bit operations/defines
- Simplified conversion result registers definitions/usage.
- Now using mutex lock/unlock only for INFO_RAW switch branch
- Use dev_err_probe() in all return paths of ads7924_probe()
- Removed ads7924_remove() after adding callbacks with
devm_add_action_or_reset().
- Change iio_device_register() to devm_iio_device_register().
- Add the legacy i2c_device_id table
- DT bindings: reorder entries, fix indentation,improve comments, add interrupt
line
Hugo Villeneuve (2):
iio: adc: ti-ads7924: add Texas Instruments ADS7924 driver
dt-bindings: iio: adc: add Texas Instruments ADS7924
.../bindings/iio/adc/ti,ads7924.yaml | 112 +++++
MAINTAINERS | 7 +
drivers/iio/adc/Kconfig | 11 +
drivers/iio/adc/Makefile | 1 +
drivers/iio/adc/ti-ads7924.c | 474 ++++++++++++++++++
5 files changed, 605 insertions(+)
create mode 100644 Documentation/devicetree/bindings/iio/adc/ti,ads7924.yaml
create mode 100644 drivers/iio/adc/ti-ads7924.c
base-commit: 1b929c02afd37871d5afb9d498426f83432e71c2
--
2.30.2
Powered by blists - more mailing lists