On Tue, Jan 02, 2018 at 08:05:44PM +0000, Ard Biesheuvel wrote: > diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c > index 10684b17d0bd..b6d51b4d5ce1 100644 > --- a/drivers/pci/quirks.c > +++ b/drivers/pci/quirks.c > @@ -3556,9 +3556,16 @@ static void pci_do_fixups(struct pci_dev *dev, struct pci_fixup *f, > f->vendor == (u16) PCI_ANY_ID) && > (f->device == dev->device || > f->device == (u16) PCI_ANY_ID)) { > - calltime = fixup_debug_start(dev, f->hook); > - f->hook(dev); > - fixup_debug_report(dev, calltime, f->hook); > + void (*hook)(struct pci_dev *dev); > +#ifdef CONFIG_HAVE_ARCH_PREL32_RELOCATIONS > + hook = (void *)((unsigned long)&f->hook_offset + > + f->hook_offset); > +#else > + hook = f->hook; > +#endif More of a nitpick but I've seen this pattern in several places in your code, maybe worth defining a macro (couldn't come up with a better name): #define offset_to_ptr(off) \ ((void *)((unsigned long)&(off) + (off))) -- Catalin -- To unsubscribe from this list: send the line "unsubscribe linux-s390" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html