KVM: replace direct irq.h inclusion
authorPaolo Bonzini <pbonzini@redhat.com>
Thu, 3 Nov 2022 14:44:10 +0000 (10:44 -0400)
committerPaolo Bonzini <pbonzini@redhat.com>
Wed, 9 Nov 2022 17:31:37 +0000 (12:31 -0500)
commitd663b8a285986072428a6a145e5994bc275df994
tree8685112fc5011ee8a1e99acf97f6bfc6c64bfc61
parentde0f619564f4713bd548b82d535a954ffa1ee7d8
KVM: replace direct irq.h inclusion

virt/kvm/irqchip.c is including "irq.h" from the arch-specific KVM source
directory (i.e. not from arch/*/include) for the sole purpose of retrieving
irqchip_in_kernel.

Making the function inline in a header that is already included,
such as asm/kvm_host.h, is not possible because it needs to look at
struct kvm which is defined after asm/kvm_host.h is included.  So add a
kvm_arch_irqchip_in_kernel non-inline function; irqchip_in_kernel() is
only performance critical on arm64 and x86, and the non-inline function
is enough on all other architectures.

irq.h can then be deleted from all architectures except x86.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/arm64/kvm/arm.c
arch/arm64/kvm/irq.h [deleted file]
arch/powerpc/kvm/irq.h [deleted file]
arch/powerpc/kvm/powerpc.c
arch/s390/kvm/irq.h [deleted file]
arch/s390/kvm/kvm-s390.c
arch/x86/kvm/irq.c
include/linux/kvm_host.h
virt/kvm/irqchip.c