[Letux-kernel] accelerometer bridge madness

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


Hi,

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
 printk("accel_open()\n");
 #endif
 
@@ -98,7 +98,7 @@ printk("accel_open()\n");
 
 #if POLLING
        schedule_delayed_work(&input_work,
-               msecs_to_jiffies(0));   // start now
+               msecs_to_jiffies(100)); // start now
 #else
        int iio_channel_start_all_cb(struct iio_cb_buffer *cb_buff);
 #endif


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

head->scratch();

ok, next step probably is to monitor input_work. 

Regards,
Andreas
-------------- 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