1 // SPDX-License-Identifier: GPL-2.0-only
2 /*
3 * Code borrowed from powerpc/kernel/pci-common.c
4 *
5 * Copyright (C) 2003 Anton Blanchard <[email protected]>, IBM
6 * Copyright (C) 2014 ARM Ltd.
7 */
8
9 #include <linux/pci.h>
10
11 /*
12 * raw_pci_read/write - Platform-specific PCI config space access.
13 */
raw_pci_read(unsigned int domain,unsigned int bus,unsigned int devfn,int reg,int len,u32 * val)14 int raw_pci_read(unsigned int domain, unsigned int bus,
15 unsigned int devfn, int reg, int len, u32 *val)
16 {
17 struct pci_bus *b = pci_find_bus(domain, bus);
18
19 if (!b)
20 return PCIBIOS_DEVICE_NOT_FOUND;
21 return b->ops->read(b, devfn, reg, len, val);
22 }
23
raw_pci_write(unsigned int domain,unsigned int bus,unsigned int devfn,int reg,int len,u32 val)24 int raw_pci_write(unsigned int domain, unsigned int bus,
25 unsigned int devfn, int reg, int len, u32 val)
26 {
27 struct pci_bus *b = pci_find_bus(domain, bus);
28
29 if (!b)
30 return PCIBIOS_DEVICE_NOT_FOUND;
31 return b->ops->write(b, devfn, reg, len, val);
32 }
33
34 #ifdef CONFIG_NUMA
35
pcibus_to_node(struct pci_bus * bus)36 int pcibus_to_node(struct pci_bus *bus)
37 {
38 return dev_to_node(&bus->dev);
39 }
40 EXPORT_SYMBOL(pcibus_to_node);
41
42 #endif
43