On Tue, Jul 03, 2007 at 09:09:50AM -0400, David Woodhouse wrote: > > Looks relatively sane at first glance; busy this week so haven't looked > very hard yet. Two thing though... you're mixing proper C types > (uint32_t) and the Linux-specific legacy crap types (__u32). Pick one. I > won't recommend _which_ one, because if I do I'll make Andrew unhappy. > But pick one; don't use both at the same time. Ok. I choose __u32. :) > Also read Documentation/volatile-considered-harmful.txt and ponder > deeply your use of 'volatile' on certain members of struct pps_s. I read such document but I'm still convinced that the attribute volatile is needed for {assert,clear}_sequence and {assert,clear}_tu since inside pps_event() they are updated without any locks at all thanks to the dummy_info variable which is used for unallocated PPS sources. Here you can find my last patch. Thanks again, Rodolfo -- GNU/Linux Solutions e-mail: giometti@enneenne.com Linux Device Driver giometti@gnudd.com Embedded Systems giometti@linux.it UNIX programming phone: +39 349 2432127