/* we see if any fixup is available for our current hardware. if there is a fixup, we call it and we expect to never return from it. if we do return, we keep looking and then eventually fall back to the standard mach_reboot on return.  */
void mach_reboot_fixups(void)
/* we see if any fixup is available for our current hardware. if there is a fixup, we call it and we expect to never return from it. if we do return, we keep looking and then eventually fall back to the standard mach_reboot on return.  */
void mach_reboot_fixups(void)
{
	const struct device_fixup *cur;
	struct pci_dev *dev;
	int i;
	if (in_interrupt())
		return;
	for (i=0; i < ARRAY_SIZE(fixups_table); i++) {
		cur = &(fixups_table[i]);
		dev = pci_get_device(cur->vendor, cur->device, NULL);
		if (!dev)
			continue;
		cur->reboot_fixup(dev);
		pci_dev_put(dev);
	}
}