Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/arm64/kernel/pci.c
26444 views
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
*/
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
43
44