These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / arch / mips / pci / pci-rt3883.c
index ec9be8c..53a42b0 100644 (file)
@@ -129,12 +129,12 @@ static void rt3883_pci_write_cfg32(struct rt3883_pci_controller *rpc,
        rt3883_pci_w32(rpc, val, RT3883_PCI_REG_CFGDATA);
 }
 
-static void rt3883_pci_irq_handler(unsigned int irq, struct irq_desc *desc)
+static void rt3883_pci_irq_handler(struct irq_desc *desc)
 {
        struct rt3883_pci_controller *rpc;
        u32 pending;
 
-       rpc = irq_get_handler_data(irq);
+       rpc = irq_desc_get_handler_data(desc);
 
        pending = rt3883_pci_r32(rpc, RT3883_PCI_REG_PCIINT) &
                  rt3883_pci_r32(rpc, RT3883_PCI_REG_PCIENA);
@@ -145,7 +145,7 @@ static void rt3883_pci_irq_handler(unsigned int irq, struct irq_desc *desc)
        }
 
        while (pending) {
-               unsigned bit = __ffs(pending);
+               unsigned irq, bit = __ffs(pending);
 
                irq = irq_find_mapping(rpc->irq_domain, bit);
                generic_handle_irq(irq);
@@ -225,8 +225,7 @@ static int rt3883_pci_irq_init(struct device *dev,
                return -ENODEV;
        }
 
-       irq_set_handler_data(irq, rpc);
-       irq_set_chained_handler(irq, rt3883_pci_irq_handler);
+       irq_set_chained_handler_and_data(irq, rt3883_pci_irq_handler, rpc);
 
        return 0;
 }
@@ -433,8 +432,7 @@ static int rt3883_pci_probe(struct platform_device *pdev)
 
        /* find the interrupt controller child node */
        for_each_child_of_node(np, child) {
-               if (of_get_property(child, "interrupt-controller", NULL) &&
-                   of_node_get(child)) {
+               if (of_get_property(child, "interrupt-controller", NULL)) {
                        rpc->intc_of_node = child;
                        break;
                }
@@ -450,8 +448,7 @@ static int rt3883_pci_probe(struct platform_device *pdev)
        /* find the PCI host bridge child node */
        for_each_child_of_node(np, child) {
                if (child->type &&
-                   of_node_cmp(child->type, "pci") == 0 &&
-                   of_node_get(child)) {
+                   of_node_cmp(child->type, "pci") == 0) {
                        rpc->pci_controller.of_node = child;
                        break;
                }