Re: [RFC PATCH 0/3] io: imu: st_lsm6dsx: wake on acc event

Jonathan Cameron
2019-06-16T13:24:38Z

On Fri, 14 Jun 2019 14:26:01 +0200
Sean Nyekjaer <sean@geanix.com> wrote:

> Hi,
>
> The first patch enables the wake event creation in the suspend function,
> it hardcodes the accelerometer to low power mode and the gyro is powered down.
>
> The second and third patch is where I have some questions.
> Is it okay to create an sysfs entry that can enable and disable the wake
> events from the accelerometer?

On that I'm not sure - is there a standard way of configuring wake up events
outside of IIO?

>
> The third patch is enabling us to set the threshold value.
> Obviously this will need to be changed to represent a real value instead
> of the raw register value.
> Maybe I need to add a threshold avaliable sysfs entry?
> Do I set it to a raw value calculated from the scale value or is some have
> a better idea?
Yes, if a device is providing a _raw channel reading then threshold
values should also be raw.

Available sysfs attribute makes sense if it helps a user, or userspace
program to set the value.

>
> Finally is this the right approach to enable wake on accelerometer
> events?
> Please provide some idea's to how we could do it in the best and most
> generic way.

It's not something I've come across before, so hopefully someone else
can provide guidance on this!

My only immediate thought is that perhaps this should be a device tree
thing rather than userspace controlled?
There also seems to be some existing infrastructure to control this
in the power directory for a device.

Documentation/ABI/testing/sysfs-devices-power

Thanks,

Jonathan

>
> /Sean
>
> Sean Nyekjaer (3):
> iio: imu: st_lsm6dsx: add wake on accelerometer threshold
> iio: imu: st_lsm6dsx: add wake on accelerometer enable hook in sysfs
> iio: imu: st_lsm6dsx: add wake on accelerometer threshold hook in
> sysfs
>
> drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h | 2 +
> drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c | 135 +++++++++++++++++++
> 2 files changed, 137 insertions(+)
>