1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _ASM_X86_PCI_DIRECT_H
3 #define _ASM_X86_PCI_DIRECT_H
4 
5 #include <linux/types.h>
6 
7 /* Direct PCI access. This is used for PCI accesses in early boot before
8    the PCI subsystem works. */
9 
10 extern u32 read_pci_config(u8 bus, u8 slot, u8 func, u8 offset);
11 extern u8 read_pci_config_byte(u8 bus, u8 slot, u8 func, u8 offset);
12 extern u16 read_pci_config_16(u8 bus, u8 slot, u8 func, u8 offset);
13 extern void write_pci_config(u8 bus, u8 slot, u8 func, u8 offset, u32 val);
14 extern void write_pci_config_byte(u8 bus, u8 slot, u8 func, u8 offset, u8 val);
15 extern void write_pci_config_16(u8 bus, u8 slot, u8 func, u8 offset, u16 val);
16 
17 extern int early_pci_allowed(void);
18 #endif /* _ASM_X86_PCI_DIRECT_H */
19