return 1;
  }
  
- struct hw_pci rcar_pci = {
 -static void rcar_pcie_add_bus(struct pci_bus *bus)
 -{
 -      if (IS_ENABLED(CONFIG_PCI_MSI)) {
 -              struct rcar_pcie *pcie = sys_to_pcie(bus->sysdata);
 -
 -              bus->msi = &pcie->msi.chip;
 -      }
 -}
 -
+ static struct hw_pci rcar_pci = {
        .setup          = rcar_pcie_setup,
        .map_irq        = of_irq_parse_and_map_pci,
        .ops            = &rcar_pcie_ops,
 
        pdev = to_pci_dev(dev);
        return sprintf(buf, "%u\n", atomic_read(&pdev->enable_cnt));
  }
 -static DEVICE_ATTR_RW(enabled);
 +static DEVICE_ATTR_RW(enable);
  
  #ifdef CONFIG_NUMA
+ static ssize_t numa_node_store(struct device *dev,
+                              struct device_attribute *attr, const char *buf,
+                              size_t count)
+ {
+       struct pci_dev *pdev = to_pci_dev(dev);
+       int node, ret;
+ 
+       if (!capable(CAP_SYS_ADMIN))
+               return -EPERM;
+ 
+       ret = kstrtoint(buf, 0, &node);
+       if (ret)
+               return ret;
+ 
+       if (!node_online(node))
+               return -EINVAL;
+ 
+       add_taint(TAINT_FIRMWARE_WORKAROUND, LOCKDEP_STILL_OK);
+       dev_alert(&pdev->dev, FW_BUG "Overriding NUMA node to %d.  Contact your vendor for updates.",
+                 node);
+ 
+       dev->numa_node = node;
+       return count;
+ }
+ 
  static ssize_t numa_node_show(struct device *dev, struct device_attribute *attr,
                              char *buf)
  {