* [PATCH 00/20] iio: make masklength __private (round 1)
@ 2024-07-02 16:02 Nuno Sa via B4 Relay
2024-07-02 16:02 ` [PATCH 01/20] iio: core: add accessors 'masklength' Nuno Sa via B4 Relay
` (20 more replies)
0 siblings, 21 replies; 45+ messages in thread
From: Nuno Sa via B4 Relay @ 2024-07-02 16:02 UTC (permalink / raw)
To: linux-iio, chrome-platform, linux-arm-kernel
Cc: Alexandre Belloni, Lars-Peter Clausen, Michael Hennerich,
Cosmin Tanislav, Claudiu Beznea, Guenter Roeck, Dmitry Rokosov,
Benson Leung, Jonathan Cameron
Hi Jonathan,
Here it goes the first round of what we discussed in [1] about
annotating .masklength as __private. Patches should be fairly simple so
hopefully I did not messed up much...
Note that in core, there's one place where we're still directly writing
into .masklength (when it's effectively set). The plan is then to
directly use ACCESS_PRIVATE() in there in the same patch where we mark
.masklength as __private.
Note this was only compile tested for arm with allyesconfig.
[1]: https://lore.kernel.org/linux-iio/20240612-dev-iio-scan-private-v1-0-7c75c8e3d30b@analog.com/
---
Nuno Sa (20):
iio: core: add accessors 'masklength'
iio: core: make use of iio_get_masklength()
iio: buffer: make use of iio_get_masklength()
iio: accel: adxl367: make use of iio_get_masklength()
iio: accel: adx1372: make use of iio_get_masklength()
iio: accel: bma180: make use of iio_for_each_active_channel()
iio: accel: bmc150-accel-core: make use of iio_for_each_active_channel()
iio: accel: cros_ec_accel_legacy: make use of iio_get_masklength()
iio: accel: fxls8962af-core: make use of iio_for_each_active_channel()
iio: accel: msa311: make use of iio_for_each_active_channel()
iio: accel: sca3300: make use of iio_for_each_active_channel()
iio: accel: stk8312: make use of iio_for_each_active_channel()
iio: accel: stk8ba50: make use of iio_for_each_active_channel()
iio: adc: ad7266: make use of iio_get_masklength()
iio: adc: ad7298: make use of iio_get_masklength()
iio: adc: ad799x: make use of iio_get_masklength()
iio: adc: ad_sigma_delta: use new '.masklength' accessors
iio: adc: at91_adc: make use of iio_for_each_active_channel()
iio: imu: adis16475: make use of iio_for_each_active_channel()
iio: imu: adis16480: make use of iio_for_each_active_channel()
drivers/iio/accel/adxl367.c | 2 +-
drivers/iio/accel/adxl372.c | 2 +-
drivers/iio/accel/bma180.c | 3 +-
drivers/iio/accel/bmc150-accel-core.c | 3 +-
drivers/iio/accel/cros_ec_accel_legacy.c | 2 +-
drivers/iio/accel/fxls8962af-core.c | 3 +-
drivers/iio/accel/msa311.c | 3 +-
drivers/iio/accel/sca3300.c | 3 +-
drivers/iio/accel/stk8312.c | 3 +-
drivers/iio/accel/stk8ba50.c | 3 +-
drivers/iio/adc/ad7266.c | 3 +-
drivers/iio/adc/ad7298.c | 3 +-
drivers/iio/adc/ad799x.c | 3 +-
drivers/iio/adc/ad_sigma_delta.c | 6 ++--
drivers/iio/adc/at91_adc.c | 4 +--
drivers/iio/buffer/industrialio-buffer-cb.c | 2 +-
drivers/iio/buffer/industrialio-hw-consumer.c | 4 +--
drivers/iio/imu/adis16475.c | 3 +-
drivers/iio/imu/adis16480.c | 2 +-
drivers/iio/industrialio-buffer.c | 50 ++++++++++++---------------
drivers/iio/industrialio-core.c | 2 +-
include/linux/iio/iio.h | 18 ++++++++++
22 files changed, 67 insertions(+), 60 deletions(-)
---
base-commit: 21ab030b8f8b4704c299435e167824ec90c8bab5
change-id: 20240617-dev-iio-masklength-private-023cb295a786
--
Thanks!
- Nuno Sá
^ permalink raw reply [flat|nested] 45+ messages in thread
* [PATCH 01/20] iio: core: add accessors 'masklength'
2024-07-02 16:02 [PATCH 00/20] iio: make masklength __private (round 1) Nuno Sa via B4 Relay
@ 2024-07-02 16:02 ` Nuno Sa via B4 Relay
2024-07-03 6:10 ` Alexandru Ardelean
2024-07-02 16:02 ` [PATCH 02/20] iio: core: make use of iio_get_masklength() Nuno Sa via B4 Relay
` (19 subsequent siblings)
20 siblings, 1 reply; 45+ messages in thread
From: Nuno Sa via B4 Relay @ 2024-07-02 16:02 UTC (permalink / raw)
To: linux-iio, chrome-platform, linux-arm-kernel
Cc: Alexandre Belloni, Lars-Peter Clausen, Michael Hennerich,
Cosmin Tanislav, Claudiu Beznea, Guenter Roeck, Dmitry Rokosov,
Benson Leung, Jonathan Cameron
From: Nuno Sa <nuno.sa@analog.com>
'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>
---
include/linux/iio/iio.h | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/include/linux/iio/iio.h b/include/linux/iio/iio.h
index 894309294182d..dd6bbc468283e 100644
--- a/include/linux/iio/iio.h
+++ b/include/linux/iio/iio.h
@@ -855,6 +855,24 @@ static inline const struct iio_scan_type
return &chan->scan_type;
}
+/**
+ * iio_get_masklength - Get length of the channels mask
+ * @indio_dev: the IIO device to get the masklength for
+ */
+static inline unsigned int iio_get_masklength(const struct iio_dev *indio_dev)
+{
+ return indio_dev->masklength;
+}
+
+/**
+ * iio_for_each_active_channel - Iterated over active channels
+ * @indio_dev: the IIO device
+ * @chan: Holds the index of the enabled channel
+ */
+#define iio_for_each_active_channel(indio_dev, chan) \
+ for_each_set_bit((chan), (indio_dev)->active_scan_mask, \
+ iio_get_masklength(indio_dev))
+
ssize_t iio_format_value(char *buf, unsigned int type, int size, int *vals);
int iio_str_to_fixpoint(const char *str, int fract_mult, int *integer,
--
2.45.2
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [PATCH 02/20] iio: core: make use of iio_get_masklength()
2024-07-02 16:02 [PATCH 00/20] iio: make masklength __private (round 1) Nuno Sa via B4 Relay
2024-07-02 16:02 ` [PATCH 01/20] iio: core: add accessors 'masklength' Nuno Sa via B4 Relay
@ 2024-07-02 16:02 ` Nuno Sa via B4 Relay
2024-07-03 6:13 ` Alexandru Ardelean
2024-07-02 16:02 ` [PATCH 03/20] iio: buffer: " Nuno Sa via B4 Relay
` (18 subsequent siblings)
20 siblings, 1 reply; 45+ messages in thread
From: Nuno Sa via B4 Relay @ 2024-07-02 16:02 UTC (permalink / raw)
To: linux-iio, chrome-platform, linux-arm-kernel
Cc: Alexandre Belloni, Lars-Peter Clausen, Michael Hennerich,
Cosmin Tanislav, Claudiu Beznea, Guenter Roeck, Dmitry Rokosov,
Benson Leung, Jonathan Cameron
From: Nuno Sa <nuno.sa@analog.com>
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>
---
drivers/iio/industrialio-core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/iio/industrialio-core.c b/drivers/iio/industrialio-core.c
index 2f185b3869495..e392a10aaf320 100644
--- a/drivers/iio/industrialio-core.c
+++ b/drivers/iio/industrialio-core.c
@@ -1907,7 +1907,7 @@ static void iio_sanity_check_avail_scan_masks(struct iio_dev *indio_dev)
int i;
av_masks = indio_dev->available_scan_masks;
- masklength = indio_dev->masklength;
+ masklength = iio_get_masklength(indio_dev);
longs_per_mask = BITS_TO_LONGS(masklength);
/*
--
2.45.2
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [PATCH 03/20] iio: buffer: make use of iio_get_masklength()
2024-07-02 16:02 [PATCH 00/20] iio: make masklength __private (round 1) Nuno Sa via B4 Relay
2024-07-02 16:02 ` [PATCH 01/20] iio: core: add accessors 'masklength' Nuno Sa via B4 Relay
2024-07-02 16:02 ` [PATCH 02/20] iio: core: make use of iio_get_masklength() Nuno Sa via B4 Relay
@ 2024-07-02 16:02 ` Nuno Sa via B4 Relay
2024-07-03 6:14 ` Alexandru Ardelean
2024-07-02 16:02 ` [PATCH 04/20] iio: accel: adxl367: " Nuno Sa via B4 Relay
` (17 subsequent siblings)
20 siblings, 1 reply; 45+ messages in thread
From: Nuno Sa via B4 Relay @ 2024-07-02 16:02 UTC (permalink / raw)
To: linux-iio, chrome-platform, linux-arm-kernel
Cc: Alexandre Belloni, Lars-Peter Clausen, Michael Hennerich,
Cosmin Tanislav, Claudiu Beznea, Guenter Roeck, Dmitry Rokosov,
Benson Leung, Jonathan Cameron
From: Nuno Sa <nuno.sa@analog.com>
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>
---
drivers/iio/buffer/industrialio-buffer-cb.c | 2 +-
drivers/iio/buffer/industrialio-hw-consumer.c | 4 +--
drivers/iio/industrialio-buffer.c | 50 ++++++++++++---------------
3 files changed, 26 insertions(+), 30 deletions(-)
diff --git a/drivers/iio/buffer/industrialio-buffer-cb.c b/drivers/iio/buffer/industrialio-buffer-cb.c
index 4c12b7a94af59..4befc9f55201e 100644
--- a/drivers/iio/buffer/industrialio-buffer-cb.c
+++ b/drivers/iio/buffer/industrialio-buffer-cb.c
@@ -77,7 +77,7 @@ struct iio_cb_buffer *iio_channel_get_all_cb(struct device *dev,
}
cb_buff->indio_dev = cb_buff->channels[0].indio_dev;
- cb_buff->buffer.scan_mask = bitmap_zalloc(cb_buff->indio_dev->masklength,
+ cb_buff->buffer.scan_mask = bitmap_zalloc(iio_get_masklength(cb_buff->indio_dev),
GFP_KERNEL);
if (cb_buff->buffer.scan_mask == NULL) {
ret = -ENOMEM;
diff --git a/drivers/iio/buffer/industrialio-hw-consumer.c b/drivers/iio/buffer/industrialio-hw-consumer.c
index fb58f599a80b1..526b2a8d725d1 100644
--- a/drivers/iio/buffer/industrialio-hw-consumer.c
+++ b/drivers/iio/buffer/industrialio-hw-consumer.c
@@ -52,6 +52,7 @@ static const struct iio_buffer_access_funcs iio_hw_buf_access = {
static struct hw_consumer_buffer *iio_hw_consumer_get_buffer(
struct iio_hw_consumer *hwc, struct iio_dev *indio_dev)
{
+ unsigned int mask_longs = BITS_TO_LONGS(iio_get_masklength(indio_dev));
struct hw_consumer_buffer *buf;
list_for_each_entry(buf, &hwc->buffers, head) {
@@ -59,8 +60,7 @@ static struct hw_consumer_buffer *iio_hw_consumer_get_buffer(
return buf;
}
- buf = kzalloc(struct_size(buf, scan_mask, BITS_TO_LONGS(indio_dev->masklength)),
- GFP_KERNEL);
+ buf = kzalloc(struct_size(buf, scan_mask, mask_longs), GFP_KERNEL);
if (!buf)
return NULL;
diff --git a/drivers/iio/industrialio-buffer.c b/drivers/iio/industrialio-buffer.c
index 0138b21b244f0..389bfb238b510 100644
--- a/drivers/iio/industrialio-buffer.c
+++ b/drivers/iio/industrialio-buffer.c
@@ -473,18 +473,19 @@ static bool iio_validate_scan_mask(struct iio_dev *indio_dev,
static int iio_scan_mask_set(struct iio_dev *indio_dev,
struct iio_buffer *buffer, int bit)
{
+ unsigned int masklength = iio_get_masklength(indio_dev);
const unsigned long *mask;
unsigned long *trialmask;
- if (!indio_dev->masklength) {
+ if (!masklength) {
WARN(1, "Trying to set scanmask prior to registering buffer\n");
return -EINVAL;
}
- trialmask = bitmap_alloc(indio_dev->masklength, GFP_KERNEL);
+ trialmask = bitmap_alloc(masklength, GFP_KERNEL);
if (!trialmask)
return -ENOMEM;
- bitmap_copy(trialmask, buffer->scan_mask, indio_dev->masklength);
+ bitmap_copy(trialmask, buffer->scan_mask, masklength);
set_bit(bit, trialmask);
if (!iio_validate_scan_mask(indio_dev, trialmask))
@@ -492,12 +493,11 @@ static int iio_scan_mask_set(struct iio_dev *indio_dev,
if (indio_dev->available_scan_masks) {
mask = iio_scan_mask_match(indio_dev->available_scan_masks,
- indio_dev->masklength,
- trialmask, false);
+ masklength, trialmask, false);
if (!mask)
goto err_invalid_mask;
}
- bitmap_copy(buffer->scan_mask, trialmask, indio_dev->masklength);
+ bitmap_copy(buffer->scan_mask, trialmask, masklength);
bitmap_free(trialmask);
@@ -517,7 +517,7 @@ static int iio_scan_mask_clear(struct iio_buffer *buffer, int bit)
static int iio_scan_mask_query(struct iio_dev *indio_dev,
struct iio_buffer *buffer, int bit)
{
- if (bit > indio_dev->masklength)
+ if (bit > iio_get_masklength(indio_dev))
return -EINVAL;
if (!buffer->scan_mask)
@@ -733,8 +733,7 @@ static int iio_compute_scan_bytes(struct iio_dev *indio_dev,
int length, i, largest = 0;
/* How much space will the demuxed element take? */
- for_each_set_bit(i, mask,
- indio_dev->masklength) {
+ for_each_set_bit(i, mask, iio_get_masklength(indio_dev)) {
length = iio_storage_bytes_for_si(indio_dev, i);
if (length < 0)
return length;
@@ -855,6 +854,7 @@ static int iio_verify_update(struct iio_dev *indio_dev,
struct iio_device_config *config)
{
struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev);
+ unsigned int masklength = iio_get_masklength(indio_dev);
unsigned long *compound_mask;
const unsigned long *scan_mask;
bool strict_scanmask = false;
@@ -863,7 +863,7 @@ static int iio_verify_update(struct iio_dev *indio_dev,
unsigned int modes;
if (insert_buffer &&
- bitmap_empty(insert_buffer->scan_mask, indio_dev->masklength)) {
+ bitmap_empty(insert_buffer->scan_mask, masklength)) {
dev_dbg(&indio_dev->dev,
"At least one scan element must be enabled first\n");
return -EINVAL;
@@ -917,7 +917,7 @@ static int iio_verify_update(struct iio_dev *indio_dev,
}
/* What scan mask do we actually have? */
- compound_mask = bitmap_zalloc(indio_dev->masklength, GFP_KERNEL);
+ compound_mask = bitmap_zalloc(masklength, GFP_KERNEL);
if (!compound_mask)
return -ENOMEM;
@@ -927,20 +927,19 @@ static int iio_verify_update(struct iio_dev *indio_dev,
if (buffer == remove_buffer)
continue;
bitmap_or(compound_mask, compound_mask, buffer->scan_mask,
- indio_dev->masklength);
+ masklength);
scan_timestamp |= buffer->scan_timestamp;
}
if (insert_buffer) {
bitmap_or(compound_mask, compound_mask,
- insert_buffer->scan_mask, indio_dev->masklength);
+ insert_buffer->scan_mask, masklength);
scan_timestamp |= insert_buffer->scan_timestamp;
}
if (indio_dev->available_scan_masks) {
scan_mask = iio_scan_mask_match(indio_dev->available_scan_masks,
- indio_dev->masklength,
- compound_mask,
+ masklength, compound_mask,
strict_scanmask);
bitmap_free(compound_mask);
if (!scan_mask)
@@ -1005,6 +1004,7 @@ static int iio_buffer_add_demux(struct iio_buffer *buffer,
static int iio_buffer_update_demux(struct iio_dev *indio_dev,
struct iio_buffer *buffer)
{
+ unsigned int masklength = iio_get_masklength(indio_dev);
int ret, in_ind = -1, out_ind, length;
unsigned int in_loc = 0, out_loc = 0;
struct iio_demux_table *p = NULL;
@@ -1016,17 +1016,13 @@ static int iio_buffer_update_demux(struct iio_dev *indio_dev,
/* First work out which scan mode we will actually have */
if (bitmap_equal(indio_dev->active_scan_mask,
- buffer->scan_mask,
- indio_dev->masklength))
+ buffer->scan_mask, masklength))
return 0;
/* Now we have the two masks, work from least sig and build up sizes */
- for_each_set_bit(out_ind,
- buffer->scan_mask,
- indio_dev->masklength) {
+ for_each_set_bit(out_ind, buffer->scan_mask, masklength) {
in_ind = find_next_bit(indio_dev->active_scan_mask,
- indio_dev->masklength,
- in_ind + 1);
+ masklength, in_ind + 1);
while (in_ind != out_ind) {
ret = iio_storage_bytes_for_si(indio_dev, in_ind);
if (ret < 0)
@@ -1036,8 +1032,7 @@ static int iio_buffer_update_demux(struct iio_dev *indio_dev,
/* Make sure we are aligned */
in_loc = roundup(in_loc, length) + length;
in_ind = find_next_bit(indio_dev->active_scan_mask,
- indio_dev->masklength,
- in_ind + 1);
+ masklength, in_ind + 1);
}
ret = iio_storage_bytes_for_si(indio_dev, in_ind);
if (ret < 0)
@@ -1646,6 +1641,7 @@ static int __iio_buffer_alloc_sysfs_and_mask(struct iio_buffer *buffer,
int index)
{
struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev);
+ unsigned int masklength = iio_get_masklength(indio_dev);
struct iio_dev_attr *p;
const struct iio_dev_attr *id_attr;
struct attribute **attr;
@@ -1708,8 +1704,8 @@ static int __iio_buffer_alloc_sysfs_and_mask(struct iio_buffer *buffer,
iio_dev_opaque->scan_index_timestamp =
channels[i].scan_index;
}
- if (indio_dev->masklength && !buffer->scan_mask) {
- buffer->scan_mask = bitmap_zalloc(indio_dev->masklength,
+ if (masklength && !buffer->scan_mask) {
+ buffer->scan_mask = bitmap_zalloc(masklength,
GFP_KERNEL);
if (!buffer->scan_mask) {
ret = -ENOMEM;
@@ -1879,7 +1875,7 @@ void iio_buffers_free_sysfs_and_mask(struct iio_dev *indio_dev)
bool iio_validate_scan_mask_onehot(struct iio_dev *indio_dev,
const unsigned long *mask)
{
- return bitmap_weight(mask, indio_dev->masklength) == 1;
+ return bitmap_weight(mask, iio_get_masklength(indio_dev)) == 1;
}
EXPORT_SYMBOL_GPL(iio_validate_scan_mask_onehot);
--
2.45.2
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [PATCH 04/20] iio: accel: adxl367: make use of iio_get_masklength()
2024-07-02 16:02 [PATCH 00/20] iio: make masklength __private (round 1) Nuno Sa via B4 Relay
` (2 preceding siblings ...)
2024-07-02 16:02 ` [PATCH 03/20] iio: buffer: " Nuno Sa via B4 Relay
@ 2024-07-02 16:02 ` Nuno Sa via B4 Relay
2024-07-03 6:15 ` Alexandru Ardelean
2024-07-02 16:02 ` [PATCH 05/20] iio: accel: adx1372: " Nuno Sa via B4 Relay
` (16 subsequent siblings)
20 siblings, 1 reply; 45+ messages in thread
From: Nuno Sa via B4 Relay @ 2024-07-02 16:02 UTC (permalink / raw)
To: linux-iio, chrome-platform, linux-arm-kernel
Cc: Alexandre Belloni, Lars-Peter Clausen, Michael Hennerich,
Cosmin Tanislav, Claudiu Beznea, Guenter Roeck, Dmitry Rokosov,
Benson Leung, Jonathan Cameron
From: Nuno Sa <nuno.sa@analog.com>
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>
---
drivers/iio/accel/adxl367.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/iio/accel/adxl367.c b/drivers/iio/accel/adxl367.c
index 5cf4828a5eb5..1c046e96aef9 100644
--- a/drivers/iio/accel/adxl367.c
+++ b/drivers/iio/accel/adxl367.c
@@ -1220,7 +1220,7 @@ static int adxl367_update_scan_mode(struct iio_dev *indio_dev,
return ret;
st->fifo_set_size = bitmap_weight(active_scan_mask,
- indio_dev->masklength);
+ iio_get_masklength(indio_dev));
return 0;
}
--
2.45.2
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [PATCH 05/20] iio: accel: adx1372: make use of iio_get_masklength()
2024-07-02 16:02 [PATCH 00/20] iio: make masklength __private (round 1) Nuno Sa via B4 Relay
` (3 preceding siblings ...)
2024-07-02 16:02 ` [PATCH 04/20] iio: accel: adxl367: " Nuno Sa via B4 Relay
@ 2024-07-02 16:02 ` Nuno Sa via B4 Relay
2024-07-03 6:17 ` Alexandru Ardelean
2024-07-02 16:02 ` [PATCH 06/20] iio: accel: bma180: make use of iio_for_each_active_channel() Nuno Sa via B4 Relay
` (15 subsequent siblings)
20 siblings, 1 reply; 45+ messages in thread
From: Nuno Sa via B4 Relay @ 2024-07-02 16:02 UTC (permalink / raw)
To: linux-iio, chrome-platform, linux-arm-kernel
Cc: Alexandre Belloni, Lars-Peter Clausen, Michael Hennerich,
Cosmin Tanislav, Claudiu Beznea, Guenter Roeck, Dmitry Rokosov,
Benson Leung, Jonathan Cameron
From: Nuno Sa <nuno.sa@analog.com>
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>
---
drivers/iio/accel/adxl372.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/iio/accel/adxl372.c b/drivers/iio/accel/adxl372.c
index c4193286eb05..ef8dd557877b 100644
--- a/drivers/iio/accel/adxl372.c
+++ b/drivers/iio/accel/adxl372.c
@@ -1050,7 +1050,7 @@ static int adxl372_buffer_postenable(struct iio_dev *indio_dev)
st->fifo_format = adxl372_axis_lookup_table[i].fifo_format;
st->fifo_axis_mask = adxl372_axis_lookup_table[i].bits;
st->fifo_set_size = bitmap_weight(indio_dev->active_scan_mask,
- indio_dev->masklength);
+ iio_get_masklength(indio_dev));
/* Configure the FIFO to store sets of impact event peak. */
if (st->peak_fifo_mode_en) {
--
2.45.2
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [PATCH 06/20] iio: accel: bma180: make use of iio_for_each_active_channel()
2024-07-02 16:02 [PATCH 00/20] iio: make masklength __private (round 1) Nuno Sa via B4 Relay
` (4 preceding siblings ...)
2024-07-02 16:02 ` [PATCH 05/20] iio: accel: adx1372: " Nuno Sa via B4 Relay
@ 2024-07-02 16:02 ` Nuno Sa via B4 Relay
2024-07-03 6:23 ` Alexandru Ardelean
2024-07-02 16:02 ` [PATCH 07/20] iio: accel: bmc150-accel-core: " Nuno Sa via B4 Relay
` (14 subsequent siblings)
20 siblings, 1 reply; 45+ messages in thread
From: Nuno Sa via B4 Relay @ 2024-07-02 16:02 UTC (permalink / raw)
To: linux-iio, chrome-platform, linux-arm-kernel
Cc: Alexandre Belloni, Lars-Peter Clausen, Michael Hennerich,
Cosmin Tanislav, Claudiu Beznea, Guenter Roeck, Dmitry Rokosov,
Benson Leung, Jonathan Cameron
From: Nuno Sa <nuno.sa@analog.com>
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>
---
drivers/iio/accel/bma180.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/iio/accel/bma180.c b/drivers/iio/accel/bma180.c
index 6581772cb0c46..2445a0f7bc2ba 100644
--- a/drivers/iio/accel/bma180.c
+++ b/drivers/iio/accel/bma180.c
@@ -876,8 +876,7 @@ static irqreturn_t bma180_trigger_handler(int irq, void *p)
mutex_lock(&data->mutex);
- for_each_set_bit(bit, indio_dev->active_scan_mask,
- indio_dev->masklength) {
+ iio_for_each_active_channel(indio_dev, bit) {
ret = bma180_get_data_reg(data, bit);
if (ret < 0) {
mutex_unlock(&data->mutex);
--
2.45.2
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [PATCH 07/20] iio: accel: bmc150-accel-core: make use of iio_for_each_active_channel()
2024-07-02 16:02 [PATCH 00/20] iio: make masklength __private (round 1) Nuno Sa via B4 Relay
` (5 preceding siblings ...)
2024-07-02 16:02 ` [PATCH 06/20] iio: accel: bma180: make use of iio_for_each_active_channel() Nuno Sa via B4 Relay
@ 2024-07-02 16:02 ` Nuno Sa via B4 Relay
2024-07-03 6:24 ` Alexandru Ardelean
2024-07-02 16:02 ` [PATCH 08/20] iio: accel: cros_ec_accel_legacy: make use of iio_get_masklength() Nuno Sa via B4 Relay
` (13 subsequent siblings)
20 siblings, 1 reply; 45+ messages in thread
From: Nuno Sa via B4 Relay @ 2024-07-02 16:02 UTC (permalink / raw)
To: linux-iio, chrome-platform, linux-arm-kernel
Cc: Alexandre Belloni, Lars-Peter Clausen, Michael Hennerich,
Cosmin Tanislav, Claudiu Beznea, Guenter Roeck, Dmitry Rokosov,
Benson Leung, Jonathan Cameron
From: Nuno Sa <nuno.sa@analog.com>
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>
---
drivers/iio/accel/bmc150-accel-core.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/iio/accel/bmc150-accel-core.c b/drivers/iio/accel/bmc150-accel-core.c
index ae0cd48a3e293..03121d020470e 100644
--- a/drivers/iio/accel/bmc150-accel-core.c
+++ b/drivers/iio/accel/bmc150-accel-core.c
@@ -1007,8 +1007,7 @@ static int __bmc150_accel_fifo_flush(struct iio_dev *indio_dev,
int j, bit;
j = 0;
- for_each_set_bit(bit, indio_dev->active_scan_mask,
- indio_dev->masklength)
+ iio_for_each_active_channel(indio_dev, bit)
memcpy(&data->scan.channels[j++], &buffer[i * 3 + bit],
sizeof(data->scan.channels[0]));
--
2.45.2
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [PATCH 08/20] iio: accel: cros_ec_accel_legacy: make use of iio_get_masklength()
2024-07-02 16:02 [PATCH 00/20] iio: make masklength __private (round 1) Nuno Sa via B4 Relay
` (6 preceding siblings ...)
2024-07-02 16:02 ` [PATCH 07/20] iio: accel: bmc150-accel-core: " Nuno Sa via B4 Relay
@ 2024-07-02 16:02 ` Nuno Sa via B4 Relay
2024-07-03 6:37 ` Alexandru Ardelean
2024-07-02 16:02 ` [PATCH 09/20] iio: accel: fxls8962af-core: make use of iio_for_each_active_channel() Nuno Sa via B4 Relay
` (12 subsequent siblings)
20 siblings, 1 reply; 45+ messages in thread
From: Nuno Sa via B4 Relay @ 2024-07-02 16:02 UTC (permalink / raw)
To: linux-iio, chrome-platform, linux-arm-kernel
Cc: Alexandre Belloni, Lars-Peter Clausen, Michael Hennerich,
Cosmin Tanislav, Claudiu Beznea, Guenter Roeck, Dmitry Rokosov,
Benson Leung, Jonathan Cameron
From: Nuno Sa <nuno.sa@analog.com>
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>
---
drivers/iio/accel/cros_ec_accel_legacy.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/iio/accel/cros_ec_accel_legacy.c b/drivers/iio/accel/cros_ec_accel_legacy.c
index 0f403342b1fc..f7e4dc02b34d 100644
--- a/drivers/iio/accel/cros_ec_accel_legacy.c
+++ b/drivers/iio/accel/cros_ec_accel_legacy.c
@@ -62,7 +62,7 @@ static int cros_ec_accel_legacy_read_cmd(struct iio_dev *indio_dev,
return ret;
}
- for_each_set_bit(i, &scan_mask, indio_dev->masklength) {
+ for_each_set_bit(i, &scan_mask, iio_get_masklength(indio_dev)) {
*data = st->resp->dump.sensor[sensor_num].data[i] *
st->sign[i];
data++;
--
2.45.2
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [PATCH 09/20] iio: accel: fxls8962af-core: make use of iio_for_each_active_channel()
2024-07-02 16:02 [PATCH 00/20] iio: make masklength __private (round 1) Nuno Sa via B4 Relay
` (7 preceding siblings ...)
2024-07-02 16:02 ` [PATCH 08/20] iio: accel: cros_ec_accel_legacy: make use of iio_get_masklength() Nuno Sa via B4 Relay
@ 2024-07-02 16:02 ` Nuno Sa via B4 Relay
2024-07-03 6:25 ` Alexandru Ardelean
2024-07-02 16:02 ` [PATCH 10/20] iio: accel: msa311: " Nuno Sa via B4 Relay
` (11 subsequent siblings)
20 siblings, 1 reply; 45+ messages in thread
From: Nuno Sa via B4 Relay @ 2024-07-02 16:02 UTC (permalink / raw)
To: linux-iio, chrome-platform, linux-arm-kernel
Cc: Alexandre Belloni, Lars-Peter Clausen, Michael Hennerich,
Cosmin Tanislav, Claudiu Beznea, Guenter Roeck, Dmitry Rokosov,
Benson Leung, Jonathan Cameron
From: Nuno Sa <nuno.sa@analog.com>
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>
---
drivers/iio/accel/fxls8962af-core.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/iio/accel/fxls8962af-core.c b/drivers/iio/accel/fxls8962af-core.c
index 4fbc01bda62e4..7adb8937cb4b6 100644
--- a/drivers/iio/accel/fxls8962af-core.c
+++ b/drivers/iio/accel/fxls8962af-core.c
@@ -968,8 +968,7 @@ static int fxls8962af_fifo_flush(struct iio_dev *indio_dev)
int j, bit;
j = 0;
- for_each_set_bit(bit, indio_dev->active_scan_mask,
- indio_dev->masklength) {
+ iio_for_each_active_channel(indio_dev, bit) {
memcpy(&data->scan.channels[j++], &buffer[i * 3 + bit],
sizeof(data->scan.channels[0]));
}
--
2.45.2
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [PATCH 10/20] iio: accel: msa311: make use of iio_for_each_active_channel()
2024-07-02 16:02 [PATCH 00/20] iio: make masklength __private (round 1) Nuno Sa via B4 Relay
` (8 preceding siblings ...)
2024-07-02 16:02 ` [PATCH 09/20] iio: accel: fxls8962af-core: make use of iio_for_each_active_channel() Nuno Sa via B4 Relay
@ 2024-07-02 16:02 ` Nuno Sa via B4 Relay
2024-07-03 6:26 ` Alexandru Ardelean
2024-07-02 16:02 ` [PATCH 11/20] iio: accel: sca3300: " Nuno Sa via B4 Relay
` (10 subsequent siblings)
20 siblings, 1 reply; 45+ messages in thread
From: Nuno Sa via B4 Relay @ 2024-07-02 16:02 UTC (permalink / raw)
To: linux-iio, chrome-platform, linux-arm-kernel
Cc: Alexandre Belloni, Lars-Peter Clausen, Michael Hennerich,
Cosmin Tanislav, Claudiu Beznea, Guenter Roeck, Dmitry Rokosov,
Benson Leung, Jonathan Cameron
From: Nuno Sa <nuno.sa@analog.com>
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>
---
drivers/iio/accel/msa311.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/iio/accel/msa311.c b/drivers/iio/accel/msa311.c
index b8ddbfd98f112..8861010256f2e 100644
--- a/drivers/iio/accel/msa311.c
+++ b/drivers/iio/accel/msa311.c
@@ -900,8 +900,7 @@ static irqreturn_t msa311_buffer_thread(int irq, void *p)
mutex_lock(&msa311->lock);
- for_each_set_bit(bit, indio_dev->active_scan_mask,
- indio_dev->masklength) {
+ iio_for_each_active_channel(indio_dev, bit) {
chan = &msa311_channels[bit];
err = msa311_get_axis(msa311, chan, &axis);
--
2.45.2
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [PATCH 11/20] iio: accel: sca3300: make use of iio_for_each_active_channel()
2024-07-02 16:02 [PATCH 00/20] iio: make masklength __private (round 1) Nuno Sa via B4 Relay
` (9 preceding siblings ...)
2024-07-02 16:02 ` [PATCH 10/20] iio: accel: msa311: " Nuno Sa via B4 Relay
@ 2024-07-02 16:02 ` Nuno Sa via B4 Relay
2024-07-03 6:26 ` Alexandru Ardelean
2024-07-02 16:02 ` [PATCH 12/20] iio: accel: stk8312: " Nuno Sa via B4 Relay
` (9 subsequent siblings)
20 siblings, 1 reply; 45+ messages in thread
From: Nuno Sa via B4 Relay @ 2024-07-02 16:02 UTC (permalink / raw)
To: linux-iio, chrome-platform, linux-arm-kernel
Cc: Alexandre Belloni, Lars-Peter Clausen, Michael Hennerich,
Cosmin Tanislav, Claudiu Beznea, Guenter Roeck, Dmitry Rokosov,
Benson Leung, Jonathan Cameron
From: Nuno Sa <nuno.sa@analog.com>
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>
---
drivers/iio/accel/sca3300.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/iio/accel/sca3300.c b/drivers/iio/accel/sca3300.c
index 306482b70fad..fca77d660625 100644
--- a/drivers/iio/accel/sca3300.c
+++ b/drivers/iio/accel/sca3300.c
@@ -494,8 +494,7 @@ static irqreturn_t sca3300_trigger_handler(int irq, void *p)
int bit, ret, val, i = 0;
s16 *channels = (s16 *)data->buffer;
- for_each_set_bit(bit, indio_dev->active_scan_mask,
- indio_dev->masklength) {
+ iio_for_each_active_channel(indio_dev, bit) {
ret = sca3300_read_reg(data, indio_dev->channels[bit].address, &val);
if (ret) {
dev_err_ratelimited(&data->spi->dev,
--
2.45.2
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [PATCH 12/20] iio: accel: stk8312: make use of iio_for_each_active_channel()
2024-07-02 16:02 [PATCH 00/20] iio: make masklength __private (round 1) Nuno Sa via B4 Relay
` (10 preceding siblings ...)
2024-07-02 16:02 ` [PATCH 11/20] iio: accel: sca3300: " Nuno Sa via B4 Relay
@ 2024-07-02 16:02 ` Nuno Sa via B4 Relay
2024-07-03 6:26 ` Alexandru Ardelean
2024-07-02 16:02 ` [PATCH 13/20] iio: accel: stk8ba50: " Nuno Sa via B4 Relay
` (8 subsequent siblings)
20 siblings, 1 reply; 45+ messages in thread
From: Nuno Sa via B4 Relay @ 2024-07-02 16:02 UTC (permalink / raw)
To: linux-iio, chrome-platform, linux-arm-kernel
Cc: Alexandre Belloni, Lars-Peter Clausen, Michael Hennerich,
Cosmin Tanislav, Claudiu Beznea, Guenter Roeck, Dmitry Rokosov,
Benson Leung, Jonathan Cameron
From: Nuno Sa <nuno.sa@analog.com>
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>
---
drivers/iio/accel/stk8312.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/iio/accel/stk8312.c b/drivers/iio/accel/stk8312.c
index b3534d5751b95..abead190254b5 100644
--- a/drivers/iio/accel/stk8312.c
+++ b/drivers/iio/accel/stk8312.c
@@ -448,8 +448,7 @@ static irqreturn_t stk8312_trigger_handler(int irq, void *p)
goto err;
}
} else {
- for_each_set_bit(bit, indio_dev->active_scan_mask,
- indio_dev->masklength) {
+ iio_for_each_active_channel(indio_dev, bit) {
ret = stk8312_read_accel(data, bit);
if (ret < 0) {
mutex_unlock(&data->lock);
--
2.45.2
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [PATCH 13/20] iio: accel: stk8ba50: make use of iio_for_each_active_channel()
2024-07-02 16:02 [PATCH 00/20] iio: make masklength __private (round 1) Nuno Sa via B4 Relay
` (11 preceding siblings ...)
2024-07-02 16:02 ` [PATCH 12/20] iio: accel: stk8312: " Nuno Sa via B4 Relay
@ 2024-07-02 16:02 ` Nuno Sa via B4 Relay
2024-07-03 6:26 ` Alexandru Ardelean
2024-07-02 16:02 ` [PATCH 14/20] iio: adc: ad7266: make use of iio_get_masklength() Nuno Sa via B4 Relay
` (7 subsequent siblings)
20 siblings, 1 reply; 45+ messages in thread
From: Nuno Sa via B4 Relay @ 2024-07-02 16:02 UTC (permalink / raw)
To: linux-iio, chrome-platform, linux-arm-kernel
Cc: Alexandre Belloni, Lars-Peter Clausen, Michael Hennerich,
Cosmin Tanislav, Claudiu Beznea, Guenter Roeck, Dmitry Rokosov,
Benson Leung, Jonathan Cameron
From: Nuno Sa <nuno.sa@analog.com>
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>
---
drivers/iio/accel/stk8ba50.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/iio/accel/stk8ba50.c b/drivers/iio/accel/stk8ba50.c
index 6d3c7f444d21d..a32a77324e92d 100644
--- a/drivers/iio/accel/stk8ba50.c
+++ b/drivers/iio/accel/stk8ba50.c
@@ -330,8 +330,7 @@ static irqreturn_t stk8ba50_trigger_handler(int irq, void *p)
goto err;
}
} else {
- for_each_set_bit(bit, indio_dev->active_scan_mask,
- indio_dev->masklength) {
+ iio_for_each_active_channel(indio_dev, bit) {
ret = stk8ba50_read_accel(data,
stk8ba50_channel_table[bit]);
if (ret < 0)
--
2.45.2
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [PATCH 14/20] iio: adc: ad7266: make use of iio_get_masklength()
2024-07-02 16:02 [PATCH 00/20] iio: make masklength __private (round 1) Nuno Sa via B4 Relay
` (12 preceding siblings ...)
2024-07-02 16:02 ` [PATCH 13/20] iio: accel: stk8ba50: " Nuno Sa via B4 Relay
@ 2024-07-02 16:02 ` Nuno Sa via B4 Relay
2024-07-03 6:40 ` Alexandru Ardelean
2024-07-02 16:02 ` [PATCH 15/20] iio: adc: ad7298: " Nuno Sa via B4 Relay
` (6 subsequent siblings)
20 siblings, 1 reply; 45+ messages in thread
From: Nuno Sa via B4 Relay @ 2024-07-02 16:02 UTC (permalink / raw)
To: linux-iio, chrome-platform, linux-arm-kernel
Cc: Alexandre Belloni, Lars-Peter Clausen, Michael Hennerich,
Cosmin Tanislav, Claudiu Beznea, Guenter Roeck, Dmitry Rokosov,
Benson Leung, Jonathan Cameron
From: Nuno Sa <nuno.sa@analog.com>
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>
---
drivers/iio/adc/ad7266.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/iio/adc/ad7266.c b/drivers/iio/adc/ad7266.c
index 874d2dc34f928..accb78d4c3086 100644
--- a/drivers/iio/adc/ad7266.c
+++ b/drivers/iio/adc/ad7266.c
@@ -123,7 +123,8 @@ static int ad7266_update_scan_mode(struct iio_dev *indio_dev,
const unsigned long *scan_mask)
{
struct ad7266_state *st = iio_priv(indio_dev);
- unsigned int nr = find_first_bit(scan_mask, indio_dev->masklength);
+ unsigned int nr = find_first_bit(scan_mask,
+ iio_get_masklength(indio_dev));
ad7266_select_input(st, nr);
--
2.45.2
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [PATCH 15/20] iio: adc: ad7298: make use of iio_get_masklength()
2024-07-02 16:02 [PATCH 00/20] iio: make masklength __private (round 1) Nuno Sa via B4 Relay
` (13 preceding siblings ...)
2024-07-02 16:02 ` [PATCH 14/20] iio: adc: ad7266: make use of iio_get_masklength() Nuno Sa via B4 Relay
@ 2024-07-02 16:02 ` Nuno Sa via B4 Relay
2024-07-03 6:41 ` Alexandru Ardelean
2024-07-02 16:02 ` [PATCH 16/20] iio: adc: ad799x: " Nuno Sa via B4 Relay
` (5 subsequent siblings)
20 siblings, 1 reply; 45+ messages in thread
From: Nuno Sa via B4 Relay @ 2024-07-02 16:02 UTC (permalink / raw)
To: linux-iio, chrome-platform, linux-arm-kernel
Cc: Alexandre Belloni, Lars-Peter Clausen, Michael Hennerich,
Cosmin Tanislav, Claudiu Beznea, Guenter Roeck, Dmitry Rokosov,
Benson Leung, Jonathan Cameron
From: Nuno Sa <nuno.sa@analog.com>
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>
---
drivers/iio/adc/ad7298.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/iio/adc/ad7298.c b/drivers/iio/adc/ad7298.c
index c0430f71f592..0128436367db 100644
--- a/drivers/iio/adc/ad7298.c
+++ b/drivers/iio/adc/ad7298.c
@@ -109,7 +109,8 @@ static int ad7298_update_scan_mode(struct iio_dev *indio_dev,
int scan_count;
/* Now compute overall size */
- scan_count = bitmap_weight(active_scan_mask, indio_dev->masklength);
+ scan_count = bitmap_weight(active_scan_mask,
+ iio_get_masklength(indio_dev));
command = AD7298_WRITE | st->ext_ref;
--
2.45.2
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [PATCH 16/20] iio: adc: ad799x: make use of iio_get_masklength()
2024-07-02 16:02 [PATCH 00/20] iio: make masklength __private (round 1) Nuno Sa via B4 Relay
` (14 preceding siblings ...)
2024-07-02 16:02 ` [PATCH 15/20] iio: adc: ad7298: " Nuno Sa via B4 Relay
@ 2024-07-02 16:02 ` Nuno Sa via B4 Relay
2024-07-03 6:21 ` Alexandru Ardelean
2024-07-02 16:02 ` [PATCH 17/20] iio: adc: ad_sigma_delta: use new '.masklength' accessors Nuno Sa via B4 Relay
` (4 subsequent siblings)
20 siblings, 1 reply; 45+ messages in thread
From: Nuno Sa via B4 Relay @ 2024-07-02 16:02 UTC (permalink / raw)
To: linux-iio, chrome-platform, linux-arm-kernel
Cc: Alexandre Belloni, Lars-Peter Clausen, Michael Hennerich,
Cosmin Tanislav, Claudiu Beznea, Guenter Roeck, Dmitry Rokosov,
Benson Leung, Jonathan Cameron
From: Nuno Sa <nuno.sa@analog.com>
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>
---
drivers/iio/adc/ad799x.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/iio/adc/ad799x.c b/drivers/iio/adc/ad799x.c
index 0f0dcd9ca6b60..0f107e3fc2c85 100644
--- a/drivers/iio/adc/ad799x.c
+++ b/drivers/iio/adc/ad799x.c
@@ -237,7 +237,8 @@ static int ad799x_update_scan_mode(struct iio_dev *indio_dev,
if (!st->rx_buf)
return -ENOMEM;
- st->transfer_size = bitmap_weight(scan_mask, indio_dev->masklength) * 2;
+ st->transfer_size = bitmap_weight(scan_mask,
+ iio_get_masklength(indio_dev)) * 2;
switch (st->id) {
case ad7992:
--
2.45.2
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [PATCH 17/20] iio: adc: ad_sigma_delta: use new '.masklength' accessors
2024-07-02 16:02 [PATCH 00/20] iio: make masklength __private (round 1) Nuno Sa via B4 Relay
` (15 preceding siblings ...)
2024-07-02 16:02 ` [PATCH 16/20] iio: adc: ad799x: " Nuno Sa via B4 Relay
@ 2024-07-02 16:02 ` Nuno Sa via B4 Relay
2024-07-03 6:41 ` Alexandru Ardelean
2024-07-02 16:02 ` [PATCH 18/20] iio: adc: at91_adc: make use of iio_for_each_active_channel() Nuno Sa via B4 Relay
` (3 subsequent siblings)
20 siblings, 1 reply; 45+ messages in thread
From: Nuno Sa via B4 Relay @ 2024-07-02 16:02 UTC (permalink / raw)
To: linux-iio, chrome-platform, linux-arm-kernel
Cc: Alexandre Belloni, Lars-Peter Clausen, Michael Hennerich,
Cosmin Tanislav, Claudiu Beznea, Guenter Roeck, Dmitry Rokosov,
Benson Leung, Jonathan Cameron
From: Nuno Sa <nuno.sa@analog.com>
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>
---
drivers/iio/adc/ad_sigma_delta.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/iio/adc/ad_sigma_delta.c b/drivers/iio/adc/ad_sigma_delta.c
index a2b87f6b7a07..62653d7fe39b 100644
--- a/drivers/iio/adc/ad_sigma_delta.c
+++ b/drivers/iio/adc/ad_sigma_delta.c
@@ -350,7 +350,7 @@ static int ad_sd_buffer_postenable(struct iio_dev *indio_dev)
if (sigma_delta->num_slots == 1) {
channel = find_first_bit(indio_dev->active_scan_mask,
- indio_dev->masklength);
+ iio_get_masklength(indio_dev));
ret = ad_sigma_delta_set_channel(sigma_delta,
indio_dev->channels[channel].address);
if (ret)
@@ -363,7 +363,7 @@ static int ad_sd_buffer_postenable(struct iio_dev *indio_dev)
* implementation is mandatory.
*/
slot = 0;
- for_each_set_bit(i, indio_dev->active_scan_mask, indio_dev->masklength) {
+ iio_for_each_active_channel(indio_dev, i) {
sigma_delta->slots[slot] = indio_dev->channels[i].address;
slot++;
}
@@ -525,7 +525,7 @@ static bool ad_sd_validate_scan_mask(struct iio_dev *indio_dev, const unsigned l
{
struct ad_sigma_delta *sigma_delta = iio_device_get_drvdata(indio_dev);
- return bitmap_weight(mask, indio_dev->masklength) <= sigma_delta->num_slots;
+ return bitmap_weight(mask, iio_get_masklength(indio_dev)) <= sigma_delta->num_slots;
}
static const struct iio_buffer_setup_ops ad_sd_buffer_setup_ops = {
--
2.45.2
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [PATCH 18/20] iio: adc: at91_adc: make use of iio_for_each_active_channel()
2024-07-02 16:02 [PATCH 00/20] iio: make masklength __private (round 1) Nuno Sa via B4 Relay
` (16 preceding siblings ...)
2024-07-02 16:02 ` [PATCH 17/20] iio: adc: ad_sigma_delta: use new '.masklength' accessors Nuno Sa via B4 Relay
@ 2024-07-02 16:02 ` Nuno Sa via B4 Relay
2024-07-03 6:25 ` Alexandru Ardelean
2024-07-02 16:02 ` [PATCH 19/20] iio: imu: adis16475: " Nuno Sa via B4 Relay
` (2 subsequent siblings)
20 siblings, 1 reply; 45+ messages in thread
From: Nuno Sa via B4 Relay @ 2024-07-02 16:02 UTC (permalink / raw)
To: linux-iio, chrome-platform, linux-arm-kernel
Cc: Alexandre Belloni, Lars-Peter Clausen, Michael Hennerich,
Cosmin Tanislav, Claudiu Beznea, Guenter Roeck, Dmitry Rokosov,
Benson Leung, Jonathan Cameron
From: Nuno Sa <nuno.sa@analog.com>
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>
---
drivers/iio/adc/at91_adc.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/iio/adc/at91_adc.c b/drivers/iio/adc/at91_adc.c
index eb501e3c86a5..af4b0224076f 100644
--- a/drivers/iio/adc/at91_adc.c
+++ b/drivers/iio/adc/at91_adc.c
@@ -268,9 +268,7 @@ static irqreturn_t at91_adc_trigger_handler(int irq, void *p)
struct iio_chan_spec const *chan;
int i, j = 0;
- for (i = 0; i < idev->masklength; i++) {
- if (!test_bit(i, idev->active_scan_mask))
- continue;
+ iio_for_each_active_channel(idev, i) {
chan = idev->channels + i;
st->buffer[j] = at91_adc_readl(st, AT91_ADC_CHAN(st, chan->channel));
j++;
--
2.45.2
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [PATCH 19/20] iio: imu: adis16475: make use of iio_for_each_active_channel()
2024-07-02 16:02 [PATCH 00/20] iio: make masklength __private (round 1) Nuno Sa via B4 Relay
` (17 preceding siblings ...)
2024-07-02 16:02 ` [PATCH 18/20] iio: adc: at91_adc: make use of iio_for_each_active_channel() Nuno Sa via B4 Relay
@ 2024-07-02 16:02 ` Nuno Sa via B4 Relay
2024-07-03 6:41 ` Alexandru Ardelean
2024-07-02 16:02 ` [PATCH 20/20] iio: imu: adis16480: " Nuno Sa via B4 Relay
2024-07-02 20:26 ` [PATCH 00/20] iio: make masklength __private (round 1) Jonathan Cameron
20 siblings, 1 reply; 45+ messages in thread
From: Nuno Sa via B4 Relay @ 2024-07-02 16:02 UTC (permalink / raw)
To: linux-iio, chrome-platform, linux-arm-kernel
Cc: Alexandre Belloni, Lars-Peter Clausen, Michael Hennerich,
Cosmin Tanislav, Claudiu Beznea, Guenter Roeck, Dmitry Rokosov,
Benson Leung, Jonathan Cameron
From: Nuno Sa <nuno.sa@analog.com>
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>
---
drivers/iio/imu/adis16475.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/iio/imu/adis16475.c b/drivers/iio/imu/adis16475.c
index cf73c6f46c79d..1cc2a66a78ff3 100644
--- a/drivers/iio/imu/adis16475.c
+++ b/drivers/iio/imu/adis16475.c
@@ -1608,8 +1608,7 @@ static int adis16475_push_single_sample(struct iio_poll_func *pf)
return -EINVAL;
}
- for_each_set_bit(bit, indio_dev->active_scan_mask,
- indio_dev->masklength) {
+ iio_for_each_active_channel(indio_dev, bit) {
/*
* When burst mode is used, system flags is the first data
* channel in the sequence, but the scan index is 7.
--
2.45.2
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [PATCH 20/20] iio: imu: adis16480: make use of iio_for_each_active_channel()
2024-07-02 16:02 [PATCH 00/20] iio: make masklength __private (round 1) Nuno Sa via B4 Relay
` (18 preceding siblings ...)
2024-07-02 16:02 ` [PATCH 19/20] iio: imu: adis16475: " Nuno Sa via B4 Relay
@ 2024-07-02 16:02 ` Nuno Sa via B4 Relay
2024-07-03 6:42 ` Alexandru Ardelean
2024-07-02 20:26 ` [PATCH 00/20] iio: make masklength __private (round 1) Jonathan Cameron
20 siblings, 1 reply; 45+ messages in thread
From: Nuno Sa via B4 Relay @ 2024-07-02 16:02 UTC (permalink / raw)
To: linux-iio, chrome-platform, linux-arm-kernel
Cc: Alexandre Belloni, Lars-Peter Clausen, Michael Hennerich,
Cosmin Tanislav, Claudiu Beznea, Guenter Roeck, Dmitry Rokosov,
Benson Leung, Jonathan Cameron
From: Nuno Sa <nuno.sa@analog.com>
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>
---
drivers/iio/imu/adis16480.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/iio/imu/adis16480.c b/drivers/iio/imu/adis16480.c
index 56ca5a09fbbfc..2f08268bd724a 100644
--- a/drivers/iio/imu/adis16480.c
+++ b/drivers/iio/imu/adis16480.c
@@ -1410,7 +1410,7 @@ static irqreturn_t adis16480_trigger_handler(int irq, void *p)
goto irq_done;
}
- for_each_set_bit(bit, indio_dev->active_scan_mask, indio_dev->masklength) {
+ iio_for_each_active_channel(indio_dev, bit) {
/*
* When burst mode is used, temperature is the first data
* channel in the sequence, but the temperature scan index
--
2.45.2
^ permalink raw reply related [flat|nested] 45+ messages in thread
* Re: [PATCH 00/20] iio: make masklength __private (round 1)
2024-07-02 16:02 [PATCH 00/20] iio: make masklength __private (round 1) Nuno Sa via B4 Relay
` (19 preceding siblings ...)
2024-07-02 16:02 ` [PATCH 20/20] iio: imu: adis16480: " Nuno Sa via B4 Relay
@ 2024-07-02 20:26 ` Jonathan Cameron
2024-07-03 7:10 ` Nuno Sá
20 siblings, 1 reply; 45+ messages in thread
From: Jonathan Cameron @ 2024-07-02 20:26 UTC (permalink / raw)
To: Nuno Sa via B4 Relay
Cc: chrome-platform, Alexandre Belloni, Lars-Peter Clausen,
Michael Hennerich, linux-iio, nuno.sa, Cosmin Tanislav,
Claudiu Beznea, Guenter Roeck, Dmitry Rokosov, Benson Leung,
linux-arm-kernel
On Tue, 02 Jul 2024 18:02:32 +0200
Nuno Sa via B4 Relay <devnull+nuno.sa.analog.com@kernel.org> wrote:
> Hi Jonathan,
>
> Here it goes the first round of what we discussed in [1] about
> annotating .masklength as __private. Patches should be fairly simple so
> hopefully I did not messed up much...
>
> Note that in core, there's one place where we're still directly writing
> into .masklength (when it's effectively set). The plan is then to
> directly use ACCESS_PRIVATE() in there in the same patch where we mark
> .masklength as __private.
Makes sense. Series looks good to me, but I'll not pick it up just yet.
I've tagged a like second 6.11 pull request, so this is probably 6.12 material
unless things go particularly smoothly and Greg takes an additional last
minute one as there is one set waiting for a fix that is in char-misc
but not yet iio-togreg.
Jonathan
>
> Note this was only compile tested for arm with allyesconfig.
>
> [1]: https://lore.kernel.org/linux-iio/20240612-dev-iio-scan-private-v1-0-7c75c8e3d30b@analog.com/
>
> ---
> Nuno Sa (20):
> iio: core: add accessors 'masklength'
> iio: core: make use of iio_get_masklength()
> iio: buffer: make use of iio_get_masklength()
> iio: accel: adxl367: make use of iio_get_masklength()
> iio: accel: adx1372: make use of iio_get_masklength()
> iio: accel: bma180: make use of iio_for_each_active_channel()
> iio: accel: bmc150-accel-core: make use of iio_for_each_active_channel()
> iio: accel: cros_ec_accel_legacy: make use of iio_get_masklength()
> iio: accel: fxls8962af-core: make use of iio_for_each_active_channel()
> iio: accel: msa311: make use of iio_for_each_active_channel()
> iio: accel: sca3300: make use of iio_for_each_active_channel()
> iio: accel: stk8312: make use of iio_for_each_active_channel()
> iio: accel: stk8ba50: make use of iio_for_each_active_channel()
> iio: adc: ad7266: make use of iio_get_masklength()
> iio: adc: ad7298: make use of iio_get_masklength()
> iio: adc: ad799x: make use of iio_get_masklength()
> iio: adc: ad_sigma_delta: use new '.masklength' accessors
> iio: adc: at91_adc: make use of iio_for_each_active_channel()
> iio: imu: adis16475: make use of iio_for_each_active_channel()
> iio: imu: adis16480: make use of iio_for_each_active_channel()
>
> drivers/iio/accel/adxl367.c | 2 +-
> drivers/iio/accel/adxl372.c | 2 +-
> drivers/iio/accel/bma180.c | 3 +-
> drivers/iio/accel/bmc150-accel-core.c | 3 +-
> drivers/iio/accel/cros_ec_accel_legacy.c | 2 +-
> drivers/iio/accel/fxls8962af-core.c | 3 +-
> drivers/iio/accel/msa311.c | 3 +-
> drivers/iio/accel/sca3300.c | 3 +-
> drivers/iio/accel/stk8312.c | 3 +-
> drivers/iio/accel/stk8ba50.c | 3 +-
> drivers/iio/adc/ad7266.c | 3 +-
> drivers/iio/adc/ad7298.c | 3 +-
> drivers/iio/adc/ad799x.c | 3 +-
> drivers/iio/adc/ad_sigma_delta.c | 6 ++--
> drivers/iio/adc/at91_adc.c | 4 +--
> drivers/iio/buffer/industrialio-buffer-cb.c | 2 +-
> drivers/iio/buffer/industrialio-hw-consumer.c | 4 +--
> drivers/iio/imu/adis16475.c | 3 +-
> drivers/iio/imu/adis16480.c | 2 +-
> drivers/iio/industrialio-buffer.c | 50 ++++++++++++---------------
> drivers/iio/industrialio-core.c | 2 +-
> include/linux/iio/iio.h | 18 ++++++++++
> 22 files changed, 67 insertions(+), 60 deletions(-)
> ---
> base-commit: 21ab030b8f8b4704c299435e167824ec90c8bab5
> change-id: 20240617-dev-iio-masklength-private-023cb295a786
> --
>
> Thanks!
> - Nuno Sá
>
>
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH 01/20] iio: core: add accessors 'masklength'
2024-07-02 16:02 ` [PATCH 01/20] iio: core: add accessors 'masklength' Nuno Sa via B4 Relay
@ 2024-07-03 6:10 ` Alexandru Ardelean
0 siblings, 0 replies; 45+ messages in thread
From: Alexandru Ardelean @ 2024-07-03 6:10 UTC (permalink / raw)
To: nuno.sa
Cc: chrome-platform, Alexandre Belloni, Lars-Peter Clausen,
Michael Hennerich, linux-iio, Claudiu Beznea, Cosmin Tanislav,
linux-arm-kernel, Guenter Roeck, Dmitry Rokosov, Benson Leung,
Jonathan Cameron
On Tue, Jul 2, 2024 at 7:02 PM Nuno Sa via B4 Relay
<devnull+nuno.sa.analog.com@kernel.org> wrote:
>
> From: Nuno Sa <nuno.sa@analog.com>
>
> '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.
>
Reviewed-by: Alexandru Ardelean <aardelean@baylibre.com>
> Signed-off-by: Nuno Sa <nuno.sa@analog.com>
> ---
> include/linux/iio/iio.h | 18 ++++++++++++++++++
> 1 file changed, 18 insertions(+)
>
> diff --git a/include/linux/iio/iio.h b/include/linux/iio/iio.h
> index 894309294182d..dd6bbc468283e 100644
> --- a/include/linux/iio/iio.h
> +++ b/include/linux/iio/iio.h
> @@ -855,6 +855,24 @@ static inline const struct iio_scan_type
> return &chan->scan_type;
> }
>
> +/**
> + * iio_get_masklength - Get length of the channels mask
> + * @indio_dev: the IIO device to get the masklength for
> + */
> +static inline unsigned int iio_get_masklength(const struct iio_dev *indio_dev)
> +{
> + return indio_dev->masklength;
> +}
> +
> +/**
> + * iio_for_each_active_channel - Iterated over active channels
> + * @indio_dev: the IIO device
> + * @chan: Holds the index of the enabled channel
> + */
> +#define iio_for_each_active_channel(indio_dev, chan) \
> + for_each_set_bit((chan), (indio_dev)->active_scan_mask, \
> + iio_get_masklength(indio_dev))
> +
> ssize_t iio_format_value(char *buf, unsigned int type, int size, int *vals);
>
> int iio_str_to_fixpoint(const char *str, int fract_mult, int *integer,
>
> --
> 2.45.2
>
>
>
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH 02/20] iio: core: make use of iio_get_masklength()
2024-07-02 16:02 ` [PATCH 02/20] iio: core: make use of iio_get_masklength() Nuno Sa via B4 Relay
@ 2024-07-03 6:13 ` Alexandru Ardelean
0 siblings, 0 replies; 45+ messages in thread
From: Alexandru Ardelean @ 2024-07-03 6:13 UTC (permalink / raw)
To: nuno.sa
Cc: chrome-platform, Alexandre Belloni, Lars-Peter Clausen,
Michael Hennerich, linux-iio, Claudiu Beznea, Cosmin Tanislav,
linux-arm-kernel, Guenter Roeck, Dmitry Rokosov, Benson Leung,
Jonathan Cameron
On Tue, Jul 2, 2024 at 7:02 PM Nuno Sa via B4 Relay
<devnull+nuno.sa.analog.com@kernel.org> wrote:
>
> From: Nuno Sa <nuno.sa@analog.com>
>
> Use iio_get_masklength() to access '.masklength' so it can be annotated
> as __private when there are no more direct users of it.
>
Well, in `industrialio-core.c` it mostly helps to use the accessor in
order to make grepping easier.
Reviewed-by: Alexandru Ardelean <aardelean@baylibre.com>
> Signed-off-by: Nuno Sa <nuno.sa@analog.com>
> ---
> drivers/iio/industrialio-core.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/iio/industrialio-core.c b/drivers/iio/industrialio-core.c
> index 2f185b3869495..e392a10aaf320 100644
> --- a/drivers/iio/industrialio-core.c
> +++ b/drivers/iio/industrialio-core.c
> @@ -1907,7 +1907,7 @@ static void iio_sanity_check_avail_scan_masks(struct iio_dev *indio_dev)
> int i;
>
> av_masks = indio_dev->available_scan_masks;
> - masklength = indio_dev->masklength;
> + masklength = iio_get_masklength(indio_dev);
> longs_per_mask = BITS_TO_LONGS(masklength);
>
> /*
>
> --
> 2.45.2
>
>
>
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH 03/20] iio: buffer: make use of iio_get_masklength()
2024-07-02 16:02 ` [PATCH 03/20] iio: buffer: " Nuno Sa via B4 Relay
@ 2024-07-03 6:14 ` Alexandru Ardelean
0 siblings, 0 replies; 45+ messages in thread
From: Alexandru Ardelean @ 2024-07-03 6:14 UTC (permalink / raw)
To: nuno.sa
Cc: chrome-platform, Alexandre Belloni, Lars-Peter Clausen,
Michael Hennerich, linux-iio, Claudiu Beznea, Cosmin Tanislav,
linux-arm-kernel, Guenter Roeck, Dmitry Rokosov, Benson Leung,
Jonathan Cameron
On Tue, Jul 2, 2024 at 7:02 PM Nuno Sa via B4 Relay
<devnull+nuno.sa.analog.com@kernel.org> wrote:
>
> From: Nuno Sa <nuno.sa@analog.com>
>
> 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.
>
Reviewed-by: Alexandru Ardelean <aardelean@baylibre.com>
> Signed-off-by: Nuno Sa <nuno.sa@analog.com>
> ---
> drivers/iio/buffer/industrialio-buffer-cb.c | 2 +-
> drivers/iio/buffer/industrialio-hw-consumer.c | 4 +--
> drivers/iio/industrialio-buffer.c | 50 ++++++++++++---------------
> 3 files changed, 26 insertions(+), 30 deletions(-)
>
> diff --git a/drivers/iio/buffer/industrialio-buffer-cb.c b/drivers/iio/buffer/industrialio-buffer-cb.c
> index 4c12b7a94af59..4befc9f55201e 100644
> --- a/drivers/iio/buffer/industrialio-buffer-cb.c
> +++ b/drivers/iio/buffer/industrialio-buffer-cb.c
> @@ -77,7 +77,7 @@ struct iio_cb_buffer *iio_channel_get_all_cb(struct device *dev,
> }
>
> cb_buff->indio_dev = cb_buff->channels[0].indio_dev;
> - cb_buff->buffer.scan_mask = bitmap_zalloc(cb_buff->indio_dev->masklength,
> + cb_buff->buffer.scan_mask = bitmap_zalloc(iio_get_masklength(cb_buff->indio_dev),
> GFP_KERNEL);
> if (cb_buff->buffer.scan_mask == NULL) {
> ret = -ENOMEM;
> diff --git a/drivers/iio/buffer/industrialio-hw-consumer.c b/drivers/iio/buffer/industrialio-hw-consumer.c
> index fb58f599a80b1..526b2a8d725d1 100644
> --- a/drivers/iio/buffer/industrialio-hw-consumer.c
> +++ b/drivers/iio/buffer/industrialio-hw-consumer.c
> @@ -52,6 +52,7 @@ static const struct iio_buffer_access_funcs iio_hw_buf_access = {
> static struct hw_consumer_buffer *iio_hw_consumer_get_buffer(
> struct iio_hw_consumer *hwc, struct iio_dev *indio_dev)
> {
> + unsigned int mask_longs = BITS_TO_LONGS(iio_get_masklength(indio_dev));
> struct hw_consumer_buffer *buf;
>
> list_for_each_entry(buf, &hwc->buffers, head) {
> @@ -59,8 +60,7 @@ static struct hw_consumer_buffer *iio_hw_consumer_get_buffer(
> return buf;
> }
>
> - buf = kzalloc(struct_size(buf, scan_mask, BITS_TO_LONGS(indio_dev->masklength)),
> - GFP_KERNEL);
> + buf = kzalloc(struct_size(buf, scan_mask, mask_longs), GFP_KERNEL);
> if (!buf)
> return NULL;
>
> diff --git a/drivers/iio/industrialio-buffer.c b/drivers/iio/industrialio-buffer.c
> index 0138b21b244f0..389bfb238b510 100644
> --- a/drivers/iio/industrialio-buffer.c
> +++ b/drivers/iio/industrialio-buffer.c
> @@ -473,18 +473,19 @@ static bool iio_validate_scan_mask(struct iio_dev *indio_dev,
> static int iio_scan_mask_set(struct iio_dev *indio_dev,
> struct iio_buffer *buffer, int bit)
> {
> + unsigned int masklength = iio_get_masklength(indio_dev);
> const unsigned long *mask;
> unsigned long *trialmask;
>
> - if (!indio_dev->masklength) {
> + if (!masklength) {
> WARN(1, "Trying to set scanmask prior to registering buffer\n");
> return -EINVAL;
> }
>
> - trialmask = bitmap_alloc(indio_dev->masklength, GFP_KERNEL);
> + trialmask = bitmap_alloc(masklength, GFP_KERNEL);
> if (!trialmask)
> return -ENOMEM;
> - bitmap_copy(trialmask, buffer->scan_mask, indio_dev->masklength);
> + bitmap_copy(trialmask, buffer->scan_mask, masklength);
> set_bit(bit, trialmask);
>
> if (!iio_validate_scan_mask(indio_dev, trialmask))
> @@ -492,12 +493,11 @@ static int iio_scan_mask_set(struct iio_dev *indio_dev,
>
> if (indio_dev->available_scan_masks) {
> mask = iio_scan_mask_match(indio_dev->available_scan_masks,
> - indio_dev->masklength,
> - trialmask, false);
> + masklength, trialmask, false);
> if (!mask)
> goto err_invalid_mask;
> }
> - bitmap_copy(buffer->scan_mask, trialmask, indio_dev->masklength);
> + bitmap_copy(buffer->scan_mask, trialmask, masklength);
>
> bitmap_free(trialmask);
>
> @@ -517,7 +517,7 @@ static int iio_scan_mask_clear(struct iio_buffer *buffer, int bit)
> static int iio_scan_mask_query(struct iio_dev *indio_dev,
> struct iio_buffer *buffer, int bit)
> {
> - if (bit > indio_dev->masklength)
> + if (bit > iio_get_masklength(indio_dev))
> return -EINVAL;
>
> if (!buffer->scan_mask)
> @@ -733,8 +733,7 @@ static int iio_compute_scan_bytes(struct iio_dev *indio_dev,
> int length, i, largest = 0;
>
> /* How much space will the demuxed element take? */
> - for_each_set_bit(i, mask,
> - indio_dev->masklength) {
> + for_each_set_bit(i, mask, iio_get_masklength(indio_dev)) {
> length = iio_storage_bytes_for_si(indio_dev, i);
> if (length < 0)
> return length;
> @@ -855,6 +854,7 @@ static int iio_verify_update(struct iio_dev *indio_dev,
> struct iio_device_config *config)
> {
> struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev);
> + unsigned int masklength = iio_get_masklength(indio_dev);
> unsigned long *compound_mask;
> const unsigned long *scan_mask;
> bool strict_scanmask = false;
> @@ -863,7 +863,7 @@ static int iio_verify_update(struct iio_dev *indio_dev,
> unsigned int modes;
>
> if (insert_buffer &&
> - bitmap_empty(insert_buffer->scan_mask, indio_dev->masklength)) {
> + bitmap_empty(insert_buffer->scan_mask, masklength)) {
> dev_dbg(&indio_dev->dev,
> "At least one scan element must be enabled first\n");
> return -EINVAL;
> @@ -917,7 +917,7 @@ static int iio_verify_update(struct iio_dev *indio_dev,
> }
>
> /* What scan mask do we actually have? */
> - compound_mask = bitmap_zalloc(indio_dev->masklength, GFP_KERNEL);
> + compound_mask = bitmap_zalloc(masklength, GFP_KERNEL);
> if (!compound_mask)
> return -ENOMEM;
>
> @@ -927,20 +927,19 @@ static int iio_verify_update(struct iio_dev *indio_dev,
> if (buffer == remove_buffer)
> continue;
> bitmap_or(compound_mask, compound_mask, buffer->scan_mask,
> - indio_dev->masklength);
> + masklength);
> scan_timestamp |= buffer->scan_timestamp;
> }
>
> if (insert_buffer) {
> bitmap_or(compound_mask, compound_mask,
> - insert_buffer->scan_mask, indio_dev->masklength);
> + insert_buffer->scan_mask, masklength);
> scan_timestamp |= insert_buffer->scan_timestamp;
> }
>
> if (indio_dev->available_scan_masks) {
> scan_mask = iio_scan_mask_match(indio_dev->available_scan_masks,
> - indio_dev->masklength,
> - compound_mask,
> + masklength, compound_mask,
> strict_scanmask);
> bitmap_free(compound_mask);
> if (!scan_mask)
> @@ -1005,6 +1004,7 @@ static int iio_buffer_add_demux(struct iio_buffer *buffer,
> static int iio_buffer_update_demux(struct iio_dev *indio_dev,
> struct iio_buffer *buffer)
> {
> + unsigned int masklength = iio_get_masklength(indio_dev);
> int ret, in_ind = -1, out_ind, length;
> unsigned int in_loc = 0, out_loc = 0;
> struct iio_demux_table *p = NULL;
> @@ -1016,17 +1016,13 @@ static int iio_buffer_update_demux(struct iio_dev *indio_dev,
>
> /* First work out which scan mode we will actually have */
> if (bitmap_equal(indio_dev->active_scan_mask,
> - buffer->scan_mask,
> - indio_dev->masklength))
> + buffer->scan_mask, masklength))
> return 0;
>
> /* Now we have the two masks, work from least sig and build up sizes */
> - for_each_set_bit(out_ind,
> - buffer->scan_mask,
> - indio_dev->masklength) {
> + for_each_set_bit(out_ind, buffer->scan_mask, masklength) {
> in_ind = find_next_bit(indio_dev->active_scan_mask,
> - indio_dev->masklength,
> - in_ind + 1);
> + masklength, in_ind + 1);
> while (in_ind != out_ind) {
> ret = iio_storage_bytes_for_si(indio_dev, in_ind);
> if (ret < 0)
> @@ -1036,8 +1032,7 @@ static int iio_buffer_update_demux(struct iio_dev *indio_dev,
> /* Make sure we are aligned */
> in_loc = roundup(in_loc, length) + length;
> in_ind = find_next_bit(indio_dev->active_scan_mask,
> - indio_dev->masklength,
> - in_ind + 1);
> + masklength, in_ind + 1);
> }
> ret = iio_storage_bytes_for_si(indio_dev, in_ind);
> if (ret < 0)
> @@ -1646,6 +1641,7 @@ static int __iio_buffer_alloc_sysfs_and_mask(struct iio_buffer *buffer,
> int index)
> {
> struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev);
> + unsigned int masklength = iio_get_masklength(indio_dev);
> struct iio_dev_attr *p;
> const struct iio_dev_attr *id_attr;
> struct attribute **attr;
> @@ -1708,8 +1704,8 @@ static int __iio_buffer_alloc_sysfs_and_mask(struct iio_buffer *buffer,
> iio_dev_opaque->scan_index_timestamp =
> channels[i].scan_index;
> }
> - if (indio_dev->masklength && !buffer->scan_mask) {
> - buffer->scan_mask = bitmap_zalloc(indio_dev->masklength,
> + if (masklength && !buffer->scan_mask) {
> + buffer->scan_mask = bitmap_zalloc(masklength,
> GFP_KERNEL);
> if (!buffer->scan_mask) {
> ret = -ENOMEM;
> @@ -1879,7 +1875,7 @@ void iio_buffers_free_sysfs_and_mask(struct iio_dev *indio_dev)
> bool iio_validate_scan_mask_onehot(struct iio_dev *indio_dev,
> const unsigned long *mask)
> {
> - return bitmap_weight(mask, indio_dev->masklength) == 1;
> + return bitmap_weight(mask, iio_get_masklength(indio_dev)) == 1;
> }
> EXPORT_SYMBOL_GPL(iio_validate_scan_mask_onehot);
>
>
> --
> 2.45.2
>
>
>
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH 04/20] iio: accel: adxl367: make use of iio_get_masklength()
2024-07-02 16:02 ` [PATCH 04/20] iio: accel: adxl367: " Nuno Sa via B4 Relay
@ 2024-07-03 6:15 ` Alexandru Ardelean
0 siblings, 0 replies; 45+ messages in thread
From: Alexandru Ardelean @ 2024-07-03 6:15 UTC (permalink / raw)
To: nuno.sa
Cc: chrome-platform, Alexandre Belloni, Lars-Peter Clausen,
Michael Hennerich, linux-iio, Claudiu Beznea, Cosmin Tanislav,
linux-arm-kernel, Guenter Roeck, Dmitry Rokosov, Benson Leung,
Jonathan Cameron
On Tue, Jul 2, 2024 at 7:02 PM Nuno Sa via B4 Relay
<devnull+nuno.sa.analog.com@kernel.org> wrote:
>
> From: Nuno Sa <nuno.sa@analog.com>
>
> Use iio_get_masklength() to access '.masklength' so it can be annotated
> as __private when there are no more direct users of it.
>
Reviewed-by: Alexandru Ardelean <aardelean@baylibre.com>
> Signed-off-by: Nuno Sa <nuno.sa@analog.com>
> ---
> drivers/iio/accel/adxl367.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/iio/accel/adxl367.c b/drivers/iio/accel/adxl367.c
> index 5cf4828a5eb5..1c046e96aef9 100644
> --- a/drivers/iio/accel/adxl367.c
> +++ b/drivers/iio/accel/adxl367.c
> @@ -1220,7 +1220,7 @@ static int adxl367_update_scan_mode(struct iio_dev *indio_dev,
> return ret;
>
> st->fifo_set_size = bitmap_weight(active_scan_mask,
> - indio_dev->masklength);
> + iio_get_masklength(indio_dev));
>
> return 0;
> }
>
> --
> 2.45.2
>
>
>
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH 05/20] iio: accel: adx1372: make use of iio_get_masklength()
2024-07-02 16:02 ` [PATCH 05/20] iio: accel: adx1372: " Nuno Sa via B4 Relay
@ 2024-07-03 6:17 ` Alexandru Ardelean
0 siblings, 0 replies; 45+ messages in thread
From: Alexandru Ardelean @ 2024-07-03 6:17 UTC (permalink / raw)
To: nuno.sa
Cc: chrome-platform, Alexandre Belloni, Lars-Peter Clausen,
Michael Hennerich, linux-iio, Claudiu Beznea, Cosmin Tanislav,
linux-arm-kernel, Guenter Roeck, Dmitry Rokosov, Benson Leung,
Jonathan Cameron
On Tue, Jul 2, 2024 at 7:02 PM Nuno Sa via B4 Relay
<devnull+nuno.sa.analog.com@kernel.org> wrote:
>
> From: Nuno Sa <nuno.sa@analog.com>
>
> Use iio_get_masklength() to access '.masklength' so it can be annotated
> as __private when there are no more direct users of it.
>
Typo in commit title adx1372 -> adxl372
With that addressed:
Reviewed-by: Alexandru Ardelean <aardelean@baylibre.com>
> Signed-off-by: Nuno Sa <nuno.sa@analog.com>
> ---
> drivers/iio/accel/adxl372.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/iio/accel/adxl372.c b/drivers/iio/accel/adxl372.c
> index c4193286eb05..ef8dd557877b 100644
> --- a/drivers/iio/accel/adxl372.c
> +++ b/drivers/iio/accel/adxl372.c
> @@ -1050,7 +1050,7 @@ static int adxl372_buffer_postenable(struct iio_dev *indio_dev)
> st->fifo_format = adxl372_axis_lookup_table[i].fifo_format;
> st->fifo_axis_mask = adxl372_axis_lookup_table[i].bits;
> st->fifo_set_size = bitmap_weight(indio_dev->active_scan_mask,
> - indio_dev->masklength);
> + iio_get_masklength(indio_dev));
>
> /* Configure the FIFO to store sets of impact event peak. */
> if (st->peak_fifo_mode_en) {
>
> --
> 2.45.2
>
>
>
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH 16/20] iio: adc: ad799x: make use of iio_get_masklength()
2024-07-02 16:02 ` [PATCH 16/20] iio: adc: ad799x: " Nuno Sa via B4 Relay
@ 2024-07-03 6:21 ` Alexandru Ardelean
0 siblings, 0 replies; 45+ messages in thread
From: Alexandru Ardelean @ 2024-07-03 6:21 UTC (permalink / raw)
To: nuno.sa
Cc: chrome-platform, Alexandre Belloni, Lars-Peter Clausen,
Michael Hennerich, linux-iio, Claudiu Beznea, Cosmin Tanislav,
linux-arm-kernel, Guenter Roeck, Dmitry Rokosov, Benson Leung,
Jonathan Cameron
On Tue, Jul 2, 2024 at 7:03 PM Nuno Sa via B4 Relay
<devnull+nuno.sa.analog.com@kernel.org> wrote:
>
> From: Nuno Sa <nuno.sa@analog.com>
>
> Use iio_get_masklength() to access '.masklength' so it can be annotated
> as __private when there are no more direct users of it.
>
At this point, I am wondering if it would make sense to go a little
further with the abstraction and find a wrapper for the
"bitmap_weight(indio_dev->active_scan_mask, indio_dev->masklength)"
Maybe it's doable at a later point.
Reviewed-by: Alexandru Ardelean <aardelean@baylibre.com>
> Signed-off-by: Nuno Sa <nuno.sa@analog.com>
> ---
> drivers/iio/adc/ad799x.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/iio/adc/ad799x.c b/drivers/iio/adc/ad799x.c
> index 0f0dcd9ca6b60..0f107e3fc2c85 100644
> --- a/drivers/iio/adc/ad799x.c
> +++ b/drivers/iio/adc/ad799x.c
> @@ -237,7 +237,8 @@ static int ad799x_update_scan_mode(struct iio_dev *indio_dev,
> if (!st->rx_buf)
> return -ENOMEM;
>
> - st->transfer_size = bitmap_weight(scan_mask, indio_dev->masklength) * 2;
> + st->transfer_size = bitmap_weight(scan_mask,
> + iio_get_masklength(indio_dev)) * 2;
>
> switch (st->id) {
> case ad7992:
>
> --
> 2.45.2
>
>
>
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH 06/20] iio: accel: bma180: make use of iio_for_each_active_channel()
2024-07-02 16:02 ` [PATCH 06/20] iio: accel: bma180: make use of iio_for_each_active_channel() Nuno Sa via B4 Relay
@ 2024-07-03 6:23 ` Alexandru Ardelean
0 siblings, 0 replies; 45+ messages in thread
From: Alexandru Ardelean @ 2024-07-03 6:23 UTC (permalink / raw)
To: nuno.sa
Cc: chrome-platform, Alexandre Belloni, Lars-Peter Clausen,
Michael Hennerich, linux-iio, Claudiu Beznea, Cosmin Tanislav,
linux-arm-kernel, Guenter Roeck, Dmitry Rokosov, Benson Leung,
Jonathan Cameron
On Tue, Jul 2, 2024 at 7:02 PM Nuno Sa via B4 Relay
<devnull+nuno.sa.analog.com@kernel.org> wrote:
>
> From: Nuno Sa <nuno.sa@analog.com>
>
> 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.
>
Reviewed-by: Alexandru Ardelean <aardelean@baylibre.com>
> Signed-off-by: Nuno Sa <nuno.sa@analog.com>
> ---
> drivers/iio/accel/bma180.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/iio/accel/bma180.c b/drivers/iio/accel/bma180.c
> index 6581772cb0c46..2445a0f7bc2ba 100644
> --- a/drivers/iio/accel/bma180.c
> +++ b/drivers/iio/accel/bma180.c
> @@ -876,8 +876,7 @@ static irqreturn_t bma180_trigger_handler(int irq, void *p)
>
> mutex_lock(&data->mutex);
>
> - for_each_set_bit(bit, indio_dev->active_scan_mask,
> - indio_dev->masklength) {
> + iio_for_each_active_channel(indio_dev, bit) {
> ret = bma180_get_data_reg(data, bit);
> if (ret < 0) {
> mutex_unlock(&data->mutex);
>
> --
> 2.45.2
>
>
>
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH 07/20] iio: accel: bmc150-accel-core: make use of iio_for_each_active_channel()
2024-07-02 16:02 ` [PATCH 07/20] iio: accel: bmc150-accel-core: " Nuno Sa via B4 Relay
@ 2024-07-03 6:24 ` Alexandru Ardelean
0 siblings, 0 replies; 45+ messages in thread
From: Alexandru Ardelean @ 2024-07-03 6:24 UTC (permalink / raw)
To: nuno.sa
Cc: chrome-platform, Alexandre Belloni, Lars-Peter Clausen,
Michael Hennerich, linux-iio, Claudiu Beznea, Cosmin Tanislav,
linux-arm-kernel, Guenter Roeck, Dmitry Rokosov, Benson Leung,
Jonathan Cameron
On Tue, Jul 2, 2024 at 7:02 PM Nuno Sa via B4 Relay
<devnull+nuno.sa.analog.com@kernel.org> wrote:
>
> From: Nuno Sa <nuno.sa@analog.com>
>
> 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.
>
Reviewed-by: Alexandru Ardelean <aardelean@baylibre.com>
> Signed-off-by: Nuno Sa <nuno.sa@analog.com>
> ---
> drivers/iio/accel/bmc150-accel-core.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/iio/accel/bmc150-accel-core.c b/drivers/iio/accel/bmc150-accel-core.c
> index ae0cd48a3e293..03121d020470e 100644
> --- a/drivers/iio/accel/bmc150-accel-core.c
> +++ b/drivers/iio/accel/bmc150-accel-core.c
> @@ -1007,8 +1007,7 @@ static int __bmc150_accel_fifo_flush(struct iio_dev *indio_dev,
> int j, bit;
>
> j = 0;
> - for_each_set_bit(bit, indio_dev->active_scan_mask,
> - indio_dev->masklength)
> + iio_for_each_active_channel(indio_dev, bit)
> memcpy(&data->scan.channels[j++], &buffer[i * 3 + bit],
> sizeof(data->scan.channels[0]));
>
>
> --
> 2.45.2
>
>
>
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH 18/20] iio: adc: at91_adc: make use of iio_for_each_active_channel()
2024-07-02 16:02 ` [PATCH 18/20] iio: adc: at91_adc: make use of iio_for_each_active_channel() Nuno Sa via B4 Relay
@ 2024-07-03 6:25 ` Alexandru Ardelean
0 siblings, 0 replies; 45+ messages in thread
From: Alexandru Ardelean @ 2024-07-03 6:25 UTC (permalink / raw)
To: nuno.sa
Cc: chrome-platform, Alexandre Belloni, Lars-Peter Clausen,
Michael Hennerich, linux-iio, Claudiu Beznea, Cosmin Tanislav,
linux-arm-kernel, Guenter Roeck, Dmitry Rokosov, Benson Leung,
Jonathan Cameron
On Tue, Jul 2, 2024 at 7:03 PM Nuno Sa via B4 Relay
<devnull+nuno.sa.analog.com@kernel.org> wrote:
>
> From: Nuno Sa <nuno.sa@analog.com>
>
> 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.
>
Reviewed-by: Alexandru Ardelean <aardelean@baylibre.com>
> Signed-off-by: Nuno Sa <nuno.sa@analog.com>
> ---
> drivers/iio/adc/at91_adc.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/drivers/iio/adc/at91_adc.c b/drivers/iio/adc/at91_adc.c
> index eb501e3c86a5..af4b0224076f 100644
> --- a/drivers/iio/adc/at91_adc.c
> +++ b/drivers/iio/adc/at91_adc.c
> @@ -268,9 +268,7 @@ static irqreturn_t at91_adc_trigger_handler(int irq, void *p)
> struct iio_chan_spec const *chan;
> int i, j = 0;
>
> - for (i = 0; i < idev->masklength; i++) {
> - if (!test_bit(i, idev->active_scan_mask))
> - continue;
> + iio_for_each_active_channel(idev, i) {
> chan = idev->channels + i;
> st->buffer[j] = at91_adc_readl(st, AT91_ADC_CHAN(st, chan->channel));
> j++;
>
> --
> 2.45.2
>
>
>
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH 09/20] iio: accel: fxls8962af-core: make use of iio_for_each_active_channel()
2024-07-02 16:02 ` [PATCH 09/20] iio: accel: fxls8962af-core: make use of iio_for_each_active_channel() Nuno Sa via B4 Relay
@ 2024-07-03 6:25 ` Alexandru Ardelean
0 siblings, 0 replies; 45+ messages in thread
From: Alexandru Ardelean @ 2024-07-03 6:25 UTC (permalink / raw)
To: nuno.sa
Cc: chrome-platform, Alexandre Belloni, Lars-Peter Clausen,
Michael Hennerich, linux-iio, Claudiu Beznea, Cosmin Tanislav,
linux-arm-kernel, Guenter Roeck, Dmitry Rokosov, Benson Leung,
Jonathan Cameron
On Tue, Jul 2, 2024 at 7:02 PM Nuno Sa via B4 Relay
<devnull+nuno.sa.analog.com@kernel.org> wrote:
>
> From: Nuno Sa <nuno.sa@analog.com>
>
> 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.
>
Reviewed-by: Alexandru Ardelean <aardelean@baylibre.com>
> Signed-off-by: Nuno Sa <nuno.sa@analog.com>
> ---
> drivers/iio/accel/fxls8962af-core.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/iio/accel/fxls8962af-core.c b/drivers/iio/accel/fxls8962af-core.c
> index 4fbc01bda62e4..7adb8937cb4b6 100644
> --- a/drivers/iio/accel/fxls8962af-core.c
> +++ b/drivers/iio/accel/fxls8962af-core.c
> @@ -968,8 +968,7 @@ static int fxls8962af_fifo_flush(struct iio_dev *indio_dev)
> int j, bit;
>
> j = 0;
> - for_each_set_bit(bit, indio_dev->active_scan_mask,
> - indio_dev->masklength) {
> + iio_for_each_active_channel(indio_dev, bit) {
> memcpy(&data->scan.channels[j++], &buffer[i * 3 + bit],
> sizeof(data->scan.channels[0]));
> }
>
> --
> 2.45.2
>
>
>
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH 10/20] iio: accel: msa311: make use of iio_for_each_active_channel()
2024-07-02 16:02 ` [PATCH 10/20] iio: accel: msa311: " Nuno Sa via B4 Relay
@ 2024-07-03 6:26 ` Alexandru Ardelean
0 siblings, 0 replies; 45+ messages in thread
From: Alexandru Ardelean @ 2024-07-03 6:26 UTC (permalink / raw)
To: nuno.sa
Cc: chrome-platform, Alexandre Belloni, Lars-Peter Clausen,
Michael Hennerich, linux-iio, Claudiu Beznea, Cosmin Tanislav,
linux-arm-kernel, Guenter Roeck, Dmitry Rokosov, Benson Leung,
Jonathan Cameron
On Tue, Jul 2, 2024 at 7:02 PM Nuno Sa via B4 Relay
<devnull+nuno.sa.analog.com@kernel.org> wrote:
>
> From: Nuno Sa <nuno.sa@analog.com>
>
> 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.
>
Reviewed-by: Alexandru Ardelean <aardelean@baylibre.com>
> Signed-off-by: Nuno Sa <nuno.sa@analog.com>
> ---
> drivers/iio/accel/msa311.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/iio/accel/msa311.c b/drivers/iio/accel/msa311.c
> index b8ddbfd98f112..8861010256f2e 100644
> --- a/drivers/iio/accel/msa311.c
> +++ b/drivers/iio/accel/msa311.c
> @@ -900,8 +900,7 @@ static irqreturn_t msa311_buffer_thread(int irq, void *p)
>
> mutex_lock(&msa311->lock);
>
> - for_each_set_bit(bit, indio_dev->active_scan_mask,
> - indio_dev->masklength) {
> + iio_for_each_active_channel(indio_dev, bit) {
> chan = &msa311_channels[bit];
>
> err = msa311_get_axis(msa311, chan, &axis);
>
> --
> 2.45.2
>
>
>
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH 11/20] iio: accel: sca3300: make use of iio_for_each_active_channel()
2024-07-02 16:02 ` [PATCH 11/20] iio: accel: sca3300: " Nuno Sa via B4 Relay
@ 2024-07-03 6:26 ` Alexandru Ardelean
0 siblings, 0 replies; 45+ messages in thread
From: Alexandru Ardelean @ 2024-07-03 6:26 UTC (permalink / raw)
To: nuno.sa
Cc: chrome-platform, Alexandre Belloni, Lars-Peter Clausen,
Michael Hennerich, linux-iio, Claudiu Beznea, Cosmin Tanislav,
linux-arm-kernel, Guenter Roeck, Dmitry Rokosov, Benson Leung,
Jonathan Cameron
On Tue, Jul 2, 2024 at 7:03 PM Nuno Sa via B4 Relay
<devnull+nuno.sa.analog.com@kernel.org> wrote:
>
> From: Nuno Sa <nuno.sa@analog.com>
>
> 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.
>
Reviewed-by: Alexandru Ardelean <aardelean@baylibre.com>
> Signed-off-by: Nuno Sa <nuno.sa@analog.com>
> ---
> drivers/iio/accel/sca3300.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/iio/accel/sca3300.c b/drivers/iio/accel/sca3300.c
> index 306482b70fad..fca77d660625 100644
> --- a/drivers/iio/accel/sca3300.c
> +++ b/drivers/iio/accel/sca3300.c
> @@ -494,8 +494,7 @@ static irqreturn_t sca3300_trigger_handler(int irq, void *p)
> int bit, ret, val, i = 0;
> s16 *channels = (s16 *)data->buffer;
>
> - for_each_set_bit(bit, indio_dev->active_scan_mask,
> - indio_dev->masklength) {
> + iio_for_each_active_channel(indio_dev, bit) {
> ret = sca3300_read_reg(data, indio_dev->channels[bit].address, &val);
> if (ret) {
> dev_err_ratelimited(&data->spi->dev,
>
> --
> 2.45.2
>
>
>
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH 12/20] iio: accel: stk8312: make use of iio_for_each_active_channel()
2024-07-02 16:02 ` [PATCH 12/20] iio: accel: stk8312: " Nuno Sa via B4 Relay
@ 2024-07-03 6:26 ` Alexandru Ardelean
0 siblings, 0 replies; 45+ messages in thread
From: Alexandru Ardelean @ 2024-07-03 6:26 UTC (permalink / raw)
To: nuno.sa
Cc: chrome-platform, Alexandre Belloni, Lars-Peter Clausen,
Michael Hennerich, linux-iio, Claudiu Beznea, Cosmin Tanislav,
linux-arm-kernel, Guenter Roeck, Dmitry Rokosov, Benson Leung,
Jonathan Cameron
On Tue, Jul 2, 2024 at 7:03 PM Nuno Sa via B4 Relay
<devnull+nuno.sa.analog.com@kernel.org> wrote:
>
> From: Nuno Sa <nuno.sa@analog.com>
>
> 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.
>
Reviewed-by: Alexandru Ardelean <aardelean@baylibre.com>
> Signed-off-by: Nuno Sa <nuno.sa@analog.com>
> ---
> drivers/iio/accel/stk8312.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/iio/accel/stk8312.c b/drivers/iio/accel/stk8312.c
> index b3534d5751b95..abead190254b5 100644
> --- a/drivers/iio/accel/stk8312.c
> +++ b/drivers/iio/accel/stk8312.c
> @@ -448,8 +448,7 @@ static irqreturn_t stk8312_trigger_handler(int irq, void *p)
> goto err;
> }
> } else {
> - for_each_set_bit(bit, indio_dev->active_scan_mask,
> - indio_dev->masklength) {
> + iio_for_each_active_channel(indio_dev, bit) {
> ret = stk8312_read_accel(data, bit);
> if (ret < 0) {
> mutex_unlock(&data->lock);
>
> --
> 2.45.2
>
>
>
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH 13/20] iio: accel: stk8ba50: make use of iio_for_each_active_channel()
2024-07-02 16:02 ` [PATCH 13/20] iio: accel: stk8ba50: " Nuno Sa via B4 Relay
@ 2024-07-03 6:26 ` Alexandru Ardelean
0 siblings, 0 replies; 45+ messages in thread
From: Alexandru Ardelean @ 2024-07-03 6:26 UTC (permalink / raw)
To: nuno.sa
Cc: chrome-platform, Alexandre Belloni, Lars-Peter Clausen,
Michael Hennerich, linux-iio, Claudiu Beznea, Cosmin Tanislav,
linux-arm-kernel, Guenter Roeck, Dmitry Rokosov, Benson Leung,
Jonathan Cameron
On Tue, Jul 2, 2024 at 7:03 PM Nuno Sa via B4 Relay
<devnull+nuno.sa.analog.com@kernel.org> wrote:
>
> From: Nuno Sa <nuno.sa@analog.com>
>
> 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.
>
Reviewed-by: Alexandru Ardelean <aardelean@baylibre.com>
> Signed-off-by: Nuno Sa <nuno.sa@analog.com>
> ---
> drivers/iio/accel/stk8ba50.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/iio/accel/stk8ba50.c b/drivers/iio/accel/stk8ba50.c
> index 6d3c7f444d21d..a32a77324e92d 100644
> --- a/drivers/iio/accel/stk8ba50.c
> +++ b/drivers/iio/accel/stk8ba50.c
> @@ -330,8 +330,7 @@ static irqreturn_t stk8ba50_trigger_handler(int irq, void *p)
> goto err;
> }
> } else {
> - for_each_set_bit(bit, indio_dev->active_scan_mask,
> - indio_dev->masklength) {
> + iio_for_each_active_channel(indio_dev, bit) {
> ret = stk8ba50_read_accel(data,
> stk8ba50_channel_table[bit]);
> if (ret < 0)
>
> --
> 2.45.2
>
>
>
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH 08/20] iio: accel: cros_ec_accel_legacy: make use of iio_get_masklength()
2024-07-02 16:02 ` [PATCH 08/20] iio: accel: cros_ec_accel_legacy: make use of iio_get_masklength() Nuno Sa via B4 Relay
@ 2024-07-03 6:37 ` Alexandru Ardelean
2024-07-03 7:08 ` Nuno Sá
0 siblings, 1 reply; 45+ messages in thread
From: Alexandru Ardelean @ 2024-07-03 6:37 UTC (permalink / raw)
To: nuno.sa
Cc: chrome-platform, Alexandre Belloni, Lars-Peter Clausen,
Michael Hennerich, linux-iio, Claudiu Beznea, Cosmin Tanislav,
linux-arm-kernel, Guenter Roeck, Dmitry Rokosov, Benson Leung,
Jonathan Cameron
On Tue, Jul 2, 2024 at 7:02 PM Nuno Sa via B4 Relay
<devnull+nuno.sa.analog.com@kernel.org> wrote:
>
> From: Nuno Sa <nuno.sa@analog.com>
>
> Ue iio_get_masklength() to access '.masklength' so it can be annotated
> as __private when there are no more direct users of it.
>
I would have suggested maybe a "iio_for_each_active_channel()" here
instead, but after looking into the driver a bit more, it looks like
it's part of a broader rework.
Reviewed-by: Alexandru Ardelean <aardelean@baylibre.com>
> Signed-off-by: Nuno Sa <nuno.sa@analog.com>
> ---
> drivers/iio/accel/cros_ec_accel_legacy.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/iio/accel/cros_ec_accel_legacy.c b/drivers/iio/accel/cros_ec_accel_legacy.c
> index 0f403342b1fc..f7e4dc02b34d 100644
> --- a/drivers/iio/accel/cros_ec_accel_legacy.c
> +++ b/drivers/iio/accel/cros_ec_accel_legacy.c
> @@ -62,7 +62,7 @@ static int cros_ec_accel_legacy_read_cmd(struct iio_dev *indio_dev,
> return ret;
> }
>
> - for_each_set_bit(i, &scan_mask, indio_dev->masklength) {
> + for_each_set_bit(i, &scan_mask, iio_get_masklength(indio_dev)) {
> *data = st->resp->dump.sensor[sensor_num].data[i] *
> st->sign[i];
> data++;
>
> --
> 2.45.2
>
>
>
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH 14/20] iio: adc: ad7266: make use of iio_get_masklength()
2024-07-02 16:02 ` [PATCH 14/20] iio: adc: ad7266: make use of iio_get_masklength() Nuno Sa via B4 Relay
@ 2024-07-03 6:40 ` Alexandru Ardelean
0 siblings, 0 replies; 45+ messages in thread
From: Alexandru Ardelean @ 2024-07-03 6:40 UTC (permalink / raw)
To: nuno.sa
Cc: chrome-platform, Alexandre Belloni, Lars-Peter Clausen,
Michael Hennerich, linux-iio, Claudiu Beznea, Cosmin Tanislav,
linux-arm-kernel, Guenter Roeck, Dmitry Rokosov, Benson Leung,
Jonathan Cameron
On Tue, Jul 2, 2024 at 7:03 PM Nuno Sa via B4 Relay
<devnull+nuno.sa.analog.com@kernel.org> wrote:
>
> From: Nuno Sa <nuno.sa@analog.com>
>
> Use iio_get_masklength() to access '.masklength' so it can be annotated
> as __private when there are no more direct users of it.
>
Reviewed-by: Alexandru Ardelean <aardelean@baylibre.com>
> Signed-off-by: Nuno Sa <nuno.sa@analog.com>
> ---
> drivers/iio/adc/ad7266.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/iio/adc/ad7266.c b/drivers/iio/adc/ad7266.c
> index 874d2dc34f928..accb78d4c3086 100644
> --- a/drivers/iio/adc/ad7266.c
> +++ b/drivers/iio/adc/ad7266.c
> @@ -123,7 +123,8 @@ static int ad7266_update_scan_mode(struct iio_dev *indio_dev,
> const unsigned long *scan_mask)
> {
> struct ad7266_state *st = iio_priv(indio_dev);
> - unsigned int nr = find_first_bit(scan_mask, indio_dev->masklength);
> + unsigned int nr = find_first_bit(scan_mask,
> + iio_get_masklength(indio_dev));
>
> ad7266_select_input(st, nr);
>
>
> --
> 2.45.2
>
>
>
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH 15/20] iio: adc: ad7298: make use of iio_get_masklength()
2024-07-02 16:02 ` [PATCH 15/20] iio: adc: ad7298: " Nuno Sa via B4 Relay
@ 2024-07-03 6:41 ` Alexandru Ardelean
0 siblings, 0 replies; 45+ messages in thread
From: Alexandru Ardelean @ 2024-07-03 6:41 UTC (permalink / raw)
To: nuno.sa
Cc: chrome-platform, Alexandre Belloni, Lars-Peter Clausen,
Michael Hennerich, linux-iio, Claudiu Beznea, Cosmin Tanislav,
linux-arm-kernel, Guenter Roeck, Dmitry Rokosov, Benson Leung,
Jonathan Cameron
On Tue, Jul 2, 2024 at 7:03 PM Nuno Sa via B4 Relay
<devnull+nuno.sa.analog.com@kernel.org> wrote:
>
> From: Nuno Sa <nuno.sa@analog.com>
>
> Use iio_get_masklength() to access '.masklength' so it can be annotated
> as __private when there are no more direct users of it.
>
Reviewed-by: Alexandru Ardelean <aardelean@baylibre.com>
> Signed-off-by: Nuno Sa <nuno.sa@analog.com>
> ---
> drivers/iio/adc/ad7298.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/iio/adc/ad7298.c b/drivers/iio/adc/ad7298.c
> index c0430f71f592..0128436367db 100644
> --- a/drivers/iio/adc/ad7298.c
> +++ b/drivers/iio/adc/ad7298.c
> @@ -109,7 +109,8 @@ static int ad7298_update_scan_mode(struct iio_dev *indio_dev,
> int scan_count;
>
> /* Now compute overall size */
> - scan_count = bitmap_weight(active_scan_mask, indio_dev->masklength);
> + scan_count = bitmap_weight(active_scan_mask,
> + iio_get_masklength(indio_dev));
>
> command = AD7298_WRITE | st->ext_ref;
>
>
> --
> 2.45.2
>
>
>
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH 17/20] iio: adc: ad_sigma_delta: use new '.masklength' accessors
2024-07-02 16:02 ` [PATCH 17/20] iio: adc: ad_sigma_delta: use new '.masklength' accessors Nuno Sa via B4 Relay
@ 2024-07-03 6:41 ` Alexandru Ardelean
0 siblings, 0 replies; 45+ messages in thread
From: Alexandru Ardelean @ 2024-07-03 6:41 UTC (permalink / raw)
To: nuno.sa
Cc: chrome-platform, Alexandre Belloni, Lars-Peter Clausen,
Michael Hennerich, linux-iio, Claudiu Beznea, Cosmin Tanislav,
linux-arm-kernel, Guenter Roeck, Dmitry Rokosov, Benson Leung,
Jonathan Cameron
On Tue, Jul 2, 2024 at 7:03 PM Nuno Sa via B4 Relay
<devnull+nuno.sa.analog.com@kernel.org> wrote:
>
> From: Nuno Sa <nuno.sa@analog.com>
>
> 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.
>
Reviewed-by: Alexandru Ardelean <aardelean@baylibre.com>
> Signed-off-by: Nuno Sa <nuno.sa@analog.com>
> ---
> drivers/iio/adc/ad_sigma_delta.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/iio/adc/ad_sigma_delta.c b/drivers/iio/adc/ad_sigma_delta.c
> index a2b87f6b7a07..62653d7fe39b 100644
> --- a/drivers/iio/adc/ad_sigma_delta.c
> +++ b/drivers/iio/adc/ad_sigma_delta.c
> @@ -350,7 +350,7 @@ static int ad_sd_buffer_postenable(struct iio_dev *indio_dev)
>
> if (sigma_delta->num_slots == 1) {
> channel = find_first_bit(indio_dev->active_scan_mask,
> - indio_dev->masklength);
> + iio_get_masklength(indio_dev));
> ret = ad_sigma_delta_set_channel(sigma_delta,
> indio_dev->channels[channel].address);
> if (ret)
> @@ -363,7 +363,7 @@ static int ad_sd_buffer_postenable(struct iio_dev *indio_dev)
> * implementation is mandatory.
> */
> slot = 0;
> - for_each_set_bit(i, indio_dev->active_scan_mask, indio_dev->masklength) {
> + iio_for_each_active_channel(indio_dev, i) {
> sigma_delta->slots[slot] = indio_dev->channels[i].address;
> slot++;
> }
> @@ -525,7 +525,7 @@ static bool ad_sd_validate_scan_mask(struct iio_dev *indio_dev, const unsigned l
> {
> struct ad_sigma_delta *sigma_delta = iio_device_get_drvdata(indio_dev);
>
> - return bitmap_weight(mask, indio_dev->masklength) <= sigma_delta->num_slots;
> + return bitmap_weight(mask, iio_get_masklength(indio_dev)) <= sigma_delta->num_slots;
> }
>
> static const struct iio_buffer_setup_ops ad_sd_buffer_setup_ops = {
>
> --
> 2.45.2
>
>
>
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH 19/20] iio: imu: adis16475: make use of iio_for_each_active_channel()
2024-07-02 16:02 ` [PATCH 19/20] iio: imu: adis16475: " Nuno Sa via B4 Relay
@ 2024-07-03 6:41 ` Alexandru Ardelean
0 siblings, 0 replies; 45+ messages in thread
From: Alexandru Ardelean @ 2024-07-03 6:41 UTC (permalink / raw)
To: nuno.sa
Cc: chrome-platform, Alexandre Belloni, Lars-Peter Clausen,
Michael Hennerich, linux-iio, Claudiu Beznea, Cosmin Tanislav,
linux-arm-kernel, Guenter Roeck, Dmitry Rokosov, Benson Leung,
Jonathan Cameron
On Tue, Jul 2, 2024 at 7:03 PM Nuno Sa via B4 Relay
<devnull+nuno.sa.analog.com@kernel.org> wrote:
>
> From: Nuno Sa <nuno.sa@analog.com>
>
> 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.
>
Reviewed-by: Alexandru Ardelean <aardelean@baylibre.com>
> Signed-off-by: Nuno Sa <nuno.sa@analog.com>
> ---
> drivers/iio/imu/adis16475.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/iio/imu/adis16475.c b/drivers/iio/imu/adis16475.c
> index cf73c6f46c79d..1cc2a66a78ff3 100644
> --- a/drivers/iio/imu/adis16475.c
> +++ b/drivers/iio/imu/adis16475.c
> @@ -1608,8 +1608,7 @@ static int adis16475_push_single_sample(struct iio_poll_func *pf)
> return -EINVAL;
> }
>
> - for_each_set_bit(bit, indio_dev->active_scan_mask,
> - indio_dev->masklength) {
> + iio_for_each_active_channel(indio_dev, bit) {
> /*
> * When burst mode is used, system flags is the first data
> * channel in the sequence, but the scan index is 7.
>
> --
> 2.45.2
>
>
>
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH 20/20] iio: imu: adis16480: make use of iio_for_each_active_channel()
2024-07-02 16:02 ` [PATCH 20/20] iio: imu: adis16480: " Nuno Sa via B4 Relay
@ 2024-07-03 6:42 ` Alexandru Ardelean
0 siblings, 0 replies; 45+ messages in thread
From: Alexandru Ardelean @ 2024-07-03 6:42 UTC (permalink / raw)
To: nuno.sa
Cc: chrome-platform, Alexandre Belloni, Lars-Peter Clausen,
Michael Hennerich, linux-iio, Claudiu Beznea, Cosmin Tanislav,
linux-arm-kernel, Guenter Roeck, Dmitry Rokosov, Benson Leung,
Jonathan Cameron
On Tue, Jul 2, 2024 at 7:03 PM Nuno Sa via B4 Relay
<devnull+nuno.sa.analog.com@kernel.org> wrote:
>
> From: Nuno Sa <nuno.sa@analog.com>
>
> 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.
>
Reviewed-by: Alexandru Ardelean <aardelean@baylibre.com>
> Signed-off-by: Nuno Sa <nuno.sa@analog.com>
> ---
> drivers/iio/imu/adis16480.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/iio/imu/adis16480.c b/drivers/iio/imu/adis16480.c
> index 56ca5a09fbbfc..2f08268bd724a 100644
> --- a/drivers/iio/imu/adis16480.c
> +++ b/drivers/iio/imu/adis16480.c
> @@ -1410,7 +1410,7 @@ static irqreturn_t adis16480_trigger_handler(int irq, void *p)
> goto irq_done;
> }
>
> - for_each_set_bit(bit, indio_dev->active_scan_mask, indio_dev->masklength) {
> + iio_for_each_active_channel(indio_dev, bit) {
> /*
> * When burst mode is used, temperature is the first data
> * channel in the sequence, but the temperature scan index
>
> --
> 2.45.2
>
>
>
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH 08/20] iio: accel: cros_ec_accel_legacy: make use of iio_get_masklength()
2024-07-03 6:37 ` Alexandru Ardelean
@ 2024-07-03 7:08 ` Nuno Sá
0 siblings, 0 replies; 45+ messages in thread
From: Nuno Sá @ 2024-07-03 7:08 UTC (permalink / raw)
To: Alexandru Ardelean, nuno.sa
Cc: chrome-platform, Alexandre Belloni, Lars-Peter Clausen,
Michael Hennerich, linux-iio, Claudiu Beznea, Cosmin Tanislav,
linux-arm-kernel, Guenter Roeck, Dmitry Rokosov, Benson Leung,
Jonathan Cameron
On Wed, 2024-07-03 at 09:37 +0300, Alexandru Ardelean wrote:
> On Tue, Jul 2, 2024 at 7:02 PM Nuno Sa via B4 Relay
> <devnull+nuno.sa.analog.com@kernel.org> wrote:
> >
> > From: Nuno Sa <nuno.sa@analog.com>
> >
> > Ue iio_get_masklength() to access '.masklength' so it can be annotated
> > as __private when there are no more direct users of it.
> >
>
> I would have suggested maybe a "iio_for_each_active_channel()" here
> instead, but after looking into the driver a bit more, it looks like
> it's part of a broader rework.
>
Yeah, we have a scan_mask that I don't think it's guaranteed to be indio_dev-
>active_scan_mask. Also don't think (at this point) we need another
iio_for_each_active_channel() helper which takes mask as most of usecases use
indio_dev->active_scan_mask
- Nuno Sá
>
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH 00/20] iio: make masklength __private (round 1)
2024-07-02 20:26 ` [PATCH 00/20] iio: make masklength __private (round 1) Jonathan Cameron
@ 2024-07-03 7:10 ` Nuno Sá
2024-07-06 10:33 ` Jonathan Cameron
0 siblings, 1 reply; 45+ messages in thread
From: Nuno Sá @ 2024-07-03 7:10 UTC (permalink / raw)
To: Jonathan Cameron, Nuno Sa via B4 Relay
Cc: chrome-platform, Alexandre Belloni, Lars-Peter Clausen,
Michael Hennerich, linux-iio, nuno.sa, Cosmin Tanislav,
Claudiu Beznea, Guenter Roeck, Dmitry Rokosov, Benson Leung,
linux-arm-kernel
On Tue, 2024-07-02 at 21:26 +0100, Jonathan Cameron wrote:
> On Tue, 02 Jul 2024 18:02:32 +0200
> Nuno Sa via B4 Relay <devnull+nuno.sa.analog.com@kernel.org> wrote:
>
> > Hi Jonathan,
> >
> > Here it goes the first round of what we discussed in [1] about
> > annotating .masklength as __private. Patches should be fairly simple so
> > hopefully I did not messed up much...
> >
> > Note that in core, there's one place where we're still directly writing
> > into .masklength (when it's effectively set). The plan is then to
> > directly use ACCESS_PRIVATE() in there in the same patch where we mark
> > .masklength as __private.
>
> Makes sense. Series looks good to me, but I'll not pick it up just yet.
> I've tagged a like second 6.11 pull request, so this is probably 6.12 material
> unless things go particularly smoothly and Greg takes an additional last
> minute one as there is one set waiting for a fix that is in char-misc
> but not yet iio-togreg.
>
> Jonathan
>
Yeah, looks sane to me. Advantage of going in 6.12 is that (likely) we'' get all
the conversions done.
- Nuno Sá
>
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH 00/20] iio: make masklength __private (round 1)
2024-07-03 7:10 ` Nuno Sá
@ 2024-07-06 10:33 ` Jonathan Cameron
0 siblings, 0 replies; 45+ messages in thread
From: Jonathan Cameron @ 2024-07-06 10:33 UTC (permalink / raw)
To: Nuno Sá
Cc: chrome-platform, Alexandre Belloni, Lars-Peter Clausen,
Michael Hennerich, Nuno Sa via B4 Relay, Cosmin Tanislav, nuno.sa,
linux-iio, Claudiu Beznea, Guenter Roeck, Dmitry Rokosov,
Benson Leung, linux-arm-kernel
On Wed, 03 Jul 2024 09:10:58 +0200
Nuno Sá <noname.nuno@gmail.com> wrote:
> On Tue, 2024-07-02 at 21:26 +0100, Jonathan Cameron wrote:
> > On Tue, 02 Jul 2024 18:02:32 +0200
> > Nuno Sa via B4 Relay <devnull+nuno.sa.analog.com@kernel.org> wrote:
> >
> > > Hi Jonathan,
> > >
> > > Here it goes the first round of what we discussed in [1] about
> > > annotating .masklength as __private. Patches should be fairly simple so
> > > hopefully I did not messed up much...
> > >
> > > Note that in core, there's one place where we're still directly writing
> > > into .masklength (when it's effectively set). The plan is then to
> > > directly use ACCESS_PRIVATE() in there in the same patch where we mark
> > > .masklength as __private.
> >
> > Makes sense. Series looks good to me, but I'll not pick it up just yet.
> > I've tagged a like second 6.11 pull request, so this is probably 6.12 material
> > unless things go particularly smoothly and Greg takes an additional last
> > minute one as there is one set waiting for a fix that is in char-misc
> > but not yet iio-togreg.
> >
> > Jonathan
> >
>
> Yeah, looks sane to me. Advantage of going in 6.12 is that (likely) we'' get all
> the conversions done.
Given I'm not planning to send another pull request (no time for suitable
testing in linux-next etc) for 6.11 I've started queuing up as probable
6.12 material.
Usual process applies at this stage - I won't be pushing out as togreg
until I can rebase on rc1.
Applied and pushed out as testing for now with the typo Alexandru
pointed out in adxl372 fixed up.
Jonathan
>
> - Nuno Sá
> >
>
^ permalink raw reply [flat|nested] 45+ messages in thread
end of thread, other threads:[~2024-07-06 10:33 UTC | newest]
Thread overview: 45+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-02 16:02 [PATCH 00/20] iio: make masklength __private (round 1) Nuno Sa via B4 Relay
2024-07-02 16:02 ` [PATCH 01/20] iio: core: add accessors 'masklength' Nuno Sa via B4 Relay
2024-07-03 6:10 ` Alexandru Ardelean
2024-07-02 16:02 ` [PATCH 02/20] iio: core: make use of iio_get_masklength() Nuno Sa via B4 Relay
2024-07-03 6:13 ` Alexandru Ardelean
2024-07-02 16:02 ` [PATCH 03/20] iio: buffer: " Nuno Sa via B4 Relay
2024-07-03 6:14 ` Alexandru Ardelean
2024-07-02 16:02 ` [PATCH 04/20] iio: accel: adxl367: " Nuno Sa via B4 Relay
2024-07-03 6:15 ` Alexandru Ardelean
2024-07-02 16:02 ` [PATCH 05/20] iio: accel: adx1372: " Nuno Sa via B4 Relay
2024-07-03 6:17 ` Alexandru Ardelean
2024-07-02 16:02 ` [PATCH 06/20] iio: accel: bma180: make use of iio_for_each_active_channel() Nuno Sa via B4 Relay
2024-07-03 6:23 ` Alexandru Ardelean
2024-07-02 16:02 ` [PATCH 07/20] iio: accel: bmc150-accel-core: " Nuno Sa via B4 Relay
2024-07-03 6:24 ` Alexandru Ardelean
2024-07-02 16:02 ` [PATCH 08/20] iio: accel: cros_ec_accel_legacy: make use of iio_get_masklength() Nuno Sa via B4 Relay
2024-07-03 6:37 ` Alexandru Ardelean
2024-07-03 7:08 ` Nuno Sá
2024-07-02 16:02 ` [PATCH 09/20] iio: accel: fxls8962af-core: make use of iio_for_each_active_channel() Nuno Sa via B4 Relay
2024-07-03 6:25 ` Alexandru Ardelean
2024-07-02 16:02 ` [PATCH 10/20] iio: accel: msa311: " Nuno Sa via B4 Relay
2024-07-03 6:26 ` Alexandru Ardelean
2024-07-02 16:02 ` [PATCH 11/20] iio: accel: sca3300: " Nuno Sa via B4 Relay
2024-07-03 6:26 ` Alexandru Ardelean
2024-07-02 16:02 ` [PATCH 12/20] iio: accel: stk8312: " Nuno Sa via B4 Relay
2024-07-03 6:26 ` Alexandru Ardelean
2024-07-02 16:02 ` [PATCH 13/20] iio: accel: stk8ba50: " Nuno Sa via B4 Relay
2024-07-03 6:26 ` Alexandru Ardelean
2024-07-02 16:02 ` [PATCH 14/20] iio: adc: ad7266: make use of iio_get_masklength() Nuno Sa via B4 Relay
2024-07-03 6:40 ` Alexandru Ardelean
2024-07-02 16:02 ` [PATCH 15/20] iio: adc: ad7298: " Nuno Sa via B4 Relay
2024-07-03 6:41 ` Alexandru Ardelean
2024-07-02 16:02 ` [PATCH 16/20] iio: adc: ad799x: " Nuno Sa via B4 Relay
2024-07-03 6:21 ` Alexandru Ardelean
2024-07-02 16:02 ` [PATCH 17/20] iio: adc: ad_sigma_delta: use new '.masklength' accessors Nuno Sa via B4 Relay
2024-07-03 6:41 ` Alexandru Ardelean
2024-07-02 16:02 ` [PATCH 18/20] iio: adc: at91_adc: make use of iio_for_each_active_channel() Nuno Sa via B4 Relay
2024-07-03 6:25 ` Alexandru Ardelean
2024-07-02 16:02 ` [PATCH 19/20] iio: imu: adis16475: " Nuno Sa via B4 Relay
2024-07-03 6:41 ` Alexandru Ardelean
2024-07-02 16:02 ` [PATCH 20/20] iio: imu: adis16480: " Nuno Sa via B4 Relay
2024-07-03 6:42 ` Alexandru Ardelean
2024-07-02 20:26 ` [PATCH 00/20] iio: make masklength __private (round 1) Jonathan Cameron
2024-07-03 7:10 ` Nuno Sá
2024-07-06 10:33 ` Jonathan Cameron
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox