Re: use of volatile in iounmap()?

From: H. Peter Anvin
Date: Fri Mar 28 2008 - 17:08:02 EST


Sam Ravnborg wrote:

Yes. The use of volatile in a function prototype like this means that it is valid to pass a volatile pointer to that function -- in other words, we're telling gcc that we're not going to do anything with the pointer that is invalid for a volatile pointer.

If I understand you correct then it is then not wrong to say
that we have the argument volatile to avoid warnings from gcc
when we pass a volatile pointer.

And then having the pointer marked volatile put a few restrictions
on iounmap().

Correct.

A lot of the "volatile considered harmful" stuff that has been bandied about is explicitly about marking *data* items volatile (it does have its uses, but it's easy to get wrong); Linus has explicitly made the distinction between volatile *data* and volatile *operations*.

Yes - but unfortunately the volatile-considered-harmful.txt
does many deal with the data part.

Yes, it does.

-hpa

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/