Commit a474d3fb authored by Thomas Gleixner's avatar Thomas Gleixner
Browse files

PCI/MSI: Get rid of PCI_MSI_IRQ_DOMAIN



What a zoo:

     PCI_MSI
	select GENERIC_MSI_IRQ

     PCI_MSI_IRQ_DOMAIN
     	def_bool y
	depends on PCI_MSI
	select GENERIC_MSI_IRQ_DOMAIN

Ergo PCI_MSI enables PCI_MSI_IRQ_DOMAIN which in turn selects
GENERIC_MSI_IRQ_DOMAIN. So all the dependencies on PCI_MSI_IRQ_DOMAIN are
just an indirection to PCI_MSI.

Match the reality and just admit that PCI_MSI requires
GENERIC_MSI_IRQ_DOMAIN.

Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Reviewed-by: default avatarJason Gunthorpe <jgg@nvidia.com>
Acked-by: default avatarBjorn Helgaas <bhelgaas@google.com>
Link: https://lore.kernel.org/r/20221111122014.467556921@linutronix.de
parent b2bdda20
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -381,7 +381,6 @@ config UML_PCI_OVER_VIRTIO
	select UML_IOMEM_EMULATION
	select UML_DMA_EMULATION
	select PCI_MSI
	select PCI_MSI_IRQ_DOMAIN
	select PCI_LOCKLESS_CONFIG

config UML_PCI_OVER_VIRTIO_DEVICE_ID
+1 −1
Original line number Diff line number Diff line
@@ -7,7 +7,7 @@
/* Generic PCI */
#include <asm-generic/pci.h>

#ifdef CONFIG_PCI_MSI_IRQ_DOMAIN
#ifdef CONFIG_PCI_MSI
/*
 * This is a bit of an annoying hack, and it assumes we only have
 * the virt-pci (if anything). Which is true, but still.
+0 −1
Original line number Diff line number Diff line
@@ -1109,7 +1109,6 @@ config X86_LOCAL_APIC
	def_bool y
	depends on X86_64 || SMP || X86_32_NON_STANDARD || X86_UP_APIC || PCI_MSI
	select IRQ_DOMAIN_HIERARCHY
	select PCI_MSI_IRQ_DOMAIN if PCI_MSI

config X86_IO_APIC
	def_bool y
+2 −2
Original line number Diff line number Diff line
@@ -21,7 +21,7 @@ struct pci_sysdata {
#ifdef CONFIG_X86_64
	void		*iommu;		/* IOMMU private data */
#endif
#ifdef CONFIG_PCI_MSI_IRQ_DOMAIN
#ifdef CONFIG_PCI_MSI
	void		*fwnode;	/* IRQ domain for MSI assignment */
#endif
#if IS_ENABLED(CONFIG_VMD)
@@ -52,7 +52,7 @@ static inline int pci_proc_domain(struct pci_bus *bus)
}
#endif

#ifdef CONFIG_PCI_MSI_IRQ_DOMAIN
#ifdef CONFIG_PCI_MSI
static inline void *_pci_root_bus_fwnode(struct pci_bus *bus)
{
	return to_pci_sysdata(bus)->fwnode;
+2 −6
Original line number Diff line number Diff line
@@ -38,6 +38,7 @@ source "drivers/pci/pcie/Kconfig"

config PCI_MSI
	bool "Message Signaled Interrupts (MSI and MSI-X)"
	select GENERIC_MSI_IRQ_DOMAIN
	select GENERIC_MSI_IRQ
	help
	   This allows device drivers to enable MSI (Message Signaled
@@ -51,11 +52,6 @@ config PCI_MSI

	   If you don't know what to do here, say Y.

config PCI_MSI_IRQ_DOMAIN
	def_bool y
	depends on PCI_MSI
	select GENERIC_MSI_IRQ_DOMAIN

config PCI_MSI_ARCH_FALLBACKS
	bool

@@ -192,7 +188,7 @@ config PCI_LABEL

config PCI_HYPERV
	tristate "Hyper-V PCI Frontend"
	depends on ((X86 && X86_64) || ARM64) && HYPERV && PCI_MSI && PCI_MSI_IRQ_DOMAIN && SYSFS
	depends on ((X86 && X86_64) || ARM64) && HYPERV && PCI_MSI && SYSFS
	select PCI_HYPERV_INTERFACE
	help
	  The PCI device frontend driver allows the kernel to import arbitrary
Loading