On Fri, 10 Aug 2007, Luck, Tony wrote:Here are the functions in which they occur in the object file. You
may have to chase down some inlining to find the function that
actually uses atomic_*().
Could you just make the "atomic_read()" and "atomic_set()" functions be inline functions instead?
That way you get nice compiler warnings when you pass the wrong kind of object around. So
static void atomic_set(atomic_t *p, int value)
{
*(volatile int *)&p->value = value;
}
static int atomic_read(atomic_t *p)
{
return *(volatile int *)&p->value;
}
etc...