msi: Introduce default_[teardown|setup]_msi_irqs with fallback.
Introduce an override for the arch_[teardown|setup]_msi_irqs that can be utilized to fallback to the default arch_* code. If a platform wants to utilize the code paths defined in driver/pci/msi.c it has to define HAVE_DEFAULT_MSI_TEARDOWN_IRQS or HAVE_DEFAULT_MSI_SETUP_IRQS. Otherwise the old mechanism of over-ridding the arch_* works fine. Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Cc: x86@kernel.org
This commit is contained in:
committed by
Konrad Rzeszutek Wilk
parent
7c94def89a
commit
1525bf0d8f
@@ -35,7 +35,12 @@ int arch_msi_check_device(struct pci_dev *dev, int nvec, int type)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef arch_setup_msi_irqs
|
#ifndef arch_setup_msi_irqs
|
||||||
int arch_setup_msi_irqs(struct pci_dev *dev, int nvec, int type)
|
# define arch_setup_msi_irqs default_setup_msi_irqs
|
||||||
|
# define HAVE_DEFAULT_MSI_SETUP_IRQS
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_DEFAULT_MSI_SETUP_IRQS
|
||||||
|
int default_setup_msi_irqs(struct pci_dev *dev, int nvec, int type)
|
||||||
{
|
{
|
||||||
struct msi_desc *entry;
|
struct msi_desc *entry;
|
||||||
int ret;
|
int ret;
|
||||||
@@ -60,7 +65,12 @@ int arch_setup_msi_irqs(struct pci_dev *dev, int nvec, int type)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef arch_teardown_msi_irqs
|
#ifndef arch_teardown_msi_irqs
|
||||||
void arch_teardown_msi_irqs(struct pci_dev *dev)
|
# define arch_teardown_msi_irqs default_teardown_msi_irqs
|
||||||
|
# define HAVE_DEFAULT_MSI_TEARDOWN_IRQS
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_DEFAULT_MSI_TEARDOWN_IRQS
|
||||||
|
void default_teardown_msi_irqs(struct pci_dev *dev)
|
||||||
{
|
{
|
||||||
struct msi_desc *entry;
|
struct msi_desc *entry;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user