Re: [RFC PATCH v2 5/7] iio: core: Introduce HEIGHT channel type

From: Jonathan Cameron
Date: Sat Oct 25 2014 - 15:24:43 EST


On 09/10/14 13:39, Daniel Baluta wrote:
> From: Irina Tirdea <irina.tirdea@xxxxxxxxx>
>
> Some devices need the height of the user to compute various
> parameters. One of this devices is Freescale's MMA9553L
> (http://www.freescale.com/files/sensors/doc/ref_manual/MMA9553LSWRM.pdf)
> that needs the height of the user to compute the stride length which
> is used further to determine distance, speed and activity type.
>
> Introduce a new channel type HEIGHT to export these values.

Now I'd love to make this generic as
in_distance_z_input etc but I guess that's pretty confusing for users ;)
Sadly altitude is going to be even more confusing.

I wonder if we should make this more explicit and have it as
in_steps_calibheight (repeated for all the channels whose computation
it effects). It's really a parameter of those channels rather than on
its own.

It should be out_height_input etc given you are setting it (like a trim
DAC on some ADC setup)

The there is an implication as that you are changing the users height
which, whilst it would be 'interesting', is probably the wrong impression!

*laughs* Maybe you were right to keep this an RFC for now ;)
>
> Signed-off-by: Irina Tirdea <irina.tirdea@xxxxxxxxx>
> Signed-off-by: Daniel Baluta <daniel.baluta@xxxxxxxxx>
> ---
> Documentation/ABI/testing/sysfs-bus-iio | 9 +++++++++
> drivers/iio/industrialio-core.c | 1 +
> include/linux/iio/types.h | 1 +
> 3 files changed, 11 insertions(+)
>
> diff --git a/Documentation/ABI/testing/sysfs-bus-iio b/Documentation/ABI/testing/sysfs-bus-iio
> index 3557a69..fc027cb 100644
> --- a/Documentation/ABI/testing/sysfs-bus-iio
> +++ b/Documentation/ABI/testing/sysfs-bus-iio
> @@ -256,6 +256,7 @@ What: /sys/bus/iio/devices/iio:deviceX/out_altvoltageY_scale
> What: /sys/bus/iio/devices/iio:deviceX/in_accel_scale
> What: /sys/bus/iio/devices/iio:deviceX/in_accel_peak_scale
> What: /sys/bus/iio/devices/iio:deviceX/in_anglvel_scale
> +What: /sys/bus/iio/devices/iio:deviceX/in_height_scale
> What: /sys/bus/iio/devices/iio:deviceX/in_magn_scale
> What: /sys/bus/iio/devices/iio:deviceX/in_magn_x_scale
> What: /sys/bus/iio/devices/iio:deviceX/in_magn_y_scale
> @@ -1010,6 +1011,14 @@ Description:
> For a list of available output power modes read
> in_accel_power_mode_available.
>
> +What: /sys/.../iio:deviceX/in_height_input
> +What: /sys/.../iio:deviceX/in_height_raw
> +KernelVersion: 3.17
> +Contact: linux-iio@xxxxxxxxxxxxxxx
> +Description:
> + This attribute is used to set and read the user's height.
> + Units after application of scale are centimeters.
> +
> What: /sys/bus/iio/devices/iio:deviceX/store_eeprom
> KernelVersion: 3.4.0
> Contact: linux-iio@xxxxxxxxxxxxxxx
> diff --git a/drivers/iio/industrialio-core.c b/drivers/iio/industrialio-core.c
> index 1e060f3..f08b278 100644
> --- a/drivers/iio/industrialio-core.c
> +++ b/drivers/iio/industrialio-core.c
> @@ -72,6 +72,7 @@ static const char * const iio_chan_type_name_spec[] = {
> [IIO_HUMIDITYRELATIVE] = "humidityrelative",
> [IIO_ACTIVITY] = "activity",
> [IIO_STEPS] = "steps",
> + [IIO_HEIGHT] = "height",
> };
>
> static const char * const iio_modifier_names[] = {
> diff --git a/include/linux/iio/types.h b/include/linux/iio/types.h
> index af0b6e0..a23b2e7 100644
> --- a/include/linux/iio/types.h
> +++ b/include/linux/iio/types.h
> @@ -32,6 +32,7 @@ enum iio_chan_type {
> IIO_HUMIDITYRELATIVE,
> IIO_ACTIVITY,
> IIO_STEPS,
> + IIO_HEIGHT,
> };
>
> enum iio_modifier {
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/