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