projects/linux·blob master · refs

42 lines · 933 B

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 */
14int 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
24int 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
36int pcibus_to_node(struct pci_bus *bus)
37{
38 return dev_to_node(&bus->dev);
39}
40EXPORT_SYMBOL(pcibus_to_node);
41
42#endif