lkml.org 
[lkml]   [2008]   [Oct]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] LIS3LV02Dx Accelerometer driver (take 4)
Pavel Machek schreef:
Hello,


> Ok, I guess you have better eyeballs. Yes, the locking was totaly
> broken (and disabled by initing semaphore to 1 by default).
To which value the semaphore should have been initialised? I can see
DECLARE_MUTEX(name) declared as:
struct semaphore name = __SEMAPHORE_INITIALIZER(name, 1)

(I'm still learning about the locking in the kernel. To me, it looks
like a maze, and I couldn't find one simple document detailing all the
mechanisms.)

> Sorry
> about that.
>
> This strips some more code, turns semaphore into mutex, and should
> solve more problems.
>
> I killed the "power down on timer" thingie. I guess we can reintroduce
> it when we get the basics right (and driver works just fine without
> that... I did not detect unusual slowness).
I inserted the timer thingie because I have a program on my laptop which
reads the position twice per second. Using the joystick interface uses
two much CPU (it's 20 Hz) and so it's using the sysfs interface.
However, turning on and off the device twice per second is rather costly
(especially due to the ACPI access). That's why I made it delayed... and
I'd like to keep it this way.

I'll send this evening a "delayed power down" based on workqueue. Within
the work of a workqueue, it's not possible to use a mutex, right? Only
semaphores are allowed?

Eric


\
 
 \ /
  Last update: 2008-10-22 13:37    [W:0.052 / U:1.744 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site