diff options
-rw-r--r-- | drivers/pci/host/pcie-xilinx.c | 53 |
1 files changed, 2 insertions, 51 deletions
diff --git a/drivers/pci/host/pcie-xilinx.c b/drivers/pci/host/pcie-xilinx.c index a30e01639557..7b7dbd22bccc 100644 --- a/drivers/pci/host/pcie-xilinx.c +++ b/drivers/pci/host/pcie-xilinx.c | |||
@@ -18,7 +18,7 @@ | |||
18 | #include <linux/irq.h> | 18 | #include <linux/irq.h> |
19 | #include <linux/irqdomain.h> | 19 | #include <linux/irqdomain.h> |
20 | #include <linux/kernel.h> | 20 | #include <linux/kernel.h> |
21 | #include <linux/module.h> | 21 | #include <linux/init.h> |
22 | #include <linux/msi.h> | 22 | #include <linux/msi.h> |
23 | #include <linux/of_address.h> | 23 | #include <linux/of_address.h> |
24 | #include <linux/of_pci.h> | 24 | #include <linux/of_pci.h> |
@@ -506,35 +506,6 @@ static irqreturn_t xilinx_pcie_intr_handler(int irq, void *data) | |||
506 | } | 506 | } |
507 | 507 | ||
508 | /** | 508 | /** |
509 | * xilinx_pcie_free_irq_domain - Free IRQ domain | ||
510 | * @port: PCIe port information | ||
511 | */ | ||
512 | static void xilinx_pcie_free_irq_domain(struct xilinx_pcie_port *port) | ||
513 | { | ||
514 | int i; | ||
515 | u32 irq, num_irqs; | ||
516 | |||
517 | /* Free IRQ Domain */ | ||
518 | if (IS_ENABLED(CONFIG_PCI_MSI)) { | ||
519 | |||
520 | free_pages(port->msi_pages, 0); | ||
521 | |||
522 | num_irqs = XILINX_NUM_MSI_IRQS; | ||
523 | } else { | ||
524 | /* INTx */ | ||
525 | num_irqs = 4; | ||
526 | } | ||
527 | |||
528 | for (i = 0; i < num_irqs; i++) { | ||
529 | irq = irq_find_mapping(port->irq_domain, i); | ||
530 | if (irq > 0) | ||
531 | irq_dispose_mapping(irq); | ||
532 | } | ||
533 | |||
534 | irq_domain_remove(port->irq_domain); | ||
535 | } | ||
536 | |||
537 | /** | ||
538 | * xilinx_pcie_init_irq_domain - Initialize IRQ domain | 509 | * xilinx_pcie_init_irq_domain - Initialize IRQ domain |
539 | * @port: PCIe port information | 510 | * @port: PCIe port information |
540 | * | 511 | * |
@@ -724,21 +695,6 @@ error: | |||
724 | return err; | 695 | return err; |
725 | } | 696 | } |
726 | 697 | ||
727 | /** | ||
728 | * xilinx_pcie_remove - Remove function | ||
729 | * @pdev: Platform device pointer | ||
730 | * | ||
731 | * Return: '0' always | ||
732 | */ | ||
733 | static int xilinx_pcie_remove(struct platform_device *pdev) | ||
734 | { | ||
735 | struct xilinx_pcie_port *port = platform_get_drvdata(pdev); | ||
736 | |||
737 | xilinx_pcie_free_irq_domain(port); | ||
738 | |||
739 | return 0; | ||
740 | } | ||
741 | |||
742 | static struct of_device_id xilinx_pcie_of_match[] = { | 698 | static struct of_device_id xilinx_pcie_of_match[] = { |
743 | { .compatible = "xlnx,axi-pcie-host-1.00.a", }, | 699 | { .compatible = "xlnx,axi-pcie-host-1.00.a", }, |
744 | {} | 700 | {} |
@@ -751,10 +707,5 @@ static struct platform_driver xilinx_pcie_driver = { | |||
751 | .suppress_bind_attrs = true, | 707 | .suppress_bind_attrs = true, |
752 | }, | 708 | }, |
753 | .probe = xilinx_pcie_probe, | 709 | .probe = xilinx_pcie_probe, |
754 | .remove = xilinx_pcie_remove, | ||
755 | }; | 710 | }; |
756 | module_platform_driver(xilinx_pcie_driver); | 711 | builtin_platform_driver(xilinx_pcie_driver); |
757 | |||
758 | MODULE_AUTHOR("Xilinx Inc"); | ||
759 | MODULE_DESCRIPTION("Xilinx AXI PCIe driver"); | ||
760 | MODULE_LICENSE("GPL v2"); | ||