iio: imu: inv_icm42600: Convert to uXX and sXX integer types

The driver code is full of intXX_t and uintXX_t types which is
not the pattern we use in the IIO subsystem. Switch the driver
to use kernel internal types for that. No functional changes.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@tdk.com>
Link: https://patch.msgid.link/20250616090423.575736-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
Andy Shevchenko 2025-06-16 12:03:21 +03:00 committed by Jonathan Cameron
parent 8540a6f93a
commit a4135386fa
7 changed files with 57 additions and 57 deletions

View File

@ -164,11 +164,11 @@ struct inv_icm42600_state {
struct inv_icm42600_suspended suspended; struct inv_icm42600_suspended suspended;
struct iio_dev *indio_gyro; struct iio_dev *indio_gyro;
struct iio_dev *indio_accel; struct iio_dev *indio_accel;
uint8_t buffer[2] __aligned(IIO_DMA_MINALIGN); u8 buffer[2] __aligned(IIO_DMA_MINALIGN);
struct inv_icm42600_fifo fifo; struct inv_icm42600_fifo fifo;
struct { struct {
int64_t gyro; s64 gyro;
int64_t accel; s64 accel;
} timestamp; } timestamp;
}; };
@ -410,7 +410,7 @@ const struct iio_mount_matrix *
inv_icm42600_get_mount_matrix(const struct iio_dev *indio_dev, inv_icm42600_get_mount_matrix(const struct iio_dev *indio_dev,
const struct iio_chan_spec *chan); const struct iio_chan_spec *chan);
uint32_t inv_icm42600_odr_to_period(enum inv_icm42600_odr odr); u32 inv_icm42600_odr_to_period(enum inv_icm42600_odr odr);
int inv_icm42600_set_accel_conf(struct inv_icm42600_state *st, int inv_icm42600_set_accel_conf(struct inv_icm42600_state *st,
struct inv_icm42600_sensor_conf *conf, struct inv_icm42600_sensor_conf *conf,

View File

@ -177,7 +177,7 @@ static const struct iio_chan_spec inv_icm42600_accel_channels[] = {
*/ */
struct inv_icm42600_accel_buffer { struct inv_icm42600_accel_buffer {
struct inv_icm42600_fifo_sensor_data accel; struct inv_icm42600_fifo_sensor_data accel;
int16_t temp; s16 temp;
aligned_s64 timestamp; aligned_s64 timestamp;
}; };
@ -241,7 +241,7 @@ out_unlock:
static int inv_icm42600_accel_read_sensor(struct iio_dev *indio_dev, static int inv_icm42600_accel_read_sensor(struct iio_dev *indio_dev,
struct iio_chan_spec const *chan, struct iio_chan_spec const *chan,
int16_t *val) s16 *val)
{ {
struct inv_icm42600_state *st = iio_device_get_drvdata(indio_dev); struct inv_icm42600_state *st = iio_device_get_drvdata(indio_dev);
struct inv_icm42600_sensor_state *accel_st = iio_priv(indio_dev); struct inv_icm42600_sensor_state *accel_st = iio_priv(indio_dev);
@ -284,7 +284,7 @@ static int inv_icm42600_accel_read_sensor(struct iio_dev *indio_dev,
if (ret) if (ret)
goto exit; goto exit;
*val = (int16_t)be16_to_cpup(data); *val = (s16)be16_to_cpup(data);
if (*val == INV_ICM42600_DATA_INVALID) if (*val == INV_ICM42600_DATA_INVALID)
ret = -EINVAL; ret = -EINVAL;
exit: exit:
@ -492,11 +492,11 @@ static int inv_icm42600_accel_read_offset(struct inv_icm42600_state *st,
int *val, int *val2) int *val, int *val2)
{ {
struct device *dev = regmap_get_device(st->map); struct device *dev = regmap_get_device(st->map);
int64_t val64; s64 val64;
int32_t bias; s32 bias;
unsigned int reg; unsigned int reg;
int16_t offset; s16 offset;
uint8_t data[2]; u8 data[2];
int ret; int ret;
if (chan->type != IIO_ACCEL) if (chan->type != IIO_ACCEL)
@ -550,7 +550,7 @@ static int inv_icm42600_accel_read_offset(struct inv_icm42600_state *st,
* result in micro (1000000) * result in micro (1000000)
* (offset * 5 * 9.806650 * 1000000) / 10000 * (offset * 5 * 9.806650 * 1000000) / 10000
*/ */
val64 = (int64_t)offset * 5LL * 9806650LL; val64 = (s64)offset * 5LL * 9806650LL;
/* for rounding, add + or - divisor (10000) divided by 2 */ /* for rounding, add + or - divisor (10000) divided by 2 */
if (val64 >= 0) if (val64 >= 0)
val64 += 10000LL / 2LL; val64 += 10000LL / 2LL;
@ -568,10 +568,10 @@ static int inv_icm42600_accel_write_offset(struct inv_icm42600_state *st,
int val, int val2) int val, int val2)
{ {
struct device *dev = regmap_get_device(st->map); struct device *dev = regmap_get_device(st->map);
int64_t val64; s64 val64;
int32_t min, max; s32 min, max;
unsigned int reg, regval; unsigned int reg, regval;
int16_t offset; s16 offset;
int ret; int ret;
if (chan->type != IIO_ACCEL) if (chan->type != IIO_ACCEL)
@ -596,7 +596,7 @@ static int inv_icm42600_accel_write_offset(struct inv_icm42600_state *st,
inv_icm42600_accel_calibbias[1]; inv_icm42600_accel_calibbias[1];
max = inv_icm42600_accel_calibbias[4] * 1000000L + max = inv_icm42600_accel_calibbias[4] * 1000000L +
inv_icm42600_accel_calibbias[5]; inv_icm42600_accel_calibbias[5];
val64 = (int64_t)val * 1000000LL + (int64_t)val2; val64 = (s64)val * 1000000LL + (s64)val2;
if (val64 < min || val64 > max) if (val64 < min || val64 > max)
return -EINVAL; return -EINVAL;
@ -671,7 +671,7 @@ static int inv_icm42600_accel_read_raw(struct iio_dev *indio_dev,
int *val, int *val2, long mask) int *val, int *val2, long mask)
{ {
struct inv_icm42600_state *st = iio_device_get_drvdata(indio_dev); struct inv_icm42600_state *st = iio_device_get_drvdata(indio_dev);
int16_t data; s16 data;
int ret; int ret;
switch (chan->type) { switch (chan->type) {

View File

@ -26,28 +26,28 @@
#define INV_ICM42600_FIFO_HEADER_ODR_GYRO BIT(0) #define INV_ICM42600_FIFO_HEADER_ODR_GYRO BIT(0)
struct inv_icm42600_fifo_1sensor_packet { struct inv_icm42600_fifo_1sensor_packet {
uint8_t header; u8 header;
struct inv_icm42600_fifo_sensor_data data; struct inv_icm42600_fifo_sensor_data data;
int8_t temp; s8 temp;
} __packed; } __packed;
#define INV_ICM42600_FIFO_1SENSOR_PACKET_SIZE 8 #define INV_ICM42600_FIFO_1SENSOR_PACKET_SIZE 8
struct inv_icm42600_fifo_2sensors_packet { struct inv_icm42600_fifo_2sensors_packet {
uint8_t header; u8 header;
struct inv_icm42600_fifo_sensor_data accel; struct inv_icm42600_fifo_sensor_data accel;
struct inv_icm42600_fifo_sensor_data gyro; struct inv_icm42600_fifo_sensor_data gyro;
int8_t temp; s8 temp;
__be16 timestamp; __be16 timestamp;
} __packed; } __packed;
#define INV_ICM42600_FIFO_2SENSORS_PACKET_SIZE 16 #define INV_ICM42600_FIFO_2SENSORS_PACKET_SIZE 16
ssize_t inv_icm42600_fifo_decode_packet(const void *packet, const void **accel, ssize_t inv_icm42600_fifo_decode_packet(const void *packet, const void **accel,
const void **gyro, const int8_t **temp, const void **gyro, const s8 **temp,
const void **timestamp, unsigned int *odr) const void **timestamp, unsigned int *odr)
{ {
const struct inv_icm42600_fifo_1sensor_packet *pack1 = packet; const struct inv_icm42600_fifo_1sensor_packet *pack1 = packet;
const struct inv_icm42600_fifo_2sensors_packet *pack2 = packet; const struct inv_icm42600_fifo_2sensors_packet *pack2 = packet;
uint8_t header = *((const uint8_t *)packet); u8 header = *((const u8 *)packet);
/* FIFO empty */ /* FIFO empty */
if (header & INV_ICM42600_FIFO_HEADER_MSG) { if (header & INV_ICM42600_FIFO_HEADER_MSG) {
@ -100,7 +100,7 @@ ssize_t inv_icm42600_fifo_decode_packet(const void *packet, const void **accel,
void inv_icm42600_buffer_update_fifo_period(struct inv_icm42600_state *st) void inv_icm42600_buffer_update_fifo_period(struct inv_icm42600_state *st)
{ {
uint32_t period_gyro, period_accel, period; u32 period_gyro, period_accel, period;
if (st->fifo.en & INV_ICM42600_SENSOR_GYRO) if (st->fifo.en & INV_ICM42600_SENSOR_GYRO)
period_gyro = inv_icm42600_odr_to_period(st->conf.gyro.odr); period_gyro = inv_icm42600_odr_to_period(st->conf.gyro.odr);
@ -204,8 +204,8 @@ int inv_icm42600_buffer_update_watermark(struct inv_icm42600_state *st)
{ {
size_t packet_size, wm_size; size_t packet_size, wm_size;
unsigned int wm_gyro, wm_accel, watermark; unsigned int wm_gyro, wm_accel, watermark;
uint32_t period_gyro, period_accel, period; u32 period_gyro, period_accel, period;
uint32_t latency_gyro, latency_accel, latency; u32 latency_gyro, latency_accel, latency;
bool restore; bool restore;
__le16 raw_wm; __le16 raw_wm;
int ret; int ret;
@ -459,7 +459,7 @@ int inv_icm42600_buffer_fifo_read(struct inv_icm42600_state *st,
__be16 *raw_fifo_count; __be16 *raw_fifo_count;
ssize_t i, size; ssize_t i, size;
const void *accel, *gyro, *timestamp; const void *accel, *gyro, *timestamp;
const int8_t *temp; const s8 *temp;
unsigned int odr; unsigned int odr;
int ret; int ret;
@ -550,7 +550,7 @@ int inv_icm42600_buffer_hwfifo_flush(struct inv_icm42600_state *st,
struct inv_icm42600_sensor_state *gyro_st = iio_priv(st->indio_gyro); struct inv_icm42600_sensor_state *gyro_st = iio_priv(st->indio_gyro);
struct inv_icm42600_sensor_state *accel_st = iio_priv(st->indio_accel); struct inv_icm42600_sensor_state *accel_st = iio_priv(st->indio_accel);
struct inv_sensors_timestamp *ts; struct inv_sensors_timestamp *ts;
int64_t gyro_ts, accel_ts; s64 gyro_ts, accel_ts;
int ret; int ret;
gyro_ts = iio_get_time_ns(st->indio_gyro); gyro_ts = iio_get_time_ns(st->indio_gyro);

View File

@ -28,7 +28,7 @@ struct inv_icm42600_state;
struct inv_icm42600_fifo { struct inv_icm42600_fifo {
unsigned int on; unsigned int on;
unsigned int en; unsigned int en;
uint32_t period; u32 period;
struct { struct {
unsigned int gyro; unsigned int gyro;
unsigned int accel; unsigned int accel;
@ -41,7 +41,7 @@ struct inv_icm42600_fifo {
size_t accel; size_t accel;
size_t total; size_t total;
} nb; } nb;
uint8_t data[2080] __aligned(IIO_DMA_MINALIGN); u8 data[2080] __aligned(IIO_DMA_MINALIGN);
}; };
/* FIFO data packet */ /* FIFO data packet */
@ -52,7 +52,7 @@ struct inv_icm42600_fifo_sensor_data {
} __packed; } __packed;
#define INV_ICM42600_FIFO_DATA_INVALID -32768 #define INV_ICM42600_FIFO_DATA_INVALID -32768
static inline int16_t inv_icm42600_fifo_get_sensor_data(__be16 d) static inline s16 inv_icm42600_fifo_get_sensor_data(__be16 d)
{ {
return be16_to_cpu(d); return be16_to_cpu(d);
} }
@ -60,7 +60,7 @@ static inline int16_t inv_icm42600_fifo_get_sensor_data(__be16 d)
static inline bool static inline bool
inv_icm42600_fifo_is_data_valid(const struct inv_icm42600_fifo_sensor_data *s) inv_icm42600_fifo_is_data_valid(const struct inv_icm42600_fifo_sensor_data *s)
{ {
int16_t x, y, z; s16 x, y, z;
x = inv_icm42600_fifo_get_sensor_data(s->x); x = inv_icm42600_fifo_get_sensor_data(s->x);
y = inv_icm42600_fifo_get_sensor_data(s->y); y = inv_icm42600_fifo_get_sensor_data(s->y);
@ -75,7 +75,7 @@ inv_icm42600_fifo_is_data_valid(const struct inv_icm42600_fifo_sensor_data *s)
} }
ssize_t inv_icm42600_fifo_decode_packet(const void *packet, const void **accel, ssize_t inv_icm42600_fifo_decode_packet(const void *packet, const void **accel,
const void **gyro, const int8_t **temp, const void **gyro, const s8 **temp,
const void **timestamp, unsigned int *odr); const void **timestamp, unsigned int *odr);
extern const struct iio_buffer_setup_ops inv_icm42600_buffer_ops; extern const struct iio_buffer_setup_ops inv_icm42600_buffer_ops;

View File

@ -103,7 +103,7 @@ const struct regmap_config inv_icm42600_spi_regmap_config = {
EXPORT_SYMBOL_NS_GPL(inv_icm42600_spi_regmap_config, "IIO_ICM42600"); EXPORT_SYMBOL_NS_GPL(inv_icm42600_spi_regmap_config, "IIO_ICM42600");
struct inv_icm42600_hw { struct inv_icm42600_hw {
uint8_t whoami; u8 whoami;
const char *name; const char *name;
const struct inv_icm42600_conf *conf; const struct inv_icm42600_conf *conf;
}; };
@ -188,9 +188,9 @@ inv_icm42600_get_mount_matrix(const struct iio_dev *indio_dev,
return &st->orientation; return &st->orientation;
} }
uint32_t inv_icm42600_odr_to_period(enum inv_icm42600_odr odr) u32 inv_icm42600_odr_to_period(enum inv_icm42600_odr odr)
{ {
static uint32_t odr_periods[INV_ICM42600_ODR_NB] = { static u32 odr_periods[INV_ICM42600_ODR_NB] = {
/* reserved values */ /* reserved values */
0, 0, 0, 0, 0, 0,
/* 8kHz */ /* 8kHz */

View File

@ -77,7 +77,7 @@ static const struct iio_chan_spec inv_icm42600_gyro_channels[] = {
*/ */
struct inv_icm42600_gyro_buffer { struct inv_icm42600_gyro_buffer {
struct inv_icm42600_fifo_sensor_data gyro; struct inv_icm42600_fifo_sensor_data gyro;
int16_t temp; s16 temp;
aligned_s64 timestamp; aligned_s64 timestamp;
}; };
@ -139,7 +139,7 @@ out_unlock:
static int inv_icm42600_gyro_read_sensor(struct inv_icm42600_state *st, static int inv_icm42600_gyro_read_sensor(struct inv_icm42600_state *st,
struct iio_chan_spec const *chan, struct iio_chan_spec const *chan,
int16_t *val) s16 *val)
{ {
struct device *dev = regmap_get_device(st->map); struct device *dev = regmap_get_device(st->map);
struct inv_icm42600_sensor_conf conf = INV_ICM42600_SENSOR_CONF_INIT; struct inv_icm42600_sensor_conf conf = INV_ICM42600_SENSOR_CONF_INIT;
@ -179,7 +179,7 @@ static int inv_icm42600_gyro_read_sensor(struct inv_icm42600_state *st,
if (ret) if (ret)
goto exit; goto exit;
*val = (int16_t)be16_to_cpup(data); *val = (s16)be16_to_cpup(data);
if (*val == INV_ICM42600_DATA_INVALID) if (*val == INV_ICM42600_DATA_INVALID)
ret = -EINVAL; ret = -EINVAL;
exit: exit:
@ -399,11 +399,11 @@ static int inv_icm42600_gyro_read_offset(struct inv_icm42600_state *st,
int *val, int *val2) int *val, int *val2)
{ {
struct device *dev = regmap_get_device(st->map); struct device *dev = regmap_get_device(st->map);
int64_t val64; s64 val64;
int32_t bias; s32 bias;
unsigned int reg; unsigned int reg;
int16_t offset; s16 offset;
uint8_t data[2]; u8 data[2];
int ret; int ret;
if (chan->type != IIO_ANGL_VEL) if (chan->type != IIO_ANGL_VEL)
@ -457,7 +457,7 @@ static int inv_icm42600_gyro_read_offset(struct inv_icm42600_state *st,
* result in nano (1000000000) * result in nano (1000000000)
* (offset * 64 * Pi * 1000000000) / (2048 * 180) * (offset * 64 * Pi * 1000000000) / (2048 * 180)
*/ */
val64 = (int64_t)offset * 64LL * 3141592653LL; val64 = (s64)offset * 64LL * 3141592653LL;
/* for rounding, add + or - divisor (2048 * 180) divided by 2 */ /* for rounding, add + or - divisor (2048 * 180) divided by 2 */
if (val64 >= 0) if (val64 >= 0)
val64 += 2048 * 180 / 2; val64 += 2048 * 180 / 2;
@ -475,9 +475,9 @@ static int inv_icm42600_gyro_write_offset(struct inv_icm42600_state *st,
int val, int val2) int val, int val2)
{ {
struct device *dev = regmap_get_device(st->map); struct device *dev = regmap_get_device(st->map);
int64_t val64, min, max; s64 val64, min, max;
unsigned int reg, regval; unsigned int reg, regval;
int16_t offset; s16 offset;
int ret; int ret;
if (chan->type != IIO_ANGL_VEL) if (chan->type != IIO_ANGL_VEL)
@ -498,11 +498,11 @@ static int inv_icm42600_gyro_write_offset(struct inv_icm42600_state *st,
} }
/* inv_icm42600_gyro_calibbias: min - step - max in nano */ /* inv_icm42600_gyro_calibbias: min - step - max in nano */
min = (int64_t)inv_icm42600_gyro_calibbias[0] * 1000000000LL + min = (s64)inv_icm42600_gyro_calibbias[0] * 1000000000LL +
(int64_t)inv_icm42600_gyro_calibbias[1]; (s64)inv_icm42600_gyro_calibbias[1];
max = (int64_t)inv_icm42600_gyro_calibbias[4] * 1000000000LL + max = (s64)inv_icm42600_gyro_calibbias[4] * 1000000000LL +
(int64_t)inv_icm42600_gyro_calibbias[5]; (s64)inv_icm42600_gyro_calibbias[5];
val64 = (int64_t)val * 1000000000LL + (int64_t)val2; val64 = (s64)val * 1000000000LL + (s64)val2;
if (val64 < min || val64 > max) if (val64 < min || val64 > max)
return -EINVAL; return -EINVAL;
@ -577,7 +577,7 @@ static int inv_icm42600_gyro_read_raw(struct iio_dev *indio_dev,
int *val, int *val2, long mask) int *val, int *val2, long mask)
{ {
struct inv_icm42600_state *st = iio_device_get_drvdata(indio_dev); struct inv_icm42600_state *st = iio_device_get_drvdata(indio_dev);
int16_t data; s16 data;
int ret; int ret;
switch (chan->type) { switch (chan->type) {
@ -803,9 +803,9 @@ int inv_icm42600_gyro_parse_fifo(struct iio_dev *indio_dev)
ssize_t i, size; ssize_t i, size;
unsigned int no; unsigned int no;
const void *accel, *gyro, *timestamp; const void *accel, *gyro, *timestamp;
const int8_t *temp; const s8 *temp;
unsigned int odr; unsigned int odr;
int64_t ts_val; s64 ts_val;
/* buffer is copied to userspace, zeroing it to avoid any data leak */ /* buffer is copied to userspace, zeroing it to avoid any data leak */
struct inv_icm42600_gyro_buffer buffer = { }; struct inv_icm42600_gyro_buffer buffer = { };

View File

@ -13,7 +13,7 @@
#include "inv_icm42600.h" #include "inv_icm42600.h"
#include "inv_icm42600_temp.h" #include "inv_icm42600_temp.h"
static int inv_icm42600_temp_read(struct inv_icm42600_state *st, int16_t *temp) static int inv_icm42600_temp_read(struct inv_icm42600_state *st, s16 *temp)
{ {
struct device *dev = regmap_get_device(st->map); struct device *dev = regmap_get_device(st->map);
__be16 *raw; __be16 *raw;
@ -31,7 +31,7 @@ static int inv_icm42600_temp_read(struct inv_icm42600_state *st, int16_t *temp)
if (ret) if (ret)
goto exit; goto exit;
*temp = (int16_t)be16_to_cpup(raw); *temp = (s16)be16_to_cpup(raw);
if (*temp == INV_ICM42600_DATA_INVALID) if (*temp == INV_ICM42600_DATA_INVALID)
ret = -EINVAL; ret = -EINVAL;
@ -48,7 +48,7 @@ int inv_icm42600_temp_read_raw(struct iio_dev *indio_dev,
int *val, int *val2, long mask) int *val, int *val2, long mask)
{ {
struct inv_icm42600_state *st = iio_device_get_drvdata(indio_dev); struct inv_icm42600_state *st = iio_device_get_drvdata(indio_dev);
int16_t temp; s16 temp;
int ret; int ret;
if (chan->type != IIO_TEMP) if (chan->type != IIO_TEMP)