[Letux-kernel] accelerometer bridge madness

Andreas Kemnade andreas at kemnade.info
Fri Jul 27 18:49:46 CEST 2018


On Fri, 27 Jul 2018 16:58:08 +0200
"H. Nikolaus Schaller" <hns at goldelico.com> wrote:

> > 
> > But I will first check how often open() is called.  
> Yes, that is the important thing. And when it is called. You might add some
> printk to the probe function to identify the sequence.
only one time! I moved away that /lib/udev/accelerometer thing
and did xxd /dev/input/eventX after the boot fully finished.
No accel_open() caused by udev anymore!
So this is definitively not a race condition regarding the work struct
(but of course that should be fixed).

I tested 
diff --git a/drivers/iio/industrialio-inputbridge.c b/drivers/iio/industrialio-inputbridge.c
index bd5807f31767..77bd9bb352f7 100644
--- a/drivers/iio/industrialio-inputbridge.c
+++ b/drivers/iio/industrialio-inputbridge.c
@@ -89,7 +89,7 @@ static int accel_open(struct input_dev *input)
        struct iio_dev *iiodev = input_get_drvdata(input);
-#if 0
+#if 1
@@ -98,7 +98,7 @@ printk("accel_open()\n");
-               msecs_to_jiffies(0));   // start now
+               msecs_to_jiffies(100)); // start now
        int iio_channel_start_all_cb(struct iio_cb_buffer *cb_buff);

having the 100 there at least causes at least the cpu usage to be sane.


ok, next step probably is to monitor input_work. 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://lists.goldelico.com/pipermail/letux-kernel/attachments/20180727/60cc4049/attachment-0001.asc>

More information about the Letux-kernel mailing list