In user context, the <varname>current</varname> pointer (indicating
the task we are currently executing) is valid, and
<function>in_interrupt()</function>
- (<filename>include/asm/hardirq.h</filename>) is <returnvalue>false
+ (<filename>include/linux/interrupt.h</filename>) is <returnvalue>false
</returnvalue>.
</para>
<para>
You can tell you are in a softirq (or bottom half, or tasklet)
using the <function>in_softirq()</function> macro
- (<filename class="headerfile">include/asm/hardirq.h</filename>).
+ (<filename class="headerfile">include/linux/interrupt.h</filename>).
</para>
<caution>
<para>
The second class of atomic operations is atomic bit operations on a
<type>long</type>, defined in
- <filename class="headerfile">include/asm/bitops.h</filename>. These
+ <filename class="headerfile">include/linux/bitops.h</filename>. These
operations generally take a pointer to the bit pattern, and a bit
number: 0 is the least significant bit.
<function>set_bit()</function>, <function>clear_bit()</function>