diff options
| author | Alexander Gordeev <agordeev@redhat.com> | 2014-04-14 09:28:35 -0400 |
|---|---|---|
| committer | Bjorn Helgaas <bhelgaas@google.com> | 2014-04-30 18:56:47 -0400 |
| commit | 034cd97ebda4062eb4402a6cf963ccd262caa86a (patch) | |
| tree | f9d9d74d58c21b68bd875d192d18d915196531d0 /include/linux | |
| parent | a30d0108b09ae46d24594a2e699c4dad21bb4af4 (diff) | |
PCI/MSI: Remove pci_enable_msi_block()
There are no users of pci_enable_msi_block() function left. Obsolete it in
favor of pci_enable_msi_range() and pci_enable_msi_exact() functions.
Previously, we called arch_setup_msi_irqs() once, requesting the same
vector count we passed to arch_msi_check_device(). Now we may call it
several times: if it returns failure, we may retry and request fewer
vectors.
We don't keep track of the vector count we initially passed to
arch_msi_check_device(). We only keep track of the number of vectors
successfully set up by arch_setup_msi_irqs(), and this is what we use to
clean things up when disabling MSI. Therefore, we assume that
arch_msi_check_device() does nothing that will have to be cleaned up later.
[bhelgaas: changelog]
Signed-off-by: Alexander Gordeev <agordeev@redhat.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/pci.h | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/include/linux/pci.h b/include/linux/pci.h index aab57b4abe7f..499755e6dab5 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h | |||
| @@ -1158,7 +1158,6 @@ struct msix_entry { | |||
| 1158 | 1158 | ||
| 1159 | #ifdef CONFIG_PCI_MSI | 1159 | #ifdef CONFIG_PCI_MSI |
| 1160 | int pci_msi_vec_count(struct pci_dev *dev); | 1160 | int pci_msi_vec_count(struct pci_dev *dev); |
| 1161 | int pci_enable_msi_block(struct pci_dev *dev, int nvec); | ||
| 1162 | void pci_msi_shutdown(struct pci_dev *dev); | 1161 | void pci_msi_shutdown(struct pci_dev *dev); |
| 1163 | void pci_disable_msi(struct pci_dev *dev); | 1162 | void pci_disable_msi(struct pci_dev *dev); |
| 1164 | int pci_msix_vec_count(struct pci_dev *dev); | 1163 | int pci_msix_vec_count(struct pci_dev *dev); |
| @@ -1188,8 +1187,6 @@ static inline int pci_enable_msix_exact(struct pci_dev *dev, | |||
| 1188 | } | 1187 | } |
| 1189 | #else | 1188 | #else |
| 1190 | static inline int pci_msi_vec_count(struct pci_dev *dev) { return -ENOSYS; } | 1189 | static inline int pci_msi_vec_count(struct pci_dev *dev) { return -ENOSYS; } |
| 1191 | static inline int pci_enable_msi_block(struct pci_dev *dev, int nvec) | ||
| 1192 | { return -ENOSYS; } | ||
| 1193 | static inline void pci_msi_shutdown(struct pci_dev *dev) { } | 1190 | static inline void pci_msi_shutdown(struct pci_dev *dev) { } |
| 1194 | static inline void pci_disable_msi(struct pci_dev *dev) { } | 1191 | static inline void pci_disable_msi(struct pci_dev *dev) { } |
| 1195 | static inline int pci_msix_vec_count(struct pci_dev *dev) { return -ENOSYS; } | 1192 | static inline int pci_msix_vec_count(struct pci_dev *dev) { return -ENOSYS; } |
| @@ -1244,7 +1241,7 @@ static inline void pcie_set_ecrc_checking(struct pci_dev *dev) { } | |||
| 1244 | static inline void pcie_ecrc_get_policy(char *str) { } | 1241 | static inline void pcie_ecrc_get_policy(char *str) { } |
| 1245 | #endif | 1242 | #endif |
| 1246 | 1243 | ||
| 1247 | #define pci_enable_msi(pdev) pci_enable_msi_block(pdev, 1) | 1244 | #define pci_enable_msi(pdev) pci_enable_msi_exact(pdev, 1) |
| 1248 | 1245 | ||
| 1249 | #ifdef CONFIG_HT_IRQ | 1246 | #ifdef CONFIG_HT_IRQ |
| 1250 | /* The functions a driver should call */ | 1247 | /* The functions a driver should call */ |
