mbox series

[00/23] iio: make masklength __private (final round)

Message ID 20240726-dev-iio-masklength-private3-v1-0-82913fc0fb87@analog.com (mailing list archive)
Headers show
Series iio: make masklength __private (final round) | expand

Message

Nuno Sa via B4 Relay July 26, 2024, 8:22 a.m. UTC
Hi Jonathan,

Here it goes the final conversion round.  On the testing branch a git
grep:

git grep "\->masklength"

Gives no more users so hopefully I did it right :).

Not entirely related with this but I'll mention it anyways :). Looking
at the other [INTERN] fields, I see:

* active_scan_mask: which seems to be pretty similar to masklength;
* scan_timestamp: Has some apparently valid  users;
* scan_bytes: Also has a few users;
* trig: may need a bit more inspection.

The first 3 look like valid RO fields that drivers are allowed to
access. I mean, for scan_bytes I guess drivers could calculate that
based on the active_scan_mask but I think that's just not worth it given
the core already did it for us.
 
So I wonder if a similar work would be valuable? scan_timestamp and
scan_bytes would be pretty trivial but for active_scan_mask we do have
lots of users (but also trivial I think).

For Trig, most of the writes are drivers doing

indio_dev->trig = iio_trigger_get(data->trig);

So we either assume it's public or remove that line from drivers. Though
that could break userland apps relying on some trigger to be
automatically set after device probe. We can anyways have another helper
to do that for drivers (not sure this field is accessed in some
fastpath).

Also need to better check if there are any readers for it.

Anyways, it would be nice to get your inputs on the last [INTERNAL] fields
in struct iio_dev

Also want to mention that I deliberately removed some mailing lists
given by get_maintainers as this is fairly simple and so I don't think
the "spam" is worth it :). 

---
Nuno Sa (23):
      iio: accel: adxl380: make use of iio_get_masklength()
      iio: adc: max1118: make use of iio_for_each_active_channel()
      iio: adc: max1118: make use of iio_for_each_active_channel()
      iio: adc: mcp3911: make use of iio_for_each_active_channel()
      iio: adc: mt6360-adc: make use of iio_for_each_active_channel()
      iio: adc: rockchip_saradc: make use of iio_for_each_active_channel()
      iio: adc: rtq6056: make use of iio_for_each_active_channel()
      iio: adc: stm32-adc: make use of iio_get_masklength()
      iio: adc: stm32-dfsdm-adc: make use of iio_get_masklength()
      iio: adc: ti-adc0832: make use of iio_for_each_active_channel()
      iio: adc: ti-adc084s021: make use of iio_for_each_active_channel()
      iio: adc: ti-ads1015: make use of iio_get_masklength()
      iio: adc: ti-ads1119: make use of iio_get_masklength()
      iio: adc: ti-ads1298: make use of iio_for_each_active_channel()
      iio: adc: ti-adc12138: make use of iio_for_each_active_channel()
      iio: adc: ti-ads124s08: make use of iio_for_each_active_channel()
      iio: adc: ti-ads131e08: make use of iio_for_each_active_channel()
      iio: adc: ti-ads8688: make use of iio_for_each_active_channel()
      iio: adc: vf610_adc: make use of iio_get_masklength()
      iio: adc: xilinx-xadc-core: use new '.masklength' accessors
      iio: common: cros_ec_sensors_core: use new '.masklength' accessors
      staging: iio: impedance-analyzer: ad5933: make use of iio_get_masklength()
      iio: core: annotate masklength as __private

 drivers/iio/accel/adxl380.c                               | 2 +-
 drivers/iio/adc/ina2xx-adc.c                              | 3 +--
 drivers/iio/adc/max1118.c                                 | 3 +--
 drivers/iio/adc/mcp3911.c                                 | 2 +-
 drivers/iio/adc/mt6360-adc.c                              | 2 +-
 drivers/iio/adc/rockchip_saradc.c                         | 2 +-
 drivers/iio/adc/rtq6056.c                                 | 2 +-
 drivers/iio/adc/stm32-adc.c                               | 4 ++--
 drivers/iio/adc/stm32-dfsdm-adc.c                         | 2 +-
 drivers/iio/adc/ti-adc0832.c                              | 3 +--
 drivers/iio/adc/ti-adc084s021.c                           | 3 +--
 drivers/iio/adc/ti-adc12138.c                             | 3 +--
 drivers/iio/adc/ti-ads1015.c                              | 2 +-
 drivers/iio/adc/ti-ads1119.c                              | 4 ++--
 drivers/iio/adc/ti-ads124s08.c                            | 3 +--
 drivers/iio/adc/ti-ads1298.c                              | 3 +--
 drivers/iio/adc/ti-ads131e08.c                            | 2 +-
 drivers/iio/adc/ti-ads8688.c                              | 4 +---
 drivers/iio/adc/vf610_adc.c                               | 2 +-
 drivers/iio/adc/xilinx-xadc-core.c                        | 5 ++---
 drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core.c | 8 +++-----
 drivers/iio/industrialio-buffer.c                         | 2 +-
 drivers/staging/iio/impedance-analyzer/ad5933.c           | 5 +++--
 include/linux/iio/iio.h                                   | 4 ++--
 24 files changed, 32 insertions(+), 43 deletions(-)
---
base-commit: 472438c7e0e2261c6737a8321f46ef176eef1c8f
change-id: 20240724-dev-iio-masklength-private3-7a2d819acc7d
--

Thanks!
- Nuno Sá

Comments

Jonathan Cameron Aug. 14, 2024, 6:46 p.m. UTC | #1
On Fri, 26 Jul 2024 10:22:52 +0200
Nuno Sa via B4 Relay <devnull+nuno.sa.analog.com@kernel.org> wrote:

> Hi Jonathan,
> 
> Here it goes the final conversion round.  On the testing branch a git
> grep:
> 
> git grep "\->masklength"
> 
> Gives no more users so hopefully I did it right :).
> 
> Not entirely related with this but I'll mention it anyways :). Looking
> at the other [INTERN] fields, I see:
> 
> * active_scan_mask: which seems to be pretty similar to masklength;
> * scan_timestamp: Has some apparently valid  users;
> * scan_bytes: Also has a few users;
> * trig: may need a bit more inspection.
> 
> The first 3 look like valid RO fields that drivers are allowed to
> access. I mean, for scan_bytes I guess drivers could calculate that
> based on the active_scan_mask but I think that's just not worth it given
> the core already did it for us.
>  
> So I wonder if a similar work would be valuable? scan_timestamp and
> scan_bytes would be pretty trivial but for active_scan_mask we do have
> lots of users (but also trivial I think).
> 
> For Trig, most of the writes are drivers doing
> 
> indio_dev->trig = iio_trigger_get(data->trig);
> 
> So we either assume it's public or remove that line from drivers. Though
> that could break userland apps relying on some trigger to be
> automatically set after device probe. We can anyways have another helper
> to do that for drivers (not sure this field is accessed in some
> fastpath).
> 
> Also need to better check if there are any readers for it.
> 
> Anyways, it would be nice to get your inputs on the last [INTERNAL] fields
> in struct iio_dev
> 
> Also want to mention that I deliberately removed some mailing lists
> given by get_maintainers as this is fairly simple and so I don't think
> the "spam" is worth it :). 
I applied these about 10 days ago but for some reason didn't say that!

So these are applied if anyone was wondering.

Jonathan

> 
> ---
> Nuno Sa (23):
>       iio: accel: adxl380: make use of iio_get_masklength()
>       iio: adc: max1118: make use of iio_for_each_active_channel()
>       iio: adc: max1118: make use of iio_for_each_active_channel()
>       iio: adc: mcp3911: make use of iio_for_each_active_channel()
>       iio: adc: mt6360-adc: make use of iio_for_each_active_channel()
>       iio: adc: rockchip_saradc: make use of iio_for_each_active_channel()
>       iio: adc: rtq6056: make use of iio_for_each_active_channel()
>       iio: adc: stm32-adc: make use of iio_get_masklength()
>       iio: adc: stm32-dfsdm-adc: make use of iio_get_masklength()
>       iio: adc: ti-adc0832: make use of iio_for_each_active_channel()
>       iio: adc: ti-adc084s021: make use of iio_for_each_active_channel()
>       iio: adc: ti-ads1015: make use of iio_get_masklength()
>       iio: adc: ti-ads1119: make use of iio_get_masklength()
>       iio: adc: ti-ads1298: make use of iio_for_each_active_channel()
>       iio: adc: ti-adc12138: make use of iio_for_each_active_channel()
>       iio: adc: ti-ads124s08: make use of iio_for_each_active_channel()
>       iio: adc: ti-ads131e08: make use of iio_for_each_active_channel()
>       iio: adc: ti-ads8688: make use of iio_for_each_active_channel()
>       iio: adc: vf610_adc: make use of iio_get_masklength()
>       iio: adc: xilinx-xadc-core: use new '.masklength' accessors
>       iio: common: cros_ec_sensors_core: use new '.masklength' accessors
>       staging: iio: impedance-analyzer: ad5933: make use of iio_get_masklength()
>       iio: core: annotate masklength as __private
> 
>  drivers/iio/accel/adxl380.c                               | 2 +-
>  drivers/iio/adc/ina2xx-adc.c                              | 3 +--
>  drivers/iio/adc/max1118.c                                 | 3 +--
>  drivers/iio/adc/mcp3911.c                                 | 2 +-
>  drivers/iio/adc/mt6360-adc.c                              | 2 +-
>  drivers/iio/adc/rockchip_saradc.c                         | 2 +-
>  drivers/iio/adc/rtq6056.c                                 | 2 +-
>  drivers/iio/adc/stm32-adc.c                               | 4 ++--
>  drivers/iio/adc/stm32-dfsdm-adc.c                         | 2 +-
>  drivers/iio/adc/ti-adc0832.c                              | 3 +--
>  drivers/iio/adc/ti-adc084s021.c                           | 3 +--
>  drivers/iio/adc/ti-adc12138.c                             | 3 +--
>  drivers/iio/adc/ti-ads1015.c                              | 2 +-
>  drivers/iio/adc/ti-ads1119.c                              | 4 ++--
>  drivers/iio/adc/ti-ads124s08.c                            | 3 +--
>  drivers/iio/adc/ti-ads1298.c                              | 3 +--
>  drivers/iio/adc/ti-ads131e08.c                            | 2 +-
>  drivers/iio/adc/ti-ads8688.c                              | 4 +---
>  drivers/iio/adc/vf610_adc.c                               | 2 +-
>  drivers/iio/adc/xilinx-xadc-core.c                        | 5 ++---
>  drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core.c | 8 +++-----
>  drivers/iio/industrialio-buffer.c                         | 2 +-
>  drivers/staging/iio/impedance-analyzer/ad5933.c           | 5 +++--
>  include/linux/iio/iio.h                                   | 4 ++--
>  24 files changed, 32 insertions(+), 43 deletions(-)
> ---
> base-commit: 472438c7e0e2261c6737a8321f46ef176eef1c8f
> change-id: 20240724-dev-iio-masklength-private3-7a2d819acc7d
> --
> 
> Thanks!
> - Nuno Sá
> 
>