diff options
| author | Danilo Krummrich <dakr@kernel.org> | 2026-08-13 18:52:04 +0200 |
|---|---|---|
| committer | Danilo Krummrich <dakr@kernel.org> | 2026-08-17 01:41:36 +0200 |
| commit | f146c7bc85a51f95c05e0f8173d484eb301ece78 (patch) | |
| tree | 07296ae54ed6551492b0c609dc0f5463f61f89ca /drivers/bcma/Kconfig | |
| download | linux-stable-f146c7bc85a51f95c05e0f8173d484eb301ece78.tar.gz linux-stable-f146c7bc85a51f95c05e0f8173d484eb301ece78.zip | |
PCI: Add pci_irq_type() to query the allocated interrupt typegrafted
Add a helper that returns PCI_IRQ_MSIX, PCI_IRQ_MSI, or PCI_IRQ_INTX
based on the interrupt type the PCI core selected after
pci_alloc_irq_vectors().
Several drivers already open-code this check against pdev->msix_enabled
and pdev->msi_enabled, or even open code this helper [1].
A common helper avoids the duplication and keeps drivers from accessing
the bitfield directly (see also [2]).
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
Tested-by: John Hubbard <jhubbard@nvidia.com>
Link: https://elixir.bootlin.com/linux/v7.1/source/drivers/net/ethernet/aquantia/atlantic/aq_pci_func.c#L196 [1]
Inspired-by: John Hubbard <jhubbard@nvidia.com>
Link: https://lore.kernel.org/all/DKKG2QM3YJYB.Z2H2B2UXJ75N@kernel.org/ [2]
Reviewed-by: Gary Guo <gary@garyguo.net>
Link: https://patch.msgid.link/20260813165234.620555-5-dakr@kernel.org
[ Add missing pci_irq_type() stub for CONFIG_PCI=n. ]
Signed-off-by: Danilo Krummrich <dakr@kernel.org>
Diffstat (limited to 'drivers/bcma/Kconfig')
| -rw-r--r-- | drivers/bcma/Kconfig | 118 |
1 files changed, 118 insertions, 0 deletions
diff --git a/drivers/bcma/Kconfig b/drivers/bcma/Kconfig new file mode 100644 index 000000000..b9558ff20 --- /dev/null +++ b/drivers/bcma/Kconfig @@ -0,0 +1,118 @@ +# SPDX-License-Identifier: GPL-2.0 +config BCMA_POSSIBLE + bool + depends on HAS_IOMEM && HAS_DMA + default y + +menuconfig BCMA + tristate "Broadcom specific AMBA" + depends on BCMA_POSSIBLE + help + Bus driver for Broadcom specific Advanced Microcontroller Bus + Architecture. + +if BCMA + +# Support for Block-I/O. SELECT this from the driver that needs it. +config BCMA_BLOCKIO + bool + +config BCMA_HOST_PCI_POSSIBLE + bool + depends on PCI = y + default y + +config BCMA_HOST_PCI + bool "Support for BCMA on PCI-host bus" + depends on BCMA_HOST_PCI_POSSIBLE + select BCMA_DRIVER_PCI + default y + +config BCMA_HOST_SOC + bool "Support for BCMA in a SoC" + depends on HAS_IOMEM + help + Host interface for a Broadcom AIX bus directly mapped into + the memory. This only works with the Broadcom SoCs from the + BCM47XX line. + + If unsure, say N + +config BCMA_DRIVER_PCI + bool "BCMA Broadcom PCI core driver" + depends on PCI + default y + help + BCMA bus may have many versions of PCIe core. This driver + supports: + 1) PCIe core working in clientmode + 2) PCIe Gen 2 clientmode core + + In general PCIe (Gen 2) clientmode core is required on PCIe + hosted buses. It's responsible for initialization and basic + hardware management. + This driver is also prerequisite for a hostmode PCIe core + support. + +config BCMA_DRIVER_PCI_HOSTMODE + bool "Driver for PCI core working in hostmode" + depends on MIPS && BCMA_DRIVER_PCI && PCI_DRIVERS_LEGACY && BCMA = y + help + PCI core hostmode operation (external PCI bus). + +config BCMA_DRIVER_MIPS + bool "BCMA Broadcom MIPS core driver" + depends on MIPS || COMPILE_TEST + help + Driver for the Broadcom MIPS core attached to Broadcom specific + Advanced Microcontroller Bus. + + If unsure, say N + +config BCMA_PFLASH + bool + depends on BCMA_DRIVER_MIPS + default y + +config BCMA_SFLASH + bool "ChipCommon-attached serial flash support" + depends on BCMA_HOST_SOC + default y + help + Some cheap devices have serial flash connected to the ChipCommon + instead of independent SPI controller. It requires using a separated + driver that implements ChipCommon specific interface communication. + + Enabling this symbol will let bcma recognize serial flash and register + it as platform device. + +config BCMA_NFLASH + bool + depends on BCMA_DRIVER_MIPS + default y + +config BCMA_DRIVER_GMAC_CMN + bool "BCMA Broadcom GBIT MAC COMMON core driver" + help + Driver for the Broadcom GBIT MAC COMMON core attached to Broadcom + specific Advanced Microcontroller Bus. + + If unsure, say N + +config BCMA_DRIVER_GPIO + bool "BCMA GPIO driver" + depends on GPIOLIB + select GPIOLIB_IRQCHIP if BCMA_HOST_SOC + help + Driver to provide access to the GPIO pins of the bcma bus. + + If unsure, say N + +config BCMA_DEBUG + bool "BCMA debugging" + help + This turns on additional debugging messages. + + If unsure, say N + +endif # BCMA |
