locking/qspinlock: Do not include atomic.h from qspinlock_types.h
authorHerbert Xu <herbert@gondor.apana.org.au>
Wed, 29 Jul 2020 12:33:16 +0000 (22:33 +1000)
committerPeter Zijlstra <peterz@infradead.org>
Wed, 29 Jul 2020 14:14:19 +0000 (16:14 +0200)
commit459e39538e612b8dd130d34b93c9bfc89ecc836c
treea9e6d6c84d7d4f56b467109a993d8cc0a93bc55f
parent7ca8cf5347f720b07a0b32a924b768f5710547e7
locking/qspinlock: Do not include atomic.h from qspinlock_types.h

This patch breaks a header loop involving qspinlock_types.h.
The issue is that qspinlock_types.h includes atomic.h, which then
eventually includes kernel.h which could lead back to the original
file via spinlock_types.h.

As ATOMIC_INIT is now defined by linux/types.h, there is no longer
any need to include atomic.h from qspinlock_types.h.  This also
allows the CONFIG_PARAVIRT hack to be removed since it was trying
to prevent exactly this loop.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Waiman Long <longman@redhat.com>
Link: https://lkml.kernel.org/r/20200729123316.GC7047@gondor.apana.org.au
include/asm-generic/qspinlock.h
include/asm-generic/qspinlock_types.h