of/pci: Remove unused MSI controller helpers
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tue, 28 Feb 2017 14:31:16 +0000 (15:31 +0100)
committerBjorn Helgaas <bhelgaas@google.com>
Tue, 14 Mar 2017 20:10:11 +0000 (15:10 -0500)
All users of the small MSI controller API have been migrated to use the
generic MSI infrastructure instead. We no longer need a global chained list
of msi_controller. Instead, MSI controllers are now represented as IRQ
domains attached to OF nodes, and the resolution between a device
requesting an MSI and the corresponding MSI controller is done by the
generic interrupt resolution logic.

Therefore, this API is now completely useless, and can be removed from the
kernel.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Acked-by: Rob Herring <robh@kernel.org>
drivers/of/of_pci.c
include/linux/of_pci.h

index 0ee42c3e66a1900db49408577c8ae69e698e7223..c9d4d3a7b0fecba0d73cb5642b7be789b6f035ad 100644 (file)
@@ -285,51 +285,6 @@ parse_failed:
 EXPORT_SYMBOL_GPL(of_pci_get_host_bridge_resources);
 #endif /* CONFIG_OF_ADDRESS */
 
-#ifdef CONFIG_PCI_MSI
-
-static LIST_HEAD(of_pci_msi_chip_list);
-static DEFINE_MUTEX(of_pci_msi_chip_mutex);
-
-int of_pci_msi_chip_add(struct msi_controller *chip)
-{
-       if (!of_property_read_bool(chip->of_node, "msi-controller"))
-               return -EINVAL;
-
-       mutex_lock(&of_pci_msi_chip_mutex);
-       list_add(&chip->list, &of_pci_msi_chip_list);
-       mutex_unlock(&of_pci_msi_chip_mutex);
-
-       return 0;
-}
-EXPORT_SYMBOL_GPL(of_pci_msi_chip_add);
-
-void of_pci_msi_chip_remove(struct msi_controller *chip)
-{
-       mutex_lock(&of_pci_msi_chip_mutex);
-       list_del(&chip->list);
-       mutex_unlock(&of_pci_msi_chip_mutex);
-}
-EXPORT_SYMBOL_GPL(of_pci_msi_chip_remove);
-
-struct msi_controller *of_pci_find_msi_chip_by_node(struct device_node *of_node)
-{
-       struct msi_controller *c;
-
-       mutex_lock(&of_pci_msi_chip_mutex);
-       list_for_each_entry(c, &of_pci_msi_chip_list, list) {
-               if (c->of_node == of_node) {
-                       mutex_unlock(&of_pci_msi_chip_mutex);
-                       return c;
-               }
-       }
-       mutex_unlock(&of_pci_msi_chip_mutex);
-
-       return NULL;
-}
-EXPORT_SYMBOL_GPL(of_pci_find_msi_chip_by_node);
-
-#endif /* CONFIG_PCI_MSI */
-
 /**
  * of_pci_map_rid - Translate a requester ID through a downstream mapping.
  * @np: root complex device node.
index 0e0974eceb803b64cee8f8f67a7bde55d58f8f4a..518c8d20647a560bf2f679b62b80364b040ba9ae 100644 (file)
@@ -85,15 +85,4 @@ static inline int of_pci_get_host_bridge_resources(struct device_node *dev,
 }
 #endif
 
-#if defined(CONFIG_OF) && defined(CONFIG_PCI_MSI)
-int of_pci_msi_chip_add(struct msi_controller *chip);
-void of_pci_msi_chip_remove(struct msi_controller *chip);
-struct msi_controller *of_pci_find_msi_chip_by_node(struct device_node *of_node);
-#else
-static inline int of_pci_msi_chip_add(struct msi_controller *chip) { return -EINVAL; }
-static inline void of_pci_msi_chip_remove(struct msi_controller *chip) { }
-static inline struct msi_controller *
-of_pci_find_msi_chip_by_node(struct device_node *of_node) { return NULL; }
-#endif
-
 #endif