On Tue, Jun 07, 2011 at 01:22:29PM +0200, Arnd Bergmann wrote:
On Tuesday 07 June 2011, Geert Uytterhoeven wrote:
You mean the host_busy variable in the IDE code? That would also apply to context_flag in the DRM code:
drivers/gpu/drm/drm_context.c:233: warning: passing argument 2 of ‘__constant_test_and_set_bit’ discards qualifiers from pointer target type drivers/gpu/drm/drm_context.c:233: warning: passing argument 2 of ‘__generic_test_and_set_bit’ discards qualifiers from pointer target type
Yes, that fits the same category.
is wrong, though. It probably doesn't hurt to do both.
asm-generic/bitops/atomic.h has the volatiles everywhere. That's why I'm wondering.
I guess what happened is that some variables are traditionally marked as volatile although they shouldn't be, and most architectures have adapted their bitops to make the warnings go away. If you see more warnings of that kind, it's probably fine to just do the same on m68k. The volatile modifier doesn't really hurt in this case.
These operations are required to be atomic and therefore they must be suitable for use with volatile-qualified variables.
Ben.