Alexandru Ardelean [Mon, 6 Jul 2020 11:02:59 +0000 (14:02 +0300)]
iio: dac: ad5592r: localize locks only where needed in ad5592r_read_raw()
Since there was a recently discovered issue with these locks, it probably
makes sense to cleanup the code a bit, to prevent it from being used as an
example/reference.
This change moves the lock only where it is explicitly needed to protect
resources from potential concurrent accesses.
It also reworks the switch statements to do direct returns vs caching the
return value on a variable.
Jonathan Cameron [Wed, 22 Jul 2020 14:25:15 +0000 (15:25 +0100)]
iio:dac:ad5592r: Fix use of true for IIO_SHARED_BY_TYPE
struct iio_chan_spec_ext_info shared element is of type
enum iio_shared_by, not boolean. It's like the enum value
will for IIO_SHARED_BY_TYPE == 1 == true, hence no actual
problem has been observed.
CC [M] drivers/iio/dac/ad5592r-base.o
491 | .shared = true,
|
Fixes: 56ca9db862bf ("iio: dac: Add support for the AD5592R/AD5593R ADCs/DACs") Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Acked-by: Alexandru Ardelean <alexandru.ardelean@analog.com> Link: https://lore.kernel.org/r/20200722142515.897378-1-jic23@kernel.org
Lee Jones [Thu, 16 Jul 2020 13:59:13 +0000 (14:59 +0100)]
iio: dummy: iio_dummy_evgen: Demote file header and supply description for 'irq_sim_domain'
File headers are not good candidates for kerneldoc.
Fixes the following W=1 kernel build warning(s):
drivers/iio/dummy/iio_dummy_evgen.c:30: warning: Cannot understand * @regs: irq regs we are faking
on line 30 - I thought it was a doc line
drivers/iio/dummy/iio_dummy_evgen.c:42: warning: Function parameter or member 'irq_sim_domain' not described in 'iio_dummy_eventgen'
Lee Jones [Thu, 16 Jul 2020 13:59:15 +0000 (14:59 +0100)]
iio: adc: ad7949: Fix misspelling issue
Fixes the following W=1 kernel build warning(s):
drivers/iio/adc/ad7949.c:58: warning: Function parameter or member 'indio_dev' not described in 'ad7949_adc_chip'
Signed-off-by: Lee Jones <lee.jones@linaro.org> Cc: Michael Hennerich <Michael.Hennerich@analog.com> Cc: Charles-Antoine Couret <charles-antoine.couret@essensium.com> Link: https://lore.kernel.org/r/20200716135928.1456727-18-lee.jones@linaro.org Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Lee Jones [Thu, 16 Jul 2020 13:59:17 +0000 (14:59 +0100)]
iio: dac: ad5064: Fix a few kerneldoc misdemeanours
Misspelling, missing description.
Fixes the following W=1 kernel build warning(s):
drivers/iio/dac/ad5064.c:71: warning: bad line: internal vref.
drivers/iio/dac/ad5064.c:83: warning: Function parameter or member 'channels' not described in 'ad5064_chip_info'
drivers/iio/dac/ad5064.c:125: warning: Function parameter or member 'lock' not described in 'ad5064_state'
Signed-off-by: Lee Jones <lee.jones@linaro.org> Cc: Michael Hennerich <Michael.Hennerich@analog.com> Cc: Liam Girdwood <lgirdwood@gmail.com> Cc: Mark Brown <broonie@kernel.org> Link: https://lore.kernel.org/r/20200716135928.1456727-20-lee.jones@linaro.org Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/dac/ad7303.c:49: warning: Function parameter or member 'vdd_reg' not described in 'ad7303_state'
drivers/iio/dac/ad7303.c:49: warning: Function parameter or member 'vref_reg' not described in 'ad7303_state'
drivers/iio/dac/ad7303.c:49: warning: Function parameter or member 'lock' not described in 'ad7303_state'
Signed-off-by: Lee Jones <lee.jones@linaro.org> Cc: Michael Hennerich <Michael.Hennerich@analog.com> Cc: Liam Girdwood <lgirdwood@gmail.com> Cc: Mark Brown <broonie@kernel.org> Link: https://lore.kernel.org/r/20200716135928.1456727-31-lee.jones@linaro.org Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
iio: adc: fsl-imx25-gcq: Replace indio_dev->mlock with own device lock
As part of the general cleanup of indio_dev->mlock, this change replaces
it with a local lock, to protect against any other accesses during the
reading of sample. Reading a sample requires multiple consecutive regmap
operations and a completion callback, so this requires that no other
read occurs until it completes.
Jonathan Cameron [Thu, 10 Sep 2020 17:32:42 +0000 (18:32 +0100)]
iio:health:max30102: Drop of_match_ptr and use generic fw accessors
This enables use of the driver with ACPI PRP0001 and also removes
an antipattern that I am trying to clear out of IIO to avoid
it being copied into new drivers.
Jonathan Cameron [Thu, 10 Sep 2020 17:32:41 +0000 (18:32 +0100)]
iio:humidity:si7020: Drop of_match_ptr protection
This prevents use of this driver with ACPI via PRP0001 and is
an example of an anti pattern I'm trying to remove from IIO.
Hence drop from this driver.
Jonathan Cameron [Thu, 10 Sep 2020 17:32:40 +0000 (18:32 +0100)]
iio:humidity:htu21: Drop of_match_ptr protection
This prevents use of this driver with ACPI via PRP0001 and is
an example of an anti pattern I'm trying to remove from IIO.
Hence drop from this driver.
Jonathan Cameron [Thu, 10 Sep 2020 17:32:39 +0000 (18:32 +0100)]
iio:magn:ak8974: Drop of_match_ptr protection
This prevents use of this driver with ACPI via PRP0001 and is
an example of an anti pattern I'm trying to remove from IIO.
Hence drop from this driver.
Jonathan Cameron [Thu, 10 Sep 2020 17:32:38 +0000 (18:32 +0100)]
iio:magn:ak8975: Drop of_match_ptr and ACPI_PTR protections.
Both would result in only a small size saving. For simplicity it
is best to remove them. I also wish to remove both these antipatterns
from IIO.
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Tested-by: Jonathan Albrieux <jonathan.albrieux@gmail.com> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Acked-by: Jonathan Albrieux <jonathan.albrieux@gmail.com> Link: https://lore.kernel.org/r/20200910173242.621168-35-jic23@kernel.org
Jonathan Cameron [Thu, 10 Sep 2020 17:32:37 +0000 (18:32 +0100)]
iio:proximity:pulsedlight: Drop of_match_ptr protection
This prevents use of this driver with ACPI via PRP0001 and is
an example of an anti pattern I'm trying to remove from IIO.
Hence drop from this driver.
Jonathan Cameron [Thu, 10 Sep 2020 17:32:34 +0000 (18:32 +0100)]
iio:humidity:hdc100x: Drop of_match_ptr protection.
This prevents use of this driver with ACPI via PRP0001 and is
an example of an anti pattern I'm trying to remove from IIO.
Hence drop from this driver.
Jonathan Cameron [Thu, 10 Sep 2020 17:32:30 +0000 (18:32 +0100)]
iio:chemical:sgp30: Use local variable dev to simplify code
This cleans up the code at bit, but is primarily here as a precusor
to the next patch. I've only done this for the two functions
which use the dev pointer repeatedly.
Jonathan Cameron [Thu, 10 Sep 2020 17:32:29 +0000 (18:32 +0100)]
iio:chemical:atlas-sensor: Drop of_match_ptr and use generic fw accessors
of_match_ptr() prevents use of this driver with ACPI via PRP0001 and is
an example of an anti pattern I'm trying to remove from IIO.
Hence drop from this driver and use generic fw accessors to check
if there is a fw_node and get the id.
It might be neater to use pointers rather than indexes for
the device_data but that is another issue and should be handled
separately.
Jonathan Cameron [Thu, 10 Sep 2020 17:32:28 +0000 (18:32 +0100)]
iio:chemical:ams-iaq-core: Drop of_match_ptr protection
This prevents use of this driver with ACPI via PRP0001 and is
an example of an anti pattern I'm trying to remove from IIO.
Hence drop from this driver.
Jonathan Cameron [Thu, 10 Sep 2020 17:32:27 +0000 (18:32 +0100)]
iio:resolver:ad2s1200: Drop of_match_ptr protection
This prevents use of this driver with ACPI via PRP0001 and is
an example of an anti pattern I'm trying to remove from IIO.
Hence drop from this driver.
Jonathan Cameron [Thu, 10 Sep 2020 17:32:26 +0000 (18:32 +0100)]
iio:temperature:tmp007: Drop of_match_ptr protection
This prevents use of this driver with ACPI via PRP0001 and is
an example of an anti pattern I'm trying to remove from IIO.
Hence drop from this driver.
Jonathan Cameron [Thu, 10 Sep 2020 17:32:25 +0000 (18:32 +0100)]
iio:temperature:tsys01: Drop of_match_ptr protection
This prevents use of this driver with ACPI via PRP0001 and is
an example of an anti pattern I'm trying to remove from IIO.
Hence drop from this driver.
Jonathan Cameron [Thu, 10 Sep 2020 17:32:24 +0000 (18:32 +0100)]
iio:pressure:zpa2326: Drop of_match_ptr protection
This prevents use of this driver with ACPI via PRP0001 and is
an example of an anti pattern I'm trying to remove from IIO.
Hence drop from this driver.
Jonathan Cameron [Thu, 10 Sep 2020 17:32:23 +0000 (18:32 +0100)]
iio:pressure:ms5637: Drop of_match_ptr protection
This prevents use of this driver with ACPI via PRP0001 and is
an example of an anti pattern I'm trying to remove from IIO.
Hence drop from this driver.
Jonathan Cameron [Thu, 10 Sep 2020 17:32:22 +0000 (18:32 +0100)]
iio:pressure:ms5611: Drop of_match_ptr and CONFIG_OF protections
These prevents use of this driver with ACPI via PRP0001 and are
an example of an anti pattern I'm trying to remove from IIO.
Hence drop them from this driver.
Jonathan Cameron [Thu, 10 Sep 2020 17:32:21 +0000 (18:32 +0100)]
iio:pressure:icp10100: Drop of_match_ptr and CONFIG_OF protections
These prevents use of this driver with ACPI via PRP0001 and are
an example of an anti pattern I'm trying to remove from IIO.
Hence drop them from this driver.
Jonathan Cameron [Thu, 10 Sep 2020 17:32:19 +0000 (18:32 +0100)]
iio:dac:ti-dac5571: Drop of_match_ptr and CONFIG_OF protections
These prevent the use of this driver with ACPI via PRP0001 and are
an example of an anti pattern I'm trying to remove from IIO.
Hence drop them from this driver.
Jonathan Cameron [Thu, 10 Sep 2020 17:32:18 +0000 (18:32 +0100)]
iio:dac:ti-dac082s085: Drop of_match_ptr and CONFIG_OF protections
These prevent the use of this driver with ACPI via PRP0001 and are
an example of an anti pattern I'm trying to remove from IIO.
Hence drop them from this driver.
Jonathan Cameron [Thu, 10 Sep 2020 17:32:17 +0000 (18:32 +0100)]
iio:dac:mcp4725: drop of_match_ptr and use generic fw properties
This enables use of ACPI PRP0001 and removes an antipattern I am
trying to stop people copying in IIO.
This particular case is more complex than most because it allowed
probing via sysfs with out a fwnode but would presumably always
have then failed. Now the code will assume that properties are
the defaults if not specified or the firmware node is not present.
This relaxation of the constraints should not break any existing
cases and may enable some new ones.
Jonathan Cameron [Thu, 10 Sep 2020 17:32:15 +0000 (18:32 +0100)]
iio:dac:ad5593r: Drop of_match_ptr and ACPI_PTR protections.
These result in a very small reduction in driver size, but at the
cost of more complex build and slightly harder to read code.
In the case of of_match_ptr it also prevents use of PRP0001
ACPI based identification. In this particular case we have
a valid ACPI/PNP ID that I am assuming was issued by Analog
Devices. That should be used in preference to PRP0001 but doesn't
mean we should prevent that route.
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Cc: Michael Hennerich <michael.hennerich@analog.com> Cc: Lars-Peter Clausen <lars@metafoo.de> Link: https://lore.kernel.org/r/20200910173242.621168-12-jic23@kernel.org
Jonathan Cameron [Thu, 10 Sep 2020 17:32:14 +0000 (18:32 +0100)]
iio:dac:ad5592r: Drop of_match_ptr and ACPI_PTR protections.
These result in a very small reduction in driver size, but at the
cost of more complex build and slightly harder to read code.
In the case of of_match_ptr it also prevents use of PRP0001
ACPI based identification. In this particular case we have
a valid ACPI/PNP ID that I am assuming was issued by Analog
Devices. That should be used in preference to PRP0001 but doesn't
mean we should prevent that route.
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Cc: Michael Hennerich <michael.hennerich@analog.com> Cc: Lars-Peter Clausen <lars@metafoo.de> Link: https://lore.kernel.org/r/20200910173242.621168-11-jic23@kernel.org
Jonathan Cameron [Thu, 10 Sep 2020 17:32:13 +0000 (18:32 +0100)]
iio:dac:ad5446: Drop of_match_ptr and CONFIG_OF protections
These prevent use of this driver with ACPI via PRP0001 and are
an example of an anti pattern I'm trying to remove from IIO.
Hence drop them from this driver.
Jonathan Cameron [Thu, 10 Sep 2020 17:32:12 +0000 (18:32 +0100)]
iio:potentiometer:mcp4531: Drop of_match_ptr and CONFIG_OF protections.
These prevent use of this driver with ACPI via PRP0001 and are
an example of an anti pattern I'm trying to remove from IIO.
Hence drop them from this driver.
Also switch to device_get_match_data() from of_ variant and adjust
headers to reflect the change.
Jonathan Cameron [Thu, 10 Sep 2020 17:32:11 +0000 (18:32 +0100)]
iio:potentiometer:mcp4131: Drop of_match_ptr and use generic fw interfaces.
This change allows the use of the driver with ACPI via PRP0001
and remove an example of an anti pattern I'm trying to remove from IIO.
Also adjust includes to reflect this change.
Jonathan Cameron [Thu, 10 Sep 2020 17:32:10 +0000 (18:32 +0100)]
iio:potentiometer:mcp4018: Drop of_match_ptr and CONFIG_OF protections.
These prevent use of this driver with ACPI via PRP0001 and are
an example of an anti pattern I'm trying to remove from IIO.
Also use device_get_match_data() rather than devicetree only version.
Jonathan Cameron [Thu, 10 Sep 2020 17:32:08 +0000 (18:32 +0100)]
iio:potentiometer:max5481: Drop of_match_ptr and CONFIG_OF protections.
These prevent use of this driver with ACPI via PRP0001 and are
an example of an anti pattern I'm trying to remove from IIO.
Whilst this driver has an ACPI binding, it is not of a form
that is valid under ACPI so will be dropped shortly.
Also switch to device_get_match_data() and switch headers.
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Cc: Maury Anderson <maury.anderson@rockwellcollins.com> Cc: Matthew Weber <matthew.weber@rockwellcollins.com> Cc: Slawomir Stepien <sst@poczta.fm> Link: https://lore.kernel.org/r/20200910173242.621168-5-jic23@kernel.org
Jonathan Cameron [Thu, 10 Sep 2020 17:32:07 +0000 (18:32 +0100)]
iio:potentiometer:max5432: Drop of_match_ptr and use generic fw accessors
These prevent use of this driver with ACPI via PRP0001 and are
an example of an anti pattern I'm trying to remove from IIO.
Drop them to remove this restriction.
Jonathan Cameron [Thu, 10 Sep 2020 17:32:06 +0000 (18:32 +0100)]
iio:potentiometer:ds1803: Drop of_match_ptr and CONFIG_OF protections
These prevent use of this driver with ACPI via PRP0001 and are
an example of an anti pattern I'm trying to remove from IIO.
Drop them to remove this restriction.
Also switch of.h for mod_devicetable.h include given use of
struct of_device_id which is defined in that header.
Jonathan Cameron [Thu, 10 Sep 2020 17:32:05 +0000 (18:32 +0100)]
iio:potentiometer:ad5272: Drop of_match_ptr and CONFIG_OF protections.
These prevent use of this driver with ACPI via PRP0001 and are
an example of an anti pattern I'm trying to remove from IIO.
Drop them to remove this restriction.
Also added mod_devicetable.h include given use of struct of_device_id
which is defined in that header.
Jonathan Cameron [Sun, 13 Sep 2020 13:21:13 +0000 (14:21 +0100)]
iio:imu:adis16400: Sort out missing kernel doc.
I'd like to be enable W=1 for all IIO builds as it catches real issues as well
as more minor documentation issues such as this (also good to fix though!)
drivers/iio/imu/adis16400.c:183: warning: Function parameter or member 'avail_scan_mask' not described in 'adis16400_state'
Alexandru Ardelean [Thu, 17 Sep 2020 12:59:51 +0000 (15:59 +0300)]
iio: buffer: split buffer sysfs creation to take buffer as primary arg
Currently the iio_buffer_{alloc,free}_sysfs_and_mask() take 'indio_dev' as
primary argument. This change splits the main logic into a private function
that takes an IIO buffer as primary argument.
That way, the functions can be extended to configure the sysfs for multiple
buffers.
Martin Blumenstingl [Tue, 15 Sep 2020 19:26:21 +0000 (21:26 +0200)]
iio: adc: meson-saradc: Make the of_device_id array style consistent
Use only one line for the closing bracket of the last entry and the
opening bracket for the next one to keep the style across the whole
array consistent. Also add a "sentinel" comment to the last entry and
remove the comma to ensure that there won't be any entry after it.
No functional changes.
Jonathan Cameron [Sat, 5 Sep 2020 17:47:20 +0000 (18:47 +0100)]
staging:iio:light: drop stale ABI docs
There are no remaining light drivers in staging/iio.
The content of this file are either included in the non staging
ABI docs, or don't seem to be used in any current driver.
Jonathan Cameron [Sat, 5 Sep 2020 17:47:18 +0000 (18:47 +0100)]
staging:iio:dac:max517 remove documentation
Whilst there is some useful info in here, it can be easily
obtained from datasheets. Some of the info should perhaps
be incorporated into a device tree bindings doc.
As this didn't move out of staging with the driver, I'm suggesting
we just drop it. We don't generally carry per driver documentation
with the exception of non standard ABI which is not the case here.
Nuno Sá [Tue, 15 Sep 2020 12:02:58 +0000 (14:02 +0200)]
iio: adis: Drop non Managed device functions
Drop `adis_setup_buffer_and_trigger()`. All users were updated to use
the devm version of this function. This avoids having almost the same
code repeated.
Nuno Sá [Tue, 15 Sep 2020 12:02:57 +0000 (14:02 +0200)]
staging: iio: adis16240: Use Managed device functions
Use the adis managed device functions to setup the buffer and the trigger.
The ultimate goal will be to completely drop the non devm version from
the lib.
Since we are here, drop the `.remove` callback by further using devm
functions.
Nuno Sá [Tue, 15 Sep 2020 12:02:56 +0000 (14:02 +0200)]
staging: iio: adis16203: Use Managed device functions
Use the adis managed device functions to setup the buffer and the trigger.
The ultimate goal will be to completely drop the non devm version from
the lib.
Since we are here, drop the `.remove` callback by further using devm
functions.
Nuno Sá [Tue, 15 Sep 2020 12:02:55 +0000 (14:02 +0200)]
iio: adis16480: Use Managed device functions
Use the adis managed device functions to setup the buffer and the trigger.
The ultimate goal will be to completely drop the non devm version from
the lib.
Since we are here, drop the `.remove` callback by further using devm
functions.
Nuno Sá [Tue, 15 Sep 2020 12:02:54 +0000 (14:02 +0200)]
iio: adis16460: Use Managed device functions
Use the adis managed device functions to setup the buffer and the trigger.
The ultimate goal will be to completely drop the non devm version from
the lib.
Since we are here, drop the `.remove` callback by further using devm
functions.
Nuno Sá [Tue, 15 Sep 2020 12:02:53 +0000 (14:02 +0200)]
iio: adis16400: Use Managed device functions
Use the adis managed device functions to setup the buffer and the trigger.
The ultimate goal will be to completely drop the non devm version from
the lib.
Since we are here, drop the `.remove` callback by further using devm
functions.
Nuno Sá [Tue, 15 Sep 2020 12:02:52 +0000 (14:02 +0200)]
iio: adis16260: Use Managed device functions
Use the adis managed device functions to setup the buffer and the trigger.
The ultimate goal will be to completely drop the non devm version from
the lib.
Since we are here, drop the `.remove` callback by further using devm
functions.
Nuno Sá [Tue, 15 Sep 2020 12:02:51 +0000 (14:02 +0200)]
iio: adis16136: Use Managed device functions
Use the adis managed device functions to setup the buffer and the trigger.
The ultimate goal will be to completely drop the non devm version from
the lib.
Since we are here, drop the `.remove` callback by further using devm
functions.
Nuno Sá [Tue, 15 Sep 2020 12:02:50 +0000 (14:02 +0200)]
iio: adis16209: Use Managed device functions
Use the adis managed device functions to setup the buffer and the trigger.
The ultimate goal will be to completely drop the non devm version from
the lib.
Since we are here, drop the `.remove` callback by further using devm
functions.
Nuno Sá [Tue, 15 Sep 2020 12:02:49 +0000 (14:02 +0200)]
iio: adis16201: Use Managed device functions
Use the adis managed device functions to setup the buffer and the trigger.
The ultimate goal will be to completely drop the non devm version from
the lib.
Since we are here, drop the `.remove` callback by further using devm
functions.
Krzysztof Kozlowski [Thu, 10 Sep 2020 16:19:33 +0000 (18:19 +0200)]
dt-bindings: iio: adc: exynos-adc: do not require syscon on S5Pv210
The ADC in S5Pv210 does not have ADC phy registers in separate block for
which syscon would be needed. Remove this requirement to fix dtbs_check
warnings like:
arch/arm/boot/dts/s5pv210-fascinate4g.dt.yaml: adc@e1700000: 'samsung,syscon-phandle' is a required property
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Acked-by: Jonathan Cameron <Jonathan.Cameron@huwei.com> Acked-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20200910161933.9156-2-krzk@kernel.org Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Krzysztof Kozlowski [Thu, 10 Sep 2020 16:19:32 +0000 (18:19 +0200)]
dt-bindings: iio: adc: exynos-adc: require second interrupt with touch screen
The ADC in S3C/S5P/Exynos SoCs can be used also for handling touch
screen. In such case the second interrupt is required. This second
interrupt can be anyway provided, even without touch screens. This
fixes dtbs_check warnings like:
arch/arm/boot/dts/s5pv210-aquila.dt.yaml: adc@e1700000: interrupts: [[23], [24]] is too long
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Reviewed-by: Rob Herring <robh@kernel.org> Acked-by: Jonathan Cameron <Jonathan.Cameron@huwei.com> Link: https://lore.kernel.org/r/20200910161933.9156-1-krzk@kernel.org Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Conversion from txt to yaml. The binding documents that
as not all boards will make use of the ADC channels via a consumer
driver. It does no harm however, so we will leave it as required.
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Reviewed-by: Rob Herring <robh@kernel.org> Reviewed-by: David Lechner <david@lechnology.com> Cc: David Lechner <david@lechnology.com> Link: https://lore.kernel.org/r/20200830161154.3201-3-jic23@kernel.org
iio: frequency: adf4350: Replace indio_dev->mlock with own device lock
As part of the general cleanup of indio_dev->mlock, this change replaces
it with a local lock.
The lock protect the state of the device from potential concurrent writes.
The device is configured via a sequence of SPI writes, and this lock is
meant to prevent the start of another sequence before another one has
finished.
iio: dac: ti-dac7612: Replace indio_dev->mlock with own device lock
As part of the general cleanup of indio_dev->mlock, this change replaces
it with a local lock on the device's state from potential concurrent write
accesses from userspace. The write operation requires an SPI write, then
toggling of a GPIO, so the lock aims to protect the sanity of the entire
sequence of operation.
iio: stm32-dac: Replace indio_dev->mlock with own device lock
As part of the general cleanup of indio_dev->mlock, this change replaces
it with a local lock. The lock protects against potential races when
reading the CR reg and then updating, so that the state of pm_runtime
is consistent between the two operations.
Provide a way for continuous data capture by setting up buffer support. The
data ready signal exposed at the SYNC pin of the ADXRS290 is exploited as
a hardware interrupt which triggers to fill the buffer.
Triggered buffer setup was tested with both hardware trigger (DATA_RDY) and
software triggers (sysfs-trig & hrtimer).
iio: gyro: adxrs290: use hook for devm resource unwinding
Make use of devm_add_action_or_reset() hook to switch device into STANDBY
mode during standard resource unwinding. The patch includes a helper
function, in the form of adxrs290_set_mode(), to realise driving the
device into STANDBY mode.
Christian Eggers [Wed, 9 Sep 2020 15:44:39 +0000 (17:44 +0200)]
iio: light: as73211: Increase measurement timeout
We found some sensors which are much slower (20% at room temperature)
than nominal. According to the data sheet, up to 27% is possible. Now I
add 33% to the nominal time out, hopefully this is enough.
Crt Mori [Sun, 6 Sep 2020 21:02:31 +0000 (23:02 +0200)]
iio: temperature: mlx90632: Interface to change object ambient temperature
Since object temperature might be different than the sensor temperature
the infrared sensors should provide an interface to inject ambient
temperature. This was in past done via write to ambient temperature
interface (in_temp_ambient_raw), but I think most people did not know
about it. This solution introduces a new iio type of the CALIBAMBIENT
which is hopefully more descriptive and more explicit about the purpose
and capabilities of the sensors.
Krzysztof Kozlowski [Thu, 3 Sep 2020 18:19:26 +0000 (20:19 +0200)]
MAINTAINERS: Move Hartmut Knaack to Credits
Hartmut Knaack was an active reviewer and contributor to the IIO
subsystem and drivers. However his last message on LKML is from
October 2015.
In thanks for Hartmut's effort, move him name to the Credits.
Suggested-by: Andy Shevchenko <andy.shevchenko@gmail.com> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Cc: Jonathan Cameron <jic23@kernel.org> Cc: linux-iio <linux-iio@vger.kernel.org> Link: https://lore.kernel.org/r/20200903181926.5606-2-krzk@kernel.org Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Krzysztof Kozlowski [Thu, 3 Sep 2020 18:19:25 +0000 (20:19 +0200)]
MAINTAINERS: Consolidate Analog Devices IIO entries and remove Beniamin Bia
Emails to Beniamin Bia bounce with no such address so remove him from
maintainers. After this removal, many entries for Analog Devices Inc
IIO drivers look exactly the same so consolidate them.
Suggested-by: Andy Shevchenko <andy.shevchenko@gmail.com> Suggested-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Acked-by: Lars-Peter Clausen <lars@metafoo.de> Cc: Michael Hennerich <Michael.Hennerich@analog.com> Cc: Jonathan Cameron <jic23@kernel.org> Cc: linux-iio <linux-iio@vger.kernel.org> Link: https://lore.kernel.org/r/20200903181926.5606-1-krzk@kernel.org Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Douglas Anderson [Tue, 1 Sep 2020 15:19:43 +0000 (08:19 -0700)]
iio: sx9310: Prefer async probe
On one board I found that:
probe of 5-0028 returned 1 after 259547 usecs
While some of this time is attributable to the pile of i2c transfers
that we do at probe time, the lion's share (over 200 ms) is sitting
waiting in the polling loop in sx9310_init_compensation() waiting for
the hardware to indicate that it's done.
There's no reason to block probe of all other devices on our probe.
Turn on async probe.
Andy Shevchenko [Mon, 31 Aug 2020 09:08:10 +0000 (12:08 +0300)]
iio: accel: bma220: Drop ACPI_PTR() and accompanying ifdeffery
The driver is quite likely used only on ACPI based platforms and
rarely build with CONFIG_ACPI=n. Even though, the few dozens of bytes
is better than ugly ifdeffery and inclusion of heavy header.
As a result, replace acpi.h with mod_devicetable.h.
Drops the deprecated compatibles without the vendor name.
Whilst the driver continues to support these for old dt blobs,
any dt bindings that are actuallly verified against this document should
be fixed to add the vendor name.
Added the #io-channel-cells property to allow for consumers.