| 1 | |
| 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 |
|
| 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 |
|
| 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 |
|
| 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
|