mbox series

[00/20] IIO: Tidying up timestamp alignment markings.

Message ID 20241215182912.481706-1-jic23@kernel.org (mailing list archive)
Headers show
Series IIO: Tidying up timestamp alignment markings. | expand

Message

Jonathan Cameron Dec. 15, 2024, 6:28 p.m. UTC
From: Jonathan Cameron <Jonathan.Cameron@huawei.com>

I haven't +CC everyone relevant as that would be too long a list
and these are mostly entirely mechanical changes that just need
someone to sanity check I didn't do anything stupid.

This combines several related types of change:

- Some 'fixes'. These aren't actual bugs but more places where
  the code relies on factors it shouldn't such as what architecture
  the driver is running on, or padding of the wrong element happening
  to always make enough room.
- Now we have aligned_s64, use that to replace all the remaining
  s64 timestamp __aligned(8) instances in IIO.
  This is both cleaner and hopefully less prone to confusing static
  analysis tools.
- Change the timestamp type in iio_push_to_buffers_with_timestamp() to s64.
  This is an entirely in kernel interface. It's data is pushed to user space
  in many case but by a rather indirect route, so I think it is more
  appropriate to switch this to s64 which is the type of almost all the
  values passed into it. Note a follow up series may tidy up some
  local variables that are of the int64_t type.
- Change the few int64_t timestamp __aligned(8) cases to aligned_s64.
  This is mostly a consistency thing to avoid confusion if a new author
  is trying to figure out what types they should use.  Better to have
  one answer than a mixture.

There is one other IIO driver hiding over in media that will be modified
by a separate patch because I want to add some more info to that and
a more specific CC list.

Jonathan Cameron (20):
  iio: adc: ad7944: Fix sign and use aligned_s64 for timestamp.
  io: adc: ina2xx-adc: Fix sign and use aligned_s64 for timestamp.
  iio: temperature: tmp006: Use aligned_s64 instead of open coding
    alignment.
  iio: resolver: ad2s1210: Use aligned_s64 instead of open coding
    alignment.
  iio: proximity: Use aligned_s64 instead of open coding alignment.
  iio: pressure: Use aligned_s64 instead of open coding alignment.
  iio: magnetometer: Use aligned_s64 instead of open coding alignment.
  iio: light: Use aligned_s64 instead of open coding alignment.
  iio: imu: Use aligned_s64 instead of open coding alignment.
  iio: humidity: Use aligned_s64 instead of open coding alignment.
  iio: gyro: Use aligned_s64 instead of open coding alignment.
  iio: chemical: Use aligned_s64 instead of open coding alignment.
  iio: adc: Use aligned_s64 instead of open coding alignment.
  iio: accel: bma220: Use aligned_s64 instead of open coding alignment.
  iio: buffer: Make timestamp s64 in
    iio_push_to_buffers_with_timestamp()
  iio: adc: ti-lmp92064: Switch timestamp type from int64_t __aligned(8)
    to aligned_s64
  iio: chemical: scd4x: witch timestamp type from int64_t __aligned(8)
    to aligned_s64
  iio: imu: inv_icm42600: witch timestamp type from int64_t __aligned(8)
    to aligned_s64
  iio: adc: mt6360: Correct marking of timestamp alignment.
  iio: adc: rockchip: correct alignment of timestamp

 drivers/iio/accel/bma220_spi.c                    | 2 +-
 drivers/iio/adc/ad4000.c                          | 2 +-
 drivers/iio/adc/ad7944.c                          | 2 +-
 drivers/iio/adc/ina2xx-adc.c                      | 2 +-
 drivers/iio/adc/max1118.c                         | 2 +-
 drivers/iio/adc/max11410.c                        | 2 +-
 drivers/iio/adc/mcp3911.c                         | 2 +-
 drivers/iio/adc/mt6360-adc.c                      | 4 ++--
 drivers/iio/adc/pac1921.c                         | 2 +-
 drivers/iio/adc/rockchip_saradc.c                 | 2 +-
 drivers/iio/adc/rtq6056.c                         | 2 +-
 drivers/iio/adc/ti-adc081c.c                      | 2 +-
 drivers/iio/adc/ti-adc084s021.c                   | 2 +-
 drivers/iio/adc/ti-ads1015.c                      | 2 +-
 drivers/iio/adc/ti-ads1119.c                      | 2 +-
 drivers/iio/adc/ti-ads131e08.c                    | 2 +-
 drivers/iio/adc/ti-lmp92064.c                     | 2 +-
 drivers/iio/adc/ti-tsc2046.c                      | 2 +-
 drivers/iio/adc/vf610_adc.c                       | 2 +-
 drivers/iio/chemical/ccs811.c                     | 2 +-
 drivers/iio/chemical/ens160_core.c                | 2 +-
 drivers/iio/chemical/scd30_core.c                 | 2 +-
 drivers/iio/chemical/scd4x.c                      | 2 +-
 drivers/iio/gyro/adxrs290.c                       | 2 +-
 drivers/iio/gyro/bmg160_core.c                    | 2 +-
 drivers/iio/gyro/itg3200_buffer.c                 | 2 +-
 drivers/iio/gyro/mpu3050-core.c                   | 2 +-
 drivers/iio/humidity/am2315.c                     | 2 +-
 drivers/iio/humidity/hdc100x.c                    | 2 +-
 drivers/iio/humidity/hts221.h                     | 2 +-
 drivers/iio/imu/bmi323/bmi323_core.c              | 2 +-
 drivers/iio/imu/bno055/bno055.c                   | 2 +-
 drivers/iio/imu/inv_icm42600/inv_icm42600_accel.c | 2 +-
 drivers/iio/imu/inv_icm42600/inv_icm42600_gyro.c  | 2 +-
 drivers/iio/light/adjd_s311.c                     | 2 +-
 drivers/iio/light/as73211.c                       | 2 +-
 drivers/iio/light/bh1745.c                        | 2 +-
 drivers/iio/light/isl29125.c                      | 2 +-
 drivers/iio/light/ltr501.c                        | 2 +-
 drivers/iio/light/max44000.c                      | 2 +-
 drivers/iio/light/rohm-bu27034.c                  | 2 +-
 drivers/iio/light/rpr0521.c                       | 2 +-
 drivers/iio/light/st_uvis25.h                     | 2 +-
 drivers/iio/light/tcs3414.c                       | 2 +-
 drivers/iio/light/tcs3472.c                       | 2 +-
 drivers/iio/magnetometer/af8133j.c                | 2 +-
 drivers/iio/magnetometer/ak8974.c                 | 2 +-
 drivers/iio/magnetometer/ak8975.c                 | 2 +-
 drivers/iio/magnetometer/bmc150_magn.c            | 2 +-
 drivers/iio/magnetometer/hmc5843.h                | 2 +-
 drivers/iio/magnetometer/mag3110.c                | 2 +-
 drivers/iio/magnetometer/yamaha-yas530.c          | 2 +-
 drivers/iio/pressure/hsc030pa.h                   | 2 +-
 drivers/iio/pressure/ms5611_core.c                | 2 +-
 drivers/iio/pressure/rohm-bm1390.c                | 2 +-
 drivers/iio/proximity/as3935.c                    | 2 +-
 drivers/iio/proximity/hx9023s.c                   | 2 +-
 drivers/iio/proximity/mb1232.c                    | 2 +-
 drivers/iio/proximity/pulsedlight-lidar-lite-v2.c | 2 +-
 drivers/iio/proximity/srf08.c                     | 2 +-
 drivers/iio/proximity/sx_common.h                 | 2 +-
 drivers/iio/resolver/ad2s1210.c                   | 2 +-
 drivers/iio/temperature/tmp006.c                  | 2 +-
 include/linux/iio/buffer.h                        | 6 +++---
 64 files changed, 67 insertions(+), 67 deletions(-)

Comments

Andy Shevchenko Dec. 15, 2024, 9:18 p.m. UTC | #1
On Sun, Dec 15, 2024 at 06:28:51PM +0000, Jonathan Cameron wrote:
> From: Jonathan Cameron <Jonathan.Cameron@huawei.com>
> 
> I haven't +CC everyone relevant as that would be too long a list
> and these are mostly entirely mechanical changes that just need
> someone to sanity check I didn't do anything stupid.
> 
> This combines several related types of change:
> 
> - Some 'fixes'. These aren't actual bugs but more places where
>   the code relies on factors it shouldn't such as what architecture
>   the driver is running on, or padding of the wrong element happening
>   to always make enough room.
> - Now we have aligned_s64, use that to replace all the remaining
>   s64 timestamp __aligned(8) instances in IIO.
>   This is both cleaner and hopefully less prone to confusing static
>   analysis tools.
> - Change the timestamp type in iio_push_to_buffers_with_timestamp() to s64.
>   This is an entirely in kernel interface. It's data is pushed to user space
>   in many case but by a rather indirect route, so I think it is more
>   appropriate to switch this to s64 which is the type of almost all the
>   values passed into it. Note a follow up series may tidy up some
>   local variables that are of the int64_t type.
> - Change the few int64_t timestamp __aligned(8) cases to aligned_s64.
>   This is mostly a consistency thing to avoid confusion if a new author
>   is trying to figure out what types they should use.  Better to have
>   one answer than a mixture.
> 
> There is one other IIO driver hiding over in media that will be modified
> by a separate patch because I want to add some more info to that and
> a more specific CC list.

I briefly looked at most of the patches and haven't noticed any potential
issues, all seems like a straightforward conversion. Hence
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

for all, except 15 and 19.

Patch 15 has got a few minor comments (and to accent on that I'm not sure about
my offer for sizeof(), using direct variable might make it inconsistent in this
case, because the following line uses explicit type instead of typeof(), and
using the latter makes the code unreadable).

Patch 19 seems correct to me, but I'm not going to give a tag to be on the safe
side.