Il giorno gio 28 ott 2021 alle ore 12:41 Jonathan Cameron <jic23@xxxxxxxxxx> ha scritto: > > On Thu, 28 Oct 2021 12:18:34 +0200 > Andrea Merello <andrea.merello@xxxxxxxxx> wrote: > > > This patch is preparatory for adding the Bosh BNO055 IMU driver. > > The said IMU can report raw accelerations (among x, y and z axis) > > as well as the so called "linear accelerations" (again, among x, > > y and z axis) which is basically the acceleration after subtracting > > gravity. > > > > This patch adds IIO_MOD_ACCEL_LINEAR_X, IIO_MOD_ACCEL_LINEAR_Y and > > IIO_MOD_ACCEL_LINEAR_Z modifiers to te IIO core. > > > > Signed-off-by: Andrea Merello <andrea.merello@xxxxxx> > > They sometimes get forgotten but we should also update > tools/iio/iio_event_montitor.c to handle these new modifiers. I'm not so familiar with this tool, but it seems like it has to do with IIO events, which the bno055 driver doesn't use. On the other hand the modifiers I would add are not used by any other driver right now. So I would say that it would end up in adding things that I couldn't test.. Or is there any test infrastructure for this? It seems trivial, just a matter of a few defines, so it shouldn't be an issue indeed.. > That can be a separate patch, but also fine to do it in this one. > > > --- > > drivers/iio/industrialio-core.c | 3 +++ > > include/uapi/linux/iio/types.h | 4 +++- > > 2 files changed, 6 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/iio/industrialio-core.c b/drivers/iio/industrialio-core.c > > index 2dbb37e09b8c..a79cb32207e4 100644 > > --- a/drivers/iio/industrialio-core.c > > +++ b/drivers/iio/industrialio-core.c > > @@ -134,6 +134,9 @@ static const char * const iio_modifier_names[] = { > > [IIO_MOD_ETHANOL] = "ethanol", > > [IIO_MOD_H2] = "h2", > > [IIO_MOD_O2] = "o2", > > + [IIO_MOD_ACCEL_LINEAR_X] = "linear_x", > > + [IIO_MOD_ACCEL_LINEAR_Y] = "linear_y", > > + [IIO_MOD_ACCEL_LINEAR_Z] = "linear_z" > > }; > > > > /* relies on pairs of these shared then separate */ > > diff --git a/include/uapi/linux/iio/types.h b/include/uapi/linux/iio/types.h > > index 48c13147c0a8..db00f7c45f48 100644 > > --- a/include/uapi/linux/iio/types.h > > +++ b/include/uapi/linux/iio/types.h > > @@ -95,6 +95,9 @@ enum iio_modifier { > > IIO_MOD_ETHANOL, > > IIO_MOD_H2, > > IIO_MOD_O2, > > + IIO_MOD_ACCEL_LINEAR_X, > > + IIO_MOD_ACCEL_LINEAR_Y, > > + IIO_MOD_ACCEL_LINEAR_Z, > > It might be useful for other channel types, so probably drop the ACCEL > part of the name. > > I'll admit I can't immediately think of what, but you never know.. :) But in this case what should I write in the ABI documentation? If I state that this is something that makes the gravity not being included then isn't it intrinsically tied to be an acceleration? Or, I do that, and if someone eventually finds another use, then she/he will change the ABI doc? > > }; > > > > enum iio_event_type { > > @@ -114,4 +117,3 @@ enum iio_event_direction { > > }; > > > > #endif /* _UAPI_IIO_TYPES_H_ */ > > - > ? > >