sandbox: change local_irq_save() to macro
authorMasahiro Yamada <yamada.m@jp.panasonic.com>
Thu, 12 Jun 2014 03:26:15 +0000 (12:26 +0900)
committerSimon Glass <sjg@chromium.org>
Mon, 23 Jun 2014 21:37:24 +0000 (15:37 -0600)
commit1638d98052e0d03e46d504b21ec1b88ecfcd87aa
tree1c97382ff025ad729bfc7a160974f16be3c5c6cc
parent9c38c070085b566e2fc3f7696cdd4362c2759285
sandbox: change local_irq_save() to macro

local_irq_save() should be a macro, not a function
because local_irq_save() saves flag to the given argument.

GCC is silent about this issue, but Clang warns:

In file included from lib/asm-offsets.c:15:
In file included from include/common.h:20:
In file included from include/linux/bitops.h:110:
arch/sandbox/include/asm/bitops.h:59:17:
 warning: variable 'flags' is uninitialized when used here
      [-Wuninitialized]
        local_irq_save(flags);
                       ^~~~~

That change causes another warning:

In file included from include/linux/bitops.h:110:0,
                 from include/common.h:20,
                 from lib/asm-offsets.c:15:
arch/sandbox/include/asm/bitops.h: In function ‘test_and_set_bit’:
arch/sandbox/include/asm/bitops.h:56:16: warning: unused variable ‘flags’ [-Wunused-variable]

So, flags should be set to __always_unused.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Jeroen Hofstee <jeroen@myspectrum.nl>
Acked-by: Simon Glass <sjg@chromium.org>
Acked-by: Jeroen Hofstee <jeroen@myspectrum.nl>
arch/sandbox/include/asm/bitops.h
arch/sandbox/include/asm/system.h