These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / arch / powerpc / platforms / cell / axon_msi.c
index 623bd96..aed7714 100644 (file)
@@ -22,6 +22,7 @@
 #include <asm/machdep.h>
 #include <asm/prom.h>
 
+#include "cell.h"
 
 /*
  * MSIC registers, specified as offsets from dcr_base
@@ -92,10 +93,10 @@ static void msic_dcr_write(struct axon_msic *msic, unsigned int dcr_n, u32 val)
        dcr_write(msic->dcr_host, dcr_n, val);
 }
 
-static void axon_msi_cascade(unsigned int irq, struct irq_desc *desc)
+static void axon_msi_cascade(struct irq_desc *desc)
 {
        struct irq_chip *chip = irq_desc_get_chip(desc);
-       struct axon_msic *msic = irq_get_handler_data(irq);
+       struct axon_msic *msic = irq_desc_get_handler_data(desc);
        u32 write_offset, msi;
        int idx;
        int retry = 0;
@@ -212,7 +213,7 @@ static int setup_msi_msg_address(struct pci_dev *dev, struct msi_msg *msg)
                return -ENODEV;
        }
 
-       entry = list_first_entry(&dev->msi_list, struct msi_desc, list);
+       entry = first_pci_msi_entry(dev);
 
        for (; dn; dn = of_get_next_parent(dn)) {
                if (entry->msi_attrib.is_64) {
@@ -268,7 +269,7 @@ static int axon_msi_setup_msi_irqs(struct pci_dev *dev, int nvec, int type)
        if (rc)
                return rc;
 
-       list_for_each_entry(entry, &dev->msi_list, list) {
+       for_each_pci_msi_entry(entry, dev) {
                virq = irq_create_direct_mapping(msic->irq_domain);
                if (virq == NO_IRQ) {
                        dev_warn(&dev->dev,
@@ -291,7 +292,7 @@ static void axon_msi_teardown_msi_irqs(struct pci_dev *dev)
 
        dev_dbg(&dev->dev, "axon_msi: tearing down msi irqs\n");
 
-       list_for_each_entry(entry, &dev->msi_list, list) {
+       for_each_pci_msi_entry(entry, dev) {
                if (entry->irq == NO_IRQ)
                        continue;
 
@@ -326,7 +327,7 @@ static void axon_msi_shutdown(struct platform_device *device)
        u32 tmp;
 
        pr_devel("axon_msi: disabling %s\n",
-                 msic->irq_domain->of_node->full_name);
+                irq_domain_get_of_node(msic->irq_domain)->full_name);
        tmp  = dcr_read(msic->dcr_host, MSIC_CTRL_REG);
        tmp &= ~MSIC_CTRL_ENABLE & ~MSIC_CTRL_IRQ_ENABLE;
        msic_dcr_write(msic, MSIC_CTRL_REG, tmp);
@@ -406,8 +407,8 @@ static int axon_msi_probe(struct platform_device *device)
 
        dev_set_drvdata(&device->dev, msic);
 
-       ppc_md.setup_msi_irqs = axon_msi_setup_msi_irqs;
-       ppc_md.teardown_msi_irqs = axon_msi_teardown_msi_irqs;
+       cell_pci_controller_ops.setup_msi_irqs = axon_msi_setup_msi_irqs;
+       cell_pci_controller_ops.teardown_msi_irqs = axon_msi_teardown_msi_irqs;
 
        axon_msi_debug_setup(dn, msic);