Commit 50467d89 authored by David Lechner's avatar David Lechner Committed by Jonathan Cameron
Browse files

iio: imu: bno055: make bno055_sysfs_attr const



Add const qualifier to struct bno055_sysfs_attr and its array fields.
All of this is read-only data so it can be made const.

Signed-off-by: default avatarDavid Lechner <dlechner@baylibre.com>
Link: https://patch.msgid.link/20250709-iio-const-data-19-v2-2-fb3fc9191251@baylibre.com


Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
parent 399b883e
Loading
Loading
Loading
Loading
+26 −23
Original line number Diff line number Diff line
@@ -114,35 +114,35 @@
#define BNO055_UID_LEN 16

struct bno055_sysfs_attr {
	int *vals;
	const int *vals;
	int len;
	int *fusion_vals;
	int *hw_xlate;
	const int *fusion_vals;
	const int *hw_xlate;
	int hw_xlate_len;
	int type;
};

static int bno055_acc_lpf_vals[] = {
static const int bno055_acc_lpf_vals[] = {
	7, 810000, 15, 630000, 31, 250000, 62, 500000,
	125, 0, 250, 0, 500, 0, 1000, 0,
};

static struct bno055_sysfs_attr bno055_acc_lpf = {
static const struct bno055_sysfs_attr bno055_acc_lpf = {
	.vals = bno055_acc_lpf_vals,
	.len = ARRAY_SIZE(bno055_acc_lpf_vals),
	.fusion_vals = (int[]){62, 500000},
	.fusion_vals = (const int[]){62, 500000},
	.type = IIO_VAL_INT_PLUS_MICRO,
};

static int bno055_acc_range_vals[] = {
static const int bno055_acc_range_vals[] = {
  /* G:    2,    4,    8,    16 */
	1962, 3924, 7848, 15696
};

static struct bno055_sysfs_attr bno055_acc_range = {
static const struct bno055_sysfs_attr bno055_acc_range = {
	.vals = bno055_acc_range_vals,
	.len = ARRAY_SIZE(bno055_acc_range_vals),
	.fusion_vals = (int[]){3924}, /* 4G */
	.fusion_vals = (const int[]){3924}, /* 4G */
	.type = IIO_VAL_INT,
};

@@ -166,37 +166,37 @@ static struct bno055_sysfs_attr bno055_acc_range = {
 *     = hwval * (dps_range/(2^15 * k))
 * where k is rad-to-deg factor
 */
static int bno055_gyr_scale_vals[] = {
static const int bno055_gyr_scale_vals[] = {
	125, 1877467, 250, 1877467, 500, 1877467,
	1000, 1877467, 2000, 1877467,
};

static int bno055_gyr_scale_hw_xlate[] = {0, 1, 2, 3, 4};
static struct bno055_sysfs_attr bno055_gyr_scale = {
static const int bno055_gyr_scale_hw_xlate[] = {0, 1, 2, 3, 4};
static const struct bno055_sysfs_attr bno055_gyr_scale = {
	.vals = bno055_gyr_scale_vals,
	.len = ARRAY_SIZE(bno055_gyr_scale_vals),
	.fusion_vals = (int[]){1, 900},
	.fusion_vals = (const int[]){1, 900},
	.hw_xlate = bno055_gyr_scale_hw_xlate,
	.hw_xlate_len = ARRAY_SIZE(bno055_gyr_scale_hw_xlate),
	.type = IIO_VAL_FRACTIONAL,
};

static int bno055_gyr_lpf_vals[] = {12, 23, 32, 47, 64, 116, 230, 523};
static int bno055_gyr_lpf_hw_xlate[] = {5, 4, 7, 3, 6, 2, 1, 0};
static struct bno055_sysfs_attr bno055_gyr_lpf = {
static const int bno055_gyr_lpf_vals[] = {12, 23, 32, 47, 64, 116, 230, 523};
static const int bno055_gyr_lpf_hw_xlate[] = {5, 4, 7, 3, 6, 2, 1, 0};
static const struct bno055_sysfs_attr bno055_gyr_lpf = {
	.vals = bno055_gyr_lpf_vals,
	.len = ARRAY_SIZE(bno055_gyr_lpf_vals),
	.fusion_vals = (int[]){32},
	.fusion_vals = (const int[]){32},
	.hw_xlate = bno055_gyr_lpf_hw_xlate,
	.hw_xlate_len = ARRAY_SIZE(bno055_gyr_lpf_hw_xlate),
	.type = IIO_VAL_INT,
};

static int bno055_mag_odr_vals[] = {2, 6, 8, 10, 15, 20, 25, 30};
static struct bno055_sysfs_attr bno055_mag_odr = {
static const int bno055_mag_odr_vals[] = {2, 6, 8, 10, 15, 20, 25, 30};
static const struct bno055_sysfs_attr bno055_mag_odr = {
	.vals = bno055_mag_odr_vals,
	.len =  ARRAY_SIZE(bno055_mag_odr_vals),
	.fusion_vals = (int[]){20},
	.fusion_vals = (const int[]){20},
	.type = IIO_VAL_INT,
};

@@ -553,7 +553,8 @@ static const struct iio_chan_spec bno055_channels[] = {
};

static int bno055_get_regmask(struct bno055_priv *priv, int *val, int *val2,
			      int reg, int mask, struct bno055_sysfs_attr *attr)
			      int reg, int mask,
			      const struct bno055_sysfs_attr *attr)
{
	const int shift = __ffs(mask);
	int hwval, idx;
@@ -582,7 +583,8 @@ static int bno055_get_regmask(struct bno055_priv *priv, int *val, int *val2,
}

static int bno055_set_regmask(struct bno055_priv *priv, int val, int val2,
			      int reg, int mask, struct bno055_sysfs_attr *attr)
			      int reg, int mask,
			      const struct bno055_sysfs_attr *attr)
{
	const int shift = __ffs(mask);
	int best_delta;
@@ -763,7 +765,8 @@ static int bno055_read_simple_chan(struct iio_dev *indio_dev,
	}
}

static int bno055_sysfs_attr_avail(struct bno055_priv *priv, struct bno055_sysfs_attr *attr,
static int bno055_sysfs_attr_avail(struct bno055_priv *priv,
				   const struct bno055_sysfs_attr *attr,
				   const int **vals, int *length)
{
	if (priv->operation_mode != BNO055_OPR_MODE_AMG) {