Re: [PATCH] iio: accel: Bugfix to enbale and allow different events to work parallely.

From: Harinath Nampally
Date: Wed Aug 09 2017 - 23:23:53 EST


On Mon, 31 Jul 2017 07:17:38 -0400
Harinath Nampally<harinath922@xxxxxxxxx> wrote:

This driver supports multiple devices like mma8653, mma8652, mma8452, mma8453 and
fxls8471. Almost all these devices have more than one event. Current driver design
hardcodes the event specific information, so only one event can be supported by this
driver and current design doesn't have the flexibility to add more events.

This patch fixes by detaching the event related information from chip_info struct,
and based on channel type and event direction the corresponding event configuration registers
are picked dynamically. Hence multiple events can be handled in read/write callbacks.

Changes are thoroughly tested on fxls8471 device on imx6UL Eval board using iio_event_monitor user space program.

After this fix both Freefall and Transient events are handled by the driver without any conflicts.

Signed-off-by: Harinath Nampally<harinath922@xxxxxxxxx>
Just a quick process point before I catch up with the rest of the thread.
Please ensure you put the driver name in the patch title. We have a lot
of accelerometers these days and doing that will help draw the attention
of people who care!
Sure, I will update it. Thanks.


On 08/09/2017 09:37 AM, Jonathan Cameron wrote:
On Mon, 31 Jul 2017 07:17:38 -0400
Harinath Nampally<harinath922@xxxxxxxxx> wrote:

This driver supports multiple devices like mma8653, mma8652, mma8452, mma8453 and
fxls8471. Almost all these devices have more than one event. Current driver design
hardcodes the event specific information, so only one event can be supported by this
driver and current design doesn't have the flexibility to add more events.

This patch fixes by detaching the event related information from chip_info struct,
and based on channel type and event direction the corresponding event configuration registers
are picked dynamically. Hence multiple events can be handled in read/write callbacks.

Changes are thoroughly tested on fxls8471 device on imx6UL Eval board using iio_event_monitor user space program.

After this fix both Freefall and Transient events are handled by the driver without any conflicts.

Signed-off-by: Harinath Nampally<harinath922@xxxxxxxxx>
Just a quick process point before I catch up with the rest of the thread.
Please ensure you put the driver name in the patch title. We have a lot
of accelerometers these days and doing that will help draw the attention
of people who care!