| // SPDX-License-Identifier: GPL-2.0-only | |
| /* | |
| * Code borrowed from powerpc/kernel/pci-common.c | |
| * | |
| * Copyright (C) 2003 Anton Blanchard <anton@au.ibm.com>, IBM | |
| * Copyright (C) 2014 ARM Ltd. | |
| */ | |
| #include <linux/pci.h> | |
| /* | |
| * raw_pci_read/write - Platform-specific PCI config space access. | |
| */ | |
| int raw_pci_read(unsigned int domain, unsigned int bus, | |
| unsigned int devfn, int reg, int len, u32 *val) | |
| { | |
| struct pci_bus *b = pci_find_bus(domain, bus); | |
| if (!b) | |
| return PCIBIOS_DEVICE_NOT_FOUND; | |
| return b->ops->read(b, devfn, reg, len, val); | |
| } | |
| int raw_pci_write(unsigned int domain, unsigned int bus, | |
| unsigned int devfn, int reg, int len, u32 val) | |
| { | |
| struct pci_bus *b = pci_find_bus(domain, bus); | |
| if (!b) | |
| return PCIBIOS_DEVICE_NOT_FOUND; | |
| return b->ops->write(b, devfn, reg, len, val); | |
| } | |
| #ifdef CONFIG_NUMA | |
| int pcibus_to_node(struct pci_bus *bus) | |
| { | |
| return dev_to_node(&bus->dev); | |
| } | |
| EXPORT_SYMBOL(pcibus_to_node); | |
| #endif |