On 10/30/13 22:48, Srinivas Pandruvada wrote: > A quaternion channel type is added. Here channel information is > composed of four components: a vector with x, y, z coordinates and > a w rotation. Reusing x, y, z channel modifiers, but added "w" > component in the modifier list. > > Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> In brief I am against this for the same reason I didn't like this before. A quaternion has no meaning if it isn't all present. Hence we need to ensure that it is always presented to userspace with all four components present. I'll hopefully have a few mins at the weekend to to bash out some example code for how I would suggest we handle this. If you could repost the patches before this one with everything that should be in them then hopefully we can take those whilst still 'discussing' how to handle the last 2! Jonathan > --- > drivers/iio/industrialio-core.c | 2 ++ > include/linux/iio/types.h | 2 ++ > 2 files changed, 4 insertions(+) > > diff --git a/drivers/iio/industrialio-core.c b/drivers/iio/industrialio-core.c > index f95c697..b754f50 100644 > --- a/drivers/iio/industrialio-core.c > +++ b/drivers/iio/industrialio-core.c > @@ -66,6 +66,7 @@ static const char * const iio_chan_type_name_spec[] = { > [IIO_ALTVOLTAGE] = "altvoltage", > [IIO_CCT] = "cct", > [IIO_PRESSURE] = "pressure", > + [IIO_QUAT_ROT] = "quat_rot", > }; > > static const char * const iio_modifier_names[] = { > @@ -80,6 +81,7 @@ static const char * const iio_modifier_names[] = { > [IIO_MOD_LIGHT_RED] = "red", > [IIO_MOD_LIGHT_GREEN] = "green", > [IIO_MOD_LIGHT_BLUE] = "blue", > + [IIO_MOD_W] = "w", > }; > > /* relies on pairs of these shared then separate */ > diff --git a/include/linux/iio/types.h b/include/linux/iio/types.h > index 88bf0f0..4565f5c 100644 > --- a/include/linux/iio/types.h > +++ b/include/linux/iio/types.h > @@ -29,6 +29,7 @@ enum iio_chan_type { > IIO_ALTVOLTAGE, > IIO_CCT, > IIO_PRESSURE, > + IIO_QUAT_ROT, > }; > > enum iio_modifier { > @@ -52,6 +53,7 @@ enum iio_modifier { > IIO_MOD_LIGHT_RED, > IIO_MOD_LIGHT_GREEN, > IIO_MOD_LIGHT_BLUE, > + IIO_MOD_W, > }; > > #define IIO_VAL_INT 1 > -- To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html