blob: 0279a3242a015e82d0b2a84097045c0ab609af1b [file] [log] [blame]
#include <linux/tables.h>
#include <asm/x86_init_fn.h>
#include <asm/bootparam.h>
#include <linux/pci.h>
DECLARE_LINKTABLE(struct pci_fixup, pci_fixup_early);
void early_init_pci(void) {
const struct pci_fixup *fixup;
unsigned int tbl_size = LINUX_SECTION_SIZE(pci_fixup_early);
pr_info("PCI fixup size: %d\n", tbl_size);
sleep(1);
pr_info("Demo: Using LINKTABLE_FOR_EACH\n");
LINKTABLE_FOR_EACH(fixup, pci_fixup_early)
fixup->hook();
pr_info("Demo: Using LINKTABLE_RUN_ALL\n");
LINKTABLE_RUN_ALL(pci_fixup_early, hook,);
}
bool detect_pci(void) {
return true;
}
X86_INIT_EARLY_ALL(pci, detect_pci, NULL, early_init_pci, NULL, NULL);