asm-generic: Add sched.h inclusion in simd.h
authorHuacai Chen <chenhuacai@loongson.cn>
Fri, 30 May 2025 04:16:58 +0000 (12:16 +0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 30 May 2025 12:56:48 +0000 (20:56 +0800)
commitb9802b54d41bbe98f673e08bc148b0c563fdc02e
treebfdc1d56d99a32cbe3874d2ab5ff9b3ac3bb7d01
parentcddded9803cd6c4f53432cc64377d34522aa11c9
asm-generic: Add sched.h inclusion in simd.h

Commit 7ba8df47810f073 ("asm-generic: Make simd.h more resilient")
causes a build error for PREEMPT_RT kernels:

  CC      lib/crypto/sha256.o
In file included from ./include/asm-generic/simd.h:6,
                 from ./arch/loongarch/include/generated/asm/simd.h:1,
                 from ./include/crypto/internal/simd.h:9,
                 from ./include/crypto/internal/sha2.h:6,
                 from lib/crypto/sha256.c:15:
./include/asm-generic/simd.h: In function 'may_use_simd':
./include/linux/preempt.h:111:34: error: 'current' undeclared (first use in this function)
  111 | # define softirq_count()        (current->softirq_disable_cnt & SOFTIRQ_MASK)
      |                                  ^~~~~~~
./include/linux/preempt.h:112:82: note: in expansion of macro 'softirq_count'
  112 | # define irq_count()            ((preempt_count() & (NMI_MASK | HARDIRQ_MASK)) | softirq_count())
      |                                                                                  ^~~~~~~~~~~~~
./include/linux/preempt.h:143:34: note: in expansion of macro 'irq_count'
  143 | #define in_interrupt()          (irq_count())
      |                                  ^~~~~~~~~
./include/asm-generic/simd.h:18:17: note: in expansion of macro 'in_interrupt'
   18 |         return !in_interrupt();
      |                 ^~~~~~~~~~~~

So add sched.h inclusion in simd.h to fix it.

Fixes: 7ba8df47810f073 ("asm-generic: Make simd.h more resilient")
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
include/asm-generic/simd.h