Javier Carrasco
ccc26bd7d7
iio: light: veml6030: add support for veml6035
...
The veml6035 is an ALS that shares most of its functionality with the
veml6030, which allows for some code recycling.
Some chip-specific properties differ and dedicated functions to get and
set the sensor gain as well as its initialization are required.
Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com >
Link: https://patch.msgid.link/20241001-veml6035-v3-9-d789f6ff147c@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-10-06 15:09:36 +01:00
Javier Carrasco
f1bfc1c993
dt-bindings: iio: light: veml6030: add veml6035
...
The veml6035 is a similar ambient light sensor to the veml6030, and
from the bindings point of view, it shares the same properties. Its
only difference in that respect is a different I2C address.
Estend the existing bindings to support the veml6035 ALS.
Acked-by: Conor Dooley <conor.dooley@microchip.com >
Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com >
Link: https://patch.msgid.link/20241001-veml6035-v3-8-d789f6ff147c@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-10-06 15:09:36 +01:00
Javier Carrasco
e980726d89
iio: light: veml6030: power off device in probe error paths
...
Move devm_add_action_or_reset() with a device shut down action to the
hardware initialization function to ensure that any error path after
powering on the device leads to a power off. Add struct device *dev
to the argument list to clarify the device the action is registered
against, and use it wherever &client->dev was used.
Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com >
Link: https://patch.msgid.link/20241001-veml6035-v3-7-d789f6ff147c@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-10-06 15:09:35 +01:00
Javier Carrasco
ed59fc90f3
iio: light: veml6030: drop processed info for white channel
...
The resolution of the WHITE channel is not provided by the manufacturer,
neither in the datasheet nor in the application note (even their
proprietary application only processes the ALS channel, giving raw
values for WHITE).
The current implementation assumes that both resolutions are identical,
which is extremely unlikely, especially for photodiodes with different
spectral responses.
Drop the processed information as it is meaningless.
Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com >
Link: https://patch.msgid.link/20241001-veml6035-v3-6-d789f6ff147c@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-10-06 15:09:35 +01:00
Javier Carrasco
8ff21dd6df
iio: light: veml6030: use read_avail() for available attributes
...
Drop custom attributes by using the standard read_avail() callback to
read scale and integration time. When at it, add the integration time
and scale attributes fro the WHITE channel, as they modify its value as
well. To avoid breaking the current ABI, these attributes must be kept
as separate for both channels even though they are shared under the
hood.
Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com >
Link: https://patch.msgid.link/20241001-veml6035-v3-5-d789f6ff147c@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-10-06 15:09:35 +01:00
Javier Carrasco
c8823425af
iio: light: veml6030: add support for a regulator
...
Use the device managed function from the regulator API to get and enable
a regulator powering the device.
Use "vdd" as the ID to account for the provided name in the datasheet.
Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com >
Link: https://patch.msgid.link/20241001-veml6035-v3-4-d789f6ff147c@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-10-06 15:09:35 +01:00
Javier Carrasco
7a1af0de1f
dt-bindings: iio: light: veml6030: add vdd-supply property
...
Add vdd-supply to account for the sensor's power source.
Acked-by: Krzysztof Kozlowski <krzk@kernel.org >
Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com >
Link: https://patch.msgid.link/20241001-veml6035-v3-3-d789f6ff147c@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-10-06 15:09:35 +01:00
Javier Carrasco
081c74203a
iio: light: veml6030: use dev_err_probe()
...
Use the more convenient dev_err_probe() to get rid of the dev_err() +
return sequence in the probe error paths.
Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com >
Link: https://patch.msgid.link/20241001-veml6035-v3-2-d789f6ff147c@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-10-06 15:09:35 +01:00
Javier Carrasco
c61d687cd5
iio: light: veml6030: add set up delay after any power on sequence
...
The veml6030 requires a delay of 4 ms after activating the sensor. That
is done correctly during the hw initialization, but it's missing after
resuming.
Move the delay to the power on function to make sure that it is always
observerd. When at it, use fsleep() instead of usleep_range() as such a
narrow range is not required.
Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com >
Link: https://patch.msgid.link/20241001-veml6035-v3-1-d789f6ff147c@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-10-06 15:09:35 +01:00
Vasileios Amoiridis
1960713218
iio: pressure: bmp280: Use char instead of s32 for data buffer
...
As it was reported and discussed here [1], storing the sensor data in an
endian aware s32 buffer is not optimal. Advertising the timestamp as an
addition of 2 s32 variables which is also implied is again not the best
practice. For that reason, change the s32 sensor_data buffer to a u8
buffer and align it properly.
[1]: https://lore.kernel.org/linux-iio/73d13cc0-afb9-4306-b498-5d821728c3ba@stanley.mountain/
Signed-off-by: Vasileios Amoiridis <vassilisamir@gmail.com >
Link: https://patch.msgid.link/20240930202353.38203-3-vassilisamir@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-10-06 15:04:44 +01:00
Vasileios Amoiridis
8b13937b5e
iio: pressure: bmp280: Use unsigned type for raw values
...
The adc values coming directly from the sensor in the BM{E,P}{2,3}xx
sensors are unsigned values so treat them as such.
Signed-off-by: Vasileios Amoiridis <vassilisamir@gmail.com >
Link: https://patch.msgid.link/20240930202353.38203-2-vassilisamir@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-10-06 15:04:44 +01:00
Angelo Dureghello
d1d1c117f3
dt-bindings: iio: dac: ad3552r: fix maximum spi speed
...
Fix maximum SPI clock speed, as per datasheet (Rev. B, page 6).
Fixes: b0a96c5f59 ("dt-bindings: iio: dac: Add adi,ad3552r.yaml")
Cc: stable@vger.kernel.org
Signed-off-by: Angelo Dureghello <adureghello@baylibre.com >
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Link: https://patch.msgid.link/20241003-wip-bl-ad3552r-axi-v0-iio-testing-v4-4-ceb157487329@baylibre.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-10-06 14:42:19 +01:00
Jean-Baptiste Maneyrol
ed9c5820ab
MAINTAINERS: iio: imu: add entry for InvenSense MPU-6050 driver
...
Add entry for inv_mpu6050 iio driver supporting InvenSense MPU-6xxx
and ICM-206xxx devices.
Signed-off-by: Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@tdk.com >
Link: https://patch.msgid.link/20241003-invn-maintainers-email-update-v2-3-ca5a4928eb22@tdk.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-10-06 14:36:47 +01:00
Jean-Baptiste Maneyrol
41f3a1067c
dt-bindings: iio: imu: migrate InvenSense email to TDK group domain
...
Migrate maintainer email to TDK domain.
Signed-off-by: Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@tdk.com >
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Link: https://patch.msgid.link/20241003-invn-maintainers-email-update-v2-2-ca5a4928eb22@tdk.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-10-06 14:36:47 +01:00
Jean-Baptiste Maneyrol
bcafd2e25a
MAINTAINERS: iio: migrate invensense email address to tdk domain
...
InvenSense is part of TDK group. Update email address to use the
TDK domain.
Signed-off-by: Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@tdk.com >
Link: https://patch.msgid.link/20241003-invn-maintainers-email-update-v2-1-ca5a4928eb22@tdk.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-10-06 14:36:46 +01:00
Herve Codina
791f9e92d2
MAINTAINERS: add the GE HealthCare PMC ADC driver entry
...
After contributing the driver, add myself as the maintainer for the
GE HealthCare PCM ADC IIO driver.
Signed-off-by: Herve Codina <herve.codina@bootlin.com >
Tested-by: Ian Ray <ian.ray@gehealthcare.com >
Link: https://patch.msgid.link/20241003114641.672086-5-herve.codina@bootlin.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-10-06 14:02:09 +01:00
Herve Codina
fb45972c18
iio: adc: Add support for the GE HealthCare PMC ADC
...
The GE HealthCare PMC Analog to Digital Converter (ADC) is a 16-Channel
(voltage and current), 16-Bit ADC with an I2C Interface.
Signed-off-by: Herve Codina <herve.codina@bootlin.com >
Tested-by: Ian Ray <ian.ray@gehealthcare.com >
Reviewed-by: David Lechner <dlechner@baylibre.com >
Link: https://patch.msgid.link/20241003114641.672086-4-herve.codina@bootlin.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-10-06 14:00:15 +01:00
Herve Codina
421d2251fb
dt-bindings: iio: adc: Add the GE HealthCare PMC ADC
...
The GE HealthCare PMC Analog to Digital Converter (ADC) is a 16-Channel
(voltage and current), 16-Bit ADC with an I2C Interface.
Signed-off-by: Herve Codina <herve.codina@bootlin.com >
Tested-by: Ian Ray <ian.ray@gehealthcare.com >
Reviewed-by: Conor Dooley <conor.dooley@microchip.com >
Link: https://patch.msgid.link/20241003114641.672086-3-herve.codina@bootlin.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-10-06 13:48:54 +01:00
Herve Codina
5e472eaa8d
dt-bindings: vendor-prefixes: Add an entry for GE HealthCare
...
Add the "gehc" entry for GE HealthCare.
https://www.gehealthcare.com
Signed-off-by: Herve Codina <herve.codina@bootlin.com >
Acked-by: Conor Dooley <conor.dooley@microchip.com >
Tested-by: Ian Ray <ian.ray@gehealthcare.com >
Link: https://patch.msgid.link/20241003114641.672086-2-herve.codina@bootlin.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-10-06 13:48:54 +01:00
Ivin Joel Abraham
ee8caf4254
docs: iio: fix grammatical error
...
Clarify the instruction for disabling autocalibration by adding the word
"by"
Signed-off-by: Ivin Joel Abraham <ivinjabraham@gmail.com >
Link: https://patch.msgid.link/20241002100341.110435-1-ivinjabraham@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-10-06 12:43:31 +01:00
Guillaume Stols
1276d269fe
iio: adc: ad7606: Sort includes in alphabetical order
...
Some of the includes were not in alphabetical order, this commit fixes
it.
Signed-off-by: Guillaume Stols <gstols@baylibre.com >
Link: https://patch.msgid.link/20241004-ad7606_add_iio_backend_support-v3-5-38757012ce82@baylibre.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-10-05 12:25:21 +01:00
Guillaume Stols
afdc595666
iio: adc: ad7606: Fix typo in the driver name
...
The parallel driver's name is ad7606_par and not ad7606_parallel.
Fixes: 0046a46a8f ("staging/ad7606: Actually build the interface modules")
Signed-off-by: Guillaume Stols <gstols@baylibre.com >
Link: https://patch.msgid.link/20241004-ad7606_add_iio_backend_support-v3-1-38757012ce82@baylibre.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-10-05 12:21:02 +01:00
Bjorn Andersson
0d8f584dfa
iio: adc: qcom-spmi-adc5: Tidy up adc5_get_fw_data() error messages
...
In the event that no channels (child nodes) are defined, the adc5 driver
will provide a generic error message indicating that adc5_get_fw_data()
returned -EINVAL. In all other error cases we get two error messages,
one helpful and the generic one.
Add a specific error message for the no channels case, and drop the
generic one, in order to improve the generates log prints in both cases.
Signed-off-by: Bjorn Andersson <bjorn.andersson@oss.qualcomm.com >
Link: https://patch.msgid.link/20241004-spmi-adc5-no-channel-error-v1-1-1a43d13ae967@oss.qualcomm.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-10-05 12:19:01 +01:00
Matteo Martelli
a9bb0610b2
iio: pac1921: remove unnecessary explicit casts
...
Many explicit casts were introduced to address Wconversion and
Wsign-compare warnings. Remove them to improve readability.
Link: https://lore.kernel.org/linux-iio/1fa4ab12-0939-477d-bc92-306fd32e4fd9@stanley.mountain/
Signed-off-by: Matteo Martelli <matteomartelli3@gmail.com >
Link: https://patch.msgid.link/20240930-iio-pac1921-nocast-v2-1-cc349e137f75@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-10-05 12:09:15 +01:00
Javier Carrasco
fc04cc73c5
iio: light: veml6070: use dev_err_probe in probe function
...
Drop the common 'dev_err() + return' combination in the probe function
and use 'return dev_err_probe()' instead.
Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com >
Link: https://patch.msgid.link/20240929-veml6070-cleanup-v1-7-a9350341a646@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-10-05 12:09:15 +01:00
Javier Carrasco
8a49c37321
iio: light: veml6070: add devicetree support
...
Register the compatible from the dt-bindings.
Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com >
Link: https://patch.msgid.link/20240929-veml6070-cleanup-v1-6-a9350341a646@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-10-05 12:09:15 +01:00
Javier Carrasco
eba200d5bf
dt-bindings: iio: light: vishay,veml6075: add vishay,veml6070
...
This UVA device with I2C has the same properties as the veml6075, and
the same dt-bindings can cover it too.
Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com >
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Link: https://patch.msgid.link/20240929-veml6070-cleanup-v1-5-a9350341a646@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-10-05 12:09:15 +01:00
Javier Carrasco
4ad62021c2
iio: light: veml6070: add support for a regulator
...
Add support for a device-managed regulator with the reference name
provided in the datasheet (vdd).
Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com >
Link: https://patch.msgid.link/20240929-veml6070-cleanup-v1-4-a9350341a646@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-10-05 12:09:15 +01:00
Javier Carrasco
d92fcd7e92
iio: light: veml6070: use device managed iio_device_register
...
Simplify the code by using devm_iio_device_register(), which removes the
need for a 'remove' function, as there are no more actions to take.
Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com >
Link: https://patch.msgid.link/20240929-veml6070-cleanup-v1-3-a9350341a646@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-10-05 12:09:15 +01:00
Javier Carrasco
fc38525135
iio: light: veml6070: use guard to handle mutex
...
Simplify the mutext handling by using a guard to automate the mutex
unlocking.
Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com >
Link: https://patch.msgid.link/20240929-veml6070-cleanup-v1-2-a9350341a646@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-10-05 12:09:15 +01:00
Javier Carrasco
7501bff87c
iio: light: veml6070: add action for i2c_unregister_device
...
Simplify the code by adding an action to call i2c_unregister_device(),
which removes the need for a 'fail' label, gotos to it, and an explicit
call in veml6070_remove().
Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com >
Link: https://patch.msgid.link/20240929-veml6070-cleanup-v1-1-a9350341a646@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-10-05 12:09:15 +01:00
Abhash Jha
0f87813bc3
iio: dac: ad5770r: Convert to get_unaligned_le16
...
Convert the manual shifting to use `get_unaligned_le16` api.
Signed-off-by: Abhash Jha <abhashkumarjha123@gmail.com >
Link: https://patch.msgid.link/20240928161805.165543-1-abhashkumarjha123@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-10-05 12:09:15 +01:00
Abhash Jha
41c1b5670c
iio: adc: mt6360-adc: Converted to use get_unaligned_be16()
...
Changed the manual shifting and adding of bytes to use
get_unaligned_be16() api instead.
Signed-off-by: Abhash Jha <abhashkumarjha123@gmail.com >
Link: https://patch.msgid.link/20240928161108.163647-1-abhashkumarjha123@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-10-05 12:09:15 +01:00
Yu Jiaoliang
0b0c004950
iio: adc: Fix typos in comments across various files
...
This commit fixes several typographical errors in comments within
the drivers/iio/adc directory. No functional changes are made.
Detected using codespell.
Signed-off-by: Yu Jiaoliang <yujiaoliang@vivo.com >
Link: https://patch.msgid.link/20240926034411.3482986-1-yujiaoliang@vivo.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-10-05 12:09:15 +01:00
Shreeya Patel
aa6b1dd156
iio: light: ltrf216a: Document device name for compatible
...
Compatible 'ltr,ltrf216a' is used by Valve's Steamdeck device
via the ACPI + PRP0001 mechanism.
Document this info alongside the compatible.
Signed-off-by: Shreeya Patel <shreeya.patel@collabora.com >
Link: https://patch.msgid.link/20240923131527.1408691-1-shreeya.patel@collabora.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-10-05 12:09:15 +01:00
Jean-Baptiste Maneyrol
8525592196
iio: imu: inv_mpu6050: add support for IAM-20680HT/HP
...
IAM-20680HT & HP are 2 variants of IAM-20680 with better specs,
wider temperature range, and a bigger FIFO (4k).
Fully compatible with IAM-20680, FIFO is 512 bytes by default and
with correct register setting we expand it to full 4k.
Signed-off-by: Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@tdk.com >
Link: https://patch.msgid.link/20240923-inv-mpu6050-add-iam20680-ht-hp-v2-2-48290e0b9931@tdk.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-10-05 12:09:14 +01:00
Jean-Baptiste Maneyrol
129bb33f0d
dt-bindings: iio: imu: mpu6050: Add iam20680ht/hp bindings to mpu6050
...
IAM-20680HT & HP are 2 variants of IAM-20680 that are backwards compatible.
They just have better specs, temperature range and a bigger FIFO.
Signed-off-by: Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@tdk.com >
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Link: https://patch.msgid.link/20240923-inv-mpu6050-add-iam20680-ht-hp-v2-1-48290e0b9931@tdk.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-10-05 12:09:14 +01:00
Javier Carrasco
4010e7894b
iio: adc: ad5755: use scoped device_for_each_child_node()
...
Switch to device_for_each_child_node_scoped() to simplify the code by
removing the need for calls to fwnode_handle_put() in the error path, in
this particular case dropping the jump to error_out as well.
This prevents possible memory leaks if new error paths are added without
the required call to fwnode_handle_put().
Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com >
Link: https://patch.msgid.link/20240926-iio_device_for_each_child_node_scoped-v1-4-64ca8a424578@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-10-05 12:09:14 +01:00
Javier Carrasco
0c78543660
iio: adc: sun20i-gpadc: use scoped device_for_each_child_node()
...
Switch to device_for_each_child_node_scoped() to simplify the code by
removing the need for calls to fwnode_handle_put() in the error path.
This prevents possible memory leaks if new error paths are added without
the required call to fwnode_handle_put().
Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com >
Reviewed-by: Chen-Yu Tsai <wens@csie.org >
Link: https://patch.msgid.link/20240926-iio_device_for_each_child_node_scoped-v1-3-64ca8a424578@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-10-05 12:09:14 +01:00
Javier Carrasco
140eff34e1
iio: adc: qcom-spmi-vadc: use scoped device_for_each_child_node()
...
Switch to device_for_each_child_node_scoped() to simplify the code by
removing the need for calls to fwnode_handle_put() in the error path.
This prevents possible memory leaks if new error paths are added without
the required call to fwnode_handle_put().
Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com >
Link: https://patch.msgid.link/20240926-iio_device_for_each_child_node_scoped-v1-2-64ca8a424578@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-10-05 12:09:14 +01:00
Javier Carrasco
db44b37a20
iio: adc: qcom-pm8xxx-xoadc: use scoped device_for_each_child_node()
...
Switch to device_for_each_child_node_scoped() to simplify the code by
removing the need for calls to fwnode_handle_put() in the error path.
This prevents possible memory leaks if new error paths are added without
the required call to fwnode_handle_put().
Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com >
Link: https://patch.msgid.link/20240926-iio_device_for_each_child_node_scoped-v1-1-64ca8a424578@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-10-05 12:09:14 +01:00
Uwe Kleine-König
ee3bf0c148
iio: adc: ti-ads1119: Drop explicit initialization of struct i2c_device_id::driver_data to 0
...
These drivers don't use the driver_data member of struct i2c_device_id,
so don't explicitly initialize this member.
This prepares putting driver_data in an anonymous union which requires
either no initialization or named designators. But it's also a nice
cleanup on its own.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com >
Reviewed-by: João Paulo Gonçalves <jpaulo.silvagoncalves@gmail.com >
Link: https://patch.msgid.link/20240920153430.503212-11-u.kleine-koenig@baylibre.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-10-05 12:09:14 +01:00
Abhash Jha
f0da5b8764
iio: light: ltr390: Replaced mask values with GENMASK()
...
Changed the hardcoded mask values for GAIN_MASK and INT_TIME_MASK to use
GENMASK() instead.
Signed-off-by: Abhash Jha <abhashkumarjha123@gmail.com >
Link: https://patch.msgid.link/20240914182239.507953-1-abhashkumarjha123@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-10-05 12:09:14 +01:00
Abhash Jha
498a640a2e
iio: light: ltr390: Add interrupt persistance support
...
Added support to configure the threshold interrupt persistance value by
providing IIO_EV_INFO_PERIOD attribute. The value written to the
attribute should be in miliseconds and should be greater than the
sampling rate of the sensor.
Signed-off-by: Abhash Jha <abhashkumarjha123@gmail.com >
Link: https://patch.msgid.link/20240914181246.504450-5-abhashkumarjha123@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-10-05 12:09:14 +01:00
Abhash Jha
7ca4b89570
iio: light: ltr390: Interrupts and threshold event support
...
Added support for threshold events for both the ALS and UVI channels.
The events are reported when the threshold interrupt is triggered. Both
rising and falling threshold types are supported.
Signed-off-by: Abhash Jha <abhashkumarjha123@gmail.com >
Link: https://patch.msgid.link/20240914181246.504450-4-abhashkumarjha123@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-10-05 12:09:14 +01:00
Abhash Jha
288ce72fb5
iio: light: ltr390: Suspend and Resume support
...
Added support for suspend and resume PM ops.
We suspend the sensor by clearing the ALS_UVS_EN bit in the MAIN CONTROL
register. And we resume it by setting that bit.
Signed-off-by: Abhash Jha <abhashkumarjha123@gmail.com >
Link: https://patch.msgid.link/20240914181246.504450-3-abhashkumarjha123@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-10-05 12:09:14 +01:00
Abhash Jha
bd7057bb94
iio: light: ltr390: Added configurable sampling frequency support
...
Provided configurable sampling frequency(Measurement rate) support.
Also exposed the available sampling frequency values using read_avail
callback.
Signed-off-by: Abhash Jha <abhashkumarjha123@gmail.com >
Link: https://patch.msgid.link/20240914181246.504450-2-abhashkumarjha123@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-10-05 12:09:14 +01:00
Abhash Jha
c2c4826cfa
iio: adc: max1363: Convert to get_unaligned_be16
...
Converted manual shifting and or to use `get_unaligned_be16` api
instead.
Signed-off-by: Abhash Jha <abhashkumarjha123@gmail.com >
Link: https://patch.msgid.link/20240920181437.20194-1-abhashkumarjha123@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-10-05 12:09:13 +01:00
Hridesh MG
0159d3b89f
staging: iio: Fix alignment warning
...
Reported by checkpatch:
CHECK: Alignment should match open parenthesis
Signed-off-by: Hridesh MG <hridesh699@gmail.com >
Acked-by: Steven Davis <goldside000@outlook.com >
Link: https://patch.msgid.link/20240918174320.614642-1-hridesh699@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-10-05 12:09:13 +01:00
Alexandru Ardelean
f3838e934d
iio: adc: ad7606: add support for AD7606C-{16,18} parts
...
The AD7606C-16 and AD7606C-18 are pretty similar with the AD7606B.
The main difference between AD7606C-16 & AD7606C-18 is the precision in
bits (16 vs 18).
Because of that, some scales need to be defined for the 18-bit variants, as
they need to be computed against 2**18 (vs 2**16 for the 16 bit-variants).
Because the AD7606C-16,18 also supports bipolar & differential channels,
for SW-mode, the default range of 10 V or ±10V should be set at probe.
On reset, the default range (in the registers) is set to value 0x3 which
corresponds to '±10 V single-ended range', regardless of bipolar or
differential configuration.
Aside from the scale/ranges, the AD7606C-16 is similar to the AD7606B.
The AD7606C-18 variant offers 18-bit precision. Because of this, the
requirement to use this chip is that the SPI controller supports padding
of 18-bit sequences to 32-bit arrays.
Datasheet: https://www.analog.com/media/en/technical-documentation/data-sheets/ad7606c-16.pdf
Datasheet: https://www.analog.com/media/en/technical-documentation/data-sheets/ad7606c-18.pdf
Signed-off-by: Alexandru Ardelean <aardelean@baylibre.com >
Link: https://patch.msgid.link/20240919130444.2100447-9-aardelean@baylibre.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-10-05 12:09:06 +01:00