Guillaume Stols
8dc4594b54
iio: adc: ad7606: fix oversampling gpio array
...
gpiod_set_array_value was misused here: the implementation relied on the
assumption that an unsigned long was required for each gpio, while the
function expects a bit array stored in "as much unsigned long as needed
for storing one bit per GPIO", i.e it is using a bit field.
This leaded to incorrect parameter passed to gpiod_set_array_value, that
would set 1 value instead of 3.
It also prevents to select the software mode correctly for the AD7606B.
Fixes: d2a415c86c ("iio: adc: ad7606: Add support for AD7606B ADC")
Fixes: 41f71e5e7d ("staging: iio: adc: ad7606: Use find_closest() macro")
Signed-off-by: Guillaume Stols <gstols@baylibre.com >
Reviewed-by: Nuno Sa <nuno.sa@analog.com >
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-07-29 20:31:12 +01:00
Guillaume Stols
8d71a5d868
dt-bindings: iio: adc: adi,ad7606: add conditions
...
Since the driver supports several parts that present differences in
their layout and behaviour, it is necessary to describe the differences
from one chip to another.
Reviewed-by: Conor Dooley <conor.dooley@microchip.com >
Signed-off-by: Guillaume Stols <gstols@baylibre.com >
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-07-29 20:31:12 +01:00
Guillaume Stols
746bb410aa
dt-bindings: iio: adc: adi,ad7606: fix example
...
Example uses adi,ad7606-8 as compatible, but adi,sw-mode is not
available for it. So remove this property from example.
Acked-by: Conor Dooley <conor.dooley@microchip.com >
Signed-off-by: Guillaume Stols <gstols@baylibre.com >
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-07-29 20:31:12 +01:00
Guillaume Stols
7248e0995b
dt-bindings: iio: adc: adi,ad7606: add supply properties
...
Add voltage supplies
Acked-by: Conor Dooley <conor.dooley@microchip.com >
Signed-off-by: Guillaume Stols <gstols@baylibre.com >
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-07-29 20:31:12 +01:00
Guillaume Stols
786cbd7c2d
dt-bindings: iio: adc: adi,ad7606: improve descriptions
...
Reword a few descriptions, and normalize the text width to 80 characters.
Reviewed-by: Rob Herring (Arm) <robh@kernel.org >
Signed-off-by: Guillaume Stols <gstols@baylibre.com >
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-07-29 20:31:12 +01:00
Guillaume Stols
a3b4a48fd5
dt-bindings: iio: adc: adi,ad7606: normalize textwidth
...
Normalize textwidth to 80 columns on the descriptions.
Acked-by: Rob Herring (Arm) <robh@kernel.org >
Signed-off-by: Guillaume Stols <gstols@baylibre.com >
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-07-29 20:31:12 +01:00
Nuno Sa
43ebc481ab
iio: adc: ad9467: support new parts
...
Add support for new devices:
* Analog Devices AD9652 16-bit 310 MSPS ADC;
* Analog Devices AD9643 14-Bit, 170/210/250 MSPS ADC;
* Analog Devices AD9649 14-bit 20/40/65/80 MSPS ADC.
Signed-off-by: Nuno Sa <nuno.sa@analog.com >
Link: https://patch.msgid.link/20240704-dev-iio-ad9467-new-devs-v1-5-f1adfee921f7@analog.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-07-29 20:31:12 +01:00
Nuno Sa
f9c75d43f4
dt-bindings: adc: ad9467: support new parts
...
Add support for new devices:
* Analog Devices AD9652 16-bit 310 MSPS ADC;
* Analog Devices AD9643 14-Bit, 170/210/250 MSPS ADC;
* Analog Devices AD9649 14-bit 20/40/65/80 MSPS ADC.
Note all these parts have subtle differences in their programming model
(different scales, number of channels, etc..) so fallbacks are not
possible.
Signed-off-by: Nuno Sa <nuno.sa@analog.com >
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Link: https://patch.msgid.link/20240704-dev-iio-ad9467-new-devs-v1-4-f1adfee921f7@analog.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-07-29 20:31:11 +01:00
Nuno Sa
b92f94f748
iio: adc: ad9467: don't allow reading vref if not available
...
If there's only one possible scale, there's no way to change the Vref
select in the device so avoid reading the register in ad9467_get_scale().
In this case, it makes no sense to provide the .read_available()
callback nor allowing for writing the scale attribute.
Note this is in preparation for supporting a new device that only has
one possible scale.
Signed-off-by: Nuno Sa <nuno.sa@analog.com >
Link: https://patch.msgid.link/20240704-dev-iio-ad9467-new-devs-v1-3-f1adfee921f7@analog.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-07-29 20:31:11 +01:00
Nuno Sa
bdc87f98ca
iio: adc: ad9467: add new chip_info variables
...
Add new variables to the per chip info structure:
* test_points: Number of valid test points for calibration;
* has_dco_invert: Supports inverting DCO (Data clock output) polarity;
* dco_en: Specicic mask to enable DCO delays.
This is in preparation for supporting new parts with subtle differences
in how to configure the hardware.
Note that with the new test_points variable, we also add a new
calib_map_size to 'struct ad9467_state' so we know our map size
depending on how many test points we have and if we can run the
calibration in the inverted state or not.
Signed-off-by: Nuno Sa <nuno.sa@analog.com >
Link: https://patch.msgid.link/20240704-dev-iio-ad9467-new-devs-v1-2-f1adfee921f7@analog.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-07-29 20:31:11 +01:00
Nuno Sa
7394a155dd
iio: adc: ad9467: support multiple channels calibration
...
The calibration process mixes the support for calibrating multiple
channels with only having one channel. Some paths do have 'num_channels'
into account while others don't.
As of now, the driver only supports devices with one channel so the
above is not really a problem. That said, we'll add support for devices
with more than one channel, hence let's properly make the calibration
process to work with it.
Signed-off-by: Nuno Sa <nuno.sa@analog.com >
Link: https://patch.msgid.link/20240704-dev-iio-ad9467-new-devs-v1-1-f1adfee921f7@analog.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-07-29 20:31:11 +01:00
Krzysztof Kozlowski
1de9c3c706
iio: adc: ti-tsc2046: simplify with cleanup.h
...
Allocate the memory with scoped/cleanup.h to reduce error handling and
make the code a bit simpler.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Reviewed-by: Oleksij Rempel <o.rempel@pengutronix.de >
Link: https://patch.msgid.link/20240705-cleanup-h-iio-v1-5-77114c7e84c5@linaro.org
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-07-29 20:31:11 +01:00
Krzysztof Kozlowski
adcba9cd61
iio: adc: max1363: simplify with cleanup.h
...
Allocate the memory with scoped/cleanup.h to reduce error handling and
make the code a bit simpler.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Reviewed-by: Nuno Sa <nuno.sa@analog.com >
Link: https://patch.msgid.link/20240705-cleanup-h-iio-v1-4-77114c7e84c5@linaro.org
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-07-29 20:31:11 +01:00
Krzysztof Kozlowski
e3749aae6e
iio: adc: at91: simplify with cleanup.h
...
Allocate the memory with scoped/cleanup.h to reduce error handling and
make the code a bit simpler.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Link: https://patch.msgid.link/20240705-cleanup-h-iio-v1-3-77114c7e84c5@linaro.org
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-07-29 20:31:11 +01:00
Krzysztof Kozlowski
c74f7c09b5
iio: adc: ad7280a: simplify with cleanup.h
...
Allocate the memory with scoped/cleanup.h to reduce error handling and
make the code a bit simpler.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Reviewed-by: Nuno Sa <nuno.sa@analog.com >
Link: https://patch.msgid.link/20240705-cleanup-h-iio-v1-2-77114c7e84c5@linaro.org
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-07-29 20:31:11 +01:00
Krzysztof Kozlowski
f44c314faa
iio: accel: bma400: simplify with cleanup.h
...
Allocate the memory with scoped/cleanup.h to reduce error handling and
make the code a bit simpler.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Link: https://patch.msgid.link/20240705-cleanup-h-iio-v1-1-77114c7e84c5@linaro.org
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-07-29 20:31:10 +01:00
Javier Carrasco
244315b317
iio: pressure: bmp280: Constify struct regmap_bus
...
`bmp280_regmap_bus` and `bmp380_regmap_bus` are conditionally assigned
to `bmp_regmap_bus`, which is only used to pass the struct as a
read-only member.
Add the const modifier to the structs and the pointer to move the data
to a read-only section.
Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com >
Tested-By: Vasileios Amoiridis <vassilisamir@gmail.com >
Link: https://patch.msgid.link/20240703-iio-cont-regmap_bus-v1-10-34754f355b65@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-07-29 20:31:10 +01:00
Javier Carrasco
9abedf82c7
iio: light: gp2ap002: Constify struct regmap_bus
...
`gp2ap002_regmap_bus` is not modified and can be declared as const to
move its data to a read-only section.
Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com >
Link: https://patch.msgid.link/20240703-iio-cont-regmap_bus-v1-9-34754f355b65@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-07-29 20:31:10 +01:00
Javier Carrasco
36a697964d
iio: imu: bno055: Constify struct regmap_bus
...
`bno055_ser_regmap_bus` is not modified and can be declared as const to
move its data to a read-only section.
Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com >
Link: https://patch.msgid.link/20240703-iio-cont-regmap_bus-v1-8-34754f355b65@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-07-29 20:31:10 +01:00
Javier Carrasco
b6f59c4500
iio: imu: bmi323: Constify struct regmap_bus
...
`bmi323_regmap_bus` is not modified and can be declared as const to
move its data to a read-only section.
Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com >
Link: https://patch.msgid.link/20240703-iio-cont-regmap_bus-v1-7-34754f355b65@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-07-29 20:31:10 +01:00
Javier Carrasco
840f7410fd
iio: dac: ltc2688: Constify struct regmap_bus
...
`ltc2688_regmap_bus` is not modified and can be declared as const to
move its data to a read-only section.
Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com >
Reviewed-by: Nuno Sa <nuno.sa@analog.com >
Link: https://patch.msgid.link/20240703-iio-cont-regmap_bus-v1-6-34754f355b65@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-07-29 20:31:10 +01:00
Javier Carrasco
297fef494d
iio: chemical: bme680: Constify struct regmap_bus
...
`bme680_regmap_bus` is not modified and can be declared as const to
move its data to a read-only section.
Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com >
Tested-By: Vasileios Amoiridis <vassilisamir@gmail.com >
Link: https://patch.msgid.link/20240703-iio-cont-regmap_bus-v1-5-34754f355b65@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-07-29 20:31:10 +01:00
Javier Carrasco
2a57a7df9f
iio: adc: ad7091r8: Constify struct regmap_bus
...
`ad7091r8_regmap_bus` is not modified and can be declared as const to
move its data to a read-only section.
Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com >
Reviewed-by: Marcelo Schmitt <marcelo.schmitt@analog.com >
Reviewed-by: Nuno Sa <nuno.sa@analog.com >
Link: https://patch.msgid.link/20240703-iio-cont-regmap_bus-v1-4-34754f355b65@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-07-29 20:31:10 +01:00
Javier Carrasco
48259265a3
iio: accel: bmi088: Constify struct regmap_bus
...
`bmi088_regmap_bus` is not modified and can be declared as const to
move its data to a read-only section.
Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com >
Link: https://patch.msgid.link/20240703-iio-cont-regmap_bus-v1-3-34754f355b65@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-07-29 20:31:10 +01:00
Javier Carrasco
867ade7dc0
iio: accel: bma400: Constify struct regmap_bus
...
`bma400_regmap_bus` is not modified and can be declared as const to
move its data to a read-only section.
Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com >
Link: https://patch.msgid.link/20240703-iio-cont-regmap_bus-v1-2-34754f355b65@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-07-29 20:31:09 +01:00
Javier Carrasco
c922c634bd
iio: accel: adxl367: Constify struct regmap_bus
...
`adxl367_spi_regmap_bus` is not modified and can be declared as const to
move its data to a read-only section.
Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com >
Link: https://patch.msgid.link/20240703-iio-cont-regmap_bus-v1-1-34754f355b65@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-07-29 20:31:09 +01:00
Nuno Sa
07465fe1b7
iio: imu: adis16480: make use of iio_for_each_active_channel()
...
Use iio_for_each_active_channel() to iterate over active channels
accessing '.masklength' so it can be annotated as __private when there are
no more direct users of it.
Signed-off-by: Nuno Sa <nuno.sa@analog.com >
Reviewed-by: Alexandru Ardelean <aardelean@baylibre.com >
Link: https://patch.msgid.link/20240702-dev-iio-masklength-private-v1-20-98193bf536a6@analog.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-07-29 20:31:09 +01:00
Nuno Sa
d86db53230
iio: imu: adis16475: make use of iio_for_each_active_channel()
...
Use iio_for_each_active_channel() to iterate over active channels
accessing '.masklength' so it can be annotated as __private when there are
no more direct users of it.
Signed-off-by: Nuno Sa <nuno.sa@analog.com >
Reviewed-by: Alexandru Ardelean <aardelean@baylibre.com >
Link: https://patch.msgid.link/20240702-dev-iio-masklength-private-v1-19-98193bf536a6@analog.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-07-29 20:31:09 +01:00
Nuno Sa
f3184b2f2c
iio: adc: at91_adc: make use of iio_for_each_active_channel()
...
Use iio_for_each_active_channel() to iterate over active channels
accessing '.masklength' so it can be annotated as __private when there are
no more direct users of it.
Signed-off-by: Nuno Sa <nuno.sa@analog.com >
Reviewed-by: Alexandru Ardelean <aardelean@baylibre.com >
Link: https://patch.msgid.link/20240702-dev-iio-masklength-private-v1-18-98193bf536a6@analog.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-07-29 20:31:09 +01:00
Nuno Sa
f726ebe7c2
iio: adc: ad_sigma_delta: use new '.masklength' accessors
...
Make use of iio_get_masklength) and iio_for_each_active_channel() to
access '.masklength' so it can be annotated as __private when there
are no more direct users of it.
Signed-off-by: Nuno Sa <nuno.sa@analog.com >
Reviewed-by: Alexandru Ardelean <aardelean@baylibre.com >
Link: https://patch.msgid.link/20240702-dev-iio-masklength-private-v1-17-98193bf536a6@analog.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-07-29 20:31:09 +01:00
Nuno Sa
972df0e9a0
iio: adc: ad799x: make use of iio_get_masklength()
...
Use iio_get_masklength() to access '.masklength' so it can be annotated
as __private when there are no more direct users of it.
Signed-off-by: Nuno Sa <nuno.sa@analog.com >
Reviewed-by: Alexandru Ardelean <aardelean@baylibre.com >
Link: https://patch.msgid.link/20240702-dev-iio-masklength-private-v1-16-98193bf536a6@analog.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-07-29 20:31:09 +01:00
Nuno Sa
abcc9b8a9a
iio: adc: ad7298: make use of iio_get_masklength()
...
Use iio_get_masklength() to access '.masklength' so it can be annotated
as __private when there are no more direct users of it.
Signed-off-by: Nuno Sa <nuno.sa@analog.com >
Reviewed-by: Alexandru Ardelean <aardelean@baylibre.com >
Link: https://patch.msgid.link/20240702-dev-iio-masklength-private-v1-15-98193bf536a6@analog.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-07-29 20:31:09 +01:00
Nuno Sa
3dface1fb5
iio: adc: ad7266: make use of iio_get_masklength()
...
Use iio_get_masklength() to access '.masklength' so it can be annotated
as __private when there are no more direct users of it.
Signed-off-by: Nuno Sa <nuno.sa@analog.com >
Reviewed-by: Alexandru Ardelean <aardelean@baylibre.com >
Link: https://patch.msgid.link/20240702-dev-iio-masklength-private-v1-14-98193bf536a6@analog.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-07-29 20:31:08 +01:00
Nuno Sa
d637a64db3
iio: accel: stk8ba50: make use of iio_for_each_active_channel()
...
Use iio_for_each_active_channel() to iterate over active channels
accessing '.masklength' so it can be annotated as __private when there are
no more direct users of it.
Signed-off-by: Nuno Sa <nuno.sa@analog.com >
Reviewed-by: Alexandru Ardelean <aardelean@baylibre.com >
Link: https://patch.msgid.link/20240702-dev-iio-masklength-private-v1-13-98193bf536a6@analog.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-07-29 20:31:08 +01:00
Nuno Sa
5f38d117f5
iio: accel: stk8312: make use of iio_for_each_active_channel()
...
Use iio_for_each_active_channel() to iterate over active channels
accessing '.masklength' so it can be annotated as __private when there are
no more direct users of it.
Signed-off-by: Nuno Sa <nuno.sa@analog.com >
Reviewed-by: Alexandru Ardelean <aardelean@baylibre.com >
Link: https://patch.msgid.link/20240702-dev-iio-masklength-private-v1-12-98193bf536a6@analog.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-07-29 20:31:08 +01:00
Nuno Sa
cf7ec085f5
iio: accel: sca3300: make use of iio_for_each_active_channel()
...
Use iio_for_each_active_channel() to iterate over active channels
accessing '.masklength' so it can be annotated as __private when there are
no more direct users of it.
Signed-off-by: Nuno Sa <nuno.sa@analog.com >
Reviewed-by: Alexandru Ardelean <aardelean@baylibre.com >
Link: https://patch.msgid.link/20240702-dev-iio-masklength-private-v1-11-98193bf536a6@analog.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-07-29 20:31:08 +01:00
Nuno Sa
e5003b6098
iio: accel: msa311: make use of iio_for_each_active_channel()
...
Use iio_for_each_active_channel() to iterate over active channels
accessing '.masklength' so it can be annotated as __private when there are
no more direct users of it.
Signed-off-by: Nuno Sa <nuno.sa@analog.com >
Reviewed-by: Alexandru Ardelean <aardelean@baylibre.com >
Link: https://patch.msgid.link/20240702-dev-iio-masklength-private-v1-10-98193bf536a6@analog.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-07-29 20:31:08 +01:00
Nuno Sa
c7d289eb10
iio: accel: fxls8962af-core: make use of iio_for_each_active_channel()
...
Use iio_for_each_active_channel() to iterate over active channels
accessing '.masklength' so it can be annotated as __private when there
are no more direct users of it.
Signed-off-by: Nuno Sa <nuno.sa@analog.com >
Reviewed-by: Alexandru Ardelean <aardelean@baylibre.com >
Link: https://patch.msgid.link/20240702-dev-iio-masklength-private-v1-9-98193bf536a6@analog.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-07-29 20:31:08 +01:00
Nuno Sa
bac3b7c43d
iio: accel: cros_ec_accel_legacy: make use of iio_get_masklength()
...
Ue iio_get_masklength() to access '.masklength' so it can be annotated
as __private when there are no more direct users of it.
Signed-off-by: Nuno Sa <nuno.sa@analog.com >
Reviewed-by: Alexandru Ardelean <aardelean@baylibre.com >
Link: https://patch.msgid.link/20240702-dev-iio-masklength-private-v1-8-98193bf536a6@analog.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-07-29 20:31:08 +01:00
Nuno Sa
84550e2682
iio: accel: bmc150-accel-core: make use of iio_for_each_active_channel()
...
Use iio_for_each_active_channel() to iterate over active channels
accessing '.masklength' so it can be annotated as __private when there are
no more direct users of it.
Signed-off-by: Nuno Sa <nuno.sa@analog.com >
Reviewed-by: Alexandru Ardelean <aardelean@baylibre.com >
Link: https://patch.msgid.link/20240702-dev-iio-masklength-private-v1-7-98193bf536a6@analog.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-07-29 20:31:08 +01:00
Nuno Sa
1a290e410c
iio: accel: bma180: make use of iio_for_each_active_channel()
...
Use iio_for_each_active_channel() to iterate over active channels
accessing '.masklength' so it can be annotated as __private when there are
no more direct users of it.
Signed-off-by: Nuno Sa <nuno.sa@analog.com >
Reviewed-by: Alexandru Ardelean <aardelean@baylibre.com >
Link: https://patch.msgid.link/20240702-dev-iio-masklength-private-v1-6-98193bf536a6@analog.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-07-29 20:31:07 +01:00
Nuno Sa
6bb0d80e88
iio: accel: adxl372: make use of iio_get_masklength()
...
Use iio_get_masklength() to access '.masklength' so it can be annotated
as __private when there are no more direct users of it.
Signed-off-by: Nuno Sa <nuno.sa@analog.com >
Reviewed-by: Alexandru Ardelean <aardelean@baylibre.com >
Link: https://patch.msgid.link/20240702-dev-iio-masklength-private-v1-5-98193bf536a6@analog.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-07-29 20:31:07 +01:00
Nuno Sa
5d8c3c240f
iio: accel: adxl367: make use of iio_get_masklength()
...
Use iio_get_masklength() to access '.masklength' so it can be annotated
as __private when there are no more direct users of it.
Signed-off-by: Nuno Sa <nuno.sa@analog.com >
Reviewed-by: Alexandru Ardelean <aardelean@baylibre.com >
Link: https://patch.msgid.link/20240702-dev-iio-masklength-private-v1-4-98193bf536a6@analog.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-07-29 20:31:07 +01:00
Nuno Sa
52fe020e7f
iio: buffer: make use of iio_get_masklength()
...
Use iio_get_masklength() to access '.masklength' so it can be annotated
as __private when there are no more direct users of it.
While at it, remove some unneeded line breaks.
Signed-off-by: Nuno Sa <nuno.sa@analog.com >
Reviewed-by: Alexandru Ardelean <aardelean@baylibre.com >
Link: https://patch.msgid.link/20240702-dev-iio-masklength-private-v1-3-98193bf536a6@analog.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-07-29 20:31:07 +01:00
Nuno Sa
c6c47852c1
iio: core: make use of iio_get_masklength()
...
Use iio_get_masklength() to access '.masklength' so it can be annotated
as __private when there are no more direct users of it.
Signed-off-by: Nuno Sa <nuno.sa@analog.com >
Reviewed-by: Alexandru Ardelean <aardelean@baylibre.com >
Link: https://patch.msgid.link/20240702-dev-iio-masklength-private-v1-2-98193bf536a6@analog.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-07-29 20:31:07 +01:00
Nuno Sa
de79583ffe
iio: core: add accessors 'masklength'
...
'masklength' is supposed to be an IIO private member. However, drivers
(often in trigger handlers) need to access it to iterate over the
enabled channels for example (there are other reasons). Hence, a couple
of new accessors are being added:
* iio_for_each_active_channel() - Iterates over the active channels;
* iio_get_masklength() - Get length of the channels mask.
The goal of these new accessors is to annotate 'masklength' as private
as soon as all drivers accessing it are converted to use the new
helpers.
Signed-off-by: Nuno Sa <nuno.sa@analog.com >
Reviewed-by: Alexandru Ardelean <aardelean@baylibre.com >
Link: https://patch.msgid.link/20240702-dev-iio-masklength-private-v1-1-98193bf536a6@analog.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com >
2024-07-29 20:31:07 +01:00
Linus Torvalds
8400291e28
Linux 6.11-rc1
v6.11-rc1
2024-07-28 14:19:55 -07:00
Linus Torvalds
a0c04bd55a
Merge tag 'kbuild-fixes-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
...
Pull Kbuild fixes from Masahiro Yamada:
- Fix RPM package build error caused by an incorrect locale setup
- Mark modules.weakdep as ghost in RPM package
- Fix the odd combination of -S and -c in stack protector scripts,
which is an error with the latest Clang
* tag 'kbuild-fixes-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
kbuild: Fix '-S -c' in x86 stack protector scripts
kbuild: rpm-pkg: ghost modules.weakdep file
kbuild: rpm-pkg: Fix C locale setup
2024-07-28 14:02:48 -07:00
Linus Torvalds
017fa3e891
minmax: simplify and clarify min_t()/max_t() implementation
...
This simplifies the min_t() and max_t() macros by no longer making them
work in the context of a C constant expression.
That means that you can no longer use them for static initializers or
for array sizes in type definitions, but there were only a couple of
such uses, and all of them were converted (famous last words) to use
MIN_T/MAX_T instead.
Cc: David Laight <David.Laight@aculab.com >
Cc: Lorenzo Stoakes <lorenzo.stoakes@oracle.com >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2024-07-28 13:50:01 -07:00
Linus Torvalds
4477b39c32
minmax: add a few more MIN_T/MAX_T users
...
Commit 3a7e02c040 ("minmax: avoid overly complicated constant
expressions in VM code") added the simpler MIN_T/MAX_T macros in order
to avoid some excessive expansion from the rather complicated regular
min/max macros.
The complexity of those macros stems from two issues:
(a) trying to use them in situations that require a C constant
expression (in static initializers and for array sizes)
(b) the type sanity checking
and MIN_T/MAX_T avoids both of these issues.
Now, in the whole (long) discussion about all this, it was pointed out
that the whole type sanity checking is entirely unnecessary for
min_t/max_t which get a fixed type that the comparison is done in.
But that still leaves min_t/max_t unnecessarily complicated due to
worries about the C constant expression case.
However, it turns out that there really aren't very many cases that use
min_t/max_t for this, and we can just force-convert those.
This does exactly that.
Which in turn will then allow for much simpler implementations of
min_t()/max_t(). All the usual "macros in all upper case will evaluate
the arguments multiple times" rules apply.
We should do all the same things for the regular min/max() vs MIN/MAX()
cases, but that has the added complexity of various drivers defining
their own local versions of MIN/MAX, so that needs another level of
fixes first.
Link: https://lore.kernel.org/all/b47fad1d0cf8449886ad148f8c013dae@AcuMS.aculab.com/
Cc: David Laight <David.Laight@aculab.com >
Cc: Lorenzo Stoakes <lorenzo.stoakes@oracle.com >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2024-07-28 13:41:14 -07:00