1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _ASM_X86_PCI_DIRECT_H
3 #define _ASM_X86_PCI_DIRECT_H
5 #include <linux/types.h>
7 /* Direct PCI access. This is used for PCI accesses in early boot before
8 the PCI subsystem works. */
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
);
17 extern int early_pci_allowed(void);
19 extern unsigned int pci_early_dump_regs
;
20 extern void early_dump_pci_device(u8 bus
, u8 slot
, u8 func
);
21 extern void early_dump_pci_devices(void);
22 #endif /* _ASM_X86_PCI_DIRECT_H */