aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/pci/xen.c
diff options
context:
space:
mode:
authorJiang Liu <jiang.liu@linux.intel.com>2015-07-09 04:00:40 -0400
committerThomas Gleixner <tglx@linutronix.de>2015-07-22 12:37:43 -0400
commit39118e31e1daae43048f5deaa3e0894d2732a7d6 (patch)
tree703c5ab2f5d279eaa7c8ed82e838f09812df79e4 /arch/x86/pci/xen.c
parentdf516f4278c154f5bb5e594fd54c2b0cb0af7a7c (diff)
x86/PCI: Use for_pci_msi_entry() to access MSI device list
Use accessor for_each_pci_msi_entry() to access MSI device list, so we could easily move msi_list from struct pci_dev into struct device later. Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com> Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Cc: Tony Luck <tony.luck@intel.com> Cc: linux-arm-kernel@lists.infradead.org Cc: xen-devel@lists.xenproject.org Cc: Bjorn Helgaas <bhelgaas@google.com> Cc: Grant Likely <grant.likely@linaro.org> Cc: Marc Zyngier <marc.zyngier@arm.com> Cc: Stuart Yoder <stuart.yoder@freescale.com> Cc: Yijing Wang <wangyijing@huawei.com> Cc: Borislav Petkov <bp@alien8.de> Link: http://lkml.kernel.org/r/1436428847-8886-6-git-send-email-jiang.liu@linux.intel.com Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/pci/xen.c')
-rw-r--r--arch/x86/pci/xen.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/x86/pci/xen.c b/arch/x86/pci/xen.c
index d22f4b5bbc04..ff31ab464213 100644
--- a/arch/x86/pci/xen.c
+++ b/arch/x86/pci/xen.c
@@ -179,7 +179,7 @@ static int xen_setup_msi_irqs(struct pci_dev *dev, int nvec, int type)
179 if (ret) 179 if (ret)
180 goto error; 180 goto error;
181 i = 0; 181 i = 0;
182 list_for_each_entry(msidesc, &dev->msi_list, list) { 182 for_each_pci_msi_entry(msidesc, dev) {
183 irq = xen_bind_pirq_msi_to_irq(dev, msidesc, v[i], 183 irq = xen_bind_pirq_msi_to_irq(dev, msidesc, v[i],
184 (type == PCI_CAP_ID_MSI) ? nvec : 1, 184 (type == PCI_CAP_ID_MSI) ? nvec : 1,
185 (type == PCI_CAP_ID_MSIX) ? 185 (type == PCI_CAP_ID_MSIX) ?
@@ -230,7 +230,7 @@ static int xen_hvm_setup_msi_irqs(struct pci_dev *dev, int nvec, int type)
230 if (type == PCI_CAP_ID_MSI && nvec > 1) 230 if (type == PCI_CAP_ID_MSI && nvec > 1)
231 return 1; 231 return 1;
232 232
233 list_for_each_entry(msidesc, &dev->msi_list, list) { 233 for_each_pci_msi_entry(msidesc, dev) {
234 __pci_read_msi_msg(msidesc, &msg); 234 __pci_read_msi_msg(msidesc, &msg);
235 pirq = MSI_ADDR_EXT_DEST_ID(msg.address_hi) | 235 pirq = MSI_ADDR_EXT_DEST_ID(msg.address_hi) |
236 ((msg.address_lo >> MSI_ADDR_DEST_ID_SHIFT) & 0xff); 236 ((msg.address_lo >> MSI_ADDR_DEST_ID_SHIFT) & 0xff);
@@ -274,7 +274,7 @@ static int xen_initdom_setup_msi_irqs(struct pci_dev *dev, int nvec, int type)
274 int ret = 0; 274 int ret = 0;
275 struct msi_desc *msidesc; 275 struct msi_desc *msidesc;
276 276
277 list_for_each_entry(msidesc, &dev->msi_list, list) { 277 for_each_pci_msi_entry(msidesc, dev) {
278 struct physdev_map_pirq map_irq; 278 struct physdev_map_pirq map_irq;
279 domid_t domid; 279 domid_t domid;
280 280
@@ -386,7 +386,7 @@ static void xen_teardown_msi_irqs(struct pci_dev *dev)
386{ 386{
387 struct msi_desc *msidesc; 387 struct msi_desc *msidesc;
388 388
389 msidesc = list_entry(dev->msi_list.next, struct msi_desc, list); 389 msidesc = first_pci_msi_entry(dev);
390 if (msidesc->msi_attrib.is_msix) 390 if (msidesc->msi_attrib.is_msix)
391 xen_pci_frontend_disable_msix(dev); 391 xen_pci_frontend_disable_msix(dev);
392 else 392 else